diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index a6c42fa..74a9aea 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -18,10 +18,13 @@ jobs: with: go-version: "1.22" - - name: Test - run: go test -v ./... - - name: Check Generated Schema run: | go generate ./... git diff --exit-code + + - name: Test + run: go test -v ./... + + - name: Build all packages + run: go build -v ./... diff --git a/README.md b/README.md index 37f0ce6..ef29db2 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ The good thing about this package is that it's **automatically generated** based package main import ( - grob "github.com/MetalBlueberry/go-plotly/graph_objects" + grob "github.com/MetalBlueberry/go-plotly/generated/v2.31.1/graph_objects" "github.com/MetalBlueberry/go-plotly/offline" ) @@ -57,6 +57,10 @@ See the examples dir for more examples. ## Structure +To keep the plotly.js independent of the version of this package, the generated directory contains a directory per plotly version supported. The plan is to support all minor releases and update as patches are released. But because I can not do it myself, I will accept PRs if anyone wants any specific version. + +Updates to the package will affect all schemas. This will be done as we improve the generator. + Each trace type has its own file on **graph_objecs (grob)** package. The file contains the main structure and all the needed nested objects. Files ending with **_gen** are automatically generated files running `go generate`. This is executing the code in **generator** package to generate the structures from the plotly schema. The types are documented, but you can find more examples and extended documentation at [Plotly's documentation](https://plotly.com/python/). The values that can hold single values or arrays are defined as custom types that are a type definition of `interfaces{}`. Most common case are X and Y values. You can pass any number slice and it will work (`[]float64`,`[]int`,`[]int64`...). In case of Hovertext, you can provide a `[]string` to display a text for each point, a `string` to display the same for all or `[]int` to display a number. @@ -113,6 +117,63 @@ For strings... This is a little bit more complicated, In AWS package they are us For numbers... It's similar to strings, Right now you cannot create plots with integer/float numbers with 0 value. I've only encounter problems when trying to remove the margin and can be workaround with an small value like `0.001`. I would like to avoid using interface{} or defining types again to keep the package interface as simple as possible. +### Go Plotly Update to any json schema version + +#### Update the config to add a new version + +To add a new version, add a new entry in: [schemas.yaml](schemas.yaml) + +The documentation for each field can be found in [schema.go](generator%2Fschema.go) + +Example entry: +```yaml + - Name: Plotly 2.31.1 + Tag: v2.31.1 + URL: https://raw.githubusercontent.com/plotly/plotly.js/v2.31.1/test/plot-schema.json + Path: schemas/v2.31.1/plot-schema.json + Generated: generated/v2.31.1 + CDN: https://cdn.plot.ly/plotly-2.31.1.min.js +``` + +The local paths are relative to the project root. + +#### run download and regeneration + +> [!TIP] +> Use this script for easier download of plotly json schemas. +> ```shell +> go run generator/cmd/downloader/main.go --config="schemas.yaml" +> ``` +> Then run the generator, which will clean up the generated files in **graph_objects** folder of each version and regenerate the new graph objects. DO NOT REMOVE **graph_objects/plotly.go** +> ```shell +> go run generator/cmd/generator/main.go --config="schemas.yaml" +> ``` +> Alternatively, you can also generate the go package using following command from the project root: +> ```shell +> go generate ./... +> ``` + +#### Missing Files? + +if in doubt whether all types and traces have been generated, you can use the jsonviewer tool to introspect the json: +https://jsonviewer.stack.hu/ + +Or use `jq` tool for quick introspection into the json files. +Example: +Display all traces in the schema.json file. +```shell +jq '.schema.traces | keys' schema.json --sort-keys | less +``` + +More on the `jq` tool on: https://jqlang.github.io/jq/manual/ + +### plotly online editor sandbox +http://plotly-json-editor.getforge.io/ + ## Star History -[![Star History Chart](https://api.star-history.com/svg?repos=Metalblueberry/go-plotly&type=Date)](https://star-history.com/#Metalblueberry/go-plotly&Date) \ No newline at end of file +[![Star History Chart](https://api.star-history.com/svg?repos=Metalblueberry/go-plotly&type=Date)](https://star-history.com/#Metalblueberry/go-plotly&Date) + + +## Official Plotly Release Notes +For detailed changes please follow the release notes of the original JS repo: https://github.com/plotly/plotly.js/releases \ No newline at end of file diff --git a/examples/bar/bar.html b/examples/bar/bar.html index cf99295..d5a0cba 100755 --- a/examples/bar/bar.html +++ b/examples/bar/bar.html @@ -1,12 +1,12 @@ - + - +
- + \ No newline at end of file diff --git a/examples/bar/main.go b/examples/bar/main.go index 0742b8a..101f167 100644 --- a/examples/bar/main.go +++ b/examples/bar/main.go @@ -1,8 +1,8 @@ package main import ( - grob "github.com/MetalBlueberry/go-plotly/graph_objects" - "github.com/MetalBlueberry/go-plotly/offline" + grob "github.com/MetalBlueberry/go-plotly/generated/v2.31.1/graph_objects" + "github.com/MetalBlueberry/go-plotly/generated/v2.31.1/offline" ) func main() { diff --git a/examples/bar_custom/bar_custom.html b/examples/bar_custom/bar_custom.html index 00e59b0..fa8bc61 100755 --- a/examples/bar_custom/bar_custom.html +++ b/examples/bar_custom/bar_custom.html @@ -1,12 +1,12 @@ - + - +
- + \ No newline at end of file diff --git a/examples/bar_custom/main.go b/examples/bar_custom/main.go index 528f0eb..ccd611e 100644 --- a/examples/bar_custom/main.go +++ b/examples/bar_custom/main.go @@ -4,9 +4,10 @@ import ( "image/color" "strconv" - grob "github.com/MetalBlueberry/go-plotly/graph_objects" - "github.com/MetalBlueberry/go-plotly/offline" "github.com/lucasb-eyer/go-colorful" + + grob "github.com/MetalBlueberry/go-plotly/generated/v2.31.1/graph_objects" + "github.com/MetalBlueberry/go-plotly/generated/v2.31.1/offline" ) func main() { diff --git a/examples/colorscale/main.go b/examples/colorscale/main.go index b3986e9..f66347a 100644 --- a/examples/colorscale/main.go +++ b/examples/colorscale/main.go @@ -4,8 +4,8 @@ import ( "encoding/json" "math" - grob "github.com/MetalBlueberry/go-plotly/graph_objects" - "github.com/MetalBlueberry/go-plotly/offline" + grob "github.com/MetalBlueberry/go-plotly/generated/v2.31.1/graph_objects" + "github.com/MetalBlueberry/go-plotly/generated/v2.31.1/offline" ) type ColorScale struct { diff --git a/examples/go.mod b/examples/go.mod index d239373..cb748db 100644 --- a/examples/go.mod +++ b/examples/go.mod @@ -1,13 +1,18 @@ module github.com/metalblueberry/plotly/examples -go 1.14 +go 1.22 require ( - github.com/MetalBlueberry/go-plotly v0.0.0-20200503142240-1276ab260dcb - github.com/go-gota/gota v0.10.1 + github.com/MetalBlueberry/go-plotly v0.4.0 + github.com/go-gota/gota v0.12.0 github.com/lucasb-eyer/go-colorful v1.2.0 - github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4 - gonum.org/v1/gonum v0.7.0 // indirect + github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c +) + +require ( + golang.org/x/net v0.25.0 // indirect + golang.org/x/sys v0.20.0 // indirect + gonum.org/v1/gonum v0.15.0 // indirect ) replace github.com/MetalBlueberry/go-plotly => ./../ diff --git a/examples/go.sum b/examples/go.sum index 632adc6..8a5ce5a 100644 --- a/examples/go.sum +++ b/examples/go.sum @@ -1,295 +1,83 @@ +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= -github.com/chromedp/cdproto v0.0.0-20230802225258-3cf4e6d46a89/go.mod h1:GKljq0VrfU4D5yc+2qA6OVr8pmO/MBbPEWqWQ/oqGEs= -github.com/chromedp/chromedp v0.9.2/go.mod h1:LkSXJKONWTCHAfQasKFUZI+mxqS4tZqhmtGzzhLsnLs= -github.com/chromedp/sysutil v1.0.0/go.mod h1:kgWmDdq8fTzXYcKIBqIYvRRTnYb9aNS9moAV0xufSww= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/logex v1.2.1/go.mod h1:JLbx6lG2kDbNRFnfkgvh4eRJRPX1QCoOIWomwysCBrQ= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/readline v1.5.1/go.mod h1:Eh+b79XXUwfKfcPLepksvw2tcLE/Ct21YObkaSkeBlk= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/chzyer/test v1.0.0/go.mod h1:2JlltgoNkt4TW/z9V/IzDdFaMTM2JPIi26O1pF38GC8= +github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/go-gota/gota v0.10.1 h1:BWci+R5dE28GnXoD1EWoQqe7WCQHAPJ996mK7LZrB4U= -github.com/go-gota/gota v0.10.1/go.mod h1:NZLQccXn0rABmkXjsaugRY6l+UH2dDZSgIgF8E2ipmA= -github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= -github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= -github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/gobwas/httphead v0.1.0/go.mod h1:O/RXo79gxV8G+RqlR/otEwx4Q36zl9rqC5u12GKvMCM= -github.com/gobwas/pool v0.2.1/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= -github.com/gobwas/ws v1.2.1/go.mod h1:hRKAFb8wOxFROYNsT1bqfWnhX+b5MFeJM9r2ZSwg/KY= +github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= +github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g= +github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3T0ecnM9pNujks= +github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= +github.com/go-fonts/stix v0.1.0/go.mod h1:w/c1f0ldAUlJmLBvlbkvVXLAD+tAMqobIIQpmnUIzUY= +github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= +github.com/go-gota/gota v0.12.0 h1:T5BDg1hTf5fZ/CO+T/N0E+DDqUhvoKBl+UVckgcAAQg= +github.com/go-gota/gota v0.12.0/go.mod h1:UT+NsWpZC/FhaOyWb9Hui0jXg0Iq8e/YugZHTbyW/34= +github.com/go-latex/latex v0.0.0-20210118124228-b3d85cf34e07/go.mod h1:CO1AlKB2CSIqUrmQPqA0gdRIlnLEY0gK5JGjh37zN5U= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= -github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6/go.mod h1:kf6iHlnVGwgKolg33glAes7Yg/8iWP8ukqeldJSO7jw= -github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/huandu/xstrings v1.3.2/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= -github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/ianlancetaylor/demangle v0.0.0-20240312041847-bd984b5ce465/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= +github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= -github.com/ledongthuc/pdf v0.0.0-20220302134840-0c2507a12d80/go.mod h1:imJHygn/1yfhB7XSJJKlFZKl/J+dCPAknuiaGOshXAs= github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY= github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= -github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= -github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= -github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= -github.com/onsi/ginkgo/v2 v2.1.4/go.mod h1:um6tUpWM/cxCK3/FK8BXqEiUMUwRgSM4JXG47RKZmLU= -github.com/onsi/ginkgo/v2 v2.1.6/go.mod h1:MEH45j8TBi6u9BMogfbp0stKC5cdGjumZj5Y7AG4VIk= -github.com/onsi/ginkgo/v2 v2.3.0/go.mod h1:Eew0uilEqZmIEZr8JrvYlvOM7Rr6xzTmMV8AyFNU9d0= -github.com/onsi/ginkgo/v2 v2.4.0/go.mod h1:iHkDK1fKGcBoEHT5W7YBq4RFWaQulw+caOMkAt4OrFo= -github.com/onsi/ginkgo/v2 v2.5.0/go.mod h1:Luc4sArBICYCS8THh8v3i3i5CuSZO+RaQRaJoeNwomw= -github.com/onsi/ginkgo/v2 v2.7.0/go.mod h1:yjiuMwPokqY1XauOgju45q3sJt6VzQ/Fict1LFVcsAo= -github.com/onsi/ginkgo/v2 v2.8.1/go.mod h1:N1/NbDngAFcSLdyZ+/aYTYGSlq9qMCS/cNKGJjy+csc= -github.com/onsi/ginkgo/v2 v2.9.0/go.mod h1:4xkjoL/tZv4SMWeww56BU5kAt19mVB47gTWxmrTcxyk= -github.com/onsi/ginkgo/v2 v2.9.1/go.mod h1:FEcmzVcCHl+4o9bQZVab+4dC9+j+91t2FHSzmGAPfuo= -github.com/onsi/ginkgo/v2 v2.9.2/go.mod h1:WHcJJG2dIlcCqVfBAwUCrJxSPFb6v4azBwgxeMeDuts= -github.com/onsi/ginkgo/v2 v2.9.5/go.mod h1:tvAoo1QUJwNEU2ITftXTpR7R1RbCzoZUOs3RonqW57k= -github.com/onsi/ginkgo/v2 v2.9.7/go.mod h1:cxrmXWykAwTwhQsJOPfdIDiJ+l2RYq7U8hFU+M/1uw0= -github.com/onsi/ginkgo/v2 v2.11.0/go.mod h1:ZhrRA5XmEE3x3rhlzamx/JJvujdZoJ2uvgI7kR0iZvM= -github.com/onsi/ginkgo/v2 v2.13.0/go.mod h1:TE309ZR8s5FsKKpuB1YAQYBzCaAfUgatB/xlT/ETL/o= -github.com/onsi/ginkgo/v2 v2.17.1/go.mod h1:llBI3WDLL9Z6taip6f33H76YcWtJv+7R3HigUjbIBOs= -github.com/onsi/ginkgo/v2 v2.17.2/go.mod h1:nP2DPOQoNsQmsVyv5rDA8JkXQoCs6goXIvr/PRJ1eCc= -github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= -github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= -github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= -github.com/onsi/gomega v1.20.1/go.mod h1:DtrZpjmvpn2mPm4YWQa0/ALMDj9v4YxLgojwPeREyVo= -github.com/onsi/gomega v1.21.1/go.mod h1:iYAIXgPSaDHak0LCMA+AWBpIKBr8WZicMxnE8luStNc= -github.com/onsi/gomega v1.22.1/go.mod h1:x6n7VNe4hw0vkyYUM4mjIXx3JbLiPaBPNgB7PRQ1tuM= -github.com/onsi/gomega v1.24.0/go.mod h1:Z/NWtiqwBrwUt4/2loMmHL63EDLnYHmVbuBpDr2vQAg= -github.com/onsi/gomega v1.24.1/go.mod h1:3AOiACssS3/MajrniINInwbfOOtfZvplPzuRSmvt1jM= -github.com/onsi/gomega v1.26.0/go.mod h1:r+zV744Re+DiYCIPRlYOTxn0YkOLcAnW8k1xXdMPGhM= -github.com/onsi/gomega v1.27.1/go.mod h1:aHX5xOykVYzWOV4WqQy0sy8BQptgukenXpCXfadcIAw= -github.com/onsi/gomega v1.27.3/go.mod h1:5vG284IBtfDAmDyrK+eGyZmUgUlmi+Wngqo557cZ6Gw= -github.com/onsi/gomega v1.27.4/go.mod h1:riYq/GJKh8hhoM01HN6Vmuy93AarCXCBGpvFDK3q3fQ= -github.com/onsi/gomega v1.27.6/go.mod h1:PIQNjfQwkP3aQAH7lf7j87O/5FiNr+ZR8+ipb+qQlhg= -github.com/onsi/gomega v1.27.7/go.mod h1:1p8OOlwo2iUUDsHnOrjE5UKYJ+e3W8eQ3qSlRahPmr4= -github.com/onsi/gomega v1.27.8/go.mod h1:2J8vzI/s+2shY9XHRApDkdgPo1TKT7P2u6fXeJKFnNQ= -github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= -github.com/onsi/gomega v1.30.0/go.mod h1:9sxs+SwGrKI0+PWe4Fxa9tFQQBG5xSsSbMXOI8PPpoQ= -github.com/onsi/gomega v1.33.0/go.mod h1:+925n5YtiFsLzzafLUHzVMBpvvRAzrydIBiSIxjX3wY= -github.com/orisano/pixelmatch v0.0.0-20220722002657-fb0b55479cde/go.mod h1:nZgzbfBr3hhjoZnS66nKrHmduYNpc34ny7RK4z5/HM0= -github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4 h1:49lOXmGaUpV9Fz3gd7TFZY106KVlPVa5jcYD1gaQf98= -github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA= +github.com/phpdave11/gofpdf v1.4.2/go.mod h1:zpO6xFn9yxo3YLyMvW8HcKWVdbNqgIfOOp2dXMnm1mY= +github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= +github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ= +github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfFZQK844Gfx8o5WFuvpxWRwnSoipWe/p622j1v06w= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= -golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= -golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw= -golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= -golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= -golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= -golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= -golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M= +golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2 h1:y102fOLFqhV41b+4GPiJoa0k/x+pJcEi2/HB1Y5T6fU= golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20191002040644-a1355ae1e2c3/go.mod h1:NOZ3BPKG0ec/BKJQgnvsSFpcKLM5xXVWnvZS97DWHgE= +golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa h1:FRnLl4eNAQl8hwxVVC17teOw8kdjVDVAiFMtgUdTSRQ= +golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa/go.mod h1:zk2irFbV9DP96SEBUUAy67IdHUaZuSnrz1n472HUCLE= golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= -golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20200119044424-58c23975cae1/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20200430140353-33d19683fad8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20200618115811-c13761719519/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20201208152932-35266b937fa6/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20210216034530-4410531fe030/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= -golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= -golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= -golang.org/x/net v0.3.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= -golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= -golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= -golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= -golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= -golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= -golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= -golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= -golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/net v0.0.0-20210423184538-5f58ad60dda6/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= +golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac= +golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= -golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210304124612-50617c2ba197/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220422013727-9388b58f7150/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= +golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= +golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= -golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= -golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= -golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU= -golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= -golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= -golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= -golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= -golang.org/x/term v0.19.0/go.mod h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= -golang.org/x/tools v0.4.0/go.mod h1:UE5sM2OK9E/d67R0ANs2xJizIymRP5gJU295PvKXxjQ= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= -golang.org/x/tools v0.9.1/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc= -golang.org/x/tools v0.9.3/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc= -golang.org/x/tools v0.12.0/go.mod h1:Sc0INKfu04TlqNoRA1hgpFZbhYXHPr4V5DzpSBTPqQM= -golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= -golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps= -golang.org/x/tools v0.20.0/go.mod h1:WvitBU7JJf6A4jOdg4S1tviW9bhUxkgeCui/0JHctQg= +golang.org/x/tools v0.0.0-20190927191325-030b2cf1153e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= -gonum.org/v1/gonum v0.7.0 h1:Hdks0L0hgznZLG9nzXb8vZ0rRvqNvAcgAp84y7Mwkgw= -gonum.org/v1/gonum v0.7.0/go.mod h1:L02bwd0sqlsvRv41G7wGWFCsVNZFv/k1xzGIxeANHGM= -gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0 h1:OE9mWmgKkjJyEmDAAtGMPjXu+YNeGvK9VTSHY6+Qihc= +gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= +gonum.org/v1/gonum v0.9.1/go.mod h1:TZumC3NeyVQskjXqmyWt4S3bINhy7B4eYwW69EbyX+0= +gonum.org/v1/gonum v0.15.0 h1:2lYxjRbTYyxkJxlhC+LvJIx3SsANPdRybu1tGj9/OrQ= +gonum.org/v1/gonum v0.15.0/go.mod h1:xzZVBJBtS+Mz4q0Yl2LJTk+OxOg4jiXZ7qBoM0uISGo= gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gonum.org/v1/plot v0.9.0/go.mod h1:3Pcqqmp6RHvJI72kgb8fThyUnav364FOsdDo2aGW5lY= rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= diff --git a/examples/range_slider/main.go b/examples/range_slider/main.go index 827b8f2..6c388f2 100644 --- a/examples/range_slider/main.go +++ b/examples/range_slider/main.go @@ -4,9 +4,10 @@ import ( "net/http" "strings" - grob "github.com/MetalBlueberry/go-plotly/graph_objects" - "github.com/MetalBlueberry/go-plotly/offline" "github.com/go-gota/gota/dataframe" + + grob "github.com/MetalBlueberry/go-plotly/generated/v2.31.1/graph_objects" + "github.com/MetalBlueberry/go-plotly/generated/v2.31.1/offline" ) func main() { diff --git a/examples/range_slider/range_slider.html b/examples/range_slider/range_slider.html index 8d1d147..00fc030 100755 --- a/examples/range_slider/range_slider.html +++ b/examples/range_slider/range_slider.html @@ -1,12 +1,12 @@ - + - +
- + \ No newline at end of file diff --git a/examples/responsive/bar.html b/examples/responsive/bar.html index b4ad8f8..22ea5ba 100755 --- a/examples/responsive/bar.html +++ b/examples/responsive/bar.html @@ -1,12 +1,12 @@ - + - +
- + \ No newline at end of file diff --git a/examples/responsive/main.go b/examples/responsive/main.go index 2bc8146..d6c703c 100644 --- a/examples/responsive/main.go +++ b/examples/responsive/main.go @@ -1,8 +1,8 @@ package main import ( - grob "github.com/MetalBlueberry/go-plotly/graph_objects" - "github.com/MetalBlueberry/go-plotly/offline" + grob "github.com/MetalBlueberry/go-plotly/generated/v2.31.1/graph_objects" + "github.com/MetalBlueberry/go-plotly/generated/v2.31.1/offline" ) func main() { diff --git a/examples/scatter/main.go b/examples/scatter/main.go index 6ae717c..9645bc3 100644 --- a/examples/scatter/main.go +++ b/examples/scatter/main.go @@ -3,8 +3,8 @@ package main import ( "math" - grob "github.com/MetalBlueberry/go-plotly/graph_objects" - "github.com/MetalBlueberry/go-plotly/offline" + grob "github.com/MetalBlueberry/go-plotly/generated/v2.31.1/graph_objects" + "github.com/MetalBlueberry/go-plotly/generated/v2.31.1/offline" ) func main() { diff --git a/examples/scatter/scatter.html b/examples/scatter/scatter.html index 24616c0..deca9e8 100755 --- a/examples/scatter/scatter.html +++ b/examples/scatter/scatter.html @@ -1,12 +1,12 @@ - + - +
- + \ No newline at end of file diff --git a/examples/scatter3d/main.go b/examples/scatter3d/main.go index f1a05b8..952122f 100644 --- a/examples/scatter3d/main.go +++ b/examples/scatter3d/main.go @@ -3,8 +3,8 @@ package main import ( "math" - grob "github.com/MetalBlueberry/go-plotly/graph_objects" - "github.com/MetalBlueberry/go-plotly/offline" + grob "github.com/MetalBlueberry/go-plotly/generated/v2.31.1/graph_objects" + "github.com/MetalBlueberry/go-plotly/generated/v2.31.1/offline" ) func main() { diff --git a/examples/scatter3d/scatter3d.html b/examples/scatter3d/scatter3d.html index 4bdcbb1..759f4c9 100755 --- a/examples/scatter3d/scatter3d.html +++ b/examples/scatter3d/scatter3d.html @@ -1,12 +1,12 @@ - + - +
- + \ No newline at end of file diff --git a/examples/shapes/bar.html b/examples/shapes/bar.html index 1cf76a1..e68cfad 100755 --- a/examples/shapes/bar.html +++ b/examples/shapes/bar.html @@ -1,12 +1,12 @@ - + - +
- + \ No newline at end of file diff --git a/examples/shapes/main.go b/examples/shapes/main.go index 0c80fe1..ad707dd 100644 --- a/examples/shapes/main.go +++ b/examples/shapes/main.go @@ -1,8 +1,8 @@ package main import ( - grob "github.com/MetalBlueberry/go-plotly/graph_objects" - "github.com/MetalBlueberry/go-plotly/offline" + grob "github.com/MetalBlueberry/go-plotly/generated/v2.31.1/graph_objects" + "github.com/MetalBlueberry/go-plotly/generated/v2.31.1/offline" ) func main() { diff --git a/examples/stargazers/main.go b/examples/stargazers/main.go index 6047fb1..0c7d30a 100644 --- a/examples/stargazers/main.go +++ b/examples/stargazers/main.go @@ -10,8 +10,9 @@ import ( "text/template" "time" - grob "github.com/MetalBlueberry/go-plotly/graph_objects" "github.com/pkg/browser" + + grob "github.com/MetalBlueberry/go-plotly/generated/v2.31.1/graph_objects" ) type User struct { @@ -97,7 +98,7 @@ func main() { var page = ` - +
diff --git a/examples/static_image/main.go b/examples/static_image/main.go index 65eff70..a6d1be4 100644 --- a/examples/static_image/main.go +++ b/examples/static_image/main.go @@ -8,7 +8,7 @@ import ( "os/exec" "strings" - grob "github.com/MetalBlueberry/go-plotly/graph_objects" + grob "github.com/MetalBlueberry/go-plotly/generated/v2.31.1/graph_objects" ) func main() { diff --git a/examples/subplots_share_axes/main.go b/examples/subplots_share_axes/main.go index f05dd2b..163777c 100644 --- a/examples/subplots_share_axes/main.go +++ b/examples/subplots_share_axes/main.go @@ -1,8 +1,8 @@ package main import ( - grob "github.com/MetalBlueberry/go-plotly/graph_objects" - "github.com/MetalBlueberry/go-plotly/offline" + grob "github.com/MetalBlueberry/go-plotly/generated/v2.31.1/graph_objects" + "github.com/MetalBlueberry/go-plotly/generated/v2.31.1/offline" ) func main() { diff --git a/examples/subplots_share_axes/subplots_share_axes.html b/examples/subplots_share_axes/subplots_share_axes.html index 1646ae9..0655140 100755 --- a/examples/subplots_share_axes/subplots_share_axes.html +++ b/examples/subplots_share_axes/subplots_share_axes.html @@ -1,12 +1,12 @@ - + - +
- + \ No newline at end of file diff --git a/examples/transforms/bar.html b/examples/transforms/bar.html index cf99295..d5a0cba 100755 --- a/examples/transforms/bar.html +++ b/examples/transforms/bar.html @@ -1,12 +1,12 @@ - + - +
- + \ No newline at end of file diff --git a/examples/transforms/main.go b/examples/transforms/main.go index 0742b8a..101f167 100644 --- a/examples/transforms/main.go +++ b/examples/transforms/main.go @@ -1,8 +1,8 @@ package main import ( - grob "github.com/MetalBlueberry/go-plotly/graph_objects" - "github.com/MetalBlueberry/go-plotly/offline" + grob "github.com/MetalBlueberry/go-plotly/generated/v2.31.1/graph_objects" + "github.com/MetalBlueberry/go-plotly/generated/v2.31.1/offline" ) func main() { diff --git a/examples/unmarshal/main.go b/examples/unmarshal/main.go index db12ea4..0be7cf7 100644 --- a/examples/unmarshal/main.go +++ b/examples/unmarshal/main.go @@ -4,8 +4,8 @@ import ( "encoding/json" "math" - grob "github.com/MetalBlueberry/go-plotly/graph_objects" - "github.com/MetalBlueberry/go-plotly/offline" + grob "github.com/MetalBlueberry/go-plotly/generated/v2.31.1/graph_objects" + "github.com/MetalBlueberry/go-plotly/generated/v2.31.1/offline" ) func main() { diff --git a/examples/wasm/main.go b/examples/wasm/main.go index d0cbbd5..122762e 100644 --- a/examples/wasm/main.go +++ b/examples/wasm/main.go @@ -4,16 +4,18 @@ import ( "encoding/json" "syscall/js" - grob "github.com/MetalBlueberry/go-plotly/graph_objects" + grob "github.com/MetalBlueberry/go-plotly/generated/v2.31.1/graph_objects" ) +// to run this, wasm need to be set: GOOS=js GOARCH=wasm go build -o main.wasm + func plot(this js.Value, inputs []js.Value) interface{} { fig := &grob.Fig{ Data: grob.Traces{ &grob.Choropleth{ Type: grob.TraceTypeChoropleth, Autocolorscale: grob.True, - Locationmode: grob.ChoroplethLocationmodeUsaStates, + Locationmode: grob.ChoroplethLocationmodeUSAStates, }, }, Layout: &grob.Layout{ diff --git a/examples/waterfall_bar_chart/main.go b/examples/waterfall_bar_chart/main.go index abfc8d8..de13ed0 100644 --- a/examples/waterfall_bar_chart/main.go +++ b/examples/waterfall_bar_chart/main.go @@ -1,8 +1,8 @@ package main import ( - grob "github.com/MetalBlueberry/go-plotly/graph_objects" - "github.com/MetalBlueberry/go-plotly/offline" + grob "github.com/MetalBlueberry/go-plotly/generated/v2.31.1/graph_objects" + "github.com/MetalBlueberry/go-plotly/generated/v2.31.1/offline" ) func main() { diff --git a/examples/waterfall_bar_chart/waterfall.html b/examples/waterfall_bar_chart/waterfall.html index 4fe633b..4fcf7ac 100755 --- a/examples/waterfall_bar_chart/waterfall.html +++ b/examples/waterfall_bar_chart/waterfall.html @@ -1,12 +1,12 @@ - + - +
- + \ No newline at end of file diff --git a/graph_objects/bar_gen.go b/generated/v2.19.0/graph_objects/bar_gen.go similarity index 75% rename from graph_objects/bar_gen.go rename to generated/v2.19.0/graph_objects/bar_gen.go index fd8479e..91a9839 100644 --- a/graph_objects/bar_gen.go +++ b/generated/v2.19.0/graph_objects/bar_gen.go @@ -30,7 +30,7 @@ type Bar struct { // Basesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for base . + // Sets the source reference on Chart Studio Cloud for `base`. Basesrc String `json:"basesrc,omitempty"` // Cliponaxis @@ -54,7 +54,7 @@ type Bar struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Dx @@ -86,7 +86,7 @@ type Bar struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -96,13 +96,13 @@ type Bar struct { // Hovertemplate // arrayOK: true // 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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `value` and `label`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + // 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 `value` and `label`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. Hovertemplate String `json:"hovertemplate,omitempty"` // Hovertemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertemplate . + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` // Hovertext @@ -114,7 +114,7 @@ type Bar struct { // Hovertextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertext . + // Sets the source reference on Chart Studio Cloud for `hovertext`. Hovertextsrc String `json:"hovertextsrc,omitempty"` // Ids @@ -126,7 +126,7 @@ type Bar struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` // Insidetextanchor @@ -145,6 +145,22 @@ type Bar struct { // Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items. Legendgroup String `json:"legendgroup,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *BarLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Marker // role: Object Marker *BarMarker `json:"marker,omitempty"` @@ -158,7 +174,7 @@ type Bar struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Name @@ -182,7 +198,7 @@ type Bar struct { // Offsetsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for offset . + // Sets the source reference on Chart Studio Cloud for `offset`. Offsetsrc String `json:"offsetsrc,omitempty"` // Opacity @@ -201,18 +217,6 @@ type Bar struct { // role: Object Outsidetextfont *BarOutsidetextfont `json:"outsidetextfont,omitempty"` - // R - // arrayOK: false - // type: data_array - // r coordinates in scatter traces are deprecated!Please switch to the *scatterpolar* trace type.Sets the radial coordinatesfor legacy polar chart only. - R interface{} `json:"r,omitempty"` - - // Rsrc - // arrayOK: false - // type: string - // Sets the source reference on Chart Studio Cloud for r . - Rsrc String `json:"rsrc,omitempty"` - // Selected // role: Object Selected *BarSelected `json:"selected,omitempty"` @@ -233,12 +237,6 @@ type Bar struct { // role: Object Stream *BarStream `json:"stream,omitempty"` - // T - // arrayOK: false - // type: data_array - // t coordinates in scatter traces are deprecated!Please switch to the *scatterpolar* trace type.Sets the angular coordinatesfor legacy polar chart only. - T interface{} `json:"t,omitempty"` - // Text // arrayOK: true // type: string @@ -256,33 +254,33 @@ type Bar struct { Textfont *BarTextfont `json:"textfont,omitempty"` // Textposition - // default: none + // default: auto // type: enumerated - // 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. + // 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. Textposition BarTextposition `json:"textposition,omitempty"` // Textpositionsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for textposition . + // Sets the source reference on Chart Studio Cloud for `textposition`. Textpositionsrc String `json:"textpositionsrc,omitempty"` // Textsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for text . + // Sets the source reference on Chart Studio Cloud for `text`. Textsrc String `json:"textsrc,omitempty"` // Texttemplate // arrayOK: true // 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-3.x-api-reference/blob/master/Formatting.md#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#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. variables `value` and `label`. + // 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. variables `value` and `label`. Texttemplate String `json:"texttemplate,omitempty"` // Texttemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for texttemplate . + // Sets the source reference on Chart Studio Cloud for `texttemplate`. Texttemplatesrc String `json:"texttemplatesrc,omitempty"` // Transforms @@ -291,12 +289,6 @@ type Bar struct { // just raise an issue before you start so we do not overlap Transforms interface{} `json:"transforms,omitempty"` - // Tsrc - // arrayOK: false - // type: string - // Sets the source reference on Chart Studio Cloud for t . - Tsrc String `json:"tsrc,omitempty"` - // Uid // arrayOK: false // type: string @@ -328,7 +320,7 @@ type Bar struct { // Widthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for width . + // Sets the source reference on Chart Studio Cloud for `width`. Widthsrc String `json:"widthsrc,omitempty"` // X @@ -355,6 +347,12 @@ type Bar struct { // Sets the calendar system to use with `x` date data. Xcalendar BarXcalendar `json:"xcalendar,omitempty"` + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + // Xperiod // arrayOK: false // type: any @@ -376,7 +374,7 @@ type Bar struct { // Xsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for x . + // Sets the source reference on Chart Studio Cloud for `x`. Xsrc String `json:"xsrc,omitempty"` // Y @@ -403,6 +401,12 @@ type Bar struct { // Sets the calendar system to use with `y` date data. Ycalendar BarYcalendar `json:"ycalendar,omitempty"` + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + // Yperiod // arrayOK: false // type: any @@ -424,7 +428,7 @@ type Bar struct { // Ysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for y . + // Sets the source reference on Chart Studio Cloud for `y`. Ysrc String `json:"ysrc,omitempty"` } @@ -446,13 +450,13 @@ type BarErrorX struct { // Arrayminussrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for arrayminus . + // Sets the source reference on Chart Studio Cloud for `arrayminus`. Arrayminussrc String `json:"arrayminussrc,omitempty"` // Arraysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for array . + // Sets the source reference on Chart Studio Cloud for `array`. Arraysrc String `json:"arraysrc,omitempty"` // Color @@ -540,13 +544,13 @@ type BarErrorY struct { // Arrayminussrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for arrayminus . + // Sets the source reference on Chart Studio Cloud for `arrayminus`. Arrayminussrc String `json:"arrayminussrc,omitempty"` // Arraysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for array . + // Sets the source reference on Chart Studio Cloud for `array`. Arraysrc String `json:"arraysrc,omitempty"` // Color @@ -622,7 +626,7 @@ type BarHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -634,7 +638,7 @@ type BarHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -646,7 +650,7 @@ type BarHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -662,7 +666,7 @@ type BarHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -674,7 +678,7 @@ type BarHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -686,7 +690,7 @@ type BarHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -702,7 +706,7 @@ type BarHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } @@ -718,7 +722,7 @@ type BarInsidetextfont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -730,7 +734,7 @@ type BarInsidetextfont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -742,10 +746,46 @@ type BarInsidetextfont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } +// BarLegendgrouptitleFont Sets this legend group's title font. +type BarLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// BarLegendgrouptitle +type BarLegendgrouptitle struct { + + // Font + // role: Object + Font *BarLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // BarMarkerColorbarTickfont Sets the color bar's tick label font type BarMarkerColorbarTickfont struct { @@ -798,9 +838,9 @@ type BarMarkerColorbarTitle struct { Font *BarMarkerColorbarTitleFont `json:"font,omitempty"` // Side - // default: top + // default: %!s() // type: enumerated - // Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. Side BarMarkerColorbarTitleSide `json:"side,omitempty"` // Text @@ -843,6 +883,12 @@ type BarMarkerColorbar struct { // 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. Exponentformat BarMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Len // arrayOK: false // type: number @@ -867,6 +913,12 @@ type BarMarkerColorbar struct { // 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*. Nticks int64 `json:"nticks,omitempty"` + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation BarMarkerColorbarOrientation `json:"orientation,omitempty"` + // Outlinecolor // arrayOK: false // type: color @@ -946,7 +998,7 @@ type BarMarkerColorbar struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -955,12 +1007,24 @@ type BarMarkerColorbar struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow BarMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + // Ticklabelposition // default: outside // type: enumerated - // Determines where tick labels are drawn. + // 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*. Ticklabelposition BarMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -1000,7 +1064,7 @@ type BarMarkerColorbar struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -1012,7 +1076,7 @@ type BarMarkerColorbar struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -1028,13 +1092,13 @@ type BarMarkerColorbar struct { // X // arrayOK: false // type: number - // Sets the x position of the color bar (in plot fraction). + // Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. X float64 `json:"x,omitempty"` // Xanchor - // default: left + // default: %!s() // type: enumerated - // Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. + // 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*. Xanchor BarMarkerColorbarXanchor `json:"xanchor,omitempty"` // Xpad @@ -1046,13 +1110,13 @@ type BarMarkerColorbar struct { // Y // arrayOK: false // type: number - // Sets the y position of the color bar (in plot fraction). + // Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. Y float64 `json:"y,omitempty"` // Yanchor - // default: middle + // default: %!s() // type: enumerated - // Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. + // 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*. Yanchor BarMarkerColorbarYanchor `json:"yanchor,omitempty"` // Ypad @@ -1068,37 +1132,37 @@ type BarMarkerLine struct { // Autocolorscale // arrayOK: false // type: boolean - // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Cauto // arrayOK: false // type: boolean - // 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. + // 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. Cauto Bool `json:"cauto,omitempty"` // Cmax // arrayOK: false // 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. + // 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. Cmax float64 `json:"cmax,omitempty"` // Cmid // arrayOK: false // 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`. + // 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`. Cmid float64 `json:"cmid,omitempty"` // Cmin // arrayOK: false // 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. + // 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. Cmin float64 `json:"cmin,omitempty"` // Color // arrayOK: true // type: color - // Sets themarker.linecolor. 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. + // 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. Color Color `json:"color,omitempty"` // Coloraxis @@ -1110,19 +1174,19 @@ type BarMarkerLine struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Reversescale // arrayOK: false // 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. + // 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. Reversescale Bool `json:"reversescale,omitempty"` // Width @@ -1134,47 +1198,123 @@ type BarMarkerLine struct { // Widthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for width . + // Sets the source reference on Chart Studio Cloud for `width`. Widthsrc String `json:"widthsrc,omitempty"` } +// BarMarkerPattern Sets the pattern within the marker. +type BarMarkerPattern struct { + + // Bgcolor + // arrayOK: true + // type: color + // 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. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Fgcolor + // arrayOK: true + // type: color + // 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`. + Fgcolor Color `json:"fgcolor,omitempty"` + + // Fgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `fgcolor`. + Fgcolorsrc String `json:"fgcolorsrc,omitempty"` + + // Fgopacity + // arrayOK: false + // type: number + // Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1. + Fgopacity float64 `json:"fgopacity,omitempty"` + + // Fillmode + // default: replace + // type: enumerated + // Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. + Fillmode BarMarkerPatternFillmode `json:"fillmode,omitempty"` + + // Shape + // default: + // type: enumerated + // Sets the shape of the pattern fill. By default, no pattern is used for filling the area. + Shape BarMarkerPatternShape `json:"shape,omitempty"` + + // Shapesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `shape`. + Shapesrc String `json:"shapesrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Solidity + // arrayOK: true + // type: number + // 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. + Solidity float64 `json:"solidity,omitempty"` + + // Soliditysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `solidity`. + Soliditysrc String `json:"soliditysrc,omitempty"` +} + // BarMarker type BarMarker struct { // Autocolorscale // arrayOK: false // type: boolean - // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Cauto // arrayOK: false // type: boolean - // 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. + // 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. Cauto Bool `json:"cauto,omitempty"` // Cmax // arrayOK: false // 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. + // 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. Cmax float64 `json:"cmax,omitempty"` // Cmid // arrayOK: false // 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`. + // 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`. Cmid float64 `json:"cmid,omitempty"` // Cmin // arrayOK: false // 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. + // 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. Cmin float64 `json:"cmin,omitempty"` // Color // arrayOK: true // type: color - // Sets themarkercolor. 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. + // 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. Color Color `json:"color,omitempty"` // Coloraxis @@ -1190,13 +1330,13 @@ type BarMarker struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Line @@ -1212,19 +1352,23 @@ type BarMarker struct { // Opacitysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for opacity . + // Sets the source reference on Chart Studio Cloud for `opacity`. Opacitysrc String `json:"opacitysrc,omitempty"` + // Pattern + // role: Object + Pattern *BarMarkerPattern `json:"pattern,omitempty"` + // Reversescale // arrayOK: false // 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. + // 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. Reversescale Bool `json:"reversescale,omitempty"` // Showscale // arrayOK: false // 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. + // 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. Showscale Bool `json:"showscale,omitempty"` } @@ -1240,7 +1384,7 @@ type BarOutsidetextfont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -1252,7 +1396,7 @@ type BarOutsidetextfont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -1264,7 +1408,7 @@ type BarOutsidetextfont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -1334,7 +1478,7 @@ type BarTextfont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -1346,7 +1490,7 @@ type BarTextfont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -1358,7 +1502,7 @@ type BarTextfont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -1456,7 +1600,7 @@ const ( BarMarkerColorbarExponentformatE1 BarMarkerColorbarExponentformat = "e" BarMarkerColorbarExponentformatE2 BarMarkerColorbarExponentformat = "E" BarMarkerColorbarExponentformatPower BarMarkerColorbarExponentformat = "power" - BarMarkerColorbarExponentformatSi BarMarkerColorbarExponentformat = "SI" + BarMarkerColorbarExponentformatSI BarMarkerColorbarExponentformat = "SI" BarMarkerColorbarExponentformatB BarMarkerColorbarExponentformat = "B" ) @@ -1468,6 +1612,14 @@ const ( BarMarkerColorbarLenmodePixels BarMarkerColorbarLenmode = "pixels" ) +// BarMarkerColorbarOrientation Sets the orientation of the colorbar. +type BarMarkerColorbarOrientation string + +const ( + BarMarkerColorbarOrientationH BarMarkerColorbarOrientation = "h" + BarMarkerColorbarOrientationV BarMarkerColorbarOrientation = "v" +) + // BarMarkerColorbarShowexponent 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. type BarMarkerColorbarShowexponent string @@ -1506,7 +1658,16 @@ const ( BarMarkerColorbarThicknessmodePixels BarMarkerColorbarThicknessmode = "pixels" ) -// BarMarkerColorbarTicklabelposition Determines where tick labels are drawn. +// BarMarkerColorbarTicklabeloverflow 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*. +type BarMarkerColorbarTicklabeloverflow string + +const ( + BarMarkerColorbarTicklabeloverflowAllow BarMarkerColorbarTicklabeloverflow = "allow" + BarMarkerColorbarTicklabeloverflowHidePastDiv BarMarkerColorbarTicklabeloverflow = "hide past div" + BarMarkerColorbarTicklabeloverflowHidePastDomain BarMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// BarMarkerColorbarTicklabelposition 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*. type BarMarkerColorbarTicklabelposition string const ( @@ -1514,6 +1675,10 @@ const ( BarMarkerColorbarTicklabelpositionInside BarMarkerColorbarTicklabelposition = "inside" BarMarkerColorbarTicklabelpositionOutsideTop BarMarkerColorbarTicklabelposition = "outside top" BarMarkerColorbarTicklabelpositionInsideTop BarMarkerColorbarTicklabelposition = "inside top" + BarMarkerColorbarTicklabelpositionOutsideLeft BarMarkerColorbarTicklabelposition = "outside left" + BarMarkerColorbarTicklabelpositionInsideLeft BarMarkerColorbarTicklabelposition = "inside left" + BarMarkerColorbarTicklabelpositionOutsideRight BarMarkerColorbarTicklabelposition = "outside right" + BarMarkerColorbarTicklabelpositionInsideRight BarMarkerColorbarTicklabelposition = "inside right" BarMarkerColorbarTicklabelpositionOutsideBottom BarMarkerColorbarTicklabelposition = "outside bottom" BarMarkerColorbarTicklabelpositionInsideBottom BarMarkerColorbarTicklabelposition = "inside bottom" ) @@ -1536,7 +1701,7 @@ const ( BarMarkerColorbarTicksEmpty BarMarkerColorbarTicks = "" ) -// BarMarkerColorbarTitleSide Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. +// BarMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. type BarMarkerColorbarTitleSide string const ( @@ -1545,7 +1710,7 @@ const ( BarMarkerColorbarTitleSideBottom BarMarkerColorbarTitleSide = "bottom" ) -// BarMarkerColorbarXanchor Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. +// BarMarkerColorbarXanchor 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*. type BarMarkerColorbarXanchor string const ( @@ -1554,7 +1719,7 @@ const ( BarMarkerColorbarXanchorRight BarMarkerColorbarXanchor = "right" ) -// BarMarkerColorbarYanchor Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. +// BarMarkerColorbarYanchor 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*. type BarMarkerColorbarYanchor string const ( @@ -1563,6 +1728,28 @@ const ( BarMarkerColorbarYanchorBottom BarMarkerColorbarYanchor = "bottom" ) +// BarMarkerPatternFillmode Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. +type BarMarkerPatternFillmode string + +const ( + BarMarkerPatternFillmodeReplace BarMarkerPatternFillmode = "replace" + BarMarkerPatternFillmodeOverlay BarMarkerPatternFillmode = "overlay" +) + +// BarMarkerPatternShape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. +type BarMarkerPatternShape string + +const ( + BarMarkerPatternShapeEmpty BarMarkerPatternShape = "" + BarMarkerPatternShapeSlash BarMarkerPatternShape = "/" + BarMarkerPatternShapeDoublebackslash BarMarkerPatternShape = "\\" + BarMarkerPatternShapeX BarMarkerPatternShape = "x" + BarMarkerPatternShapeHyphenHyphen BarMarkerPatternShape = "-" + BarMarkerPatternShapeOr BarMarkerPatternShape = "|" + BarMarkerPatternShapePlus BarMarkerPatternShape = "+" + BarMarkerPatternShapeDot BarMarkerPatternShape = "." +) + // BarOrientation Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal). type BarOrientation string @@ -1571,7 +1758,7 @@ const ( BarOrientationH BarOrientation = "h" ) -// BarTextposition 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. +// BarTextposition 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. type BarTextposition string const ( @@ -1594,19 +1781,19 @@ var ( type BarXcalendar string const ( - BarXcalendarGregorian BarXcalendar = "gregorian" BarXcalendarChinese BarXcalendar = "chinese" BarXcalendarCoptic BarXcalendar = "coptic" BarXcalendarDiscworld BarXcalendar = "discworld" BarXcalendarEthiopian BarXcalendar = "ethiopian" + BarXcalendarGregorian BarXcalendar = "gregorian" BarXcalendarHebrew BarXcalendar = "hebrew" BarXcalendarIslamic BarXcalendar = "islamic" + BarXcalendarJalali BarXcalendar = "jalali" BarXcalendarJulian BarXcalendar = "julian" BarXcalendarMayan BarXcalendar = "mayan" BarXcalendarNanakshahi BarXcalendar = "nanakshahi" BarXcalendarNepali BarXcalendar = "nepali" BarXcalendarPersian BarXcalendar = "persian" - BarXcalendarJalali BarXcalendar = "jalali" BarXcalendarTaiwan BarXcalendar = "taiwan" BarXcalendarThai BarXcalendar = "thai" BarXcalendarUmmalqura BarXcalendar = "ummalqura" @@ -1625,19 +1812,19 @@ const ( type BarYcalendar string const ( - BarYcalendarGregorian BarYcalendar = "gregorian" BarYcalendarChinese BarYcalendar = "chinese" BarYcalendarCoptic BarYcalendar = "coptic" BarYcalendarDiscworld BarYcalendar = "discworld" BarYcalendarEthiopian BarYcalendar = "ethiopian" + BarYcalendarGregorian BarYcalendar = "gregorian" BarYcalendarHebrew BarYcalendar = "hebrew" BarYcalendarIslamic BarYcalendar = "islamic" + BarYcalendarJalali BarYcalendar = "jalali" BarYcalendarJulian BarYcalendar = "julian" BarYcalendarMayan BarYcalendar = "mayan" BarYcalendarNanakshahi BarYcalendar = "nanakshahi" BarYcalendarNepali BarYcalendar = "nepali" BarYcalendarPersian BarYcalendar = "persian" - BarYcalendarJalali BarYcalendar = "jalali" BarYcalendarTaiwan BarYcalendar = "taiwan" BarYcalendarThai BarYcalendar = "thai" BarYcalendarUmmalqura BarYcalendar = "ummalqura" diff --git a/graph_objects/barpolar_gen.go b/generated/v2.19.0/graph_objects/barpolar_gen.go similarity index 70% rename from graph_objects/barpolar_gen.go rename to generated/v2.19.0/graph_objects/barpolar_gen.go index 6cb23d0..6ffaa48 100644 --- a/graph_objects/barpolar_gen.go +++ b/generated/v2.19.0/graph_objects/barpolar_gen.go @@ -24,7 +24,7 @@ type Barpolar struct { // Basesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for base . + // Sets the source reference on Chart Studio Cloud for `base`. Basesrc String `json:"basesrc,omitempty"` // Customdata @@ -36,7 +36,7 @@ type Barpolar struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Dr @@ -60,7 +60,7 @@ type Barpolar struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -70,13 +70,13 @@ type Barpolar struct { // Hovertemplate // arrayOK: true // 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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + // 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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. Hovertemplate String `json:"hovertemplate,omitempty"` // Hovertemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertemplate . + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` // Hovertext @@ -88,7 +88,7 @@ type Barpolar struct { // Hovertextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertext . + // Sets the source reference on Chart Studio Cloud for `hovertext`. Hovertextsrc String `json:"hovertextsrc,omitempty"` // Ids @@ -100,7 +100,7 @@ type Barpolar struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` // Legendgroup @@ -109,6 +109,22 @@ type Barpolar struct { // Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items. Legendgroup String `json:"legendgroup,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *BarpolarLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Marker // role: Object Marker *BarpolarMarker `json:"marker,omitempty"` @@ -122,7 +138,7 @@ type Barpolar struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Name @@ -140,7 +156,7 @@ type Barpolar struct { // Offsetsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for offset . + // Sets the source reference on Chart Studio Cloud for `offset`. Offsetsrc String `json:"offsetsrc,omitempty"` // Opacity @@ -164,7 +180,7 @@ type Barpolar struct { // Rsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for r . + // Sets the source reference on Chart Studio Cloud for `r`. Rsrc String `json:"rsrc,omitempty"` // Selected @@ -202,7 +218,7 @@ type Barpolar struct { // Textsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for text . + // Sets the source reference on Chart Studio Cloud for `text`. Textsrc String `json:"textsrc,omitempty"` // Theta @@ -220,7 +236,7 @@ type Barpolar struct { // Thetasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for theta . + // Sets the source reference on Chart Studio Cloud for `theta`. Thetasrc String `json:"thetasrc,omitempty"` // Thetaunit @@ -266,7 +282,7 @@ type Barpolar struct { // Widthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for width . + // Sets the source reference on Chart Studio Cloud for `width`. Widthsrc String `json:"widthsrc,omitempty"` } @@ -282,7 +298,7 @@ type BarpolarHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -294,7 +310,7 @@ type BarpolarHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -306,7 +322,7 @@ type BarpolarHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -322,7 +338,7 @@ type BarpolarHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -334,7 +350,7 @@ type BarpolarHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -346,7 +362,7 @@ type BarpolarHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -362,10 +378,46 @@ type BarpolarHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } +// BarpolarLegendgrouptitleFont Sets this legend group's title font. +type BarpolarLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// BarpolarLegendgrouptitle +type BarpolarLegendgrouptitle struct { + + // Font + // role: Object + Font *BarpolarLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // BarpolarMarkerColorbarTickfont Sets the color bar's tick label font type BarpolarMarkerColorbarTickfont struct { @@ -418,9 +470,9 @@ type BarpolarMarkerColorbarTitle struct { Font *BarpolarMarkerColorbarTitleFont `json:"font,omitempty"` // Side - // default: top + // default: %!s() // type: enumerated - // Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. Side BarpolarMarkerColorbarTitleSide `json:"side,omitempty"` // Text @@ -463,6 +515,12 @@ type BarpolarMarkerColorbar struct { // 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. Exponentformat BarpolarMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Len // arrayOK: false // type: number @@ -487,6 +545,12 @@ type BarpolarMarkerColorbar struct { // 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*. Nticks int64 `json:"nticks,omitempty"` + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation BarpolarMarkerColorbarOrientation `json:"orientation,omitempty"` + // Outlinecolor // arrayOK: false // type: color @@ -566,7 +630,7 @@ type BarpolarMarkerColorbar struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -575,12 +639,24 @@ type BarpolarMarkerColorbar struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow BarpolarMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + // Ticklabelposition // default: outside // type: enumerated - // Determines where tick labels are drawn. + // 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*. Ticklabelposition BarpolarMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -620,7 +696,7 @@ type BarpolarMarkerColorbar struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -632,7 +708,7 @@ type BarpolarMarkerColorbar struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -648,13 +724,13 @@ type BarpolarMarkerColorbar struct { // X // arrayOK: false // type: number - // Sets the x position of the color bar (in plot fraction). + // Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. X float64 `json:"x,omitempty"` // Xanchor - // default: left + // default: %!s() // type: enumerated - // Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. + // 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*. Xanchor BarpolarMarkerColorbarXanchor `json:"xanchor,omitempty"` // Xpad @@ -666,13 +742,13 @@ type BarpolarMarkerColorbar struct { // Y // arrayOK: false // type: number - // Sets the y position of the color bar (in plot fraction). + // Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. Y float64 `json:"y,omitempty"` // Yanchor - // default: middle + // default: %!s() // type: enumerated - // Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. + // 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*. Yanchor BarpolarMarkerColorbarYanchor `json:"yanchor,omitempty"` // Ypad @@ -688,37 +764,37 @@ type BarpolarMarkerLine struct { // Autocolorscale // arrayOK: false // type: boolean - // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Cauto // arrayOK: false // type: boolean - // 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. + // 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. Cauto Bool `json:"cauto,omitempty"` // Cmax // arrayOK: false // 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. + // 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. Cmax float64 `json:"cmax,omitempty"` // Cmid // arrayOK: false // 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`. + // 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`. Cmid float64 `json:"cmid,omitempty"` // Cmin // arrayOK: false // 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. + // 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. Cmin float64 `json:"cmin,omitempty"` // Color // arrayOK: true // type: color - // Sets themarker.linecolor. 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. + // 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. Color Color `json:"color,omitempty"` // Coloraxis @@ -730,19 +806,19 @@ type BarpolarMarkerLine struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Reversescale // arrayOK: false // 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. + // 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. Reversescale Bool `json:"reversescale,omitempty"` // Width @@ -754,47 +830,123 @@ type BarpolarMarkerLine struct { // Widthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for width . + // Sets the source reference on Chart Studio Cloud for `width`. Widthsrc String `json:"widthsrc,omitempty"` } +// BarpolarMarkerPattern Sets the pattern within the marker. +type BarpolarMarkerPattern struct { + + // Bgcolor + // arrayOK: true + // type: color + // 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. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Fgcolor + // arrayOK: true + // type: color + // 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`. + Fgcolor Color `json:"fgcolor,omitempty"` + + // Fgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `fgcolor`. + Fgcolorsrc String `json:"fgcolorsrc,omitempty"` + + // Fgopacity + // arrayOK: false + // type: number + // Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1. + Fgopacity float64 `json:"fgopacity,omitempty"` + + // Fillmode + // default: replace + // type: enumerated + // Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. + Fillmode BarpolarMarkerPatternFillmode `json:"fillmode,omitempty"` + + // Shape + // default: + // type: enumerated + // Sets the shape of the pattern fill. By default, no pattern is used for filling the area. + Shape BarpolarMarkerPatternShape `json:"shape,omitempty"` + + // Shapesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `shape`. + Shapesrc String `json:"shapesrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Solidity + // arrayOK: true + // type: number + // 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. + Solidity float64 `json:"solidity,omitempty"` + + // Soliditysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `solidity`. + Soliditysrc String `json:"soliditysrc,omitempty"` +} + // BarpolarMarker type BarpolarMarker struct { // Autocolorscale // arrayOK: false // type: boolean - // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Cauto // arrayOK: false // type: boolean - // 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. + // 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. Cauto Bool `json:"cauto,omitempty"` // Cmax // arrayOK: false // 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. + // 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. Cmax float64 `json:"cmax,omitempty"` // Cmid // arrayOK: false // 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`. + // 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`. Cmid float64 `json:"cmid,omitempty"` // Cmin // arrayOK: false // 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. + // 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. Cmin float64 `json:"cmin,omitempty"` // Color // arrayOK: true // type: color - // Sets themarkercolor. 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. + // 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. Color Color `json:"color,omitempty"` // Coloraxis @@ -810,13 +962,13 @@ type BarpolarMarker struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Line @@ -832,19 +984,23 @@ type BarpolarMarker struct { // Opacitysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for opacity . + // Sets the source reference on Chart Studio Cloud for `opacity`. Opacitysrc String `json:"opacitysrc,omitempty"` + // Pattern + // role: Object + Pattern *BarpolarMarkerPattern `json:"pattern,omitempty"` + // Reversescale // arrayOK: false // 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. + // 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. Reversescale Bool `json:"reversescale,omitempty"` // Showscale // arrayOK: false // 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. + // 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. Showscale Bool `json:"showscale,omitempty"` } @@ -957,7 +1113,7 @@ const ( BarpolarMarkerColorbarExponentformatE1 BarpolarMarkerColorbarExponentformat = "e" BarpolarMarkerColorbarExponentformatE2 BarpolarMarkerColorbarExponentformat = "E" BarpolarMarkerColorbarExponentformatPower BarpolarMarkerColorbarExponentformat = "power" - BarpolarMarkerColorbarExponentformatSi BarpolarMarkerColorbarExponentformat = "SI" + BarpolarMarkerColorbarExponentformatSI BarpolarMarkerColorbarExponentformat = "SI" BarpolarMarkerColorbarExponentformatB BarpolarMarkerColorbarExponentformat = "B" ) @@ -969,6 +1125,14 @@ const ( BarpolarMarkerColorbarLenmodePixels BarpolarMarkerColorbarLenmode = "pixels" ) +// BarpolarMarkerColorbarOrientation Sets the orientation of the colorbar. +type BarpolarMarkerColorbarOrientation string + +const ( + BarpolarMarkerColorbarOrientationH BarpolarMarkerColorbarOrientation = "h" + BarpolarMarkerColorbarOrientationV BarpolarMarkerColorbarOrientation = "v" +) + // BarpolarMarkerColorbarShowexponent 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. type BarpolarMarkerColorbarShowexponent string @@ -1007,7 +1171,16 @@ const ( BarpolarMarkerColorbarThicknessmodePixels BarpolarMarkerColorbarThicknessmode = "pixels" ) -// BarpolarMarkerColorbarTicklabelposition Determines where tick labels are drawn. +// BarpolarMarkerColorbarTicklabeloverflow 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*. +type BarpolarMarkerColorbarTicklabeloverflow string + +const ( + BarpolarMarkerColorbarTicklabeloverflowAllow BarpolarMarkerColorbarTicklabeloverflow = "allow" + BarpolarMarkerColorbarTicklabeloverflowHidePastDiv BarpolarMarkerColorbarTicklabeloverflow = "hide past div" + BarpolarMarkerColorbarTicklabeloverflowHidePastDomain BarpolarMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// BarpolarMarkerColorbarTicklabelposition 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*. type BarpolarMarkerColorbarTicklabelposition string const ( @@ -1015,6 +1188,10 @@ const ( BarpolarMarkerColorbarTicklabelpositionInside BarpolarMarkerColorbarTicklabelposition = "inside" BarpolarMarkerColorbarTicklabelpositionOutsideTop BarpolarMarkerColorbarTicklabelposition = "outside top" BarpolarMarkerColorbarTicklabelpositionInsideTop BarpolarMarkerColorbarTicklabelposition = "inside top" + BarpolarMarkerColorbarTicklabelpositionOutsideLeft BarpolarMarkerColorbarTicklabelposition = "outside left" + BarpolarMarkerColorbarTicklabelpositionInsideLeft BarpolarMarkerColorbarTicklabelposition = "inside left" + BarpolarMarkerColorbarTicklabelpositionOutsideRight BarpolarMarkerColorbarTicklabelposition = "outside right" + BarpolarMarkerColorbarTicklabelpositionInsideRight BarpolarMarkerColorbarTicklabelposition = "inside right" BarpolarMarkerColorbarTicklabelpositionOutsideBottom BarpolarMarkerColorbarTicklabelposition = "outside bottom" BarpolarMarkerColorbarTicklabelpositionInsideBottom BarpolarMarkerColorbarTicklabelposition = "inside bottom" ) @@ -1037,7 +1214,7 @@ const ( BarpolarMarkerColorbarTicksEmpty BarpolarMarkerColorbarTicks = "" ) -// BarpolarMarkerColorbarTitleSide Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. +// BarpolarMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. type BarpolarMarkerColorbarTitleSide string const ( @@ -1046,7 +1223,7 @@ const ( BarpolarMarkerColorbarTitleSideBottom BarpolarMarkerColorbarTitleSide = "bottom" ) -// BarpolarMarkerColorbarXanchor Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. +// BarpolarMarkerColorbarXanchor 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*. type BarpolarMarkerColorbarXanchor string const ( @@ -1055,7 +1232,7 @@ const ( BarpolarMarkerColorbarXanchorRight BarpolarMarkerColorbarXanchor = "right" ) -// BarpolarMarkerColorbarYanchor Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. +// BarpolarMarkerColorbarYanchor 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*. type BarpolarMarkerColorbarYanchor string const ( @@ -1064,6 +1241,28 @@ const ( BarpolarMarkerColorbarYanchorBottom BarpolarMarkerColorbarYanchor = "bottom" ) +// BarpolarMarkerPatternFillmode Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. +type BarpolarMarkerPatternFillmode string + +const ( + BarpolarMarkerPatternFillmodeReplace BarpolarMarkerPatternFillmode = "replace" + BarpolarMarkerPatternFillmodeOverlay BarpolarMarkerPatternFillmode = "overlay" +) + +// BarpolarMarkerPatternShape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. +type BarpolarMarkerPatternShape string + +const ( + BarpolarMarkerPatternShapeEmpty BarpolarMarkerPatternShape = "" + BarpolarMarkerPatternShapeSlash BarpolarMarkerPatternShape = "/" + BarpolarMarkerPatternShapeDoublebackslash BarpolarMarkerPatternShape = "\\" + BarpolarMarkerPatternShapeX BarpolarMarkerPatternShape = "x" + BarpolarMarkerPatternShapeHyphenHyphen BarpolarMarkerPatternShape = "-" + BarpolarMarkerPatternShapeOr BarpolarMarkerPatternShape = "|" + BarpolarMarkerPatternShapePlus BarpolarMarkerPatternShape = "+" + BarpolarMarkerPatternShapeDot BarpolarMarkerPatternShape = "." +) + // BarpolarThetaunit Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes. type BarpolarThetaunit string diff --git a/graph_objects/box_gen.go b/generated/v2.19.0/graph_objects/box_gen.go similarity index 88% rename from graph_objects/box_gen.go rename to generated/v2.19.0/graph_objects/box_gen.go index 59eae61..dd134e5 100644 --- a/graph_objects/box_gen.go +++ b/generated/v2.19.0/graph_objects/box_gen.go @@ -42,7 +42,7 @@ type Box struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Dx @@ -72,7 +72,7 @@ type Box struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -88,13 +88,13 @@ type Box struct { // Hovertemplate // arrayOK: true // 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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + // 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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. Hovertemplate String `json:"hovertemplate,omitempty"` // Hovertemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertemplate . + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` // Hovertext @@ -106,7 +106,7 @@ type Box struct { // Hovertextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertext . + // Sets the source reference on Chart Studio Cloud for `hovertext`. Hovertextsrc String `json:"hovertextsrc,omitempty"` // Ids @@ -118,7 +118,7 @@ type Box struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` // Jitter @@ -133,6 +133,22 @@ type Box struct { // Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items. Legendgroup String `json:"legendgroup,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *BoxLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Line // role: Object Line *BoxLine `json:"line,omitempty"` @@ -146,7 +162,7 @@ type Box struct { // Lowerfencesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for lowerfence . + // Sets the source reference on Chart Studio Cloud for `lowerfence`. Lowerfencesrc String `json:"lowerfencesrc,omitempty"` // Marker @@ -162,7 +178,7 @@ type Box struct { // Meansrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for mean . + // Sets the source reference on Chart Studio Cloud for `mean`. Meansrc String `json:"meansrc,omitempty"` // Median @@ -174,7 +190,7 @@ type Box struct { // Mediansrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for median . + // Sets the source reference on Chart Studio Cloud for `median`. Mediansrc String `json:"mediansrc,omitempty"` // Meta @@ -186,7 +202,7 @@ type Box struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Name @@ -210,7 +226,7 @@ type Box struct { // Notchspansrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for notchspan . + // Sets the source reference on Chart Studio Cloud for `notchspan`. Notchspansrc String `json:"notchspansrc,omitempty"` // Notchwidth @@ -252,7 +268,7 @@ type Box struct { // Q1src // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for q1 . + // Sets the source reference on Chart Studio Cloud for `q1`. Q1src String `json:"q1src,omitempty"` // Q3 @@ -264,13 +280,13 @@ type Box struct { // Q3src // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for q3 . + // Sets the source reference on Chart Studio Cloud for `q3`. Q3src String `json:"q3src,omitempty"` // Quartilemethod // default: linear // type: enumerated - // 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://www.amstat.org/publications/jse/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. + // 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. Quartilemethod BoxQuartilemethod `json:"quartilemethod,omitempty"` // Sd @@ -282,7 +298,7 @@ type Box struct { // Sdsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for sd . + // Sets the source reference on Chart Studio Cloud for `sd`. Sdsrc String `json:"sdsrc,omitempty"` // Selected @@ -314,7 +330,7 @@ type Box struct { // Textsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for text . + // Sets the source reference on Chart Studio Cloud for `text`. Textsrc String `json:"textsrc,omitempty"` // Transforms @@ -348,7 +364,7 @@ type Box struct { // Upperfencesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for upperfence . + // Sets the source reference on Chart Studio Cloud for `upperfence`. Upperfencesrc String `json:"upperfencesrc,omitempty"` // Visible @@ -393,6 +409,12 @@ type Box struct { // Sets the calendar system to use with `x` date data. Xcalendar BoxXcalendar `json:"xcalendar,omitempty"` + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + // Xperiod // arrayOK: false // type: any @@ -414,7 +436,7 @@ type Box struct { // Xsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for x . + // Sets the source reference on Chart Studio Cloud for `x`. Xsrc String `json:"xsrc,omitempty"` // Y @@ -441,6 +463,12 @@ type Box struct { // Sets the calendar system to use with `y` date data. Ycalendar BoxYcalendar `json:"ycalendar,omitempty"` + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + // Yperiod // arrayOK: false // type: any @@ -462,7 +490,7 @@ type Box struct { // Ysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for y . + // Sets the source reference on Chart Studio Cloud for `y`. Ysrc String `json:"ysrc,omitempty"` } @@ -478,7 +506,7 @@ type BoxHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -490,7 +518,7 @@ type BoxHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -502,7 +530,7 @@ type BoxHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -518,7 +546,7 @@ type BoxHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -530,7 +558,7 @@ type BoxHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -542,7 +570,7 @@ type BoxHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -558,10 +586,46 @@ type BoxHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } +// BoxLegendgrouptitleFont Sets this legend group's title font. +type BoxLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// BoxLegendgrouptitle +type BoxLegendgrouptitle struct { + + // Font + // role: Object + Font *BoxLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // BoxLine type BoxLine struct { @@ -584,7 +648,7 @@ type BoxMarkerLine struct { // Color // arrayOK: false // type: color - // Sets themarker.linecolor. 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. + // 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. Color Color `json:"color,omitempty"` // Outliercolor @@ -609,10 +673,16 @@ type BoxMarkerLine struct { // BoxMarker type BoxMarker struct { + // Angle + // arrayOK: false + // type: angle + // Sets the marker angle in respect to `angleref`. + Angle float64 `json:"angle,omitempty"` + // Color // arrayOK: false // type: color - // Sets themarkercolor. 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. + // 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. Color Color `json:"color,omitempty"` // Line @@ -1226,6 +1296,18 @@ var ( BoxMarkerSymbolNumber152 BoxMarkerSymbol = 152 BoxMarkerSymbol152 BoxMarkerSymbol = "152" BoxMarkerSymbolArrowBarRightOpen BoxMarkerSymbol = "arrow-bar-right-open" + BoxMarkerSymbolNumber53 BoxMarkerSymbol = 53 + BoxMarkerSymbol53 BoxMarkerSymbol = "53" + BoxMarkerSymbolArrow BoxMarkerSymbol = "arrow" + BoxMarkerSymbolNumber153 BoxMarkerSymbol = 153 + BoxMarkerSymbol153 BoxMarkerSymbol = "153" + BoxMarkerSymbolArrowOpen BoxMarkerSymbol = "arrow-open" + BoxMarkerSymbolNumber54 BoxMarkerSymbol = 54 + BoxMarkerSymbol54 BoxMarkerSymbol = "54" + BoxMarkerSymbolArrowWide BoxMarkerSymbol = "arrow-wide" + BoxMarkerSymbolNumber154 BoxMarkerSymbol = 154 + BoxMarkerSymbol154 BoxMarkerSymbol = "154" + BoxMarkerSymbolArrowWideOpen BoxMarkerSymbol = "arrow-wide-open" ) // BoxOrientation Sets the orientation of the box(es). If *v* (*h*), the distribution is visualized along the vertical (horizontal). @@ -1236,7 +1318,7 @@ const ( BoxOrientationH BoxOrientation = "h" ) -// BoxQuartilemethod 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://www.amstat.org/publications/jse/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. +// BoxQuartilemethod 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. type BoxQuartilemethod string const ( @@ -1258,19 +1340,19 @@ var ( type BoxXcalendar string const ( - BoxXcalendarGregorian BoxXcalendar = "gregorian" BoxXcalendarChinese BoxXcalendar = "chinese" BoxXcalendarCoptic BoxXcalendar = "coptic" BoxXcalendarDiscworld BoxXcalendar = "discworld" BoxXcalendarEthiopian BoxXcalendar = "ethiopian" + BoxXcalendarGregorian BoxXcalendar = "gregorian" BoxXcalendarHebrew BoxXcalendar = "hebrew" BoxXcalendarIslamic BoxXcalendar = "islamic" + BoxXcalendarJalali BoxXcalendar = "jalali" BoxXcalendarJulian BoxXcalendar = "julian" BoxXcalendarMayan BoxXcalendar = "mayan" BoxXcalendarNanakshahi BoxXcalendar = "nanakshahi" BoxXcalendarNepali BoxXcalendar = "nepali" BoxXcalendarPersian BoxXcalendar = "persian" - BoxXcalendarJalali BoxXcalendar = "jalali" BoxXcalendarTaiwan BoxXcalendar = "taiwan" BoxXcalendarThai BoxXcalendar = "thai" BoxXcalendarUmmalqura BoxXcalendar = "ummalqura" @@ -1289,19 +1371,19 @@ const ( type BoxYcalendar string const ( - BoxYcalendarGregorian BoxYcalendar = "gregorian" BoxYcalendarChinese BoxYcalendar = "chinese" BoxYcalendarCoptic BoxYcalendar = "coptic" BoxYcalendarDiscworld BoxYcalendar = "discworld" BoxYcalendarEthiopian BoxYcalendar = "ethiopian" + BoxYcalendarGregorian BoxYcalendar = "gregorian" BoxYcalendarHebrew BoxYcalendar = "hebrew" BoxYcalendarIslamic BoxYcalendar = "islamic" + BoxYcalendarJalali BoxYcalendar = "jalali" BoxYcalendarJulian BoxYcalendar = "julian" BoxYcalendarMayan BoxYcalendar = "mayan" BoxYcalendarNanakshahi BoxYcalendar = "nanakshahi" BoxYcalendarNepali BoxYcalendar = "nepali" BoxYcalendarPersian BoxYcalendar = "persian" - BoxYcalendarJalali BoxYcalendar = "jalali" BoxYcalendarTaiwan BoxYcalendar = "taiwan" BoxYcalendarThai BoxYcalendar = "thai" BoxYcalendarUmmalqura BoxYcalendar = "ummalqura" diff --git a/graph_objects/candlestick_gen.go b/generated/v2.19.0/graph_objects/candlestick_gen.go similarity index 79% rename from graph_objects/candlestick_gen.go rename to generated/v2.19.0/graph_objects/candlestick_gen.go index 84e1d31..2436227 100644 --- a/graph_objects/candlestick_gen.go +++ b/generated/v2.19.0/graph_objects/candlestick_gen.go @@ -24,7 +24,7 @@ type Candlestick struct { // Closesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for close . + // Sets the source reference on Chart Studio Cloud for `close`. Closesrc String `json:"closesrc,omitempty"` // Customdata @@ -36,7 +36,7 @@ type Candlestick struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Decreasing @@ -52,7 +52,7 @@ type Candlestick struct { // Highsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for high . + // Sets the source reference on Chart Studio Cloud for `high`. Highsrc String `json:"highsrc,omitempty"` // Hoverinfo @@ -64,7 +64,7 @@ type Candlestick struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -80,7 +80,7 @@ type Candlestick struct { // Hovertextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertext . + // Sets the source reference on Chart Studio Cloud for `hovertext`. Hovertextsrc String `json:"hovertextsrc,omitempty"` // Ids @@ -92,7 +92,7 @@ type Candlestick struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` // Increasing @@ -105,6 +105,22 @@ type Candlestick struct { // Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items. Legendgroup String `json:"legendgroup,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *CandlestickLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Line // role: Object Line *CandlestickLine `json:"line,omitempty"` @@ -118,7 +134,7 @@ type Candlestick struct { // Lowsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for low . + // Sets the source reference on Chart Studio Cloud for `low`. Lowsrc String `json:"lowsrc,omitempty"` // Meta @@ -130,7 +146,7 @@ type Candlestick struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Name @@ -154,7 +170,7 @@ type Candlestick struct { // Opensrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for open . + // Sets the source reference on Chart Studio Cloud for `open`. Opensrc String `json:"opensrc,omitempty"` // Selectedpoints @@ -182,7 +198,7 @@ type Candlestick struct { // Textsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for text . + // Sets the source reference on Chart Studio Cloud for `text`. Textsrc String `json:"textsrc,omitempty"` // Transforms @@ -233,6 +249,12 @@ type Candlestick struct { // Sets the calendar system to use with `x` date data. Xcalendar CandlestickXcalendar `json:"xcalendar,omitempty"` + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + // Xperiod // arrayOK: false // type: any @@ -254,7 +276,7 @@ type Candlestick struct { // Xsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for x . + // Sets the source reference on Chart Studio Cloud for `x`. Xsrc String `json:"xsrc,omitempty"` // Yaxis @@ -262,6 +284,12 @@ type Candlestick struct { // type: subplotid // 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. Yaxis String `json:"yaxis,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` } // CandlestickDecreasingLine @@ -306,7 +334,7 @@ type CandlestickHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -318,7 +346,7 @@ type CandlestickHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -330,7 +358,7 @@ type CandlestickHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -346,7 +374,7 @@ type CandlestickHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -358,7 +386,7 @@ type CandlestickHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -370,7 +398,7 @@ type CandlestickHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -386,7 +414,7 @@ type CandlestickHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` // Split @@ -426,6 +454,42 @@ type CandlestickIncreasing struct { Line *CandlestickIncreasingLine `json:"line,omitempty"` } +// CandlestickLegendgrouptitleFont Sets this legend group's title font. +type CandlestickLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// CandlestickLegendgrouptitle +type CandlestickLegendgrouptitle struct { + + // Font + // role: Object + Font *CandlestickLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // CandlestickLine type CandlestickLine struct { @@ -474,19 +538,19 @@ var ( type CandlestickXcalendar string const ( - CandlestickXcalendarGregorian CandlestickXcalendar = "gregorian" CandlestickXcalendarChinese CandlestickXcalendar = "chinese" CandlestickXcalendarCoptic CandlestickXcalendar = "coptic" CandlestickXcalendarDiscworld CandlestickXcalendar = "discworld" CandlestickXcalendarEthiopian CandlestickXcalendar = "ethiopian" + CandlestickXcalendarGregorian CandlestickXcalendar = "gregorian" CandlestickXcalendarHebrew CandlestickXcalendar = "hebrew" CandlestickXcalendarIslamic CandlestickXcalendar = "islamic" + CandlestickXcalendarJalali CandlestickXcalendar = "jalali" CandlestickXcalendarJulian CandlestickXcalendar = "julian" CandlestickXcalendarMayan CandlestickXcalendar = "mayan" CandlestickXcalendarNanakshahi CandlestickXcalendar = "nanakshahi" CandlestickXcalendarNepali CandlestickXcalendar = "nepali" CandlestickXcalendarPersian CandlestickXcalendar = "persian" - CandlestickXcalendarJalali CandlestickXcalendar = "jalali" CandlestickXcalendarTaiwan CandlestickXcalendar = "taiwan" CandlestickXcalendarThai CandlestickXcalendar = "thai" CandlestickXcalendarUmmalqura CandlestickXcalendar = "ummalqura" diff --git a/graph_objects/carpet_gen.go b/generated/v2.19.0/graph_objects/carpet_gen.go similarity index 89% rename from graph_objects/carpet_gen.go rename to generated/v2.19.0/graph_objects/carpet_gen.go index c770780..9a7e6ab 100644 --- a/graph_objects/carpet_gen.go +++ b/generated/v2.19.0/graph_objects/carpet_gen.go @@ -34,7 +34,7 @@ type Carpet struct { // Asrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for a . + // Sets the source reference on Chart Studio Cloud for `a`. Asrc String `json:"asrc,omitempty"` // B @@ -56,7 +56,7 @@ type Carpet struct { // Bsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for b . + // Sets the source reference on Chart Studio Cloud for `b`. Bsrc String `json:"bsrc,omitempty"` // Carpet @@ -86,7 +86,7 @@ type Carpet struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Da @@ -114,9 +114,25 @@ type Carpet struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *CarpetLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Meta // arrayOK: true // type: any @@ -126,7 +142,7 @@ type Carpet struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Name @@ -178,7 +194,7 @@ type Carpet struct { // Xsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for x . + // Sets the source reference on Chart Studio Cloud for `x`. Xsrc String `json:"xsrc,omitempty"` // Y @@ -196,7 +212,7 @@ type Carpet struct { // Ysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for y . + // Sets the source reference on Chart Studio Cloud for `y`. Ysrc String `json:"ysrc,omitempty"` } @@ -300,7 +316,7 @@ type CarpetAaxis struct { // Categoryarraysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for categoryarray . + // Sets the source reference on Chart Studio Cloud for `categoryarray`. Categoryarraysrc String `json:"categoryarraysrc,omitempty"` // Categoryorder @@ -363,12 +379,24 @@ type CarpetAaxis struct { // Sets the axis line color. Gridcolor Color `json:"gridcolor,omitempty"` + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + // Gridwidth // arrayOK: false // type: number // Sets the width (in px) of the axis line. Gridwidth float64 `json:"gridwidth,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Labelpadding // arrayOK: false // type: integer @@ -417,6 +445,12 @@ type CarpetAaxis struct { // Sets the number of minor grid ticks per major grid tick Minorgridcount int64 `json:"minorgridcount,omitempty"` + // Minorgriddash + // arrayOK: false + // type: string + // 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*). + Minorgriddash String `json:"minorgriddash,omitempty"` + // Minorgridwidth // arrayOK: false // type: number @@ -526,7 +560,7 @@ type CarpetAaxis struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -562,7 +596,7 @@ type CarpetAaxis struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -574,7 +608,7 @@ type CarpetAaxis struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Title @@ -688,7 +722,7 @@ type CarpetBaxis struct { // Categoryarraysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for categoryarray . + // Sets the source reference on Chart Studio Cloud for `categoryarray`. Categoryarraysrc String `json:"categoryarraysrc,omitempty"` // Categoryorder @@ -751,12 +785,24 @@ type CarpetBaxis struct { // Sets the axis line color. Gridcolor Color `json:"gridcolor,omitempty"` + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + // Gridwidth // arrayOK: false // type: number // Sets the width (in px) of the axis line. Gridwidth float64 `json:"gridwidth,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Labelpadding // arrayOK: false // type: integer @@ -805,6 +851,12 @@ type CarpetBaxis struct { // Sets the number of minor grid ticks per major grid tick Minorgridcount int64 `json:"minorgridcount,omitempty"` + // Minorgriddash + // arrayOK: false + // type: string + // 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*). + Minorgriddash String `json:"minorgriddash,omitempty"` + // Minorgridwidth // arrayOK: false // type: number @@ -914,7 +966,7 @@ type CarpetBaxis struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -950,7 +1002,7 @@ type CarpetBaxis struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -962,7 +1014,7 @@ type CarpetBaxis struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Title @@ -998,6 +1050,42 @@ type CarpetFont struct { Size float64 `json:"size,omitempty"` } +// CarpetLegendgrouptitleFont Sets this legend group's title font. +type CarpetLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// CarpetLegendgrouptitle +type CarpetLegendgrouptitle struct { + + // Font + // role: Object + Font *CarpetLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // CarpetStream type CarpetStream struct { @@ -1057,7 +1145,7 @@ const ( CarpetAaxisExponentformatE1 CarpetAaxisExponentformat = "e" CarpetAaxisExponentformatE2 CarpetAaxisExponentformat = "E" CarpetAaxisExponentformatPower CarpetAaxisExponentformat = "power" - CarpetAaxisExponentformatSi CarpetAaxisExponentformat = "SI" + CarpetAaxisExponentformatSI CarpetAaxisExponentformat = "SI" CarpetAaxisExponentformatB CarpetAaxisExponentformat = "B" ) @@ -1171,7 +1259,7 @@ const ( CarpetBaxisExponentformatE1 CarpetBaxisExponentformat = "e" CarpetBaxisExponentformatE2 CarpetBaxisExponentformat = "E" CarpetBaxisExponentformatPower CarpetBaxisExponentformat = "power" - CarpetBaxisExponentformatSi CarpetBaxisExponentformat = "SI" + CarpetBaxisExponentformatSI CarpetBaxisExponentformat = "SI" CarpetBaxisExponentformatB CarpetBaxisExponentformat = "B" ) diff --git a/graph_objects/choropleth_gen.go b/generated/v2.19.0/graph_objects/choropleth_gen.go similarity index 78% rename from graph_objects/choropleth_gen.go rename to generated/v2.19.0/graph_objects/choropleth_gen.go index 1e94a30..68e304c 100644 --- a/graph_objects/choropleth_gen.go +++ b/generated/v2.19.0/graph_objects/choropleth_gen.go @@ -18,7 +18,7 @@ type Choropleth struct { // Autocolorscale // arrayOK: false // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Coloraxis @@ -34,7 +34,7 @@ type Choropleth struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Customdata @@ -46,7 +46,7 @@ type Choropleth struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Featureidkey @@ -76,7 +76,7 @@ type Choropleth struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -86,13 +86,13 @@ type Choropleth struct { // Hovertemplate // arrayOK: true // 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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + // 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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. Hovertemplate String `json:"hovertemplate,omitempty"` // Hovertemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertemplate . + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` // Hovertext @@ -104,7 +104,7 @@ type Choropleth struct { // Hovertextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertext . + // Sets the source reference on Chart Studio Cloud for `hovertext`. Hovertextsrc String `json:"hovertextsrc,omitempty"` // Ids @@ -116,7 +116,7 @@ type Choropleth struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` // Legendgroup @@ -125,6 +125,22 @@ type Choropleth struct { // Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items. Legendgroup String `json:"legendgroup,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *ChoroplethLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Locationmode // default: ISO-3 // type: enumerated @@ -140,7 +156,7 @@ type Choropleth struct { // Locationssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for locations . + // Sets the source reference on Chart Studio Cloud for `locations`. Locationssrc String `json:"locationssrc,omitempty"` // Marker @@ -156,7 +172,7 @@ type Choropleth struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Name @@ -206,7 +222,7 @@ type Choropleth struct { // Textsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for text . + // Sets the source reference on Chart Studio Cloud for `text`. Textsrc String `json:"textsrc,omitempty"` // Transforms @@ -246,7 +262,7 @@ type Choropleth struct { // Zauto // arrayOK: false // type: boolean - // 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. + // 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. Zauto Bool `json:"zauto,omitempty"` // Zmax @@ -270,7 +286,7 @@ type Choropleth struct { // Zsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for z . + // Sets the source reference on Chart Studio Cloud for `z`. Zsrc String `json:"zsrc,omitempty"` } @@ -326,9 +342,9 @@ type ChoroplethColorbarTitle struct { Font *ChoroplethColorbarTitleFont `json:"font,omitempty"` // Side - // default: top + // default: %!s() // type: enumerated - // Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. Side ChoroplethColorbarTitleSide `json:"side,omitempty"` // Text @@ -371,6 +387,12 @@ type ChoroplethColorbar struct { // 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. Exponentformat ChoroplethColorbarExponentformat `json:"exponentformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Len // arrayOK: false // type: number @@ -395,6 +417,12 @@ type ChoroplethColorbar struct { // 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*. Nticks int64 `json:"nticks,omitempty"` + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ChoroplethColorbarOrientation `json:"orientation,omitempty"` + // Outlinecolor // arrayOK: false // type: color @@ -474,7 +502,7 @@ type ChoroplethColorbar struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -483,12 +511,24 @@ type ChoroplethColorbar struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ChoroplethColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + // Ticklabelposition // default: outside // type: enumerated - // Determines where tick labels are drawn. + // 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*. Ticklabelposition ChoroplethColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -528,7 +568,7 @@ type ChoroplethColorbar struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -540,7 +580,7 @@ type ChoroplethColorbar struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -556,13 +596,13 @@ type ChoroplethColorbar struct { // X // arrayOK: false // type: number - // Sets the x position of the color bar (in plot fraction). + // Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. X float64 `json:"x,omitempty"` // Xanchor - // default: left + // default: %!s() // type: enumerated - // Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. + // 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*. Xanchor ChoroplethColorbarXanchor `json:"xanchor,omitempty"` // Xpad @@ -574,13 +614,13 @@ type ChoroplethColorbar struct { // Y // arrayOK: false // type: number - // Sets the y position of the color bar (in plot fraction). + // Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. Y float64 `json:"y,omitempty"` // Yanchor - // default: middle + // default: %!s() // type: enumerated - // Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. + // 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*. Yanchor ChoroplethColorbarYanchor `json:"yanchor,omitempty"` // Ypad @@ -602,7 +642,7 @@ type ChoroplethHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -614,7 +654,7 @@ type ChoroplethHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -626,7 +666,7 @@ type ChoroplethHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -642,7 +682,7 @@ type ChoroplethHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -654,7 +694,7 @@ type ChoroplethHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -666,7 +706,7 @@ type ChoroplethHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -682,23 +722,59 @@ type ChoroplethHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } +// ChoroplethLegendgrouptitleFont Sets this legend group's title font. +type ChoroplethLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ChoroplethLegendgrouptitle +type ChoroplethLegendgrouptitle struct { + + // Font + // role: Object + Font *ChoroplethLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // ChoroplethMarkerLine type ChoroplethMarkerLine struct { // Color // arrayOK: true // type: color - // Sets themarker.linecolor. 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. + // 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. Color Color `json:"color,omitempty"` // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Width @@ -710,7 +786,7 @@ type ChoroplethMarkerLine struct { // Widthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for width . + // Sets the source reference on Chart Studio Cloud for `width`. Widthsrc String `json:"widthsrc,omitempty"` } @@ -730,7 +806,7 @@ type ChoroplethMarker struct { // Opacitysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for opacity . + // Sets the source reference on Chart Studio Cloud for `opacity`. Opacitysrc String `json:"opacitysrc,omitempty"` } @@ -794,7 +870,7 @@ const ( ChoroplethColorbarExponentformatE1 ChoroplethColorbarExponentformat = "e" ChoroplethColorbarExponentformatE2 ChoroplethColorbarExponentformat = "E" ChoroplethColorbarExponentformatPower ChoroplethColorbarExponentformat = "power" - ChoroplethColorbarExponentformatSi ChoroplethColorbarExponentformat = "SI" + ChoroplethColorbarExponentformatSI ChoroplethColorbarExponentformat = "SI" ChoroplethColorbarExponentformatB ChoroplethColorbarExponentformat = "B" ) @@ -806,6 +882,14 @@ const ( ChoroplethColorbarLenmodePixels ChoroplethColorbarLenmode = "pixels" ) +// ChoroplethColorbarOrientation Sets the orientation of the colorbar. +type ChoroplethColorbarOrientation string + +const ( + ChoroplethColorbarOrientationH ChoroplethColorbarOrientation = "h" + ChoroplethColorbarOrientationV ChoroplethColorbarOrientation = "v" +) + // ChoroplethColorbarShowexponent 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. type ChoroplethColorbarShowexponent string @@ -844,7 +928,16 @@ const ( ChoroplethColorbarThicknessmodePixels ChoroplethColorbarThicknessmode = "pixels" ) -// ChoroplethColorbarTicklabelposition Determines where tick labels are drawn. +// ChoroplethColorbarTicklabeloverflow 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*. +type ChoroplethColorbarTicklabeloverflow string + +const ( + ChoroplethColorbarTicklabeloverflowAllow ChoroplethColorbarTicklabeloverflow = "allow" + ChoroplethColorbarTicklabeloverflowHidePastDiv ChoroplethColorbarTicklabeloverflow = "hide past div" + ChoroplethColorbarTicklabeloverflowHidePastDomain ChoroplethColorbarTicklabeloverflow = "hide past domain" +) + +// ChoroplethColorbarTicklabelposition 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*. type ChoroplethColorbarTicklabelposition string const ( @@ -852,6 +945,10 @@ const ( ChoroplethColorbarTicklabelpositionInside ChoroplethColorbarTicklabelposition = "inside" ChoroplethColorbarTicklabelpositionOutsideTop ChoroplethColorbarTicklabelposition = "outside top" ChoroplethColorbarTicklabelpositionInsideTop ChoroplethColorbarTicklabelposition = "inside top" + ChoroplethColorbarTicklabelpositionOutsideLeft ChoroplethColorbarTicklabelposition = "outside left" + ChoroplethColorbarTicklabelpositionInsideLeft ChoroplethColorbarTicklabelposition = "inside left" + ChoroplethColorbarTicklabelpositionOutsideRight ChoroplethColorbarTicklabelposition = "outside right" + ChoroplethColorbarTicklabelpositionInsideRight ChoroplethColorbarTicklabelposition = "inside right" ChoroplethColorbarTicklabelpositionOutsideBottom ChoroplethColorbarTicklabelposition = "outside bottom" ChoroplethColorbarTicklabelpositionInsideBottom ChoroplethColorbarTicklabelposition = "inside bottom" ) @@ -874,7 +971,7 @@ const ( ChoroplethColorbarTicksEmpty ChoroplethColorbarTicks = "" ) -// ChoroplethColorbarTitleSide Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. +// ChoroplethColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. type ChoroplethColorbarTitleSide string const ( @@ -883,7 +980,7 @@ const ( ChoroplethColorbarTitleSideBottom ChoroplethColorbarTitleSide = "bottom" ) -// ChoroplethColorbarXanchor Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. +// ChoroplethColorbarXanchor 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*. type ChoroplethColorbarXanchor string const ( @@ -892,7 +989,7 @@ const ( ChoroplethColorbarXanchorRight ChoroplethColorbarXanchor = "right" ) -// ChoroplethColorbarYanchor Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. +// ChoroplethColorbarYanchor 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*. type ChoroplethColorbarYanchor string const ( @@ -914,8 +1011,8 @@ const ( type ChoroplethLocationmode string const ( - ChoroplethLocationmodeIso3 ChoroplethLocationmode = "ISO-3" - ChoroplethLocationmodeUsaStates ChoroplethLocationmode = "USA-states" + ChoroplethLocationmodeISO3 ChoroplethLocationmode = "ISO-3" + ChoroplethLocationmodeUSAStates ChoroplethLocationmode = "USA-states" ChoroplethLocationmodeCountryNames ChoroplethLocationmode = "country names" ChoroplethLocationmodeGeojsonId ChoroplethLocationmode = "geojson-id" ) diff --git a/graph_objects/choroplethmapbox_gen.go b/generated/v2.19.0/graph_objects/choroplethmapbox_gen.go similarity index 78% rename from graph_objects/choroplethmapbox_gen.go rename to generated/v2.19.0/graph_objects/choroplethmapbox_gen.go index 0340e8c..0e82db1 100644 --- a/graph_objects/choroplethmapbox_gen.go +++ b/generated/v2.19.0/graph_objects/choroplethmapbox_gen.go @@ -18,7 +18,7 @@ type Choroplethmapbox struct { // Autocolorscale // arrayOK: false // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Below @@ -40,7 +40,7 @@ type Choroplethmapbox struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Customdata @@ -52,7 +52,7 @@ type Choroplethmapbox struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Featureidkey @@ -76,7 +76,7 @@ type Choroplethmapbox struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -86,13 +86,13 @@ type Choroplethmapbox struct { // Hovertemplate // arrayOK: true // 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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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. variable `properties` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + // 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. variable `properties` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. Hovertemplate String `json:"hovertemplate,omitempty"` // Hovertemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertemplate . + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` // Hovertext @@ -104,7 +104,7 @@ type Choroplethmapbox struct { // Hovertextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertext . + // Sets the source reference on Chart Studio Cloud for `hovertext`. Hovertextsrc String `json:"hovertextsrc,omitempty"` // Ids @@ -116,7 +116,7 @@ type Choroplethmapbox struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` // Legendgroup @@ -125,6 +125,22 @@ type Choroplethmapbox struct { // Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items. Legendgroup String `json:"legendgroup,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *ChoroplethmapboxLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Locations // arrayOK: false // type: data_array @@ -134,7 +150,7 @@ type Choroplethmapbox struct { // Locationssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for locations . + // Sets the source reference on Chart Studio Cloud for `locations`. Locationssrc String `json:"locationssrc,omitempty"` // Marker @@ -150,7 +166,7 @@ type Choroplethmapbox struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Name @@ -206,7 +222,7 @@ type Choroplethmapbox struct { // Textsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for text . + // Sets the source reference on Chart Studio Cloud for `text`. Textsrc String `json:"textsrc,omitempty"` // Transforms @@ -246,7 +262,7 @@ type Choroplethmapbox struct { // Zauto // arrayOK: false // type: boolean - // 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. + // 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. Zauto Bool `json:"zauto,omitempty"` // Zmax @@ -270,7 +286,7 @@ type Choroplethmapbox struct { // Zsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for z . + // Sets the source reference on Chart Studio Cloud for `z`. Zsrc String `json:"zsrc,omitempty"` } @@ -326,9 +342,9 @@ type ChoroplethmapboxColorbarTitle struct { Font *ChoroplethmapboxColorbarTitleFont `json:"font,omitempty"` // Side - // default: top + // default: %!s() // type: enumerated - // Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. Side ChoroplethmapboxColorbarTitleSide `json:"side,omitempty"` // Text @@ -371,6 +387,12 @@ type ChoroplethmapboxColorbar struct { // 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. Exponentformat ChoroplethmapboxColorbarExponentformat `json:"exponentformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Len // arrayOK: false // type: number @@ -395,6 +417,12 @@ type ChoroplethmapboxColorbar struct { // 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*. Nticks int64 `json:"nticks,omitempty"` + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ChoroplethmapboxColorbarOrientation `json:"orientation,omitempty"` + // Outlinecolor // arrayOK: false // type: color @@ -474,7 +502,7 @@ type ChoroplethmapboxColorbar struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -483,12 +511,24 @@ type ChoroplethmapboxColorbar struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ChoroplethmapboxColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + // Ticklabelposition // default: outside // type: enumerated - // Determines where tick labels are drawn. + // 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*. Ticklabelposition ChoroplethmapboxColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -528,7 +568,7 @@ type ChoroplethmapboxColorbar struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -540,7 +580,7 @@ type ChoroplethmapboxColorbar struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -556,13 +596,13 @@ type ChoroplethmapboxColorbar struct { // X // arrayOK: false // type: number - // Sets the x position of the color bar (in plot fraction). + // Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. X float64 `json:"x,omitempty"` // Xanchor - // default: left + // default: %!s() // type: enumerated - // Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. + // 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*. Xanchor ChoroplethmapboxColorbarXanchor `json:"xanchor,omitempty"` // Xpad @@ -574,13 +614,13 @@ type ChoroplethmapboxColorbar struct { // Y // arrayOK: false // type: number - // Sets the y position of the color bar (in plot fraction). + // Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. Y float64 `json:"y,omitempty"` // Yanchor - // default: middle + // default: %!s() // type: enumerated - // Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. + // 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*. Yanchor ChoroplethmapboxColorbarYanchor `json:"yanchor,omitempty"` // Ypad @@ -602,7 +642,7 @@ type ChoroplethmapboxHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -614,7 +654,7 @@ type ChoroplethmapboxHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -626,7 +666,7 @@ type ChoroplethmapboxHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -642,7 +682,7 @@ type ChoroplethmapboxHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -654,7 +694,7 @@ type ChoroplethmapboxHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -666,7 +706,7 @@ type ChoroplethmapboxHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -682,23 +722,59 @@ type ChoroplethmapboxHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } +// ChoroplethmapboxLegendgrouptitleFont Sets this legend group's title font. +type ChoroplethmapboxLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ChoroplethmapboxLegendgrouptitle +type ChoroplethmapboxLegendgrouptitle struct { + + // Font + // role: Object + Font *ChoroplethmapboxLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // ChoroplethmapboxMarkerLine type ChoroplethmapboxMarkerLine struct { // Color // arrayOK: true // type: color - // Sets themarker.linecolor. 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. + // 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. Color Color `json:"color,omitempty"` // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Width @@ -710,7 +786,7 @@ type ChoroplethmapboxMarkerLine struct { // Widthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for width . + // Sets the source reference on Chart Studio Cloud for `width`. Widthsrc String `json:"widthsrc,omitempty"` } @@ -730,7 +806,7 @@ type ChoroplethmapboxMarker struct { // Opacitysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for opacity . + // Sets the source reference on Chart Studio Cloud for `opacity`. Opacitysrc String `json:"opacitysrc,omitempty"` } @@ -794,7 +870,7 @@ const ( ChoroplethmapboxColorbarExponentformatE1 ChoroplethmapboxColorbarExponentformat = "e" ChoroplethmapboxColorbarExponentformatE2 ChoroplethmapboxColorbarExponentformat = "E" ChoroplethmapboxColorbarExponentformatPower ChoroplethmapboxColorbarExponentformat = "power" - ChoroplethmapboxColorbarExponentformatSi ChoroplethmapboxColorbarExponentformat = "SI" + ChoroplethmapboxColorbarExponentformatSI ChoroplethmapboxColorbarExponentformat = "SI" ChoroplethmapboxColorbarExponentformatB ChoroplethmapboxColorbarExponentformat = "B" ) @@ -806,6 +882,14 @@ const ( ChoroplethmapboxColorbarLenmodePixels ChoroplethmapboxColorbarLenmode = "pixels" ) +// ChoroplethmapboxColorbarOrientation Sets the orientation of the colorbar. +type ChoroplethmapboxColorbarOrientation string + +const ( + ChoroplethmapboxColorbarOrientationH ChoroplethmapboxColorbarOrientation = "h" + ChoroplethmapboxColorbarOrientationV ChoroplethmapboxColorbarOrientation = "v" +) + // ChoroplethmapboxColorbarShowexponent 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. type ChoroplethmapboxColorbarShowexponent string @@ -844,7 +928,16 @@ const ( ChoroplethmapboxColorbarThicknessmodePixels ChoroplethmapboxColorbarThicknessmode = "pixels" ) -// ChoroplethmapboxColorbarTicklabelposition Determines where tick labels are drawn. +// ChoroplethmapboxColorbarTicklabeloverflow 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*. +type ChoroplethmapboxColorbarTicklabeloverflow string + +const ( + ChoroplethmapboxColorbarTicklabeloverflowAllow ChoroplethmapboxColorbarTicklabeloverflow = "allow" + ChoroplethmapboxColorbarTicklabeloverflowHidePastDiv ChoroplethmapboxColorbarTicklabeloverflow = "hide past div" + ChoroplethmapboxColorbarTicklabeloverflowHidePastDomain ChoroplethmapboxColorbarTicklabeloverflow = "hide past domain" +) + +// ChoroplethmapboxColorbarTicklabelposition 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*. type ChoroplethmapboxColorbarTicklabelposition string const ( @@ -852,6 +945,10 @@ const ( ChoroplethmapboxColorbarTicklabelpositionInside ChoroplethmapboxColorbarTicklabelposition = "inside" ChoroplethmapboxColorbarTicklabelpositionOutsideTop ChoroplethmapboxColorbarTicklabelposition = "outside top" ChoroplethmapboxColorbarTicklabelpositionInsideTop ChoroplethmapboxColorbarTicklabelposition = "inside top" + ChoroplethmapboxColorbarTicklabelpositionOutsideLeft ChoroplethmapboxColorbarTicklabelposition = "outside left" + ChoroplethmapboxColorbarTicklabelpositionInsideLeft ChoroplethmapboxColorbarTicklabelposition = "inside left" + ChoroplethmapboxColorbarTicklabelpositionOutsideRight ChoroplethmapboxColorbarTicklabelposition = "outside right" + ChoroplethmapboxColorbarTicklabelpositionInsideRight ChoroplethmapboxColorbarTicklabelposition = "inside right" ChoroplethmapboxColorbarTicklabelpositionOutsideBottom ChoroplethmapboxColorbarTicklabelposition = "outside bottom" ChoroplethmapboxColorbarTicklabelpositionInsideBottom ChoroplethmapboxColorbarTicklabelposition = "inside bottom" ) @@ -874,7 +971,7 @@ const ( ChoroplethmapboxColorbarTicksEmpty ChoroplethmapboxColorbarTicks = "" ) -// ChoroplethmapboxColorbarTitleSide Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. +// ChoroplethmapboxColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. type ChoroplethmapboxColorbarTitleSide string const ( @@ -883,7 +980,7 @@ const ( ChoroplethmapboxColorbarTitleSideBottom ChoroplethmapboxColorbarTitleSide = "bottom" ) -// ChoroplethmapboxColorbarXanchor Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. +// ChoroplethmapboxColorbarXanchor 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*. type ChoroplethmapboxColorbarXanchor string const ( @@ -892,7 +989,7 @@ const ( ChoroplethmapboxColorbarXanchorRight ChoroplethmapboxColorbarXanchor = "right" ) -// ChoroplethmapboxColorbarYanchor Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. +// ChoroplethmapboxColorbarYanchor 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*. type ChoroplethmapboxColorbarYanchor string const ( diff --git a/graph_objects/cone_gen.go b/generated/v2.19.0/graph_objects/cone_gen.go similarity index 74% rename from graph_objects/cone_gen.go rename to generated/v2.19.0/graph_objects/cone_gen.go index 5d131d7..36ce302 100644 --- a/graph_objects/cone_gen.go +++ b/generated/v2.19.0/graph_objects/cone_gen.go @@ -24,13 +24,13 @@ type Cone struct { // Autocolorscale // arrayOK: false // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Cauto // arrayOK: false // type: boolean - // 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. + // 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. Cauto Bool `json:"cauto,omitempty"` // Cmax @@ -64,7 +64,7 @@ type Cone struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Customdata @@ -76,7 +76,7 @@ type Cone struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Hoverinfo @@ -88,7 +88,7 @@ type Cone struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -98,13 +98,13 @@ type Cone struct { // Hovertemplate // arrayOK: true // 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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + // 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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. Hovertemplate String `json:"hovertemplate,omitempty"` // Hovertemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertemplate . + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` // Hovertext @@ -116,7 +116,7 @@ type Cone struct { // Hovertextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertext . + // Sets the source reference on Chart Studio Cloud for `hovertext`. Hovertextsrc String `json:"hovertextsrc,omitempty"` // Ids @@ -128,7 +128,7 @@ type Cone struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` // Legendgroup @@ -137,6 +137,22 @@ type Cone struct { // Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items. Legendgroup String `json:"legendgroup,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *ConeLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Lighting // role: Object Lighting *ConeLighting `json:"lighting,omitempty"` @@ -154,7 +170,7 @@ type Cone struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Name @@ -218,7 +234,7 @@ type Cone struct { // Textsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for text . + // Sets the source reference on Chart Studio Cloud for `text`. Textsrc String `json:"textsrc,omitempty"` // U @@ -227,6 +243,12 @@ type Cone struct { // Sets the x components of the vector field. U interface{} `json:"u,omitempty"` + // Uhoverformat + // arrayOK: false + // 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. + Uhoverformat String `json:"uhoverformat,omitempty"` + // Uid // arrayOK: false // type: string @@ -242,7 +264,7 @@ type Cone struct { // Usrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for u . + // Sets the source reference on Chart Studio Cloud for `u`. Usrc String `json:"usrc,omitempty"` // V @@ -251,6 +273,12 @@ type Cone struct { // Sets the y components of the vector field. V interface{} `json:"v,omitempty"` + // Vhoverformat + // arrayOK: false + // 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. + Vhoverformat String `json:"vhoverformat,omitempty"` + // Visible // default: %!s(bool=true) // type: enumerated @@ -260,7 +288,7 @@ type Cone struct { // Vsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for v . + // Sets the source reference on Chart Studio Cloud for `v`. Vsrc String `json:"vsrc,omitempty"` // W @@ -269,10 +297,16 @@ type Cone struct { // Sets the z components of the vector field. W interface{} `json:"w,omitempty"` + // Whoverformat + // arrayOK: false + // 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. + Whoverformat String `json:"whoverformat,omitempty"` + // Wsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for w . + // Sets the source reference on Chart Studio Cloud for `w`. Wsrc String `json:"wsrc,omitempty"` // X @@ -281,10 +315,16 @@ type Cone struct { // Sets the x coordinates of the vector field and of the displayed cones. X interface{} `json:"x,omitempty"` + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + // Xsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for x . + // Sets the source reference on Chart Studio Cloud for `x`. Xsrc String `json:"xsrc,omitempty"` // Y @@ -293,10 +333,16 @@ type Cone struct { // Sets the y coordinates of the vector field and of the displayed cones. Y interface{} `json:"y,omitempty"` + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + // Ysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for y . + // Sets the source reference on Chart Studio Cloud for `y`. Ysrc String `json:"ysrc,omitempty"` // Z @@ -305,10 +351,16 @@ type Cone struct { // Sets the z coordinates of the vector field and of the displayed cones. Z interface{} `json:"z,omitempty"` + // Zhoverformat + // arrayOK: false + // 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`. + Zhoverformat String `json:"zhoverformat,omitempty"` + // Zsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for z . + // Sets the source reference on Chart Studio Cloud for `z`. Zsrc String `json:"zsrc,omitempty"` } @@ -364,9 +416,9 @@ type ConeColorbarTitle struct { Font *ConeColorbarTitleFont `json:"font,omitempty"` // Side - // default: top + // default: %!s() // type: enumerated - // Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. Side ConeColorbarTitleSide `json:"side,omitempty"` // Text @@ -409,6 +461,12 @@ type ConeColorbar struct { // 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. Exponentformat ConeColorbarExponentformat `json:"exponentformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Len // arrayOK: false // type: number @@ -433,6 +491,12 @@ type ConeColorbar struct { // 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*. Nticks int64 `json:"nticks,omitempty"` + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ConeColorbarOrientation `json:"orientation,omitempty"` + // Outlinecolor // arrayOK: false // type: color @@ -512,7 +576,7 @@ type ConeColorbar struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -521,12 +585,24 @@ type ConeColorbar struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ConeColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + // Ticklabelposition // default: outside // type: enumerated - // Determines where tick labels are drawn. + // 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*. Ticklabelposition ConeColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -566,7 +642,7 @@ type ConeColorbar struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -578,7 +654,7 @@ type ConeColorbar struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -594,13 +670,13 @@ type ConeColorbar struct { // X // arrayOK: false // type: number - // Sets the x position of the color bar (in plot fraction). + // Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. X float64 `json:"x,omitempty"` // Xanchor - // default: left + // default: %!s() // type: enumerated - // Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. + // 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*. Xanchor ConeColorbarXanchor `json:"xanchor,omitempty"` // Xpad @@ -612,13 +688,13 @@ type ConeColorbar struct { // Y // arrayOK: false // type: number - // Sets the y position of the color bar (in plot fraction). + // Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. Y float64 `json:"y,omitempty"` // Yanchor - // default: middle + // default: %!s() // type: enumerated - // Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. + // 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*. Yanchor ConeColorbarYanchor `json:"yanchor,omitempty"` // Ypad @@ -640,7 +716,7 @@ type ConeHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -652,7 +728,7 @@ type ConeHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -664,7 +740,7 @@ type ConeHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -680,7 +756,7 @@ type ConeHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -692,7 +768,7 @@ type ConeHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -704,7 +780,7 @@ type ConeHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -720,10 +796,46 @@ type ConeHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } +// ConeLegendgrouptitleFont Sets this legend group's title font. +type ConeLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ConeLegendgrouptitle +type ConeLegendgrouptitle struct { + + // Font + // role: Object + Font *ConeLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // ConeLighting type ConeLighting struct { @@ -826,7 +938,7 @@ const ( ConeColorbarExponentformatE1 ConeColorbarExponentformat = "e" ConeColorbarExponentformatE2 ConeColorbarExponentformat = "E" ConeColorbarExponentformatPower ConeColorbarExponentformat = "power" - ConeColorbarExponentformatSi ConeColorbarExponentformat = "SI" + ConeColorbarExponentformatSI ConeColorbarExponentformat = "SI" ConeColorbarExponentformatB ConeColorbarExponentformat = "B" ) @@ -838,6 +950,14 @@ const ( ConeColorbarLenmodePixels ConeColorbarLenmode = "pixels" ) +// ConeColorbarOrientation Sets the orientation of the colorbar. +type ConeColorbarOrientation string + +const ( + ConeColorbarOrientationH ConeColorbarOrientation = "h" + ConeColorbarOrientationV ConeColorbarOrientation = "v" +) + // ConeColorbarShowexponent 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. type ConeColorbarShowexponent string @@ -876,7 +996,16 @@ const ( ConeColorbarThicknessmodePixels ConeColorbarThicknessmode = "pixels" ) -// ConeColorbarTicklabelposition Determines where tick labels are drawn. +// ConeColorbarTicklabeloverflow 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*. +type ConeColorbarTicklabeloverflow string + +const ( + ConeColorbarTicklabeloverflowAllow ConeColorbarTicklabeloverflow = "allow" + ConeColorbarTicklabeloverflowHidePastDiv ConeColorbarTicklabeloverflow = "hide past div" + ConeColorbarTicklabeloverflowHidePastDomain ConeColorbarTicklabeloverflow = "hide past domain" +) + +// ConeColorbarTicklabelposition 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*. type ConeColorbarTicklabelposition string const ( @@ -884,6 +1013,10 @@ const ( ConeColorbarTicklabelpositionInside ConeColorbarTicklabelposition = "inside" ConeColorbarTicklabelpositionOutsideTop ConeColorbarTicklabelposition = "outside top" ConeColorbarTicklabelpositionInsideTop ConeColorbarTicklabelposition = "inside top" + ConeColorbarTicklabelpositionOutsideLeft ConeColorbarTicklabelposition = "outside left" + ConeColorbarTicklabelpositionInsideLeft ConeColorbarTicklabelposition = "inside left" + ConeColorbarTicklabelpositionOutsideRight ConeColorbarTicklabelposition = "outside right" + ConeColorbarTicklabelpositionInsideRight ConeColorbarTicklabelposition = "inside right" ConeColorbarTicklabelpositionOutsideBottom ConeColorbarTicklabelposition = "outside bottom" ConeColorbarTicklabelpositionInsideBottom ConeColorbarTicklabelposition = "inside bottom" ) @@ -906,7 +1039,7 @@ const ( ConeColorbarTicksEmpty ConeColorbarTicks = "" ) -// ConeColorbarTitleSide Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. +// ConeColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. type ConeColorbarTitleSide string const ( @@ -915,7 +1048,7 @@ const ( ConeColorbarTitleSideBottom ConeColorbarTitleSide = "bottom" ) -// ConeColorbarXanchor Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. +// ConeColorbarXanchor 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*. type ConeColorbarXanchor string const ( @@ -924,7 +1057,7 @@ const ( ConeColorbarXanchorRight ConeColorbarXanchor = "right" ) -// ConeColorbarYanchor Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. +// ConeColorbarYanchor 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*. type ConeColorbarYanchor string const ( diff --git a/graph_objects/config_gen.go b/generated/v2.19.0/graph_objects/config_gen.go similarity index 69% rename from graph_objects/config_gen.go rename to generated/v2.19.0/graph_objects/config_gen.go index 172fa68..4f14501 100644 --- a/graph_objects/config_gen.go +++ b/generated/v2.19.0/graph_objects/config_gen.go @@ -9,11 +9,11 @@ type Config struct { // Determines whether the graphs are plotted with respect to layout.autosize:true and infer its container size. Autosizable Bool `json:"autosizable,omitempty"` - // Displaymodebar + // DisplayModeBar // default: hover // type: enumerated // Determines the mode bar display mode. If *true*, the mode bar is always visible. If *false*, the mode bar is always hidden. If *hover*, the mode bar is visible while the mouse cursor is on the graph container. - Displaymodebar ConfigDisplaymodebar `json:"displayModeBar,omitempty"` + DisplayModeBar ConfigDisplayModeBar `json:"displayModeBar,omitempty"` // Displaylogo // arrayOK: false @@ -21,17 +21,23 @@ type Config struct { // Determines whether or not the plotly logo is displayed on the end of the mode bar. Displaylogo Bool `json:"displaylogo,omitempty"` - // Doubleclick + // DoubleClick // default: reset+autosize // type: enumerated // Sets the double click interaction mode. Has an effect only in cartesian plots. If *false*, double click is disable. If *reset*, double click resets the axis ranges to their initial values. If *autosize*, double click set the axis ranges to their autorange values. If *reset+autosize*, the odd double clicks resets the axis ranges to their initial values and even double clicks set the axis ranges to their autorange values. - Doubleclick ConfigDoubleclick `json:"doubleClick,omitempty"` + DoubleClick ConfigDoubleClick `json:"doubleClick,omitempty"` - // Doubleclickdelay + // DoubleClickDelay // arrayOK: false // type: number // Sets the delay for registering a double-click in ms. This is the time interval (in ms) between first mousedown and 2nd mouseup to constitute a double-click. This setting propagates to all on-subplot double clicks (except for geo and mapbox) and on-legend double clicks. - Doubleclickdelay float64 `json:"doubleClickDelay,omitempty"` + DoubleClickDelay float64 `json:"doubleClickDelay,omitempty"` + + // EditSelection + // arrayOK: false + // type: boolean + // Enables moving selections. + EditSelection Bool `json:"editSelection,omitempty"` // Editable // arrayOK: false @@ -43,29 +49,29 @@ type Config struct { // role: Object Edits *ConfigEdits `json:"edits,omitempty"` - // Fillframe + // FillFrame // arrayOK: false // type: boolean // When `layout.autosize` is turned on, determines whether the graph fills the container (the default) or the screen (if set to *true*). - Fillframe Bool `json:"fillFrame,omitempty"` + FillFrame Bool `json:"fillFrame,omitempty"` - // Framemargins + // FrameMargins // arrayOK: false // type: number // When `layout.autosize` is turned on, set the frame margins in fraction of the graph size. - Framemargins float64 `json:"frameMargins,omitempty"` + FrameMargins float64 `json:"frameMargins,omitempty"` - // Globaltransforms + // GlobalTransforms // arrayOK: false // type: any // Set global transform to be applied to all traces with no specification needed - Globaltransforms interface{} `json:"globalTransforms,omitempty"` + GlobalTransforms interface{} `json:"globalTransforms,omitempty"` - // Linktext + // LinkText // arrayOK: false // type: string // Sets the text appearing in the `showLink` link. - Linktext String `json:"linkText,omitempty"` + LinkText String `json:"linkText,omitempty"` // Locale // arrayOK: false @@ -85,137 +91,143 @@ type Config struct { // Turn all console logging on or off (errors will be thrown) This should ONLY be set via Plotly.setPlotConfig Available levels: 0: no logs 1: warnings and errors, but not informational messages 2: verbose logs Logging int64 `json:"logging,omitempty"` - // Mapboxaccesstoken + // MapboxAccessToken // arrayOK: false // type: string // Mapbox access token (required to plot mapbox trace types) If using an Mapbox Atlas server, set this option to '' so that plotly.js won't attempt to authenticate to the public Mapbox server. - Mapboxaccesstoken String `json:"mapboxAccessToken,omitempty"` + MapboxAccessToken String `json:"mapboxAccessToken,omitempty"` - // Modebarbuttons + // ModeBarButtons // arrayOK: false // type: any // Define fully custom mode bar buttons as nested array, where the outer arrays represents button groups, and the inner arrays have buttons config objects or names of default buttons See ./components/modebar/buttons.js for more info. - Modebarbuttons interface{} `json:"modeBarButtons,omitempty"` + ModeBarButtons interface{} `json:"modeBarButtons,omitempty"` - // Modebarbuttonstoadd + // ModeBarButtonsToAdd // arrayOK: false // type: any - // Add mode bar button using config objects See ./components/modebar/buttons.js for list of arguments. - Modebarbuttonstoadd interface{} `json:"modeBarButtonsToAdd,omitempty"` + // Add mode bar button using config objects See ./components/modebar/buttons.js for list of arguments. To enable predefined modebar buttons e.g. shape drawing, hover and spikelines, simply provide their string name(s). This could include: *v1hovermode*, *hoverclosest*, *hovercompare*, *togglehover*, *togglespikelines*, *drawline*, *drawopenpath*, *drawclosedpath*, *drawcircle*, *drawrect* and *eraseshape*. Please note that these predefined buttons will only be shown if they are compatible with all trace types used in a graph. + ModeBarButtonsToAdd interface{} `json:"modeBarButtonsToAdd,omitempty"` - // Modebarbuttonstoremove + // ModeBarButtonsToRemove // arrayOK: false // type: any // Remove mode bar buttons by name. See ./components/modebar/buttons.js for the list of names. - Modebarbuttonstoremove interface{} `json:"modeBarButtonsToRemove,omitempty"` + ModeBarButtonsToRemove interface{} `json:"modeBarButtonsToRemove,omitempty"` - // Notifyonlogging + // NotifyOnLogging // arrayOK: false // type: integer // Set on-graph logging (notifier) level This should ONLY be set via Plotly.setPlotConfig Available levels: 0: no on-graph logs 1: warnings and errors, but not informational messages 2: verbose logs - Notifyonlogging int64 `json:"notifyOnLogging,omitempty"` + NotifyOnLogging int64 `json:"notifyOnLogging,omitempty"` - // Plotglpixelratio + // PlotGlPixelRatio // arrayOK: false // type: number // Set the pixel ratio during WebGL image export. This config option was formerly named `plot3dPixelRatio` which is now deprecated. - Plotglpixelratio float64 `json:"plotGlPixelRatio,omitempty"` + PlotGlPixelRatio float64 `json:"plotGlPixelRatio,omitempty"` - // Plotlyserverurl + // PlotlyServerURL // arrayOK: false // type: string // When set it determines base URL for the 'Edit in Chart Studio' `showEditInChartStudio`/`showSendToCloud` mode bar button and the showLink/sendData on-graph link. To enable sending your data to Chart Studio Cloud, you need to set both `plotlyServerURL` to 'https://chart-studio.plotly.com' and also set `showSendToCloud` to true. - Plotlyserverurl String `json:"plotlyServerURL,omitempty"` + PlotlyServerURL String `json:"plotlyServerURL,omitempty"` - // Queuelength + // QueueLength // arrayOK: false // type: integer // Sets the length of the undo/redo queue. - Queuelength int64 `json:"queueLength,omitempty"` + QueueLength int64 `json:"queueLength,omitempty"` // Responsive // arrayOK: false // type: boolean - // Determines whether to change the layout size when window is resized. In v2, this option will be removed and will always be true. + // Determines whether to change the layout size when window is resized. In v3, this option will be removed and will always be true. Responsive Bool `json:"responsive,omitempty"` - // Scrollzoom + // ScrollZoom // default: gl3d+geo+mapbox // type: flaglist // Determines whether mouse wheel or two-finger scroll zooms is enable. Turned on by default for gl3d, geo and mapbox subplots (as these subplot types do not have zoombox via pan), but turned off by default for cartesian subplots. Set `scrollZoom` to *false* to disable scrolling for all subplots. - Scrollzoom ConfigScrollzoom `json:"scrollZoom,omitempty"` + ScrollZoom ConfigScrollZoom `json:"scrollZoom,omitempty"` - // Senddata + // SendData // arrayOK: false // type: boolean // If *showLink* is true, does it contain data just link to a Chart Studio Cloud file? - Senddata Bool `json:"sendData,omitempty"` + SendData Bool `json:"sendData,omitempty"` - // Setbackground + // SetBackground // arrayOK: false // type: any // Set function to add the background color (i.e. `layout.paper_color`) to a different container. This function take the graph div as first argument and the current background color as second argument. Alternatively, set to string *opaque* to ensure there is white behind it. - Setbackground interface{} `json:"setBackground,omitempty"` + SetBackground interface{} `json:"setBackground,omitempty"` - // Showaxisdraghandles + // ShowAxisDragHandles // arrayOK: false // type: boolean // Set to *false* to omit cartesian axis pan/zoom drag handles. - Showaxisdraghandles Bool `json:"showAxisDragHandles,omitempty"` + ShowAxisDragHandles Bool `json:"showAxisDragHandles,omitempty"` - // Showaxisrangeentryboxes + // ShowAxisRangeEntryBoxes // arrayOK: false // type: boolean // Set to *false* to omit direct range entry at the pan/zoom drag points, note that `showAxisDragHandles` must be enabled to have an effect. - Showaxisrangeentryboxes Bool `json:"showAxisRangeEntryBoxes,omitempty"` + ShowAxisRangeEntryBoxes Bool `json:"showAxisRangeEntryBoxes,omitempty"` - // Showeditinchartstudio + // ShowEditInChartStudio // arrayOK: false // type: boolean // Same as `showSendToCloud`, but use a pencil icon instead of a floppy-disk. Note that if both `showSendToCloud` and `showEditInChartStudio` are turned, only `showEditInChartStudio` will be honored. - Showeditinchartstudio Bool `json:"showEditInChartStudio,omitempty"` + ShowEditInChartStudio Bool `json:"showEditInChartStudio,omitempty"` - // Showlink + // ShowLink // arrayOK: false // type: boolean // Determines whether a link to Chart Studio Cloud is displayed at the bottom right corner of resulting graphs. Use with `sendData` and `linkText`. - Showlink Bool `json:"showLink,omitempty"` + ShowLink Bool `json:"showLink,omitempty"` - // Showsendtocloud + // ShowSendToCloud // arrayOK: false // type: boolean // Should we include a ModeBar button, labeled "Edit in Chart Studio", that sends this chart to chart-studio.plotly.com (formerly plot.ly) or another plotly server as specified by `plotlyServerURL` for editing, export, etc? Prior to version 1.43.0 this button was included by default, now it is opt-in using this flag. Note that this button can (depending on `plotlyServerURL` being set) send your data to an external server. However that server does not persist your data until you arrive at the Chart Studio and explicitly click "Save". - Showsendtocloud Bool `json:"showSendToCloud,omitempty"` + ShowSendToCloud Bool `json:"showSendToCloud,omitempty"` - // Showsources + // ShowSources // arrayOK: false // type: any // Adds a source-displaying function to show sources on the resulting graphs. - Showsources interface{} `json:"showSources,omitempty"` + ShowSources interface{} `json:"showSources,omitempty"` - // Showtips + // ShowTips // arrayOK: false // type: boolean // Determines whether or not tips are shown while interacting with the resulting graphs. - Showtips Bool `json:"showTips,omitempty"` + ShowTips Bool `json:"showTips,omitempty"` - // Staticplot + // StaticPlot // arrayOK: false // type: boolean // Determines whether the graphs are interactive or not. If *false*, no interactivity, for export or image generation. - Staticplot Bool `json:"staticPlot,omitempty"` + StaticPlot Bool `json:"staticPlot,omitempty"` - // Toimagebuttonoptions + // ToImageButtonOptions // arrayOK: false // type: any // Statically override options for toImage modebar button allowed keys are format, filename, width, height, scale see ../components/modebar/buttons.js - Toimagebuttonoptions interface{} `json:"toImageButtonOptions,omitempty"` + ToImageButtonOptions interface{} `json:"toImageButtonOptions,omitempty"` - // Topojsonurl + // TopojsonURL // arrayOK: false // type: string // 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. - Topojsonurl String `json:"topojsonURL,omitempty"` + TopojsonURL String `json:"topojsonURL,omitempty"` + + // TypesetMath + // arrayOK: false + // type: boolean + // Determines whether math should be typeset or not, when MathJax (either v2 or v3) is present on the page. + TypesetMath Bool `json:"typesetMath,omitempty"` // Watermark // arrayOK: false @@ -227,97 +239,97 @@ type Config struct { // ConfigEdits type ConfigEdits struct { - // Annotationposition + // AnnotationPosition // arrayOK: false // type: boolean // Determines if the main anchor of the annotation is editable. The main anchor corresponds to the text (if no arrow) or the arrow (which drags the whole thing leaving the arrow length & direction unchanged). - Annotationposition Bool `json:"annotationPosition,omitempty"` + AnnotationPosition Bool `json:"annotationPosition,omitempty"` - // Annotationtail + // AnnotationTail // arrayOK: false // type: boolean // Has only an effect for annotations with arrows. Enables changing the length and direction of the arrow. - Annotationtail Bool `json:"annotationTail,omitempty"` + AnnotationTail Bool `json:"annotationTail,omitempty"` - // Annotationtext + // AnnotationText // arrayOK: false // type: boolean // Enables editing annotation text. - Annotationtext Bool `json:"annotationText,omitempty"` + AnnotationText Bool `json:"annotationText,omitempty"` - // Axistitletext + // AxisTitleText // arrayOK: false // type: boolean // Enables editing axis title text. - Axistitletext Bool `json:"axisTitleText,omitempty"` + AxisTitleText Bool `json:"axisTitleText,omitempty"` - // Colorbarposition + // ColorbarPosition // arrayOK: false // type: boolean // Enables moving colorbars. - Colorbarposition Bool `json:"colorbarPosition,omitempty"` + ColorbarPosition Bool `json:"colorbarPosition,omitempty"` - // Colorbartitletext + // ColorbarTitleText // arrayOK: false // type: boolean // Enables editing colorbar title text. - Colorbartitletext Bool `json:"colorbarTitleText,omitempty"` + ColorbarTitleText Bool `json:"colorbarTitleText,omitempty"` - // Legendposition + // LegendPosition // arrayOK: false // type: boolean // Enables moving the legend. - Legendposition Bool `json:"legendPosition,omitempty"` + LegendPosition Bool `json:"legendPosition,omitempty"` - // Legendtext + // LegendText // arrayOK: false // type: boolean // Enables editing the trace name fields from the legend - Legendtext Bool `json:"legendText,omitempty"` + LegendText Bool `json:"legendText,omitempty"` - // Shapeposition + // ShapePosition // arrayOK: false // type: boolean // Enables moving shapes. - Shapeposition Bool `json:"shapePosition,omitempty"` + ShapePosition Bool `json:"shapePosition,omitempty"` - // Titletext + // TitleText // arrayOK: false // type: boolean // Enables editing the global layout title. - Titletext Bool `json:"titleText,omitempty"` + TitleText Bool `json:"titleText,omitempty"` } -// ConfigDisplaymodebar Determines the mode bar display mode. If *true*, the mode bar is always visible. If *false*, the mode bar is always hidden. If *hover*, the mode bar is visible while the mouse cursor is on the graph container. -type ConfigDisplaymodebar interface{} +// ConfigDisplayModeBar Determines the mode bar display mode. If *true*, the mode bar is always visible. If *false*, the mode bar is always hidden. If *hover*, the mode bar is visible while the mouse cursor is on the graph container. +type ConfigDisplayModeBar interface{} var ( - ConfigDisplaymodebarHover ConfigDisplaymodebar = "hover" - ConfigDisplaymodebarTrue ConfigDisplaymodebar = true - ConfigDisplaymodebarFalse ConfigDisplaymodebar = false + ConfigDisplayModeBarHover ConfigDisplayModeBar = "hover" + ConfigDisplayModeBarTrue ConfigDisplayModeBar = true + ConfigDisplayModeBarFalse ConfigDisplayModeBar = false ) -// ConfigDoubleclick Sets the double click interaction mode. Has an effect only in cartesian plots. If *false*, double click is disable. If *reset*, double click resets the axis ranges to their initial values. If *autosize*, double click set the axis ranges to their autorange values. If *reset+autosize*, the odd double clicks resets the axis ranges to their initial values and even double clicks set the axis ranges to their autorange values. -type ConfigDoubleclick interface{} +// ConfigDoubleClick Sets the double click interaction mode. Has an effect only in cartesian plots. If *false*, double click is disable. If *reset*, double click resets the axis ranges to their initial values. If *autosize*, double click set the axis ranges to their autorange values. If *reset+autosize*, the odd double clicks resets the axis ranges to their initial values and even double clicks set the axis ranges to their autorange values. +type ConfigDoubleClick interface{} var ( - ConfigDoubleclickFalse ConfigDoubleclick = false - ConfigDoubleclickReset ConfigDoubleclick = "reset" - ConfigDoubleclickAutosize ConfigDoubleclick = "autosize" - ConfigDoubleclickResetPlusautosize ConfigDoubleclick = "reset+autosize" + ConfigDoubleClickFalse ConfigDoubleClick = false + ConfigDoubleClickReset ConfigDoubleClick = "reset" + ConfigDoubleClickAutosize ConfigDoubleClick = "autosize" + ConfigDoubleClickResetPlusautosize ConfigDoubleClick = "reset+autosize" ) -// ConfigScrollzoom Determines whether mouse wheel or two-finger scroll zooms is enable. Turned on by default for gl3d, geo and mapbox subplots (as these subplot types do not have zoombox via pan), but turned off by default for cartesian subplots. Set `scrollZoom` to *false* to disable scrolling for all subplots. -type ConfigScrollzoom interface{} +// ConfigScrollZoom Determines whether mouse wheel or two-finger scroll zooms is enable. Turned on by default for gl3d, geo and mapbox subplots (as these subplot types do not have zoombox via pan), but turned off by default for cartesian subplots. Set `scrollZoom` to *false* to disable scrolling for all subplots. +type ConfigScrollZoom interface{} var ( // Flags - ConfigScrollzoomCartesian ConfigScrollzoom = "cartesian" - ConfigScrollzoomGl3d ConfigScrollzoom = "gl3d" - ConfigScrollzoomGeo ConfigScrollzoom = "geo" - ConfigScrollzoomMapbox ConfigScrollzoom = "mapbox" + ConfigScrollZoomCartesian ConfigScrollZoom = "cartesian" + ConfigScrollZoomGl3d ConfigScrollZoom = "gl3d" + ConfigScrollZoomGeo ConfigScrollZoom = "geo" + ConfigScrollZoomMapbox ConfigScrollZoom = "mapbox" // Extra - ConfigScrollzoomTrue ConfigScrollzoom = true - ConfigScrollzoomFalse ConfigScrollzoom = false + ConfigScrollZoomTrue ConfigScrollZoom = true + ConfigScrollZoomFalse ConfigScrollZoom = false ) diff --git a/graph_objects/contour_gen.go b/generated/v2.19.0/graph_objects/contour_gen.go similarity index 78% rename from graph_objects/contour_gen.go rename to generated/v2.19.0/graph_objects/contour_gen.go index ab25035..aa1fafd 100644 --- a/graph_objects/contour_gen.go +++ b/generated/v2.19.0/graph_objects/contour_gen.go @@ -18,7 +18,7 @@ type Contour struct { // Autocolorscale // arrayOK: false // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Autocontour @@ -40,7 +40,7 @@ type Contour struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Connectgaps @@ -62,7 +62,7 @@ type Contour struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Dx @@ -92,7 +92,7 @@ type Contour struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -108,13 +108,13 @@ type Contour struct { // Hovertemplate // arrayOK: true // 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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + // 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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. Hovertemplate String `json:"hovertemplate,omitempty"` // Hovertemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertemplate . + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` // Hovertext @@ -126,7 +126,7 @@ type Contour struct { // Hovertextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertext . + // Sets the source reference on Chart Studio Cloud for `hovertext`. Hovertextsrc String `json:"hovertextsrc,omitempty"` // Ids @@ -138,7 +138,7 @@ type Contour struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` // Legendgroup @@ -147,6 +147,22 @@ type Contour struct { // Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items. Legendgroup String `json:"legendgroup,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *ContourLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Line // role: Object Line *ContourLine `json:"line,omitempty"` @@ -160,7 +176,7 @@ type Contour struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Name @@ -209,12 +225,22 @@ type Contour struct { // Sets the text elements associated with each z value. Text interface{} `json:"text,omitempty"` + // Textfont + // role: Object + Textfont *ContourTextfont `json:"textfont,omitempty"` + // Textsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for text . + // Sets the source reference on Chart Studio Cloud for `text`. Textsrc String `json:"textsrc,omitempty"` + // Texttemplate + // arrayOK: false + // 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. variables `x`, `y`, `z` and `text`. + Texttemplate String `json:"texttemplate,omitempty"` + // Transforms // It's an items array and what goes inside it's... messy... check the docs // I will be happy if you want to contribute by implementing this @@ -269,6 +295,12 @@ type Contour struct { // Sets the calendar system to use with `x` date data. Xcalendar ContourXcalendar `json:"xcalendar,omitempty"` + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + // Xperiod // arrayOK: false // type: any @@ -290,7 +322,7 @@ type Contour struct { // Xsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for x . + // Sets the source reference on Chart Studio Cloud for `x`. Xsrc String `json:"xsrc,omitempty"` // Xtype @@ -323,6 +355,12 @@ type Contour struct { // Sets the calendar system to use with `y` date data. Ycalendar ContourYcalendar `json:"ycalendar,omitempty"` + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + // Yperiod // arrayOK: false // type: any @@ -344,7 +382,7 @@ type Contour struct { // Ysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for y . + // Sets the source reference on Chart Studio Cloud for `y`. Ysrc String `json:"ysrc,omitempty"` // Ytype @@ -362,13 +400,13 @@ type Contour struct { // Zauto // arrayOK: false // type: boolean - // 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. + // 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. Zauto Bool `json:"zauto,omitempty"` // Zhoverformat // arrayOK: false // type: string - // Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. See: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format + // 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. Zhoverformat String `json:"zhoverformat,omitempty"` // Zmax @@ -392,7 +430,7 @@ type Contour struct { // Zsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for z . + // Sets the source reference on Chart Studio Cloud for `z`. Zsrc String `json:"zsrc,omitempty"` } @@ -448,9 +486,9 @@ type ContourColorbarTitle struct { Font *ContourColorbarTitleFont `json:"font,omitempty"` // Side - // default: top + // default: %!s() // type: enumerated - // Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. Side ContourColorbarTitleSide `json:"side,omitempty"` // Text @@ -493,6 +531,12 @@ type ContourColorbar struct { // 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. Exponentformat ContourColorbarExponentformat `json:"exponentformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Len // arrayOK: false // type: number @@ -517,6 +561,12 @@ type ContourColorbar struct { // 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*. Nticks int64 `json:"nticks,omitempty"` + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ContourColorbarOrientation `json:"orientation,omitempty"` + // Outlinecolor // arrayOK: false // type: color @@ -596,7 +646,7 @@ type ContourColorbar struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -605,12 +655,24 @@ type ContourColorbar struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ContourColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + // Ticklabelposition // default: outside // type: enumerated - // Determines where tick labels are drawn. + // 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*. Ticklabelposition ContourColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -650,7 +712,7 @@ type ContourColorbar struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -662,7 +724,7 @@ type ContourColorbar struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -678,13 +740,13 @@ type ContourColorbar struct { // X // arrayOK: false // type: number - // Sets the x position of the color bar (in plot fraction). + // Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. X float64 `json:"x,omitempty"` // Xanchor - // default: left + // default: %!s() // type: enumerated - // Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. + // 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*. Xanchor ContourColorbarXanchor `json:"xanchor,omitempty"` // Xpad @@ -696,13 +758,13 @@ type ContourColorbar struct { // Y // arrayOK: false // type: number - // Sets the y position of the color bar (in plot fraction). + // Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. Y float64 `json:"y,omitempty"` // Yanchor - // default: middle + // default: %!s() // type: enumerated - // Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. + // 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*. Yanchor ContourColorbarYanchor `json:"yanchor,omitempty"` // Ypad @@ -756,7 +818,7 @@ type ContourContours struct { // Labelformat // arrayOK: false // type: string - // Sets the contour label formatting rule using d3 formatting mini-language which is very similar to Python, see: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format + // 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. Labelformat String `json:"labelformat,omitempty"` // Operation @@ -814,7 +876,7 @@ type ContourHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -826,7 +888,7 @@ type ContourHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -838,7 +900,7 @@ type ContourHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -854,7 +916,7 @@ type ContourHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -866,7 +928,7 @@ type ContourHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -878,7 +940,7 @@ type ContourHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -894,10 +956,46 @@ type ContourHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } +// ContourLegendgrouptitleFont Sets this legend group's title font. +type ContourLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ContourLegendgrouptitle +type ContourLegendgrouptitle struct { + + // Font + // role: Object + Font *ContourLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // ContourLine type ContourLine struct { @@ -942,6 +1040,28 @@ type ContourStream struct { Token String `json:"token,omitempty"` } +// ContourTextfont For this trace it only has an effect if `coloring` is set to *heatmap*. Sets the text font. +type ContourTextfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + // ContourColorbarExponentformat 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. type ContourColorbarExponentformat string @@ -950,7 +1070,7 @@ const ( ContourColorbarExponentformatE1 ContourColorbarExponentformat = "e" ContourColorbarExponentformatE2 ContourColorbarExponentformat = "E" ContourColorbarExponentformatPower ContourColorbarExponentformat = "power" - ContourColorbarExponentformatSi ContourColorbarExponentformat = "SI" + ContourColorbarExponentformatSI ContourColorbarExponentformat = "SI" ContourColorbarExponentformatB ContourColorbarExponentformat = "B" ) @@ -962,6 +1082,14 @@ const ( ContourColorbarLenmodePixels ContourColorbarLenmode = "pixels" ) +// ContourColorbarOrientation Sets the orientation of the colorbar. +type ContourColorbarOrientation string + +const ( + ContourColorbarOrientationH ContourColorbarOrientation = "h" + ContourColorbarOrientationV ContourColorbarOrientation = "v" +) + // ContourColorbarShowexponent 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. type ContourColorbarShowexponent string @@ -1000,7 +1128,16 @@ const ( ContourColorbarThicknessmodePixels ContourColorbarThicknessmode = "pixels" ) -// ContourColorbarTicklabelposition Determines where tick labels are drawn. +// ContourColorbarTicklabeloverflow 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*. +type ContourColorbarTicklabeloverflow string + +const ( + ContourColorbarTicklabeloverflowAllow ContourColorbarTicklabeloverflow = "allow" + ContourColorbarTicklabeloverflowHidePastDiv ContourColorbarTicklabeloverflow = "hide past div" + ContourColorbarTicklabeloverflowHidePastDomain ContourColorbarTicklabeloverflow = "hide past domain" +) + +// ContourColorbarTicklabelposition 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*. type ContourColorbarTicklabelposition string const ( @@ -1008,6 +1145,10 @@ const ( ContourColorbarTicklabelpositionInside ContourColorbarTicklabelposition = "inside" ContourColorbarTicklabelpositionOutsideTop ContourColorbarTicklabelposition = "outside top" ContourColorbarTicklabelpositionInsideTop ContourColorbarTicklabelposition = "inside top" + ContourColorbarTicklabelpositionOutsideLeft ContourColorbarTicklabelposition = "outside left" + ContourColorbarTicklabelpositionInsideLeft ContourColorbarTicklabelposition = "inside left" + ContourColorbarTicklabelpositionOutsideRight ContourColorbarTicklabelposition = "outside right" + ContourColorbarTicklabelpositionInsideRight ContourColorbarTicklabelposition = "inside right" ContourColorbarTicklabelpositionOutsideBottom ContourColorbarTicklabelposition = "outside bottom" ContourColorbarTicklabelpositionInsideBottom ContourColorbarTicklabelposition = "inside bottom" ) @@ -1030,7 +1171,7 @@ const ( ContourColorbarTicksEmpty ContourColorbarTicks = "" ) -// ContourColorbarTitleSide Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. +// ContourColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. type ContourColorbarTitleSide string const ( @@ -1039,7 +1180,7 @@ const ( ContourColorbarTitleSideBottom ContourColorbarTitleSide = "bottom" ) -// ContourColorbarXanchor Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. +// ContourColorbarXanchor 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*. type ContourColorbarXanchor string const ( @@ -1048,7 +1189,7 @@ const ( ContourColorbarXanchorRight ContourColorbarXanchor = "right" ) -// ContourColorbarYanchor Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. +// ContourColorbarYanchor 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*. type ContourColorbarYanchor string const ( @@ -1116,19 +1257,19 @@ var ( type ContourXcalendar string const ( - ContourXcalendarGregorian ContourXcalendar = "gregorian" ContourXcalendarChinese ContourXcalendar = "chinese" ContourXcalendarCoptic ContourXcalendar = "coptic" ContourXcalendarDiscworld ContourXcalendar = "discworld" ContourXcalendarEthiopian ContourXcalendar = "ethiopian" + ContourXcalendarGregorian ContourXcalendar = "gregorian" ContourXcalendarHebrew ContourXcalendar = "hebrew" ContourXcalendarIslamic ContourXcalendar = "islamic" + ContourXcalendarJalali ContourXcalendar = "jalali" ContourXcalendarJulian ContourXcalendar = "julian" ContourXcalendarMayan ContourXcalendar = "mayan" ContourXcalendarNanakshahi ContourXcalendar = "nanakshahi" ContourXcalendarNepali ContourXcalendar = "nepali" ContourXcalendarPersian ContourXcalendar = "persian" - ContourXcalendarJalali ContourXcalendar = "jalali" ContourXcalendarTaiwan ContourXcalendar = "taiwan" ContourXcalendarThai ContourXcalendar = "thai" ContourXcalendarUmmalqura ContourXcalendar = "ummalqura" @@ -1155,19 +1296,19 @@ const ( type ContourYcalendar string const ( - ContourYcalendarGregorian ContourYcalendar = "gregorian" ContourYcalendarChinese ContourYcalendar = "chinese" ContourYcalendarCoptic ContourYcalendar = "coptic" ContourYcalendarDiscworld ContourYcalendar = "discworld" ContourYcalendarEthiopian ContourYcalendar = "ethiopian" + ContourYcalendarGregorian ContourYcalendar = "gregorian" ContourYcalendarHebrew ContourYcalendar = "hebrew" ContourYcalendarIslamic ContourYcalendar = "islamic" + ContourYcalendarJalali ContourYcalendar = "jalali" ContourYcalendarJulian ContourYcalendar = "julian" ContourYcalendarMayan ContourYcalendar = "mayan" ContourYcalendarNanakshahi ContourYcalendar = "nanakshahi" ContourYcalendarNepali ContourYcalendar = "nepali" ContourYcalendarPersian ContourYcalendar = "persian" - ContourYcalendarJalali ContourYcalendar = "jalali" ContourYcalendarTaiwan ContourYcalendar = "taiwan" ContourYcalendarThai ContourYcalendar = "thai" ContourYcalendarUmmalqura ContourYcalendar = "ummalqura" diff --git a/graph_objects/contourcarpet_gen.go b/generated/v2.19.0/graph_objects/contourcarpet_gen.go similarity index 82% rename from graph_objects/contourcarpet_gen.go rename to generated/v2.19.0/graph_objects/contourcarpet_gen.go index 9b1e27d..09066a0 100644 --- a/graph_objects/contourcarpet_gen.go +++ b/generated/v2.19.0/graph_objects/contourcarpet_gen.go @@ -30,7 +30,7 @@ type Contourcarpet struct { // Asrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for a . + // Sets the source reference on Chart Studio Cloud for `a`. Asrc String `json:"asrc,omitempty"` // Atype @@ -42,7 +42,7 @@ type Contourcarpet struct { // Autocolorscale // arrayOK: false // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Autocontour @@ -66,7 +66,7 @@ type Contourcarpet struct { // Bsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for b . + // Sets the source reference on Chart Studio Cloud for `b`. Bsrc String `json:"bsrc,omitempty"` // Btype @@ -94,7 +94,7 @@ type Contourcarpet struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Contours @@ -110,7 +110,7 @@ type Contourcarpet struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Da @@ -140,7 +140,7 @@ type Contourcarpet struct { // Hovertextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertext . + // Sets the source reference on Chart Studio Cloud for `hovertext`. Hovertextsrc String `json:"hovertextsrc,omitempty"` // Ids @@ -152,7 +152,7 @@ type Contourcarpet struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` // Legendgroup @@ -161,6 +161,22 @@ type Contourcarpet struct { // Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items. Legendgroup String `json:"legendgroup,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *ContourcarpetLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Line // role: Object Line *ContourcarpetLine `json:"line,omitempty"` @@ -174,7 +190,7 @@ type Contourcarpet struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Name @@ -226,7 +242,7 @@ type Contourcarpet struct { // Textsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for text . + // Sets the source reference on Chart Studio Cloud for `text`. Textsrc String `json:"textsrc,omitempty"` // Transpose @@ -274,7 +290,7 @@ type Contourcarpet struct { // Zauto // arrayOK: false // type: boolean - // 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. + // 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. Zauto Bool `json:"zauto,omitempty"` // Zmax @@ -298,7 +314,7 @@ type Contourcarpet struct { // Zsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for z . + // Sets the source reference on Chart Studio Cloud for `z`. Zsrc String `json:"zsrc,omitempty"` } @@ -354,9 +370,9 @@ type ContourcarpetColorbarTitle struct { Font *ContourcarpetColorbarTitleFont `json:"font,omitempty"` // Side - // default: top + // default: %!s() // type: enumerated - // Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. Side ContourcarpetColorbarTitleSide `json:"side,omitempty"` // Text @@ -399,6 +415,12 @@ type ContourcarpetColorbar struct { // 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. Exponentformat ContourcarpetColorbarExponentformat `json:"exponentformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Len // arrayOK: false // type: number @@ -423,6 +445,12 @@ type ContourcarpetColorbar struct { // 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*. Nticks int64 `json:"nticks,omitempty"` + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ContourcarpetColorbarOrientation `json:"orientation,omitempty"` + // Outlinecolor // arrayOK: false // type: color @@ -502,7 +530,7 @@ type ContourcarpetColorbar struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -511,12 +539,24 @@ type ContourcarpetColorbar struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ContourcarpetColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + // Ticklabelposition // default: outside // type: enumerated - // Determines where tick labels are drawn. + // 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*. Ticklabelposition ContourcarpetColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -556,7 +596,7 @@ type ContourcarpetColorbar struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -568,7 +608,7 @@ type ContourcarpetColorbar struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -584,13 +624,13 @@ type ContourcarpetColorbar struct { // X // arrayOK: false // type: number - // Sets the x position of the color bar (in plot fraction). + // Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. X float64 `json:"x,omitempty"` // Xanchor - // default: left + // default: %!s() // type: enumerated - // Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. + // 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*. Xanchor ContourcarpetColorbarXanchor `json:"xanchor,omitempty"` // Xpad @@ -602,13 +642,13 @@ type ContourcarpetColorbar struct { // Y // arrayOK: false // type: number - // Sets the y position of the color bar (in plot fraction). + // Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. Y float64 `json:"y,omitempty"` // Yanchor - // default: middle + // default: %!s() // type: enumerated - // Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. + // 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*. Yanchor ContourcarpetColorbarYanchor `json:"yanchor,omitempty"` // Ypad @@ -662,7 +702,7 @@ type ContourcarpetContours struct { // Labelformat // arrayOK: false // type: string - // Sets the contour label formatting rule using d3 formatting mini-language which is very similar to Python, see: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format + // 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. Labelformat String `json:"labelformat,omitempty"` // Operation @@ -708,6 +748,42 @@ type ContourcarpetContours struct { Value interface{} `json:"value,omitempty"` } +// ContourcarpetLegendgrouptitleFont Sets this legend group's title font. +type ContourcarpetLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ContourcarpetLegendgrouptitle +type ContourcarpetLegendgrouptitle struct { + + // Font + // role: Object + Font *ContourcarpetLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // ContourcarpetLine type ContourcarpetLine struct { @@ -776,7 +852,7 @@ const ( ContourcarpetColorbarExponentformatE1 ContourcarpetColorbarExponentformat = "e" ContourcarpetColorbarExponentformatE2 ContourcarpetColorbarExponentformat = "E" ContourcarpetColorbarExponentformatPower ContourcarpetColorbarExponentformat = "power" - ContourcarpetColorbarExponentformatSi ContourcarpetColorbarExponentformat = "SI" + ContourcarpetColorbarExponentformatSI ContourcarpetColorbarExponentformat = "SI" ContourcarpetColorbarExponentformatB ContourcarpetColorbarExponentformat = "B" ) @@ -788,6 +864,14 @@ const ( ContourcarpetColorbarLenmodePixels ContourcarpetColorbarLenmode = "pixels" ) +// ContourcarpetColorbarOrientation Sets the orientation of the colorbar. +type ContourcarpetColorbarOrientation string + +const ( + ContourcarpetColorbarOrientationH ContourcarpetColorbarOrientation = "h" + ContourcarpetColorbarOrientationV ContourcarpetColorbarOrientation = "v" +) + // ContourcarpetColorbarShowexponent 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. type ContourcarpetColorbarShowexponent string @@ -826,7 +910,16 @@ const ( ContourcarpetColorbarThicknessmodePixels ContourcarpetColorbarThicknessmode = "pixels" ) -// ContourcarpetColorbarTicklabelposition Determines where tick labels are drawn. +// ContourcarpetColorbarTicklabeloverflow 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*. +type ContourcarpetColorbarTicklabeloverflow string + +const ( + ContourcarpetColorbarTicklabeloverflowAllow ContourcarpetColorbarTicklabeloverflow = "allow" + ContourcarpetColorbarTicklabeloverflowHidePastDiv ContourcarpetColorbarTicklabeloverflow = "hide past div" + ContourcarpetColorbarTicklabeloverflowHidePastDomain ContourcarpetColorbarTicklabeloverflow = "hide past domain" +) + +// ContourcarpetColorbarTicklabelposition 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*. type ContourcarpetColorbarTicklabelposition string const ( @@ -834,6 +927,10 @@ const ( ContourcarpetColorbarTicklabelpositionInside ContourcarpetColorbarTicklabelposition = "inside" ContourcarpetColorbarTicklabelpositionOutsideTop ContourcarpetColorbarTicklabelposition = "outside top" ContourcarpetColorbarTicklabelpositionInsideTop ContourcarpetColorbarTicklabelposition = "inside top" + ContourcarpetColorbarTicklabelpositionOutsideLeft ContourcarpetColorbarTicklabelposition = "outside left" + ContourcarpetColorbarTicklabelpositionInsideLeft ContourcarpetColorbarTicklabelposition = "inside left" + ContourcarpetColorbarTicklabelpositionOutsideRight ContourcarpetColorbarTicklabelposition = "outside right" + ContourcarpetColorbarTicklabelpositionInsideRight ContourcarpetColorbarTicklabelposition = "inside right" ContourcarpetColorbarTicklabelpositionOutsideBottom ContourcarpetColorbarTicklabelposition = "outside bottom" ContourcarpetColorbarTicklabelpositionInsideBottom ContourcarpetColorbarTicklabelposition = "inside bottom" ) @@ -856,7 +953,7 @@ const ( ContourcarpetColorbarTicksEmpty ContourcarpetColorbarTicks = "" ) -// ContourcarpetColorbarTitleSide Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. +// ContourcarpetColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. type ContourcarpetColorbarTitleSide string const ( @@ -865,7 +962,7 @@ const ( ContourcarpetColorbarTitleSideBottom ContourcarpetColorbarTitleSide = "bottom" ) -// ContourcarpetColorbarXanchor Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. +// ContourcarpetColorbarXanchor 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*. type ContourcarpetColorbarXanchor string const ( @@ -874,7 +971,7 @@ const ( ContourcarpetColorbarXanchorRight ContourcarpetColorbarXanchor = "right" ) -// ContourcarpetColorbarYanchor Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. +// ContourcarpetColorbarYanchor 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*. type ContourcarpetColorbarYanchor string const ( diff --git a/graph_objects/densitymapbox_gen.go b/generated/v2.19.0/graph_objects/densitymapbox_gen.go similarity index 77% rename from graph_objects/densitymapbox_gen.go rename to generated/v2.19.0/graph_objects/densitymapbox_gen.go index c5ec34e..21699df 100644 --- a/graph_objects/densitymapbox_gen.go +++ b/generated/v2.19.0/graph_objects/densitymapbox_gen.go @@ -18,7 +18,7 @@ type Densitymapbox struct { // Autocolorscale // arrayOK: false // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Below @@ -40,7 +40,7 @@ type Densitymapbox struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Customdata @@ -52,7 +52,7 @@ type Densitymapbox struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Hoverinfo @@ -64,7 +64,7 @@ type Densitymapbox struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -74,13 +74,13 @@ type Densitymapbox struct { // Hovertemplate // arrayOK: true // 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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + // 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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. Hovertemplate String `json:"hovertemplate,omitempty"` // Hovertemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertemplate . + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` // Hovertext @@ -92,7 +92,7 @@ type Densitymapbox struct { // Hovertextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertext . + // Sets the source reference on Chart Studio Cloud for `hovertext`. Hovertextsrc String `json:"hovertextsrc,omitempty"` // Ids @@ -104,7 +104,7 @@ type Densitymapbox struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` // Lat @@ -116,7 +116,7 @@ type Densitymapbox struct { // Latsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for lat . + // Sets the source reference on Chart Studio Cloud for `lat`. Latsrc String `json:"latsrc,omitempty"` // Legendgroup @@ -125,6 +125,22 @@ type Densitymapbox struct { // Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items. Legendgroup String `json:"legendgroup,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *DensitymapboxLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Lon // arrayOK: false // type: data_array @@ -134,7 +150,7 @@ type Densitymapbox struct { // Lonsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for lon . + // Sets the source reference on Chart Studio Cloud for `lon`. Lonsrc String `json:"lonsrc,omitempty"` // Meta @@ -146,7 +162,7 @@ type Densitymapbox struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Name @@ -170,7 +186,7 @@ type Densitymapbox struct { // Radiussrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for radius . + // Sets the source reference on Chart Studio Cloud for `radius`. Radiussrc String `json:"radiussrc,omitempty"` // Reversescale @@ -210,7 +226,7 @@ type Densitymapbox struct { // Textsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for text . + // Sets the source reference on Chart Studio Cloud for `text`. Textsrc String `json:"textsrc,omitempty"` // Transforms @@ -246,7 +262,7 @@ type Densitymapbox struct { // Zauto // arrayOK: false // type: boolean - // 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. + // 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. Zauto Bool `json:"zauto,omitempty"` // Zmax @@ -270,7 +286,7 @@ type Densitymapbox struct { // Zsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for z . + // Sets the source reference on Chart Studio Cloud for `z`. Zsrc String `json:"zsrc,omitempty"` } @@ -326,9 +342,9 @@ type DensitymapboxColorbarTitle struct { Font *DensitymapboxColorbarTitleFont `json:"font,omitempty"` // Side - // default: top + // default: %!s() // type: enumerated - // Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. Side DensitymapboxColorbarTitleSide `json:"side,omitempty"` // Text @@ -371,6 +387,12 @@ type DensitymapboxColorbar struct { // 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. Exponentformat DensitymapboxColorbarExponentformat `json:"exponentformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Len // arrayOK: false // type: number @@ -395,6 +417,12 @@ type DensitymapboxColorbar struct { // 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*. Nticks int64 `json:"nticks,omitempty"` + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation DensitymapboxColorbarOrientation `json:"orientation,omitempty"` + // Outlinecolor // arrayOK: false // type: color @@ -474,7 +502,7 @@ type DensitymapboxColorbar struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -483,12 +511,24 @@ type DensitymapboxColorbar struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow DensitymapboxColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + // Ticklabelposition // default: outside // type: enumerated - // Determines where tick labels are drawn. + // 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*. Ticklabelposition DensitymapboxColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -528,7 +568,7 @@ type DensitymapboxColorbar struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -540,7 +580,7 @@ type DensitymapboxColorbar struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -556,13 +596,13 @@ type DensitymapboxColorbar struct { // X // arrayOK: false // type: number - // Sets the x position of the color bar (in plot fraction). + // Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. X float64 `json:"x,omitempty"` // Xanchor - // default: left + // default: %!s() // type: enumerated - // Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. + // 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*. Xanchor DensitymapboxColorbarXanchor `json:"xanchor,omitempty"` // Xpad @@ -574,13 +614,13 @@ type DensitymapboxColorbar struct { // Y // arrayOK: false // type: number - // Sets the y position of the color bar (in plot fraction). + // Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. Y float64 `json:"y,omitempty"` // Yanchor - // default: middle + // default: %!s() // type: enumerated - // Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. + // 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*. Yanchor DensitymapboxColorbarYanchor `json:"yanchor,omitempty"` // Ypad @@ -602,7 +642,7 @@ type DensitymapboxHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -614,7 +654,7 @@ type DensitymapboxHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -626,7 +666,7 @@ type DensitymapboxHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -642,7 +682,7 @@ type DensitymapboxHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -654,7 +694,7 @@ type DensitymapboxHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -666,7 +706,7 @@ type DensitymapboxHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -682,10 +722,46 @@ type DensitymapboxHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } +// DensitymapboxLegendgrouptitleFont Sets this legend group's title font. +type DensitymapboxLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// DensitymapboxLegendgrouptitle +type DensitymapboxLegendgrouptitle struct { + + // Font + // role: Object + Font *DensitymapboxLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // DensitymapboxStream type DensitymapboxStream struct { @@ -710,7 +786,7 @@ const ( DensitymapboxColorbarExponentformatE1 DensitymapboxColorbarExponentformat = "e" DensitymapboxColorbarExponentformatE2 DensitymapboxColorbarExponentformat = "E" DensitymapboxColorbarExponentformatPower DensitymapboxColorbarExponentformat = "power" - DensitymapboxColorbarExponentformatSi DensitymapboxColorbarExponentformat = "SI" + DensitymapboxColorbarExponentformatSI DensitymapboxColorbarExponentformat = "SI" DensitymapboxColorbarExponentformatB DensitymapboxColorbarExponentformat = "B" ) @@ -722,6 +798,14 @@ const ( DensitymapboxColorbarLenmodePixels DensitymapboxColorbarLenmode = "pixels" ) +// DensitymapboxColorbarOrientation Sets the orientation of the colorbar. +type DensitymapboxColorbarOrientation string + +const ( + DensitymapboxColorbarOrientationH DensitymapboxColorbarOrientation = "h" + DensitymapboxColorbarOrientationV DensitymapboxColorbarOrientation = "v" +) + // DensitymapboxColorbarShowexponent 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. type DensitymapboxColorbarShowexponent string @@ -760,7 +844,16 @@ const ( DensitymapboxColorbarThicknessmodePixels DensitymapboxColorbarThicknessmode = "pixels" ) -// DensitymapboxColorbarTicklabelposition Determines where tick labels are drawn. +// DensitymapboxColorbarTicklabeloverflow 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*. +type DensitymapboxColorbarTicklabeloverflow string + +const ( + DensitymapboxColorbarTicklabeloverflowAllow DensitymapboxColorbarTicklabeloverflow = "allow" + DensitymapboxColorbarTicklabeloverflowHidePastDiv DensitymapboxColorbarTicklabeloverflow = "hide past div" + DensitymapboxColorbarTicklabeloverflowHidePastDomain DensitymapboxColorbarTicklabeloverflow = "hide past domain" +) + +// DensitymapboxColorbarTicklabelposition 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*. type DensitymapboxColorbarTicklabelposition string const ( @@ -768,6 +861,10 @@ const ( DensitymapboxColorbarTicklabelpositionInside DensitymapboxColorbarTicklabelposition = "inside" DensitymapboxColorbarTicklabelpositionOutsideTop DensitymapboxColorbarTicklabelposition = "outside top" DensitymapboxColorbarTicklabelpositionInsideTop DensitymapboxColorbarTicklabelposition = "inside top" + DensitymapboxColorbarTicklabelpositionOutsideLeft DensitymapboxColorbarTicklabelposition = "outside left" + DensitymapboxColorbarTicklabelpositionInsideLeft DensitymapboxColorbarTicklabelposition = "inside left" + DensitymapboxColorbarTicklabelpositionOutsideRight DensitymapboxColorbarTicklabelposition = "outside right" + DensitymapboxColorbarTicklabelpositionInsideRight DensitymapboxColorbarTicklabelposition = "inside right" DensitymapboxColorbarTicklabelpositionOutsideBottom DensitymapboxColorbarTicklabelposition = "outside bottom" DensitymapboxColorbarTicklabelpositionInsideBottom DensitymapboxColorbarTicklabelposition = "inside bottom" ) @@ -790,7 +887,7 @@ const ( DensitymapboxColorbarTicksEmpty DensitymapboxColorbarTicks = "" ) -// DensitymapboxColorbarTitleSide Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. +// DensitymapboxColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. type DensitymapboxColorbarTitleSide string const ( @@ -799,7 +896,7 @@ const ( DensitymapboxColorbarTitleSideBottom DensitymapboxColorbarTitleSide = "bottom" ) -// DensitymapboxColorbarXanchor Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. +// DensitymapboxColorbarXanchor 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*. type DensitymapboxColorbarXanchor string const ( @@ -808,7 +905,7 @@ const ( DensitymapboxColorbarXanchorRight DensitymapboxColorbarXanchor = "right" ) -// DensitymapboxColorbarYanchor Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. +// DensitymapboxColorbarYanchor 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*. type DensitymapboxColorbarYanchor string const ( diff --git a/graph_objects/funnel_gen.go b/generated/v2.19.0/graph_objects/funnel_gen.go similarity index 76% rename from graph_objects/funnel_gen.go rename to generated/v2.19.0/graph_objects/funnel_gen.go index a9bda6c..11f9103 100644 --- a/graph_objects/funnel_gen.go +++ b/generated/v2.19.0/graph_objects/funnel_gen.go @@ -46,7 +46,7 @@ type Funnel struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Dx @@ -70,7 +70,7 @@ type Funnel struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -80,13 +80,13 @@ type Funnel struct { // Hovertemplate // arrayOK: true // 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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `percentInitial`, `percentPrevious` and `percentTotal`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + // 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 `percentInitial`, `percentPrevious` and `percentTotal`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. Hovertemplate String `json:"hovertemplate,omitempty"` // Hovertemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertemplate . + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` // Hovertext @@ -98,7 +98,7 @@ type Funnel struct { // Hovertextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertext . + // Sets the source reference on Chart Studio Cloud for `hovertext`. Hovertextsrc String `json:"hovertextsrc,omitempty"` // Ids @@ -110,7 +110,7 @@ type Funnel struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` // Insidetextanchor @@ -129,6 +129,22 @@ type Funnel struct { // Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items. Legendgroup String `json:"legendgroup,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *FunnelLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Marker // role: Object Marker *FunnelMarker `json:"marker,omitempty"` @@ -142,7 +158,7 @@ type Funnel struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Name @@ -220,31 +236,31 @@ type Funnel struct { // Textposition // default: auto // type: enumerated - // 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. + // 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. Textposition FunnelTextposition `json:"textposition,omitempty"` // Textpositionsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for textposition . + // Sets the source reference on Chart Studio Cloud for `textposition`. Textpositionsrc String `json:"textpositionsrc,omitempty"` // Textsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for text . + // Sets the source reference on Chart Studio Cloud for `text`. Textsrc String `json:"textsrc,omitempty"` // Texttemplate // arrayOK: true // 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-3.x-api-reference/blob/master/Formatting.md#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#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. variables `percentInitial`, `percentPrevious`, `percentTotal`, `label` and `value`. + // 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. variables `percentInitial`, `percentPrevious`, `percentTotal`, `label` and `value`. Texttemplate String `json:"texttemplate,omitempty"` // Texttemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for texttemplate . + // Sets the source reference on Chart Studio Cloud for `texttemplate`. Texttemplatesrc String `json:"texttemplatesrc,omitempty"` // Transforms @@ -295,6 +311,12 @@ type Funnel struct { // 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. Xaxis String `json:"xaxis,omitempty"` + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + // Xperiod // arrayOK: false // type: any @@ -316,7 +338,7 @@ type Funnel struct { // Xsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for x . + // Sets the source reference on Chart Studio Cloud for `x`. Xsrc String `json:"xsrc,omitempty"` // Y @@ -337,6 +359,12 @@ type Funnel struct { // 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. Yaxis String `json:"yaxis,omitempty"` + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + // Yperiod // arrayOK: false // type: any @@ -358,7 +386,7 @@ type Funnel struct { // Ysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for y . + // Sets the source reference on Chart Studio Cloud for `y`. Ysrc String `json:"ysrc,omitempty"` } @@ -416,7 +444,7 @@ type FunnelHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -428,7 +456,7 @@ type FunnelHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -440,7 +468,7 @@ type FunnelHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -456,7 +484,7 @@ type FunnelHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -468,7 +496,7 @@ type FunnelHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -480,7 +508,7 @@ type FunnelHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -496,7 +524,7 @@ type FunnelHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } @@ -512,7 +540,7 @@ type FunnelInsidetextfont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -524,7 +552,7 @@ type FunnelInsidetextfont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -536,10 +564,46 @@ type FunnelInsidetextfont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } +// FunnelLegendgrouptitleFont Sets this legend group's title font. +type FunnelLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// FunnelLegendgrouptitle +type FunnelLegendgrouptitle struct { + + // Font + // role: Object + Font *FunnelLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // FunnelMarkerColorbarTickfont Sets the color bar's tick label font type FunnelMarkerColorbarTickfont struct { @@ -592,9 +656,9 @@ type FunnelMarkerColorbarTitle struct { Font *FunnelMarkerColorbarTitleFont `json:"font,omitempty"` // Side - // default: top + // default: %!s() // type: enumerated - // Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. Side FunnelMarkerColorbarTitleSide `json:"side,omitempty"` // Text @@ -637,6 +701,12 @@ type FunnelMarkerColorbar struct { // 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. Exponentformat FunnelMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Len // arrayOK: false // type: number @@ -661,6 +731,12 @@ type FunnelMarkerColorbar struct { // 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*. Nticks int64 `json:"nticks,omitempty"` + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation FunnelMarkerColorbarOrientation `json:"orientation,omitempty"` + // Outlinecolor // arrayOK: false // type: color @@ -740,7 +816,7 @@ type FunnelMarkerColorbar struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -749,12 +825,24 @@ type FunnelMarkerColorbar struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow FunnelMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + // Ticklabelposition // default: outside // type: enumerated - // Determines where tick labels are drawn. + // 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*. Ticklabelposition FunnelMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -794,7 +882,7 @@ type FunnelMarkerColorbar struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -806,7 +894,7 @@ type FunnelMarkerColorbar struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -822,13 +910,13 @@ type FunnelMarkerColorbar struct { // X // arrayOK: false // type: number - // Sets the x position of the color bar (in plot fraction). + // Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. X float64 `json:"x,omitempty"` // Xanchor - // default: left + // default: %!s() // type: enumerated - // Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. + // 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*. Xanchor FunnelMarkerColorbarXanchor `json:"xanchor,omitempty"` // Xpad @@ -840,13 +928,13 @@ type FunnelMarkerColorbar struct { // Y // arrayOK: false // type: number - // Sets the y position of the color bar (in plot fraction). + // Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. Y float64 `json:"y,omitempty"` // Yanchor - // default: middle + // default: %!s() // type: enumerated - // Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. + // 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*. Yanchor FunnelMarkerColorbarYanchor `json:"yanchor,omitempty"` // Ypad @@ -862,37 +950,37 @@ type FunnelMarkerLine struct { // Autocolorscale // arrayOK: false // type: boolean - // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Cauto // arrayOK: false // type: boolean - // 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. + // 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. Cauto Bool `json:"cauto,omitempty"` // Cmax // arrayOK: false // 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. + // 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. Cmax float64 `json:"cmax,omitempty"` // Cmid // arrayOK: false // 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`. + // 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`. Cmid float64 `json:"cmid,omitempty"` // Cmin // arrayOK: false // 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. + // 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. Cmin float64 `json:"cmin,omitempty"` // Color // arrayOK: true // type: color - // Sets themarker.linecolor. 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. + // 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. Color Color `json:"color,omitempty"` // Coloraxis @@ -904,19 +992,19 @@ type FunnelMarkerLine struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Reversescale // arrayOK: false // 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. + // 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. Reversescale Bool `json:"reversescale,omitempty"` // Width @@ -928,7 +1016,7 @@ type FunnelMarkerLine struct { // Widthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for width . + // Sets the source reference on Chart Studio Cloud for `width`. Widthsrc String `json:"widthsrc,omitempty"` } @@ -938,37 +1026,37 @@ type FunnelMarker struct { // Autocolorscale // arrayOK: false // type: boolean - // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Cauto // arrayOK: false // type: boolean - // 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. + // 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. Cauto Bool `json:"cauto,omitempty"` // Cmax // arrayOK: false // 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. + // 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. Cmax float64 `json:"cmax,omitempty"` // Cmid // arrayOK: false // 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`. + // 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`. Cmid float64 `json:"cmid,omitempty"` // Cmin // arrayOK: false // 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. + // 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. Cmin float64 `json:"cmin,omitempty"` // Color // arrayOK: true // type: color - // Sets themarkercolor. 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. + // 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. Color Color `json:"color,omitempty"` // Coloraxis @@ -984,13 +1072,13 @@ type FunnelMarker struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Line @@ -1006,19 +1094,19 @@ type FunnelMarker struct { // Opacitysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for opacity . + // Sets the source reference on Chart Studio Cloud for `opacity`. Opacitysrc String `json:"opacitysrc,omitempty"` // Reversescale // arrayOK: false // 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. + // 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. Reversescale Bool `json:"reversescale,omitempty"` // Showscale // arrayOK: false // 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. + // 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. Showscale Bool `json:"showscale,omitempty"` } @@ -1034,7 +1122,7 @@ type FunnelOutsidetextfont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -1046,7 +1134,7 @@ type FunnelOutsidetextfont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -1058,7 +1146,7 @@ type FunnelOutsidetextfont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -1090,7 +1178,7 @@ type FunnelTextfont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -1102,7 +1190,7 @@ type FunnelTextfont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -1114,7 +1202,7 @@ type FunnelTextfont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -1154,7 +1242,7 @@ const ( FunnelMarkerColorbarExponentformatE1 FunnelMarkerColorbarExponentformat = "e" FunnelMarkerColorbarExponentformatE2 FunnelMarkerColorbarExponentformat = "E" FunnelMarkerColorbarExponentformatPower FunnelMarkerColorbarExponentformat = "power" - FunnelMarkerColorbarExponentformatSi FunnelMarkerColorbarExponentformat = "SI" + FunnelMarkerColorbarExponentformatSI FunnelMarkerColorbarExponentformat = "SI" FunnelMarkerColorbarExponentformatB FunnelMarkerColorbarExponentformat = "B" ) @@ -1166,6 +1254,14 @@ const ( FunnelMarkerColorbarLenmodePixels FunnelMarkerColorbarLenmode = "pixels" ) +// FunnelMarkerColorbarOrientation Sets the orientation of the colorbar. +type FunnelMarkerColorbarOrientation string + +const ( + FunnelMarkerColorbarOrientationH FunnelMarkerColorbarOrientation = "h" + FunnelMarkerColorbarOrientationV FunnelMarkerColorbarOrientation = "v" +) + // FunnelMarkerColorbarShowexponent 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. type FunnelMarkerColorbarShowexponent string @@ -1204,7 +1300,16 @@ const ( FunnelMarkerColorbarThicknessmodePixels FunnelMarkerColorbarThicknessmode = "pixels" ) -// FunnelMarkerColorbarTicklabelposition Determines where tick labels are drawn. +// FunnelMarkerColorbarTicklabeloverflow 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*. +type FunnelMarkerColorbarTicklabeloverflow string + +const ( + FunnelMarkerColorbarTicklabeloverflowAllow FunnelMarkerColorbarTicklabeloverflow = "allow" + FunnelMarkerColorbarTicklabeloverflowHidePastDiv FunnelMarkerColorbarTicklabeloverflow = "hide past div" + FunnelMarkerColorbarTicklabeloverflowHidePastDomain FunnelMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// FunnelMarkerColorbarTicklabelposition 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*. type FunnelMarkerColorbarTicklabelposition string const ( @@ -1212,6 +1317,10 @@ const ( FunnelMarkerColorbarTicklabelpositionInside FunnelMarkerColorbarTicklabelposition = "inside" FunnelMarkerColorbarTicklabelpositionOutsideTop FunnelMarkerColorbarTicklabelposition = "outside top" FunnelMarkerColorbarTicklabelpositionInsideTop FunnelMarkerColorbarTicklabelposition = "inside top" + FunnelMarkerColorbarTicklabelpositionOutsideLeft FunnelMarkerColorbarTicklabelposition = "outside left" + FunnelMarkerColorbarTicklabelpositionInsideLeft FunnelMarkerColorbarTicklabelposition = "inside left" + FunnelMarkerColorbarTicklabelpositionOutsideRight FunnelMarkerColorbarTicklabelposition = "outside right" + FunnelMarkerColorbarTicklabelpositionInsideRight FunnelMarkerColorbarTicklabelposition = "inside right" FunnelMarkerColorbarTicklabelpositionOutsideBottom FunnelMarkerColorbarTicklabelposition = "outside bottom" FunnelMarkerColorbarTicklabelpositionInsideBottom FunnelMarkerColorbarTicklabelposition = "inside bottom" ) @@ -1234,7 +1343,7 @@ const ( FunnelMarkerColorbarTicksEmpty FunnelMarkerColorbarTicks = "" ) -// FunnelMarkerColorbarTitleSide Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. +// FunnelMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. type FunnelMarkerColorbarTitleSide string const ( @@ -1243,7 +1352,7 @@ const ( FunnelMarkerColorbarTitleSideBottom FunnelMarkerColorbarTitleSide = "bottom" ) -// FunnelMarkerColorbarXanchor Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. +// FunnelMarkerColorbarXanchor 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*. type FunnelMarkerColorbarXanchor string const ( @@ -1252,7 +1361,7 @@ const ( FunnelMarkerColorbarXanchorRight FunnelMarkerColorbarXanchor = "right" ) -// FunnelMarkerColorbarYanchor Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. +// FunnelMarkerColorbarYanchor 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*. type FunnelMarkerColorbarYanchor string const ( @@ -1269,7 +1378,7 @@ const ( FunnelOrientationH FunnelOrientation = "h" ) -// FunnelTextposition 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. +// FunnelTextposition 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. type FunnelTextposition string const ( diff --git a/graph_objects/funnelarea_gen.go b/generated/v2.19.0/graph_objects/funnelarea_gen.go similarity index 79% rename from graph_objects/funnelarea_gen.go rename to generated/v2.19.0/graph_objects/funnelarea_gen.go index 3e499d1..58e3e1f 100644 --- a/graph_objects/funnelarea_gen.go +++ b/generated/v2.19.0/graph_objects/funnelarea_gen.go @@ -36,7 +36,7 @@ type Funnelarea struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Dlabel @@ -58,7 +58,7 @@ type Funnelarea struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -68,13 +68,13 @@ type Funnelarea struct { // Hovertemplate // arrayOK: true // 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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `label`, `color`, `value`, `text` and `percent`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + // 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 `label`, `color`, `value`, `text` and `percent`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. Hovertemplate String `json:"hovertemplate,omitempty"` // Hovertemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertemplate . + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` // Hovertext @@ -86,7 +86,7 @@ type Funnelarea struct { // Hovertextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertext . + // Sets the source reference on Chart Studio Cloud for `hovertext`. Hovertextsrc String `json:"hovertextsrc,omitempty"` // Ids @@ -98,7 +98,7 @@ type Funnelarea struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` // Insidetextfont @@ -120,7 +120,7 @@ type Funnelarea struct { // Labelssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for labels . + // Sets the source reference on Chart Studio Cloud for `labels`. Labelssrc String `json:"labelssrc,omitempty"` // Legendgroup @@ -129,6 +129,22 @@ type Funnelarea struct { // Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items. Legendgroup String `json:"legendgroup,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *FunnelareaLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Marker // role: Object Marker *FunnelareaMarker `json:"marker,omitempty"` @@ -142,7 +158,7 @@ type Funnelarea struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Name @@ -198,25 +214,25 @@ type Funnelarea struct { // Textpositionsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for textposition . + // Sets the source reference on Chart Studio Cloud for `textposition`. Textpositionsrc String `json:"textpositionsrc,omitempty"` // Textsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for text . + // Sets the source reference on Chart Studio Cloud for `text`. Textsrc String `json:"textsrc,omitempty"` // Texttemplate // arrayOK: true // 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-3.x-api-reference/blob/master/Formatting.md#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#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. variables `label`, `color`, `value`, `text` and `percent`. + // 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. variables `label`, `color`, `value`, `text` and `percent`. Texttemplate String `json:"texttemplate,omitempty"` // Texttemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for texttemplate . + // Sets the source reference on Chart Studio Cloud for `texttemplate`. Texttemplatesrc String `json:"texttemplatesrc,omitempty"` // Title @@ -250,7 +266,7 @@ type Funnelarea struct { // Valuessrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for values . + // Sets the source reference on Chart Studio Cloud for `values`. Valuessrc String `json:"valuessrc,omitempty"` // Visible @@ -300,7 +316,7 @@ type FunnelareaHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -312,7 +328,7 @@ type FunnelareaHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -324,7 +340,7 @@ type FunnelareaHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -340,7 +356,7 @@ type FunnelareaHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -352,7 +368,7 @@ type FunnelareaHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -364,7 +380,7 @@ type FunnelareaHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -380,7 +396,7 @@ type FunnelareaHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } @@ -396,7 +412,7 @@ type FunnelareaInsidetextfont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -408,7 +424,7 @@ type FunnelareaInsidetextfont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -420,10 +436,46 @@ type FunnelareaInsidetextfont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } +// FunnelareaLegendgrouptitleFont Sets this legend group's title font. +type FunnelareaLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// FunnelareaLegendgrouptitle +type FunnelareaLegendgrouptitle struct { + + // Font + // role: Object + Font *FunnelareaLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // FunnelareaMarkerLine type FunnelareaMarkerLine struct { @@ -436,7 +488,7 @@ type FunnelareaMarkerLine struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Width @@ -448,7 +500,7 @@ type FunnelareaMarkerLine struct { // Widthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for width . + // Sets the source reference on Chart Studio Cloud for `width`. Widthsrc String `json:"widthsrc,omitempty"` } @@ -464,7 +516,7 @@ type FunnelareaMarker struct { // Colorssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for colors . + // Sets the source reference on Chart Studio Cloud for `colors`. Colorssrc String `json:"colorssrc,omitempty"` // Line @@ -500,7 +552,7 @@ type FunnelareaTextfont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -512,7 +564,7 @@ type FunnelareaTextfont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -524,7 +576,7 @@ type FunnelareaTextfont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -540,7 +592,7 @@ type FunnelareaTitleFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -552,7 +604,7 @@ type FunnelareaTitleFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -564,7 +616,7 @@ type FunnelareaTitleFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } diff --git a/graph_objects/heatmap_gen.go b/generated/v2.19.0/graph_objects/heatmap_gen.go similarity index 76% rename from graph_objects/heatmap_gen.go rename to generated/v2.19.0/graph_objects/heatmap_gen.go index 1d1fa00..af04e8c 100644 --- a/graph_objects/heatmap_gen.go +++ b/generated/v2.19.0/graph_objects/heatmap_gen.go @@ -18,7 +18,7 @@ type Heatmap struct { // Autocolorscale // arrayOK: false // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Coloraxis @@ -34,7 +34,7 @@ type Heatmap struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Connectgaps @@ -52,7 +52,7 @@ type Heatmap struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Dx @@ -76,7 +76,7 @@ type Heatmap struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -92,13 +92,13 @@ type Heatmap struct { // Hovertemplate // arrayOK: true // 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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + // 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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. Hovertemplate String `json:"hovertemplate,omitempty"` // Hovertemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertemplate . + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` // Hovertext @@ -110,7 +110,7 @@ type Heatmap struct { // Hovertextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertext . + // Sets the source reference on Chart Studio Cloud for `hovertext`. Hovertextsrc String `json:"hovertextsrc,omitempty"` // Ids @@ -122,7 +122,7 @@ type Heatmap struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` // Legendgroup @@ -131,6 +131,22 @@ type Heatmap struct { // Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items. Legendgroup String `json:"legendgroup,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *HeatmapLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Meta // arrayOK: true // type: any @@ -140,7 +156,7 @@ type Heatmap struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Name @@ -183,12 +199,22 @@ type Heatmap struct { // Sets the text elements associated with each z value. Text interface{} `json:"text,omitempty"` + // Textfont + // role: Object + Textfont *HeatmapTextfont `json:"textfont,omitempty"` + // Textsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for text . + // Sets the source reference on Chart Studio Cloud for `text`. Textsrc String `json:"textsrc,omitempty"` + // Texttemplate + // arrayOK: false + // 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. variables `x`, `y`, `z` and `text`. + Texttemplate String `json:"texttemplate,omitempty"` + // Transforms // It's an items array and what goes inside it's... messy... check the docs // I will be happy if you want to contribute by implementing this @@ -249,6 +275,12 @@ type Heatmap struct { // Sets the horizontal gap (in pixels) between bricks. Xgap float64 `json:"xgap,omitempty"` + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + // Xperiod // arrayOK: false // type: any @@ -270,7 +302,7 @@ type Heatmap struct { // Xsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for x . + // Sets the source reference on Chart Studio Cloud for `x`. Xsrc String `json:"xsrc,omitempty"` // Xtype @@ -309,6 +341,12 @@ type Heatmap struct { // Sets the vertical gap (in pixels) between bricks. Ygap float64 `json:"ygap,omitempty"` + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + // Yperiod // arrayOK: false // type: any @@ -330,7 +368,7 @@ type Heatmap struct { // Ysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for y . + // Sets the source reference on Chart Studio Cloud for `y`. Ysrc String `json:"ysrc,omitempty"` // Ytype @@ -348,13 +386,13 @@ type Heatmap struct { // Zauto // arrayOK: false // type: boolean - // 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. + // 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. Zauto Bool `json:"zauto,omitempty"` // Zhoverformat // arrayOK: false // type: string - // Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. See: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format + // 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. Zhoverformat String `json:"zhoverformat,omitempty"` // Zmax @@ -384,7 +422,7 @@ type Heatmap struct { // Zsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for z . + // Sets the source reference on Chart Studio Cloud for `z`. Zsrc String `json:"zsrc,omitempty"` } @@ -440,9 +478,9 @@ type HeatmapColorbarTitle struct { Font *HeatmapColorbarTitleFont `json:"font,omitempty"` // Side - // default: top + // default: %!s() // type: enumerated - // Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. Side HeatmapColorbarTitleSide `json:"side,omitempty"` // Text @@ -485,6 +523,12 @@ type HeatmapColorbar struct { // 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. Exponentformat HeatmapColorbarExponentformat `json:"exponentformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Len // arrayOK: false // type: number @@ -509,6 +553,12 @@ type HeatmapColorbar struct { // 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*. Nticks int64 `json:"nticks,omitempty"` + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation HeatmapColorbarOrientation `json:"orientation,omitempty"` + // Outlinecolor // arrayOK: false // type: color @@ -588,7 +638,7 @@ type HeatmapColorbar struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -597,12 +647,24 @@ type HeatmapColorbar struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow HeatmapColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + // Ticklabelposition // default: outside // type: enumerated - // Determines where tick labels are drawn. + // 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*. Ticklabelposition HeatmapColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -642,7 +704,7 @@ type HeatmapColorbar struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -654,7 +716,7 @@ type HeatmapColorbar struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -670,13 +732,13 @@ type HeatmapColorbar struct { // X // arrayOK: false // type: number - // Sets the x position of the color bar (in plot fraction). + // Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. X float64 `json:"x,omitempty"` // Xanchor - // default: left + // default: %!s() // type: enumerated - // Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. + // 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*. Xanchor HeatmapColorbarXanchor `json:"xanchor,omitempty"` // Xpad @@ -688,13 +750,13 @@ type HeatmapColorbar struct { // Y // arrayOK: false // type: number - // Sets the y position of the color bar (in plot fraction). + // Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. Y float64 `json:"y,omitempty"` // Yanchor - // default: middle + // default: %!s() // type: enumerated - // Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. + // 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*. Yanchor HeatmapColorbarYanchor `json:"yanchor,omitempty"` // Ypad @@ -716,7 +778,7 @@ type HeatmapHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -728,7 +790,7 @@ type HeatmapHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -740,7 +802,7 @@ type HeatmapHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -756,7 +818,7 @@ type HeatmapHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -768,7 +830,7 @@ type HeatmapHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -780,7 +842,7 @@ type HeatmapHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -796,10 +858,46 @@ type HeatmapHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } +// HeatmapLegendgrouptitleFont Sets this legend group's title font. +type HeatmapLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// HeatmapLegendgrouptitle +type HeatmapLegendgrouptitle struct { + + // Font + // role: Object + Font *HeatmapLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // HeatmapStream type HeatmapStream struct { @@ -816,6 +914,28 @@ type HeatmapStream struct { Token String `json:"token,omitempty"` } +// HeatmapTextfont Sets the text font. +type HeatmapTextfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + // HeatmapColorbarExponentformat 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. type HeatmapColorbarExponentformat string @@ -824,7 +944,7 @@ const ( HeatmapColorbarExponentformatE1 HeatmapColorbarExponentformat = "e" HeatmapColorbarExponentformatE2 HeatmapColorbarExponentformat = "E" HeatmapColorbarExponentformatPower HeatmapColorbarExponentformat = "power" - HeatmapColorbarExponentformatSi HeatmapColorbarExponentformat = "SI" + HeatmapColorbarExponentformatSI HeatmapColorbarExponentformat = "SI" HeatmapColorbarExponentformatB HeatmapColorbarExponentformat = "B" ) @@ -836,6 +956,14 @@ const ( HeatmapColorbarLenmodePixels HeatmapColorbarLenmode = "pixels" ) +// HeatmapColorbarOrientation Sets the orientation of the colorbar. +type HeatmapColorbarOrientation string + +const ( + HeatmapColorbarOrientationH HeatmapColorbarOrientation = "h" + HeatmapColorbarOrientationV HeatmapColorbarOrientation = "v" +) + // HeatmapColorbarShowexponent 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. type HeatmapColorbarShowexponent string @@ -874,7 +1002,16 @@ const ( HeatmapColorbarThicknessmodePixels HeatmapColorbarThicknessmode = "pixels" ) -// HeatmapColorbarTicklabelposition Determines where tick labels are drawn. +// HeatmapColorbarTicklabeloverflow 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*. +type HeatmapColorbarTicklabeloverflow string + +const ( + HeatmapColorbarTicklabeloverflowAllow HeatmapColorbarTicklabeloverflow = "allow" + HeatmapColorbarTicklabeloverflowHidePastDiv HeatmapColorbarTicklabeloverflow = "hide past div" + HeatmapColorbarTicklabeloverflowHidePastDomain HeatmapColorbarTicklabeloverflow = "hide past domain" +) + +// HeatmapColorbarTicklabelposition 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*. type HeatmapColorbarTicklabelposition string const ( @@ -882,6 +1019,10 @@ const ( HeatmapColorbarTicklabelpositionInside HeatmapColorbarTicklabelposition = "inside" HeatmapColorbarTicklabelpositionOutsideTop HeatmapColorbarTicklabelposition = "outside top" HeatmapColorbarTicklabelpositionInsideTop HeatmapColorbarTicklabelposition = "inside top" + HeatmapColorbarTicklabelpositionOutsideLeft HeatmapColorbarTicklabelposition = "outside left" + HeatmapColorbarTicklabelpositionInsideLeft HeatmapColorbarTicklabelposition = "inside left" + HeatmapColorbarTicklabelpositionOutsideRight HeatmapColorbarTicklabelposition = "outside right" + HeatmapColorbarTicklabelpositionInsideRight HeatmapColorbarTicklabelposition = "inside right" HeatmapColorbarTicklabelpositionOutsideBottom HeatmapColorbarTicklabelposition = "outside bottom" HeatmapColorbarTicklabelpositionInsideBottom HeatmapColorbarTicklabelposition = "inside bottom" ) @@ -904,7 +1045,7 @@ const ( HeatmapColorbarTicksEmpty HeatmapColorbarTicks = "" ) -// HeatmapColorbarTitleSide Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. +// HeatmapColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. type HeatmapColorbarTitleSide string const ( @@ -913,7 +1054,7 @@ const ( HeatmapColorbarTitleSideBottom HeatmapColorbarTitleSide = "bottom" ) -// HeatmapColorbarXanchor Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. +// HeatmapColorbarXanchor 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*. type HeatmapColorbarXanchor string const ( @@ -922,7 +1063,7 @@ const ( HeatmapColorbarXanchorRight HeatmapColorbarXanchor = "right" ) -// HeatmapColorbarYanchor Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. +// HeatmapColorbarYanchor 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*. type HeatmapColorbarYanchor string const ( @@ -953,19 +1094,19 @@ var ( type HeatmapXcalendar string const ( - HeatmapXcalendarGregorian HeatmapXcalendar = "gregorian" HeatmapXcalendarChinese HeatmapXcalendar = "chinese" HeatmapXcalendarCoptic HeatmapXcalendar = "coptic" HeatmapXcalendarDiscworld HeatmapXcalendar = "discworld" HeatmapXcalendarEthiopian HeatmapXcalendar = "ethiopian" + HeatmapXcalendarGregorian HeatmapXcalendar = "gregorian" HeatmapXcalendarHebrew HeatmapXcalendar = "hebrew" HeatmapXcalendarIslamic HeatmapXcalendar = "islamic" + HeatmapXcalendarJalali HeatmapXcalendar = "jalali" HeatmapXcalendarJulian HeatmapXcalendar = "julian" HeatmapXcalendarMayan HeatmapXcalendar = "mayan" HeatmapXcalendarNanakshahi HeatmapXcalendar = "nanakshahi" HeatmapXcalendarNepali HeatmapXcalendar = "nepali" HeatmapXcalendarPersian HeatmapXcalendar = "persian" - HeatmapXcalendarJalali HeatmapXcalendar = "jalali" HeatmapXcalendarTaiwan HeatmapXcalendar = "taiwan" HeatmapXcalendarThai HeatmapXcalendar = "thai" HeatmapXcalendarUmmalqura HeatmapXcalendar = "ummalqura" @@ -992,19 +1133,19 @@ const ( type HeatmapYcalendar string const ( - HeatmapYcalendarGregorian HeatmapYcalendar = "gregorian" HeatmapYcalendarChinese HeatmapYcalendar = "chinese" HeatmapYcalendarCoptic HeatmapYcalendar = "coptic" HeatmapYcalendarDiscworld HeatmapYcalendar = "discworld" HeatmapYcalendarEthiopian HeatmapYcalendar = "ethiopian" + HeatmapYcalendarGregorian HeatmapYcalendar = "gregorian" HeatmapYcalendarHebrew HeatmapYcalendar = "hebrew" HeatmapYcalendarIslamic HeatmapYcalendar = "islamic" + HeatmapYcalendarJalali HeatmapYcalendar = "jalali" HeatmapYcalendarJulian HeatmapYcalendar = "julian" HeatmapYcalendarMayan HeatmapYcalendar = "mayan" HeatmapYcalendarNanakshahi HeatmapYcalendar = "nanakshahi" HeatmapYcalendarNepali HeatmapYcalendar = "nepali" HeatmapYcalendarPersian HeatmapYcalendar = "persian" - HeatmapYcalendarJalali HeatmapYcalendar = "jalali" HeatmapYcalendarTaiwan HeatmapYcalendar = "taiwan" HeatmapYcalendarThai HeatmapYcalendar = "thai" HeatmapYcalendarUmmalqura HeatmapYcalendar = "ummalqura" diff --git a/graph_objects/heatmapgl_gen.go b/generated/v2.19.0/graph_objects/heatmapgl_gen.go similarity index 80% rename from graph_objects/heatmapgl_gen.go rename to generated/v2.19.0/graph_objects/heatmapgl_gen.go index 9e8345f..d581134 100644 --- a/graph_objects/heatmapgl_gen.go +++ b/generated/v2.19.0/graph_objects/heatmapgl_gen.go @@ -8,7 +8,7 @@ func (trace *Heatmapgl) GetType() TraceType { return TraceTypeHeatmapgl } -// Heatmapgl WebGL version of the heatmap trace type. +// Heatmapgl *heatmapgl* trace is deprecated! Please consider switching to the *heatmap* or *image* trace types. Alternatively you could contribute/sponsor rewriting this trace type based on cartesian features and using regl framework. WebGL version of the heatmap trace type. type Heatmapgl struct { // Type @@ -18,7 +18,7 @@ type Heatmapgl struct { // Autocolorscale // arrayOK: false // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Coloraxis @@ -34,7 +34,7 @@ type Heatmapgl struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Customdata @@ -46,7 +46,7 @@ type Heatmapgl struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Dx @@ -70,7 +70,7 @@ type Heatmapgl struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -86,9 +86,25 @@ type Heatmapgl struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *HeatmapglLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Meta // arrayOK: true // type: any @@ -98,7 +114,7 @@ type Heatmapgl struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Name @@ -138,7 +154,7 @@ type Heatmapgl struct { // Textsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for text . + // Sets the source reference on Chart Studio Cloud for `text`. Textsrc String `json:"textsrc,omitempty"` // Transforms @@ -192,7 +208,7 @@ type Heatmapgl struct { // Xsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for x . + // Sets the source reference on Chart Studio Cloud for `x`. Xsrc String `json:"xsrc,omitempty"` // Xtype @@ -222,7 +238,7 @@ type Heatmapgl struct { // Ysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for y . + // Sets the source reference on Chart Studio Cloud for `y`. Ysrc String `json:"ysrc,omitempty"` // Ytype @@ -240,7 +256,7 @@ type Heatmapgl struct { // Zauto // arrayOK: false // type: boolean - // 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. + // 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. Zauto Bool `json:"zauto,omitempty"` // Zmax @@ -270,7 +286,7 @@ type Heatmapgl struct { // Zsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for z . + // Sets the source reference on Chart Studio Cloud for `z`. Zsrc String `json:"zsrc,omitempty"` } @@ -326,9 +342,9 @@ type HeatmapglColorbarTitle struct { Font *HeatmapglColorbarTitleFont `json:"font,omitempty"` // Side - // default: top + // default: %!s() // type: enumerated - // Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. Side HeatmapglColorbarTitleSide `json:"side,omitempty"` // Text @@ -371,6 +387,12 @@ type HeatmapglColorbar struct { // 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. Exponentformat HeatmapglColorbarExponentformat `json:"exponentformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Len // arrayOK: false // type: number @@ -395,6 +417,12 @@ type HeatmapglColorbar struct { // 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*. Nticks int64 `json:"nticks,omitempty"` + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation HeatmapglColorbarOrientation `json:"orientation,omitempty"` + // Outlinecolor // arrayOK: false // type: color @@ -474,7 +502,7 @@ type HeatmapglColorbar struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -483,12 +511,24 @@ type HeatmapglColorbar struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow HeatmapglColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + // Ticklabelposition // default: outside // type: enumerated - // Determines where tick labels are drawn. + // 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*. Ticklabelposition HeatmapglColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -528,7 +568,7 @@ type HeatmapglColorbar struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -540,7 +580,7 @@ type HeatmapglColorbar struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -556,13 +596,13 @@ type HeatmapglColorbar struct { // X // arrayOK: false // type: number - // Sets the x position of the color bar (in plot fraction). + // Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. X float64 `json:"x,omitempty"` // Xanchor - // default: left + // default: %!s() // type: enumerated - // Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. + // 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*. Xanchor HeatmapglColorbarXanchor `json:"xanchor,omitempty"` // Xpad @@ -574,13 +614,13 @@ type HeatmapglColorbar struct { // Y // arrayOK: false // type: number - // Sets the y position of the color bar (in plot fraction). + // Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. Y float64 `json:"y,omitempty"` // Yanchor - // default: middle + // default: %!s() // type: enumerated - // Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. + // 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*. Yanchor HeatmapglColorbarYanchor `json:"yanchor,omitempty"` // Ypad @@ -602,7 +642,7 @@ type HeatmapglHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -614,7 +654,7 @@ type HeatmapglHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -626,7 +666,7 @@ type HeatmapglHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -642,7 +682,7 @@ type HeatmapglHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -654,7 +694,7 @@ type HeatmapglHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -666,7 +706,7 @@ type HeatmapglHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -682,10 +722,46 @@ type HeatmapglHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } +// HeatmapglLegendgrouptitleFont Sets this legend group's title font. +type HeatmapglLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// HeatmapglLegendgrouptitle +type HeatmapglLegendgrouptitle struct { + + // Font + // role: Object + Font *HeatmapglLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // HeatmapglStream type HeatmapglStream struct { @@ -710,7 +786,7 @@ const ( HeatmapglColorbarExponentformatE1 HeatmapglColorbarExponentformat = "e" HeatmapglColorbarExponentformatE2 HeatmapglColorbarExponentformat = "E" HeatmapglColorbarExponentformatPower HeatmapglColorbarExponentformat = "power" - HeatmapglColorbarExponentformatSi HeatmapglColorbarExponentformat = "SI" + HeatmapglColorbarExponentformatSI HeatmapglColorbarExponentformat = "SI" HeatmapglColorbarExponentformatB HeatmapglColorbarExponentformat = "B" ) @@ -722,6 +798,14 @@ const ( HeatmapglColorbarLenmodePixels HeatmapglColorbarLenmode = "pixels" ) +// HeatmapglColorbarOrientation Sets the orientation of the colorbar. +type HeatmapglColorbarOrientation string + +const ( + HeatmapglColorbarOrientationH HeatmapglColorbarOrientation = "h" + HeatmapglColorbarOrientationV HeatmapglColorbarOrientation = "v" +) + // HeatmapglColorbarShowexponent 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. type HeatmapglColorbarShowexponent string @@ -760,7 +844,16 @@ const ( HeatmapglColorbarThicknessmodePixels HeatmapglColorbarThicknessmode = "pixels" ) -// HeatmapglColorbarTicklabelposition Determines where tick labels are drawn. +// HeatmapglColorbarTicklabeloverflow 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*. +type HeatmapglColorbarTicklabeloverflow string + +const ( + HeatmapglColorbarTicklabeloverflowAllow HeatmapglColorbarTicklabeloverflow = "allow" + HeatmapglColorbarTicklabeloverflowHidePastDiv HeatmapglColorbarTicklabeloverflow = "hide past div" + HeatmapglColorbarTicklabeloverflowHidePastDomain HeatmapglColorbarTicklabeloverflow = "hide past domain" +) + +// HeatmapglColorbarTicklabelposition 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*. type HeatmapglColorbarTicklabelposition string const ( @@ -768,6 +861,10 @@ const ( HeatmapglColorbarTicklabelpositionInside HeatmapglColorbarTicklabelposition = "inside" HeatmapglColorbarTicklabelpositionOutsideTop HeatmapglColorbarTicklabelposition = "outside top" HeatmapglColorbarTicklabelpositionInsideTop HeatmapglColorbarTicklabelposition = "inside top" + HeatmapglColorbarTicklabelpositionOutsideLeft HeatmapglColorbarTicklabelposition = "outside left" + HeatmapglColorbarTicklabelpositionInsideLeft HeatmapglColorbarTicklabelposition = "inside left" + HeatmapglColorbarTicklabelpositionOutsideRight HeatmapglColorbarTicklabelposition = "outside right" + HeatmapglColorbarTicklabelpositionInsideRight HeatmapglColorbarTicklabelposition = "inside right" HeatmapglColorbarTicklabelpositionOutsideBottom HeatmapglColorbarTicklabelposition = "outside bottom" HeatmapglColorbarTicklabelpositionInsideBottom HeatmapglColorbarTicklabelposition = "inside bottom" ) @@ -790,7 +887,7 @@ const ( HeatmapglColorbarTicksEmpty HeatmapglColorbarTicks = "" ) -// HeatmapglColorbarTitleSide Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. +// HeatmapglColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. type HeatmapglColorbarTitleSide string const ( @@ -799,7 +896,7 @@ const ( HeatmapglColorbarTitleSideBottom HeatmapglColorbarTitleSide = "bottom" ) -// HeatmapglColorbarXanchor Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. +// HeatmapglColorbarXanchor 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*. type HeatmapglColorbarXanchor string const ( @@ -808,7 +905,7 @@ const ( HeatmapglColorbarXanchorRight HeatmapglColorbarXanchor = "right" ) -// HeatmapglColorbarYanchor Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. +// HeatmapglColorbarYanchor 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*. type HeatmapglColorbarYanchor string const ( diff --git a/graph_objects/histogram2d_gen.go b/generated/v2.19.0/graph_objects/histogram2d_gen.go similarity index 77% rename from graph_objects/histogram2d_gen.go rename to generated/v2.19.0/graph_objects/histogram2d_gen.go index f11a99c..163eea1 100644 --- a/graph_objects/histogram2d_gen.go +++ b/generated/v2.19.0/graph_objects/histogram2d_gen.go @@ -30,7 +30,7 @@ type Histogram2d struct { // Autocolorscale // arrayOK: false // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Bingroup @@ -52,7 +52,7 @@ type Histogram2d struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Customdata @@ -64,7 +64,7 @@ type Histogram2d struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Histfunc @@ -88,7 +88,7 @@ type Histogram2d struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -98,13 +98,13 @@ type Histogram2d struct { // Hovertemplate // arrayOK: true // 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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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. variable `z` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + // 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. variable `z` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. Hovertemplate String `json:"hovertemplate,omitempty"` // Hovertemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertemplate . + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` // Ids @@ -116,7 +116,7 @@ type Histogram2d struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` // Legendgroup @@ -125,6 +125,22 @@ type Histogram2d struct { // Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items. Legendgroup String `json:"legendgroup,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *Histogram2dLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Marker // role: Object Marker *Histogram2dMarker `json:"marker,omitempty"` @@ -138,7 +154,7 @@ type Histogram2d struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Name @@ -187,6 +203,16 @@ type Histogram2d struct { // role: Object Stream *Histogram2dStream `json:"stream,omitempty"` + // Textfont + // role: Object + Textfont *Histogram2dTextfont `json:"textfont,omitempty"` + + // Texttemplate + // arrayOK: false + // 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. variable `z` + Texttemplate String `json:"texttemplate,omitempty"` + // Transforms // It's an items array and what goes inside it's... messy... check the docs // I will be happy if you want to contribute by implementing this @@ -245,10 +271,16 @@ type Histogram2d struct { // Sets the horizontal gap (in pixels) between bricks. Xgap float64 `json:"xgap,omitempty"` + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + // Xsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for x . + // Sets the source reference on Chart Studio Cloud for `x`. Xsrc String `json:"xsrc,omitempty"` // Y @@ -285,10 +317,16 @@ type Histogram2d struct { // Sets the vertical gap (in pixels) between bricks. Ygap float64 `json:"ygap,omitempty"` + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + // Ysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for y . + // Sets the source reference on Chart Studio Cloud for `y`. Ysrc String `json:"ysrc,omitempty"` // Z @@ -300,13 +338,13 @@ type Histogram2d struct { // Zauto // arrayOK: false // type: boolean - // 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. + // 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. Zauto Bool `json:"zauto,omitempty"` // Zhoverformat // arrayOK: false // type: string - // Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. See: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format + // 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. Zhoverformat String `json:"zhoverformat,omitempty"` // Zmax @@ -336,7 +374,7 @@ type Histogram2d struct { // Zsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for z . + // Sets the source reference on Chart Studio Cloud for `z`. Zsrc String `json:"zsrc,omitempty"` } @@ -392,9 +430,9 @@ type Histogram2dColorbarTitle struct { Font *Histogram2dColorbarTitleFont `json:"font,omitempty"` // Side - // default: top + // default: %!s() // type: enumerated - // Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. Side Histogram2dColorbarTitleSide `json:"side,omitempty"` // Text @@ -437,6 +475,12 @@ type Histogram2dColorbar struct { // 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. Exponentformat Histogram2dColorbarExponentformat `json:"exponentformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Len // arrayOK: false // type: number @@ -461,6 +505,12 @@ type Histogram2dColorbar struct { // 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*. Nticks int64 `json:"nticks,omitempty"` + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation Histogram2dColorbarOrientation `json:"orientation,omitempty"` + // Outlinecolor // arrayOK: false // type: color @@ -540,7 +590,7 @@ type Histogram2dColorbar struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -549,12 +599,24 @@ type Histogram2dColorbar struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow Histogram2dColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + // Ticklabelposition // default: outside // type: enumerated - // Determines where tick labels are drawn. + // 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*. Ticklabelposition Histogram2dColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -594,7 +656,7 @@ type Histogram2dColorbar struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -606,7 +668,7 @@ type Histogram2dColorbar struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -622,13 +684,13 @@ type Histogram2dColorbar struct { // X // arrayOK: false // type: number - // Sets the x position of the color bar (in plot fraction). + // Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. X float64 `json:"x,omitempty"` // Xanchor - // default: left + // default: %!s() // type: enumerated - // Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. + // 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*. Xanchor Histogram2dColorbarXanchor `json:"xanchor,omitempty"` // Xpad @@ -640,13 +702,13 @@ type Histogram2dColorbar struct { // Y // arrayOK: false // type: number - // Sets the y position of the color bar (in plot fraction). + // Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. Y float64 `json:"y,omitempty"` // Yanchor - // default: middle + // default: %!s() // type: enumerated - // Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. + // 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*. Yanchor Histogram2dColorbarYanchor `json:"yanchor,omitempty"` // Ypad @@ -668,7 +730,7 @@ type Histogram2dHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -680,7 +742,7 @@ type Histogram2dHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -692,7 +754,7 @@ type Histogram2dHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -708,7 +770,7 @@ type Histogram2dHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -720,7 +782,7 @@ type Histogram2dHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -732,7 +794,7 @@ type Histogram2dHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -748,10 +810,46 @@ type Histogram2dHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } +// Histogram2dLegendgrouptitleFont Sets this legend group's title font. +type Histogram2dLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// Histogram2dLegendgrouptitle +type Histogram2dLegendgrouptitle struct { + + // Font + // role: Object + Font *Histogram2dLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // Histogram2dMarker type Histogram2dMarker struct { @@ -764,7 +862,7 @@ type Histogram2dMarker struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` } @@ -784,6 +882,28 @@ type Histogram2dStream struct { Token String `json:"token,omitempty"` } +// Histogram2dTextfont Sets the text font. +type Histogram2dTextfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + // Histogram2dXbins type Histogram2dXbins struct { @@ -836,7 +956,7 @@ const ( Histogram2dColorbarExponentformatE1 Histogram2dColorbarExponentformat = "e" Histogram2dColorbarExponentformatE2 Histogram2dColorbarExponentformat = "E" Histogram2dColorbarExponentformatPower Histogram2dColorbarExponentformat = "power" - Histogram2dColorbarExponentformatSi Histogram2dColorbarExponentformat = "SI" + Histogram2dColorbarExponentformatSI Histogram2dColorbarExponentformat = "SI" Histogram2dColorbarExponentformatB Histogram2dColorbarExponentformat = "B" ) @@ -848,6 +968,14 @@ const ( Histogram2dColorbarLenmodePixels Histogram2dColorbarLenmode = "pixels" ) +// Histogram2dColorbarOrientation Sets the orientation of the colorbar. +type Histogram2dColorbarOrientation string + +const ( + Histogram2dColorbarOrientationH Histogram2dColorbarOrientation = "h" + Histogram2dColorbarOrientationV Histogram2dColorbarOrientation = "v" +) + // Histogram2dColorbarShowexponent 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. type Histogram2dColorbarShowexponent string @@ -886,7 +1014,16 @@ const ( Histogram2dColorbarThicknessmodePixels Histogram2dColorbarThicknessmode = "pixels" ) -// Histogram2dColorbarTicklabelposition Determines where tick labels are drawn. +// Histogram2dColorbarTicklabeloverflow 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*. +type Histogram2dColorbarTicklabeloverflow string + +const ( + Histogram2dColorbarTicklabeloverflowAllow Histogram2dColorbarTicklabeloverflow = "allow" + Histogram2dColorbarTicklabeloverflowHidePastDiv Histogram2dColorbarTicklabeloverflow = "hide past div" + Histogram2dColorbarTicklabeloverflowHidePastDomain Histogram2dColorbarTicklabeloverflow = "hide past domain" +) + +// Histogram2dColorbarTicklabelposition 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*. type Histogram2dColorbarTicklabelposition string const ( @@ -894,6 +1031,10 @@ const ( Histogram2dColorbarTicklabelpositionInside Histogram2dColorbarTicklabelposition = "inside" Histogram2dColorbarTicklabelpositionOutsideTop Histogram2dColorbarTicklabelposition = "outside top" Histogram2dColorbarTicklabelpositionInsideTop Histogram2dColorbarTicklabelposition = "inside top" + Histogram2dColorbarTicklabelpositionOutsideLeft Histogram2dColorbarTicklabelposition = "outside left" + Histogram2dColorbarTicklabelpositionInsideLeft Histogram2dColorbarTicklabelposition = "inside left" + Histogram2dColorbarTicklabelpositionOutsideRight Histogram2dColorbarTicklabelposition = "outside right" + Histogram2dColorbarTicklabelpositionInsideRight Histogram2dColorbarTicklabelposition = "inside right" Histogram2dColorbarTicklabelpositionOutsideBottom Histogram2dColorbarTicklabelposition = "outside bottom" Histogram2dColorbarTicklabelpositionInsideBottom Histogram2dColorbarTicklabelposition = "inside bottom" ) @@ -916,7 +1057,7 @@ const ( Histogram2dColorbarTicksEmpty Histogram2dColorbarTicks = "" ) -// Histogram2dColorbarTitleSide Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. +// Histogram2dColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. type Histogram2dColorbarTitleSide string const ( @@ -925,7 +1066,7 @@ const ( Histogram2dColorbarTitleSideBottom Histogram2dColorbarTitleSide = "bottom" ) -// Histogram2dColorbarXanchor Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. +// Histogram2dColorbarXanchor 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*. type Histogram2dColorbarXanchor string const ( @@ -934,7 +1075,7 @@ const ( Histogram2dColorbarXanchorRight Histogram2dColorbarXanchor = "right" ) -// Histogram2dColorbarYanchor Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. +// Histogram2dColorbarYanchor 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*. type Histogram2dColorbarYanchor string const ( @@ -987,19 +1128,19 @@ var ( type Histogram2dXcalendar string const ( - Histogram2dXcalendarGregorian Histogram2dXcalendar = "gregorian" Histogram2dXcalendarChinese Histogram2dXcalendar = "chinese" Histogram2dXcalendarCoptic Histogram2dXcalendar = "coptic" Histogram2dXcalendarDiscworld Histogram2dXcalendar = "discworld" Histogram2dXcalendarEthiopian Histogram2dXcalendar = "ethiopian" + Histogram2dXcalendarGregorian Histogram2dXcalendar = "gregorian" Histogram2dXcalendarHebrew Histogram2dXcalendar = "hebrew" Histogram2dXcalendarIslamic Histogram2dXcalendar = "islamic" + Histogram2dXcalendarJalali Histogram2dXcalendar = "jalali" Histogram2dXcalendarJulian Histogram2dXcalendar = "julian" Histogram2dXcalendarMayan Histogram2dXcalendar = "mayan" Histogram2dXcalendarNanakshahi Histogram2dXcalendar = "nanakshahi" Histogram2dXcalendarNepali Histogram2dXcalendar = "nepali" Histogram2dXcalendarPersian Histogram2dXcalendar = "persian" - Histogram2dXcalendarJalali Histogram2dXcalendar = "jalali" Histogram2dXcalendarTaiwan Histogram2dXcalendar = "taiwan" Histogram2dXcalendarThai Histogram2dXcalendar = "thai" Histogram2dXcalendarUmmalqura Histogram2dXcalendar = "ummalqura" @@ -1009,19 +1150,19 @@ const ( type Histogram2dYcalendar string const ( - Histogram2dYcalendarGregorian Histogram2dYcalendar = "gregorian" Histogram2dYcalendarChinese Histogram2dYcalendar = "chinese" Histogram2dYcalendarCoptic Histogram2dYcalendar = "coptic" Histogram2dYcalendarDiscworld Histogram2dYcalendar = "discworld" Histogram2dYcalendarEthiopian Histogram2dYcalendar = "ethiopian" + Histogram2dYcalendarGregorian Histogram2dYcalendar = "gregorian" Histogram2dYcalendarHebrew Histogram2dYcalendar = "hebrew" Histogram2dYcalendarIslamic Histogram2dYcalendar = "islamic" + Histogram2dYcalendarJalali Histogram2dYcalendar = "jalali" Histogram2dYcalendarJulian Histogram2dYcalendar = "julian" Histogram2dYcalendarMayan Histogram2dYcalendar = "mayan" Histogram2dYcalendarNanakshahi Histogram2dYcalendar = "nanakshahi" Histogram2dYcalendarNepali Histogram2dYcalendar = "nepali" Histogram2dYcalendarPersian Histogram2dYcalendar = "persian" - Histogram2dYcalendarJalali Histogram2dYcalendar = "jalali" Histogram2dYcalendarTaiwan Histogram2dYcalendar = "taiwan" Histogram2dYcalendarThai Histogram2dYcalendar = "thai" Histogram2dYcalendarUmmalqura Histogram2dYcalendar = "ummalqura" diff --git a/graph_objects/histogram2dcontour_gen.go b/generated/v2.19.0/graph_objects/histogram2dcontour_gen.go similarity index 80% rename from graph_objects/histogram2dcontour_gen.go rename to generated/v2.19.0/graph_objects/histogram2dcontour_gen.go index d513deb..e0dd867 100644 --- a/graph_objects/histogram2dcontour_gen.go +++ b/generated/v2.19.0/graph_objects/histogram2dcontour_gen.go @@ -30,7 +30,7 @@ type Histogram2dcontour struct { // Autocolorscale // arrayOK: false // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Autocontour @@ -58,7 +58,7 @@ type Histogram2dcontour struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Contours @@ -74,7 +74,7 @@ type Histogram2dcontour struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Histfunc @@ -98,7 +98,7 @@ type Histogram2dcontour struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -108,13 +108,13 @@ type Histogram2dcontour struct { // Hovertemplate // arrayOK: true // 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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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. variable `z` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + // 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. variable `z` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. Hovertemplate String `json:"hovertemplate,omitempty"` // Hovertemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertemplate . + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` // Ids @@ -126,7 +126,7 @@ type Histogram2dcontour struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` // Legendgroup @@ -135,6 +135,22 @@ type Histogram2dcontour struct { // Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items. Legendgroup String `json:"legendgroup,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *Histogram2dcontourLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Line // role: Object Line *Histogram2dcontourLine `json:"line,omitempty"` @@ -152,7 +168,7 @@ type Histogram2dcontour struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Name @@ -207,6 +223,16 @@ type Histogram2dcontour struct { // role: Object Stream *Histogram2dcontourStream `json:"stream,omitempty"` + // Textfont + // role: Object + Textfont *Histogram2dcontourTextfont `json:"textfont,omitempty"` + + // Texttemplate + // arrayOK: false + // 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. variables `x`, `y`, `z` and `text`. + Texttemplate String `json:"texttemplate,omitempty"` + // Transforms // It's an items array and what goes inside it's... messy... check the docs // I will be happy if you want to contribute by implementing this @@ -259,10 +285,16 @@ type Histogram2dcontour struct { // Sets the calendar system to use with `x` date data. Xcalendar Histogram2dcontourXcalendar `json:"xcalendar,omitempty"` + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + // Xsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for x . + // Sets the source reference on Chart Studio Cloud for `x`. Xsrc String `json:"xsrc,omitempty"` // Y @@ -293,10 +325,16 @@ type Histogram2dcontour struct { // Sets the calendar system to use with `y` date data. Ycalendar Histogram2dcontourYcalendar `json:"ycalendar,omitempty"` + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + // Ysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for y . + // Sets the source reference on Chart Studio Cloud for `y`. Ysrc String `json:"ysrc,omitempty"` // Z @@ -308,13 +346,13 @@ type Histogram2dcontour struct { // Zauto // arrayOK: false // type: boolean - // 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. + // 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. Zauto Bool `json:"zauto,omitempty"` // Zhoverformat // arrayOK: false // type: string - // Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. See: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format + // 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. Zhoverformat String `json:"zhoverformat,omitempty"` // Zmax @@ -338,7 +376,7 @@ type Histogram2dcontour struct { // Zsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for z . + // Sets the source reference on Chart Studio Cloud for `z`. Zsrc String `json:"zsrc,omitempty"` } @@ -394,9 +432,9 @@ type Histogram2dcontourColorbarTitle struct { Font *Histogram2dcontourColorbarTitleFont `json:"font,omitempty"` // Side - // default: top + // default: %!s() // type: enumerated - // Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. Side Histogram2dcontourColorbarTitleSide `json:"side,omitempty"` // Text @@ -439,6 +477,12 @@ type Histogram2dcontourColorbar struct { // 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. Exponentformat Histogram2dcontourColorbarExponentformat `json:"exponentformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Len // arrayOK: false // type: number @@ -463,6 +507,12 @@ type Histogram2dcontourColorbar struct { // 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*. Nticks int64 `json:"nticks,omitempty"` + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation Histogram2dcontourColorbarOrientation `json:"orientation,omitempty"` + // Outlinecolor // arrayOK: false // type: color @@ -542,7 +592,7 @@ type Histogram2dcontourColorbar struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -551,12 +601,24 @@ type Histogram2dcontourColorbar struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow Histogram2dcontourColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + // Ticklabelposition // default: outside // type: enumerated - // Determines where tick labels are drawn. + // 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*. Ticklabelposition Histogram2dcontourColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -596,7 +658,7 @@ type Histogram2dcontourColorbar struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -608,7 +670,7 @@ type Histogram2dcontourColorbar struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -624,13 +686,13 @@ type Histogram2dcontourColorbar struct { // X // arrayOK: false // type: number - // Sets the x position of the color bar (in plot fraction). + // Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. X float64 `json:"x,omitempty"` // Xanchor - // default: left + // default: %!s() // type: enumerated - // Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. + // 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*. Xanchor Histogram2dcontourColorbarXanchor `json:"xanchor,omitempty"` // Xpad @@ -642,13 +704,13 @@ type Histogram2dcontourColorbar struct { // Y // arrayOK: false // type: number - // Sets the y position of the color bar (in plot fraction). + // Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. Y float64 `json:"y,omitempty"` // Yanchor - // default: middle + // default: %!s() // type: enumerated - // Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. + // 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*. Yanchor Histogram2dcontourColorbarYanchor `json:"yanchor,omitempty"` // Ypad @@ -702,7 +764,7 @@ type Histogram2dcontourContours struct { // Labelformat // arrayOK: false // type: string - // Sets the contour label formatting rule using d3 formatting mini-language which is very similar to Python, see: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format + // 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. Labelformat String `json:"labelformat,omitempty"` // Operation @@ -760,7 +822,7 @@ type Histogram2dcontourHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -772,7 +834,7 @@ type Histogram2dcontourHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -784,7 +846,7 @@ type Histogram2dcontourHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -800,7 +862,7 @@ type Histogram2dcontourHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -812,7 +874,7 @@ type Histogram2dcontourHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -824,7 +886,7 @@ type Histogram2dcontourHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -840,10 +902,46 @@ type Histogram2dcontourHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } +// Histogram2dcontourLegendgrouptitleFont Sets this legend group's title font. +type Histogram2dcontourLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// Histogram2dcontourLegendgrouptitle +type Histogram2dcontourLegendgrouptitle struct { + + // Font + // role: Object + Font *Histogram2dcontourLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // Histogram2dcontourLine type Histogram2dcontourLine struct { @@ -884,7 +982,7 @@ type Histogram2dcontourMarker struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` } @@ -904,6 +1002,28 @@ type Histogram2dcontourStream struct { Token String `json:"token,omitempty"` } +// Histogram2dcontourTextfont For this trace it only has an effect if `coloring` is set to *heatmap*. Sets the text font. +type Histogram2dcontourTextfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + // Histogram2dcontourXbins type Histogram2dcontourXbins struct { @@ -956,7 +1076,7 @@ const ( Histogram2dcontourColorbarExponentformatE1 Histogram2dcontourColorbarExponentformat = "e" Histogram2dcontourColorbarExponentformatE2 Histogram2dcontourColorbarExponentformat = "E" Histogram2dcontourColorbarExponentformatPower Histogram2dcontourColorbarExponentformat = "power" - Histogram2dcontourColorbarExponentformatSi Histogram2dcontourColorbarExponentformat = "SI" + Histogram2dcontourColorbarExponentformatSI Histogram2dcontourColorbarExponentformat = "SI" Histogram2dcontourColorbarExponentformatB Histogram2dcontourColorbarExponentformat = "B" ) @@ -968,6 +1088,14 @@ const ( Histogram2dcontourColorbarLenmodePixels Histogram2dcontourColorbarLenmode = "pixels" ) +// Histogram2dcontourColorbarOrientation Sets the orientation of the colorbar. +type Histogram2dcontourColorbarOrientation string + +const ( + Histogram2dcontourColorbarOrientationH Histogram2dcontourColorbarOrientation = "h" + Histogram2dcontourColorbarOrientationV Histogram2dcontourColorbarOrientation = "v" +) + // Histogram2dcontourColorbarShowexponent 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. type Histogram2dcontourColorbarShowexponent string @@ -1006,7 +1134,16 @@ const ( Histogram2dcontourColorbarThicknessmodePixels Histogram2dcontourColorbarThicknessmode = "pixels" ) -// Histogram2dcontourColorbarTicklabelposition Determines where tick labels are drawn. +// Histogram2dcontourColorbarTicklabeloverflow 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*. +type Histogram2dcontourColorbarTicklabeloverflow string + +const ( + Histogram2dcontourColorbarTicklabeloverflowAllow Histogram2dcontourColorbarTicklabeloverflow = "allow" + Histogram2dcontourColorbarTicklabeloverflowHidePastDiv Histogram2dcontourColorbarTicklabeloverflow = "hide past div" + Histogram2dcontourColorbarTicklabeloverflowHidePastDomain Histogram2dcontourColorbarTicklabeloverflow = "hide past domain" +) + +// Histogram2dcontourColorbarTicklabelposition 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*. type Histogram2dcontourColorbarTicklabelposition string const ( @@ -1014,6 +1151,10 @@ const ( Histogram2dcontourColorbarTicklabelpositionInside Histogram2dcontourColorbarTicklabelposition = "inside" Histogram2dcontourColorbarTicklabelpositionOutsideTop Histogram2dcontourColorbarTicklabelposition = "outside top" Histogram2dcontourColorbarTicklabelpositionInsideTop Histogram2dcontourColorbarTicklabelposition = "inside top" + Histogram2dcontourColorbarTicklabelpositionOutsideLeft Histogram2dcontourColorbarTicklabelposition = "outside left" + Histogram2dcontourColorbarTicklabelpositionInsideLeft Histogram2dcontourColorbarTicklabelposition = "inside left" + Histogram2dcontourColorbarTicklabelpositionOutsideRight Histogram2dcontourColorbarTicklabelposition = "outside right" + Histogram2dcontourColorbarTicklabelpositionInsideRight Histogram2dcontourColorbarTicklabelposition = "inside right" Histogram2dcontourColorbarTicklabelpositionOutsideBottom Histogram2dcontourColorbarTicklabelposition = "outside bottom" Histogram2dcontourColorbarTicklabelpositionInsideBottom Histogram2dcontourColorbarTicklabelposition = "inside bottom" ) @@ -1036,7 +1177,7 @@ const ( Histogram2dcontourColorbarTicksEmpty Histogram2dcontourColorbarTicks = "" ) -// Histogram2dcontourColorbarTitleSide Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. +// Histogram2dcontourColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. type Histogram2dcontourColorbarTitleSide string const ( @@ -1045,7 +1186,7 @@ const ( Histogram2dcontourColorbarTitleSideBottom Histogram2dcontourColorbarTitleSide = "bottom" ) -// Histogram2dcontourColorbarXanchor Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. +// Histogram2dcontourColorbarXanchor 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*. type Histogram2dcontourColorbarXanchor string const ( @@ -1054,7 +1195,7 @@ const ( Histogram2dcontourColorbarXanchorRight Histogram2dcontourColorbarXanchor = "right" ) -// Histogram2dcontourColorbarYanchor Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. +// Histogram2dcontourColorbarYanchor 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*. type Histogram2dcontourColorbarYanchor string const ( @@ -1144,19 +1285,19 @@ var ( type Histogram2dcontourXcalendar string const ( - Histogram2dcontourXcalendarGregorian Histogram2dcontourXcalendar = "gregorian" Histogram2dcontourXcalendarChinese Histogram2dcontourXcalendar = "chinese" Histogram2dcontourXcalendarCoptic Histogram2dcontourXcalendar = "coptic" Histogram2dcontourXcalendarDiscworld Histogram2dcontourXcalendar = "discworld" Histogram2dcontourXcalendarEthiopian Histogram2dcontourXcalendar = "ethiopian" + Histogram2dcontourXcalendarGregorian Histogram2dcontourXcalendar = "gregorian" Histogram2dcontourXcalendarHebrew Histogram2dcontourXcalendar = "hebrew" Histogram2dcontourXcalendarIslamic Histogram2dcontourXcalendar = "islamic" + Histogram2dcontourXcalendarJalali Histogram2dcontourXcalendar = "jalali" Histogram2dcontourXcalendarJulian Histogram2dcontourXcalendar = "julian" Histogram2dcontourXcalendarMayan Histogram2dcontourXcalendar = "mayan" Histogram2dcontourXcalendarNanakshahi Histogram2dcontourXcalendar = "nanakshahi" Histogram2dcontourXcalendarNepali Histogram2dcontourXcalendar = "nepali" Histogram2dcontourXcalendarPersian Histogram2dcontourXcalendar = "persian" - Histogram2dcontourXcalendarJalali Histogram2dcontourXcalendar = "jalali" Histogram2dcontourXcalendarTaiwan Histogram2dcontourXcalendar = "taiwan" Histogram2dcontourXcalendarThai Histogram2dcontourXcalendar = "thai" Histogram2dcontourXcalendarUmmalqura Histogram2dcontourXcalendar = "ummalqura" @@ -1166,19 +1307,19 @@ const ( type Histogram2dcontourYcalendar string const ( - Histogram2dcontourYcalendarGregorian Histogram2dcontourYcalendar = "gregorian" Histogram2dcontourYcalendarChinese Histogram2dcontourYcalendar = "chinese" Histogram2dcontourYcalendarCoptic Histogram2dcontourYcalendar = "coptic" Histogram2dcontourYcalendarDiscworld Histogram2dcontourYcalendar = "discworld" Histogram2dcontourYcalendarEthiopian Histogram2dcontourYcalendar = "ethiopian" + Histogram2dcontourYcalendarGregorian Histogram2dcontourYcalendar = "gregorian" Histogram2dcontourYcalendarHebrew Histogram2dcontourYcalendar = "hebrew" Histogram2dcontourYcalendarIslamic Histogram2dcontourYcalendar = "islamic" + Histogram2dcontourYcalendarJalali Histogram2dcontourYcalendar = "jalali" Histogram2dcontourYcalendarJulian Histogram2dcontourYcalendar = "julian" Histogram2dcontourYcalendarMayan Histogram2dcontourYcalendar = "mayan" Histogram2dcontourYcalendarNanakshahi Histogram2dcontourYcalendar = "nanakshahi" Histogram2dcontourYcalendarNepali Histogram2dcontourYcalendar = "nepali" Histogram2dcontourYcalendarPersian Histogram2dcontourYcalendar = "persian" - Histogram2dcontourYcalendarJalali Histogram2dcontourYcalendar = "jalali" Histogram2dcontourYcalendarTaiwan Histogram2dcontourYcalendar = "taiwan" Histogram2dcontourYcalendarThai Histogram2dcontourYcalendar = "thai" Histogram2dcontourYcalendarUmmalqura Histogram2dcontourYcalendar = "ummalqura" diff --git a/graph_objects/histogram_gen.go b/generated/v2.19.0/graph_objects/histogram_gen.go similarity index 70% rename from graph_objects/histogram_gen.go rename to generated/v2.19.0/graph_objects/histogram_gen.go index 68ac525..4695d27 100644 --- a/graph_objects/histogram_gen.go +++ b/generated/v2.19.0/graph_objects/histogram_gen.go @@ -39,6 +39,18 @@ type Histogram struct { // 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` Bingroup String `json:"bingroup,omitempty"` + // Cliponaxis + // arrayOK: false + // type: boolean + // 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*. + Cliponaxis Bool `json:"cliponaxis,omitempty"` + + // Constraintext + // default: both + // type: enumerated + // Constrain the size of text inside or outside a bar to be no larger than the bar itself. + Constraintext HistogramConstraintext `json:"constraintext,omitempty"` + // Cumulative // role: Object Cumulative *HistogramCumulative `json:"cumulative,omitempty"` @@ -52,7 +64,7 @@ type Histogram struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // ErrorX @@ -84,7 +96,7 @@ type Histogram struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -94,13 +106,13 @@ type Histogram struct { // Hovertemplate // arrayOK: true // 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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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. variable `binNumber` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + // 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. variable `binNumber` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. Hovertemplate String `json:"hovertemplate,omitempty"` // Hovertemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertemplate . + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` // Hovertext @@ -112,7 +124,7 @@ type Histogram struct { // Hovertextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertext . + // Sets the source reference on Chart Studio Cloud for `hovertext`. Hovertextsrc String `json:"hovertextsrc,omitempty"` // Ids @@ -124,15 +136,41 @@ type Histogram struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` + // Insidetextanchor + // default: end + // type: enumerated + // Determines if texts are kept at center or start/end points in `textposition` *inside* mode. + Insidetextanchor HistogramInsidetextanchor `json:"insidetextanchor,omitempty"` + + // Insidetextfont + // role: Object + Insidetextfont *HistogramInsidetextfont `json:"insidetextfont,omitempty"` + // Legendgroup // arrayOK: false // type: string // Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items. Legendgroup String `json:"legendgroup,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *HistogramLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Marker // role: Object Marker *HistogramMarker `json:"marker,omitempty"` @@ -146,7 +184,7 @@ type Histogram struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Name @@ -185,6 +223,10 @@ type Histogram struct { // Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal). Orientation HistogramOrientation `json:"orientation,omitempty"` + // Outsidetextfont + // role: Object + Outsidetextfont *HistogramOutsidetextfont `json:"outsidetextfont,omitempty"` + // Selected // role: Object Selected *HistogramSelected `json:"selected,omitempty"` @@ -211,12 +253,34 @@ type Histogram struct { // 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. Text String `json:"text,omitempty"` + // Textangle + // arrayOK: false + // 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. + Textangle float64 `json:"textangle,omitempty"` + + // Textfont + // role: Object + Textfont *HistogramTextfont `json:"textfont,omitempty"` + + // Textposition + // default: auto + // type: enumerated + // 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. + Textposition HistogramTextposition `json:"textposition,omitempty"` + // Textsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for text . + // Sets the source reference on Chart Studio Cloud for `text`. Textsrc String `json:"textsrc,omitempty"` + // Texttemplate + // arrayOK: false + // 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. variables `label` and `value`. + Texttemplate String `json:"texttemplate,omitempty"` + // Transforms // It's an items array and what goes inside it's... messy... check the docs // I will be happy if you want to contribute by implementing this @@ -267,10 +331,16 @@ type Histogram struct { // Sets the calendar system to use with `x` date data. Xcalendar HistogramXcalendar `json:"xcalendar,omitempty"` + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + // Xsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for x . + // Sets the source reference on Chart Studio Cloud for `x`. Xsrc String `json:"xsrc,omitempty"` // Y @@ -295,10 +365,16 @@ type Histogram struct { // Sets the calendar system to use with `y` date data. Ycalendar HistogramYcalendar `json:"ycalendar,omitempty"` + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + // Ysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for y . + // Sets the source reference on Chart Studio Cloud for `y`. Ysrc String `json:"ysrc,omitempty"` } @@ -342,13 +418,13 @@ type HistogramErrorX struct { // Arrayminussrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for arrayminus . + // Sets the source reference on Chart Studio Cloud for `arrayminus`. Arrayminussrc String `json:"arrayminussrc,omitempty"` // Arraysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for array . + // Sets the source reference on Chart Studio Cloud for `array`. Arraysrc String `json:"arraysrc,omitempty"` // Color @@ -436,13 +512,13 @@ type HistogramErrorY struct { // Arrayminussrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for arrayminus . + // Sets the source reference on Chart Studio Cloud for `arrayminus`. Arrayminussrc String `json:"arrayminussrc,omitempty"` // Arraysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for array . + // Sets the source reference on Chart Studio Cloud for `array`. Arraysrc String `json:"arraysrc,omitempty"` // Color @@ -518,7 +594,7 @@ type HistogramHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -530,7 +606,7 @@ type HistogramHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -542,7 +618,7 @@ type HistogramHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -558,7 +634,7 @@ type HistogramHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -570,7 +646,7 @@ type HistogramHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -582,7 +658,7 @@ type HistogramHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -598,10 +674,68 @@ type HistogramHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } +// HistogramInsidetextfont Sets the font used for `text` lying inside the bar. +type HistogramInsidetextfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// HistogramLegendgrouptitleFont Sets this legend group's title font. +type HistogramLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// HistogramLegendgrouptitle +type HistogramLegendgrouptitle struct { + + // Font + // role: Object + Font *HistogramLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // HistogramMarkerColorbarTickfont Sets the color bar's tick label font type HistogramMarkerColorbarTickfont struct { @@ -654,9 +788,9 @@ type HistogramMarkerColorbarTitle struct { Font *HistogramMarkerColorbarTitleFont `json:"font,omitempty"` // Side - // default: top + // default: %!s() // type: enumerated - // Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. Side HistogramMarkerColorbarTitleSide `json:"side,omitempty"` // Text @@ -699,6 +833,12 @@ type HistogramMarkerColorbar struct { // 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. Exponentformat HistogramMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Len // arrayOK: false // type: number @@ -723,6 +863,12 @@ type HistogramMarkerColorbar struct { // 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*. Nticks int64 `json:"nticks,omitempty"` + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation HistogramMarkerColorbarOrientation `json:"orientation,omitempty"` + // Outlinecolor // arrayOK: false // type: color @@ -802,7 +948,7 @@ type HistogramMarkerColorbar struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -811,12 +957,24 @@ type HistogramMarkerColorbar struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow HistogramMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + // Ticklabelposition // default: outside // type: enumerated - // Determines where tick labels are drawn. + // 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*. Ticklabelposition HistogramMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -856,7 +1014,7 @@ type HistogramMarkerColorbar struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -868,7 +1026,7 @@ type HistogramMarkerColorbar struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -884,13 +1042,13 @@ type HistogramMarkerColorbar struct { // X // arrayOK: false // type: number - // Sets the x position of the color bar (in plot fraction). + // Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. X float64 `json:"x,omitempty"` // Xanchor - // default: left + // default: %!s() // type: enumerated - // Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. + // 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*. Xanchor HistogramMarkerColorbarXanchor `json:"xanchor,omitempty"` // Xpad @@ -902,13 +1060,13 @@ type HistogramMarkerColorbar struct { // Y // arrayOK: false // type: number - // Sets the y position of the color bar (in plot fraction). + // Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. Y float64 `json:"y,omitempty"` // Yanchor - // default: middle + // default: %!s() // type: enumerated - // Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. + // 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*. Yanchor HistogramMarkerColorbarYanchor `json:"yanchor,omitempty"` // Ypad @@ -924,37 +1082,37 @@ type HistogramMarkerLine struct { // Autocolorscale // arrayOK: false // type: boolean - // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Cauto // arrayOK: false // type: boolean - // 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. + // 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. Cauto Bool `json:"cauto,omitempty"` // Cmax // arrayOK: false // 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. + // 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. Cmax float64 `json:"cmax,omitempty"` // Cmid // arrayOK: false // 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`. + // 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`. Cmid float64 `json:"cmid,omitempty"` // Cmin // arrayOK: false // 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. + // 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. Cmin float64 `json:"cmin,omitempty"` // Color // arrayOK: true // type: color - // Sets themarker.linecolor. 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. + // 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. Color Color `json:"color,omitempty"` // Coloraxis @@ -966,19 +1124,19 @@ type HistogramMarkerLine struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Reversescale // arrayOK: false // 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. + // 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. Reversescale Bool `json:"reversescale,omitempty"` // Width @@ -990,47 +1148,123 @@ type HistogramMarkerLine struct { // Widthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for width . + // Sets the source reference on Chart Studio Cloud for `width`. Widthsrc String `json:"widthsrc,omitempty"` } +// HistogramMarkerPattern Sets the pattern within the marker. +type HistogramMarkerPattern struct { + + // Bgcolor + // arrayOK: true + // type: color + // 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. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Fgcolor + // arrayOK: true + // type: color + // 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`. + Fgcolor Color `json:"fgcolor,omitempty"` + + // Fgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `fgcolor`. + Fgcolorsrc String `json:"fgcolorsrc,omitempty"` + + // Fgopacity + // arrayOK: false + // type: number + // Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1. + Fgopacity float64 `json:"fgopacity,omitempty"` + + // Fillmode + // default: replace + // type: enumerated + // Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. + Fillmode HistogramMarkerPatternFillmode `json:"fillmode,omitempty"` + + // Shape + // default: + // type: enumerated + // Sets the shape of the pattern fill. By default, no pattern is used for filling the area. + Shape HistogramMarkerPatternShape `json:"shape,omitempty"` + + // Shapesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `shape`. + Shapesrc String `json:"shapesrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Solidity + // arrayOK: true + // type: number + // 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. + Solidity float64 `json:"solidity,omitempty"` + + // Soliditysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `solidity`. + Soliditysrc String `json:"soliditysrc,omitempty"` +} + // HistogramMarker type HistogramMarker struct { // Autocolorscale // arrayOK: false // type: boolean - // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Cauto // arrayOK: false // type: boolean - // 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. + // 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. Cauto Bool `json:"cauto,omitempty"` // Cmax // arrayOK: false // 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. + // 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. Cmax float64 `json:"cmax,omitempty"` // Cmid // arrayOK: false // 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`. + // 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`. Cmid float64 `json:"cmid,omitempty"` // Cmin // arrayOK: false // 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. + // 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. Cmin float64 `json:"cmin,omitempty"` // Color // arrayOK: true // type: color - // Sets themarkercolor. 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. + // 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. Color Color `json:"color,omitempty"` // Coloraxis @@ -1046,13 +1280,13 @@ type HistogramMarker struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Line @@ -1068,22 +1302,48 @@ type HistogramMarker struct { // Opacitysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for opacity . + // Sets the source reference on Chart Studio Cloud for `opacity`. Opacitysrc String `json:"opacitysrc,omitempty"` + // Pattern + // role: Object + Pattern *HistogramMarkerPattern `json:"pattern,omitempty"` + // Reversescale // arrayOK: false // 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. + // 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. Reversescale Bool `json:"reversescale,omitempty"` // Showscale // arrayOK: false // 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. + // 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. Showscale Bool `json:"showscale,omitempty"` } +// HistogramOutsidetextfont Sets the font used for `text` lying outside the bar. +type HistogramOutsidetextfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + // HistogramSelectedMarker type HistogramSelectedMarker struct { @@ -1138,6 +1398,28 @@ type HistogramStream struct { Token String `json:"token,omitempty"` } +// HistogramTextfont Sets the text font. +type HistogramTextfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + // HistogramUnselectedMarker type HistogramUnselectedMarker struct { @@ -1220,6 +1502,16 @@ type HistogramYbins struct { Start interface{} `json:"start,omitempty"` } +// HistogramConstraintext Constrain the size of text inside or outside a bar to be no larger than the bar itself. +type HistogramConstraintext string + +const ( + HistogramConstraintextInside HistogramConstraintext = "inside" + HistogramConstraintextOutside HistogramConstraintext = "outside" + HistogramConstraintextBoth HistogramConstraintext = "both" + HistogramConstraintextNone HistogramConstraintext = "none" +) + // HistogramCumulativeCurrentbin 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. type HistogramCumulativeCurrentbin string @@ -1288,6 +1580,15 @@ const ( HistogramHoverlabelAlignAuto HistogramHoverlabelAlign = "auto" ) +// HistogramInsidetextanchor Determines if texts are kept at center or start/end points in `textposition` *inside* mode. +type HistogramInsidetextanchor string + +const ( + HistogramInsidetextanchorEnd HistogramInsidetextanchor = "end" + HistogramInsidetextanchorMiddle HistogramInsidetextanchor = "middle" + HistogramInsidetextanchorStart HistogramInsidetextanchor = "start" +) + // HistogramMarkerColorbarExponentformat 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. type HistogramMarkerColorbarExponentformat string @@ -1296,7 +1597,7 @@ const ( HistogramMarkerColorbarExponentformatE1 HistogramMarkerColorbarExponentformat = "e" HistogramMarkerColorbarExponentformatE2 HistogramMarkerColorbarExponentformat = "E" HistogramMarkerColorbarExponentformatPower HistogramMarkerColorbarExponentformat = "power" - HistogramMarkerColorbarExponentformatSi HistogramMarkerColorbarExponentformat = "SI" + HistogramMarkerColorbarExponentformatSI HistogramMarkerColorbarExponentformat = "SI" HistogramMarkerColorbarExponentformatB HistogramMarkerColorbarExponentformat = "B" ) @@ -1308,6 +1609,14 @@ const ( HistogramMarkerColorbarLenmodePixels HistogramMarkerColorbarLenmode = "pixels" ) +// HistogramMarkerColorbarOrientation Sets the orientation of the colorbar. +type HistogramMarkerColorbarOrientation string + +const ( + HistogramMarkerColorbarOrientationH HistogramMarkerColorbarOrientation = "h" + HistogramMarkerColorbarOrientationV HistogramMarkerColorbarOrientation = "v" +) + // HistogramMarkerColorbarShowexponent 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. type HistogramMarkerColorbarShowexponent string @@ -1346,7 +1655,16 @@ const ( HistogramMarkerColorbarThicknessmodePixels HistogramMarkerColorbarThicknessmode = "pixels" ) -// HistogramMarkerColorbarTicklabelposition Determines where tick labels are drawn. +// HistogramMarkerColorbarTicklabeloverflow 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*. +type HistogramMarkerColorbarTicklabeloverflow string + +const ( + HistogramMarkerColorbarTicklabeloverflowAllow HistogramMarkerColorbarTicklabeloverflow = "allow" + HistogramMarkerColorbarTicklabeloverflowHidePastDiv HistogramMarkerColorbarTicklabeloverflow = "hide past div" + HistogramMarkerColorbarTicklabeloverflowHidePastDomain HistogramMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// HistogramMarkerColorbarTicklabelposition 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*. type HistogramMarkerColorbarTicklabelposition string const ( @@ -1354,6 +1672,10 @@ const ( HistogramMarkerColorbarTicklabelpositionInside HistogramMarkerColorbarTicklabelposition = "inside" HistogramMarkerColorbarTicklabelpositionOutsideTop HistogramMarkerColorbarTicklabelposition = "outside top" HistogramMarkerColorbarTicklabelpositionInsideTop HistogramMarkerColorbarTicklabelposition = "inside top" + HistogramMarkerColorbarTicklabelpositionOutsideLeft HistogramMarkerColorbarTicklabelposition = "outside left" + HistogramMarkerColorbarTicklabelpositionInsideLeft HistogramMarkerColorbarTicklabelposition = "inside left" + HistogramMarkerColorbarTicklabelpositionOutsideRight HistogramMarkerColorbarTicklabelposition = "outside right" + HistogramMarkerColorbarTicklabelpositionInsideRight HistogramMarkerColorbarTicklabelposition = "inside right" HistogramMarkerColorbarTicklabelpositionOutsideBottom HistogramMarkerColorbarTicklabelposition = "outside bottom" HistogramMarkerColorbarTicklabelpositionInsideBottom HistogramMarkerColorbarTicklabelposition = "inside bottom" ) @@ -1376,7 +1698,7 @@ const ( HistogramMarkerColorbarTicksEmpty HistogramMarkerColorbarTicks = "" ) -// HistogramMarkerColorbarTitleSide Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. +// HistogramMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. type HistogramMarkerColorbarTitleSide string const ( @@ -1385,7 +1707,7 @@ const ( HistogramMarkerColorbarTitleSideBottom HistogramMarkerColorbarTitleSide = "bottom" ) -// HistogramMarkerColorbarXanchor Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. +// HistogramMarkerColorbarXanchor 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*. type HistogramMarkerColorbarXanchor string const ( @@ -1394,7 +1716,7 @@ const ( HistogramMarkerColorbarXanchorRight HistogramMarkerColorbarXanchor = "right" ) -// HistogramMarkerColorbarYanchor Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. +// HistogramMarkerColorbarYanchor 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*. type HistogramMarkerColorbarYanchor string const ( @@ -1403,6 +1725,28 @@ const ( HistogramMarkerColorbarYanchorBottom HistogramMarkerColorbarYanchor = "bottom" ) +// HistogramMarkerPatternFillmode Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. +type HistogramMarkerPatternFillmode string + +const ( + HistogramMarkerPatternFillmodeReplace HistogramMarkerPatternFillmode = "replace" + HistogramMarkerPatternFillmodeOverlay HistogramMarkerPatternFillmode = "overlay" +) + +// HistogramMarkerPatternShape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. +type HistogramMarkerPatternShape string + +const ( + HistogramMarkerPatternShapeEmpty HistogramMarkerPatternShape = "" + HistogramMarkerPatternShapeSlash HistogramMarkerPatternShape = "/" + HistogramMarkerPatternShapeDoublebackslash HistogramMarkerPatternShape = "\\" + HistogramMarkerPatternShapeX HistogramMarkerPatternShape = "x" + HistogramMarkerPatternShapeHyphenHyphen HistogramMarkerPatternShape = "-" + HistogramMarkerPatternShapeOr HistogramMarkerPatternShape = "|" + HistogramMarkerPatternShapePlus HistogramMarkerPatternShape = "+" + HistogramMarkerPatternShapeDot HistogramMarkerPatternShape = "." +) + // HistogramOrientation Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal). type HistogramOrientation string @@ -1411,6 +1755,16 @@ const ( HistogramOrientationH HistogramOrientation = "h" ) +// HistogramTextposition 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. +type HistogramTextposition string + +const ( + HistogramTextpositionInside HistogramTextposition = "inside" + HistogramTextpositionOutside HistogramTextposition = "outside" + HistogramTextpositionAuto HistogramTextposition = "auto" + HistogramTextpositionNone HistogramTextposition = "none" +) + // HistogramVisible 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). type HistogramVisible interface{} @@ -1424,19 +1778,19 @@ var ( type HistogramXcalendar string const ( - HistogramXcalendarGregorian HistogramXcalendar = "gregorian" HistogramXcalendarChinese HistogramXcalendar = "chinese" HistogramXcalendarCoptic HistogramXcalendar = "coptic" HistogramXcalendarDiscworld HistogramXcalendar = "discworld" HistogramXcalendarEthiopian HistogramXcalendar = "ethiopian" + HistogramXcalendarGregorian HistogramXcalendar = "gregorian" HistogramXcalendarHebrew HistogramXcalendar = "hebrew" HistogramXcalendarIslamic HistogramXcalendar = "islamic" + HistogramXcalendarJalali HistogramXcalendar = "jalali" HistogramXcalendarJulian HistogramXcalendar = "julian" HistogramXcalendarMayan HistogramXcalendar = "mayan" HistogramXcalendarNanakshahi HistogramXcalendar = "nanakshahi" HistogramXcalendarNepali HistogramXcalendar = "nepali" HistogramXcalendarPersian HistogramXcalendar = "persian" - HistogramXcalendarJalali HistogramXcalendar = "jalali" HistogramXcalendarTaiwan HistogramXcalendar = "taiwan" HistogramXcalendarThai HistogramXcalendar = "thai" HistogramXcalendarUmmalqura HistogramXcalendar = "ummalqura" @@ -1446,19 +1800,19 @@ const ( type HistogramYcalendar string const ( - HistogramYcalendarGregorian HistogramYcalendar = "gregorian" HistogramYcalendarChinese HistogramYcalendar = "chinese" HistogramYcalendarCoptic HistogramYcalendar = "coptic" HistogramYcalendarDiscworld HistogramYcalendar = "discworld" HistogramYcalendarEthiopian HistogramYcalendar = "ethiopian" + HistogramYcalendarGregorian HistogramYcalendar = "gregorian" HistogramYcalendarHebrew HistogramYcalendar = "hebrew" HistogramYcalendarIslamic HistogramYcalendar = "islamic" + HistogramYcalendarJalali HistogramYcalendar = "jalali" HistogramYcalendarJulian HistogramYcalendar = "julian" HistogramYcalendarMayan HistogramYcalendar = "mayan" HistogramYcalendarNanakshahi HistogramYcalendar = "nanakshahi" HistogramYcalendarNepali HistogramYcalendar = "nepali" HistogramYcalendarPersian HistogramYcalendar = "persian" - HistogramYcalendarJalali HistogramYcalendar = "jalali" HistogramYcalendarTaiwan HistogramYcalendar = "taiwan" HistogramYcalendarThai HistogramYcalendar = "thai" HistogramYcalendarUmmalqura HistogramYcalendar = "ummalqura" diff --git a/generated/v2.19.0/graph_objects/icicle_gen.go b/generated/v2.19.0/graph_objects/icicle_gen.go new file mode 100644 index 0000000..0fd2b6a --- /dev/null +++ b/generated/v2.19.0/graph_objects/icicle_gen.go @@ -0,0 +1,1408 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeIcicle TraceType = "icicle" + +func (trace *Icicle) GetType() TraceType { + return TraceTypeIcicle +} + +// Icicle 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*. +type Icicle struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Branchvalues + // default: remainder + // type: enumerated + // 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. + Branchvalues IcicleBranchvalues `json:"branchvalues,omitempty"` + + // Count + // default: leaves + // type: flaglist + // Determines default for `values` when it is not provided, by inferring a 1 for each of the *leaves* and/or *branches*, otherwise 0. + Count IcicleCount `json:"count,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Domain + // role: Object + Domain *IcicleDomain `json:"domain,omitempty"` + + // Hoverinfo + // default: label+text+value+name + // type: flaglist + // 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. + Hoverinfo IcicleHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *IcicleHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. variables `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry` and `percentParent`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Insidetextfont + // role: Object + Insidetextfont *IcicleInsidetextfont `json:"insidetextfont,omitempty"` + + // Labels + // arrayOK: false + // type: data_array + // Sets the labels of each of the sectors. + Labels interface{} `json:"labels,omitempty"` + + // Labelssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `labels`. + Labelssrc String `json:"labelssrc,omitempty"` + + // Leaf + // role: Object + Leaf *IcicleLeaf `json:"leaf,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *IcicleLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Level + // arrayOK: false + // type: any + // 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`. + Level interface{} `json:"level,omitempty"` + + // Marker + // role: Object + Marker *IcicleMarker `json:"marker,omitempty"` + + // Maxdepth + // arrayOK: false + // type: integer + // Sets the number of rendered sectors from any given `level`. Set `maxdepth` to *-1* to render all the levels in the hierarchy. + Maxdepth int64 `json:"maxdepth,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appear as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Outsidetextfont + // role: Object + Outsidetextfont *IcicleOutsidetextfont `json:"outsidetextfont,omitempty"` + + // Parents + // arrayOK: false + // 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. + Parents interface{} `json:"parents,omitempty"` + + // Parentssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `parents`. + Parentssrc String `json:"parentssrc,omitempty"` + + // Pathbar + // role: Object + Pathbar *IciclePathbar `json:"pathbar,omitempty"` + + // Root + // role: Object + Root *IcicleRoot `json:"root,omitempty"` + + // Sort + // arrayOK: false + // type: boolean + // Determines whether or not the sectors are reordered from largest to smallest. + Sort Bool `json:"sort,omitempty"` + + // Stream + // role: Object + Stream *IcicleStream `json:"stream,omitempty"` + + // Text + // arrayOK: false + // 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. + Text interface{} `json:"text,omitempty"` + + // Textfont + // role: Object + Textfont *IcicleTextfont `json:"textfont,omitempty"` + + // Textinfo + // default: %!s() + // type: flaglist + // Determines which trace information appear on the graph. + Textinfo IcicleTextinfo `json:"textinfo,omitempty"` + + // Textposition + // default: top left + // type: enumerated + // Sets the positions of the `text` elements. + Textposition IcicleTextposition `json:"textposition,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: true + // 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. variables `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry`, `percentParent`, `label` and `value`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Texttemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `texttemplate`. + Texttemplatesrc String `json:"texttemplatesrc,omitempty"` + + // Tiling + // role: Object + Tiling *IcicleTiling `json:"tiling,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Values + // arrayOK: false + // type: data_array + // Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed. + Values interface{} `json:"values,omitempty"` + + // Valuessrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `values`. + Valuessrc String `json:"valuessrc,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible IcicleVisible `json:"visible,omitempty"` +} + +// IcicleDomain +type IcicleDomain struct { + + // Column + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this column in the grid for this icicle trace . + Column int64 `json:"column,omitempty"` + + // Row + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this row in the grid for this icicle trace . + Row int64 `json:"row,omitempty"` + + // X + // arrayOK: false + // type: info_array + // Sets the horizontal domain of this icicle trace (in plot fraction). + X interface{} `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: info_array + // Sets the vertical domain of this icicle trace (in plot fraction). + Y interface{} `json:"y,omitempty"` +} + +// IcicleHoverlabelFont Sets the font used in hover labels. +type IcicleHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// IcicleHoverlabel +type IcicleHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align IcicleHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *IcicleHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// IcicleInsidetextfont Sets the font used for `textinfo` lying inside the sector. +type IcicleInsidetextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// IcicleLeaf +type IcicleLeaf struct { + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the leaves. With colorscale it is defaulted to 1; otherwise it is defaulted to 0.7 + Opacity float64 `json:"opacity,omitempty"` +} + +// IcicleLegendgrouptitleFont Sets this legend group's title font. +type IcicleLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// IcicleLegendgrouptitle +type IcicleLegendgrouptitle struct { + + // Font + // role: Object + Font *IcicleLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// IcicleMarkerColorbarTickfont Sets the color bar's tick label font +type IcicleMarkerColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// IcicleMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type IcicleMarkerColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// IcicleMarkerColorbarTitle +type IcicleMarkerColorbarTitle struct { + + // Font + // role: Object + Font *IcicleMarkerColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side IcicleMarkerColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// IcicleMarkerColorbar +type IcicleMarkerColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat IcicleMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode IcicleMarkerColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation IcicleMarkerColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent IcicleMarkerColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix IcicleMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix IcicleMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode IcicleMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *IcicleMarkerColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow IcicleMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition IcicleMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode IcicleMarkerColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks IcicleMarkerColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *IcicleMarkerColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // type: number + // Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor IcicleMarkerColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Y + // arrayOK: false + // type: number + // Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor IcicleMarkerColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` +} + +// IcicleMarkerLine +type IcicleMarkerLine struct { + + // Color + // arrayOK: true + // type: color + // Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the line enclosing each sector. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// IcicleMarker +type IcicleMarker struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *IcicleMarkerColorbar `json:"colorbar,omitempty"` + + // Colors + // arrayOK: false + // 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. + Colors interface{} `json:"colors,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `colors`. + Colorssrc String `json:"colorssrc,omitempty"` + + // Line + // role: Object + Line *IcicleMarkerLine `json:"line,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` +} + +// IcicleOutsidetextfont 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. +type IcicleOutsidetextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// IciclePathbarTextfont Sets the font used inside `pathbar`. +type IciclePathbarTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// IciclePathbar +type IciclePathbar struct { + + // Edgeshape + // default: > + // type: enumerated + // Determines which shape is used for edges between `barpath` labels. + Edgeshape IciclePathbarEdgeshape `json:"edgeshape,omitempty"` + + // Side + // default: top + // type: enumerated + // Determines on which side of the the treemap the `pathbar` should be presented. + Side IciclePathbarSide `json:"side,omitempty"` + + // Textfont + // role: Object + Textfont *IciclePathbarTextfont `json:"textfont,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of `pathbar` (in px). If not specified the `pathbar.textfont.size` is used with 3 pixles extra padding on each side. + Thickness float64 `json:"thickness,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Determines if the path bar is drawn i.e. outside the trace `domain` and with one pixel gap. + Visible Bool `json:"visible,omitempty"` +} + +// IcicleRoot +type IcicleRoot struct { + + // Color + // arrayOK: false + // type: color + // 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. + Color Color `json:"color,omitempty"` +} + +// IcicleStream +type IcicleStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// IcicleTextfont Sets the font used for `textinfo`. +type IcicleTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// IcicleTiling +type IcicleTiling struct { + + // Flip + // default: + // type: flaglist + // Determines if the positions obtained from solver are flipped on each axis. + Flip IcicleTilingFlip `json:"flip,omitempty"` + + // Orientation + // default: h + // type: enumerated + // 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. + Orientation IcicleTilingOrientation `json:"orientation,omitempty"` + + // Pad + // arrayOK: false + // type: number + // Sets the inner padding (in px). + Pad float64 `json:"pad,omitempty"` +} + +// IcicleBranchvalues 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. +type IcicleBranchvalues string + +const ( + IcicleBranchvaluesRemainder IcicleBranchvalues = "remainder" + IcicleBranchvaluesTotal IcicleBranchvalues = "total" +) + +// IcicleHoverlabelAlign 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 +type IcicleHoverlabelAlign string + +const ( + IcicleHoverlabelAlignLeft IcicleHoverlabelAlign = "left" + IcicleHoverlabelAlignRight IcicleHoverlabelAlign = "right" + IcicleHoverlabelAlignAuto IcicleHoverlabelAlign = "auto" +) + +// IcicleMarkerColorbarExponentformat 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. +type IcicleMarkerColorbarExponentformat string + +const ( + IcicleMarkerColorbarExponentformatNone IcicleMarkerColorbarExponentformat = "none" + IcicleMarkerColorbarExponentformatE1 IcicleMarkerColorbarExponentformat = "e" + IcicleMarkerColorbarExponentformatE2 IcicleMarkerColorbarExponentformat = "E" + IcicleMarkerColorbarExponentformatPower IcicleMarkerColorbarExponentformat = "power" + IcicleMarkerColorbarExponentformatSI IcicleMarkerColorbarExponentformat = "SI" + IcicleMarkerColorbarExponentformatB IcicleMarkerColorbarExponentformat = "B" +) + +// IcicleMarkerColorbarLenmode 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. +type IcicleMarkerColorbarLenmode string + +const ( + IcicleMarkerColorbarLenmodeFraction IcicleMarkerColorbarLenmode = "fraction" + IcicleMarkerColorbarLenmodePixels IcicleMarkerColorbarLenmode = "pixels" +) + +// IcicleMarkerColorbarOrientation Sets the orientation of the colorbar. +type IcicleMarkerColorbarOrientation string + +const ( + IcicleMarkerColorbarOrientationH IcicleMarkerColorbarOrientation = "h" + IcicleMarkerColorbarOrientationV IcicleMarkerColorbarOrientation = "v" +) + +// IcicleMarkerColorbarShowexponent 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. +type IcicleMarkerColorbarShowexponent string + +const ( + IcicleMarkerColorbarShowexponentAll IcicleMarkerColorbarShowexponent = "all" + IcicleMarkerColorbarShowexponentFirst IcicleMarkerColorbarShowexponent = "first" + IcicleMarkerColorbarShowexponentLast IcicleMarkerColorbarShowexponent = "last" + IcicleMarkerColorbarShowexponentNone IcicleMarkerColorbarShowexponent = "none" +) + +// IcicleMarkerColorbarShowtickprefix 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. +type IcicleMarkerColorbarShowtickprefix string + +const ( + IcicleMarkerColorbarShowtickprefixAll IcicleMarkerColorbarShowtickprefix = "all" + IcicleMarkerColorbarShowtickprefixFirst IcicleMarkerColorbarShowtickprefix = "first" + IcicleMarkerColorbarShowtickprefixLast IcicleMarkerColorbarShowtickprefix = "last" + IcicleMarkerColorbarShowtickprefixNone IcicleMarkerColorbarShowtickprefix = "none" +) + +// IcicleMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type IcicleMarkerColorbarShowticksuffix string + +const ( + IcicleMarkerColorbarShowticksuffixAll IcicleMarkerColorbarShowticksuffix = "all" + IcicleMarkerColorbarShowticksuffixFirst IcicleMarkerColorbarShowticksuffix = "first" + IcicleMarkerColorbarShowticksuffixLast IcicleMarkerColorbarShowticksuffix = "last" + IcicleMarkerColorbarShowticksuffixNone IcicleMarkerColorbarShowticksuffix = "none" +) + +// IcicleMarkerColorbarThicknessmode 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. +type IcicleMarkerColorbarThicknessmode string + +const ( + IcicleMarkerColorbarThicknessmodeFraction IcicleMarkerColorbarThicknessmode = "fraction" + IcicleMarkerColorbarThicknessmodePixels IcicleMarkerColorbarThicknessmode = "pixels" +) + +// IcicleMarkerColorbarTicklabeloverflow 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*. +type IcicleMarkerColorbarTicklabeloverflow string + +const ( + IcicleMarkerColorbarTicklabeloverflowAllow IcicleMarkerColorbarTicklabeloverflow = "allow" + IcicleMarkerColorbarTicklabeloverflowHidePastDiv IcicleMarkerColorbarTicklabeloverflow = "hide past div" + IcicleMarkerColorbarTicklabeloverflowHidePastDomain IcicleMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// IcicleMarkerColorbarTicklabelposition 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*. +type IcicleMarkerColorbarTicklabelposition string + +const ( + IcicleMarkerColorbarTicklabelpositionOutside IcicleMarkerColorbarTicklabelposition = "outside" + IcicleMarkerColorbarTicklabelpositionInside IcicleMarkerColorbarTicklabelposition = "inside" + IcicleMarkerColorbarTicklabelpositionOutsideTop IcicleMarkerColorbarTicklabelposition = "outside top" + IcicleMarkerColorbarTicklabelpositionInsideTop IcicleMarkerColorbarTicklabelposition = "inside top" + IcicleMarkerColorbarTicklabelpositionOutsideLeft IcicleMarkerColorbarTicklabelposition = "outside left" + IcicleMarkerColorbarTicklabelpositionInsideLeft IcicleMarkerColorbarTicklabelposition = "inside left" + IcicleMarkerColorbarTicklabelpositionOutsideRight IcicleMarkerColorbarTicklabelposition = "outside right" + IcicleMarkerColorbarTicklabelpositionInsideRight IcicleMarkerColorbarTicklabelposition = "inside right" + IcicleMarkerColorbarTicklabelpositionOutsideBottom IcicleMarkerColorbarTicklabelposition = "outside bottom" + IcicleMarkerColorbarTicklabelpositionInsideBottom IcicleMarkerColorbarTicklabelposition = "inside bottom" +) + +// IcicleMarkerColorbarTickmode 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). +type IcicleMarkerColorbarTickmode string + +const ( + IcicleMarkerColorbarTickmodeAuto IcicleMarkerColorbarTickmode = "auto" + IcicleMarkerColorbarTickmodeLinear IcicleMarkerColorbarTickmode = "linear" + IcicleMarkerColorbarTickmodeArray IcicleMarkerColorbarTickmode = "array" +) + +// IcicleMarkerColorbarTicks 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. +type IcicleMarkerColorbarTicks string + +const ( + IcicleMarkerColorbarTicksOutside IcicleMarkerColorbarTicks = "outside" + IcicleMarkerColorbarTicksInside IcicleMarkerColorbarTicks = "inside" + IcicleMarkerColorbarTicksEmpty IcicleMarkerColorbarTicks = "" +) + +// IcicleMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type IcicleMarkerColorbarTitleSide string + +const ( + IcicleMarkerColorbarTitleSideRight IcicleMarkerColorbarTitleSide = "right" + IcicleMarkerColorbarTitleSideTop IcicleMarkerColorbarTitleSide = "top" + IcicleMarkerColorbarTitleSideBottom IcicleMarkerColorbarTitleSide = "bottom" +) + +// IcicleMarkerColorbarXanchor 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*. +type IcicleMarkerColorbarXanchor string + +const ( + IcicleMarkerColorbarXanchorLeft IcicleMarkerColorbarXanchor = "left" + IcicleMarkerColorbarXanchorCenter IcicleMarkerColorbarXanchor = "center" + IcicleMarkerColorbarXanchorRight IcicleMarkerColorbarXanchor = "right" +) + +// IcicleMarkerColorbarYanchor 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*. +type IcicleMarkerColorbarYanchor string + +const ( + IcicleMarkerColorbarYanchorTop IcicleMarkerColorbarYanchor = "top" + IcicleMarkerColorbarYanchorMiddle IcicleMarkerColorbarYanchor = "middle" + IcicleMarkerColorbarYanchorBottom IcicleMarkerColorbarYanchor = "bottom" +) + +// IciclePathbarEdgeshape Determines which shape is used for edges between `barpath` labels. +type IciclePathbarEdgeshape string + +const ( + IciclePathbarEdgeshapeGt IciclePathbarEdgeshape = ">" + IciclePathbarEdgeshapeLt IciclePathbarEdgeshape = "<" + IciclePathbarEdgeshapeOr IciclePathbarEdgeshape = "|" + IciclePathbarEdgeshapeSlash IciclePathbarEdgeshape = "/" + IciclePathbarEdgeshapeDoublebackslash IciclePathbarEdgeshape = "\\" +) + +// IciclePathbarSide Determines on which side of the the treemap the `pathbar` should be presented. +type IciclePathbarSide string + +const ( + IciclePathbarSideTop IciclePathbarSide = "top" + IciclePathbarSideBottom IciclePathbarSide = "bottom" +) + +// IcicleTextposition Sets the positions of the `text` elements. +type IcicleTextposition string + +const ( + IcicleTextpositionTopLeft IcicleTextposition = "top left" + IcicleTextpositionTopCenter IcicleTextposition = "top center" + IcicleTextpositionTopRight IcicleTextposition = "top right" + IcicleTextpositionMiddleLeft IcicleTextposition = "middle left" + IcicleTextpositionMiddleCenter IcicleTextposition = "middle center" + IcicleTextpositionMiddleRight IcicleTextposition = "middle right" + IcicleTextpositionBottomLeft IcicleTextposition = "bottom left" + IcicleTextpositionBottomCenter IcicleTextposition = "bottom center" + IcicleTextpositionBottomRight IcicleTextposition = "bottom right" +) + +// IcicleTilingOrientation 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. +type IcicleTilingOrientation string + +const ( + IcicleTilingOrientationV IcicleTilingOrientation = "v" + IcicleTilingOrientationH IcicleTilingOrientation = "h" +) + +// IcicleVisible 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). +type IcicleVisible interface{} + +var ( + IcicleVisibleTrue IcicleVisible = true + IcicleVisibleFalse IcicleVisible = false + IcicleVisibleLegendonly IcicleVisible = "legendonly" +) + +// IcicleCount Determines default for `values` when it is not provided, by inferring a 1 for each of the *leaves* and/or *branches*, otherwise 0. +type IcicleCount string + +const ( + // Flags + IcicleCountBranches IcicleCount = "branches" + IcicleCountLeaves IcicleCount = "leaves" + + // Extra + +) + +// IcicleHoverinfo 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. +type IcicleHoverinfo string + +const ( + // Flags + IcicleHoverinfoLabel IcicleHoverinfo = "label" + IcicleHoverinfoText IcicleHoverinfo = "text" + IcicleHoverinfoValue IcicleHoverinfo = "value" + IcicleHoverinfoName IcicleHoverinfo = "name" + IcicleHoverinfoCurrentPath IcicleHoverinfo = "current path" + IcicleHoverinfoPercentRoot IcicleHoverinfo = "percent root" + IcicleHoverinfoPercentEntry IcicleHoverinfo = "percent entry" + IcicleHoverinfoPercentParent IcicleHoverinfo = "percent parent" + + // Extra + IcicleHoverinfoAll IcicleHoverinfo = "all" + IcicleHoverinfoNone IcicleHoverinfo = "none" + IcicleHoverinfoSkip IcicleHoverinfo = "skip" +) + +// IcicleTextinfo Determines which trace information appear on the graph. +type IcicleTextinfo string + +const ( + // Flags + IcicleTextinfoLabel IcicleTextinfo = "label" + IcicleTextinfoText IcicleTextinfo = "text" + IcicleTextinfoValue IcicleTextinfo = "value" + IcicleTextinfoCurrentPath IcicleTextinfo = "current path" + IcicleTextinfoPercentRoot IcicleTextinfo = "percent root" + IcicleTextinfoPercentEntry IcicleTextinfo = "percent entry" + IcicleTextinfoPercentParent IcicleTextinfo = "percent parent" + + // Extra + IcicleTextinfoNone IcicleTextinfo = "none" +) + +// IcicleTilingFlip Determines if the positions obtained from solver are flipped on each axis. +type IcicleTilingFlip string + +const ( + // Flags + IcicleTilingFlipX IcicleTilingFlip = "x" + IcicleTilingFlipY IcicleTilingFlip = "y" + + // Extra + +) diff --git a/graph_objects/image_gen.go b/generated/v2.19.0/graph_objects/image_gen.go similarity index 73% rename from graph_objects/image_gen.go rename to generated/v2.19.0/graph_objects/image_gen.go index 62f623e..d84c54b 100644 --- a/graph_objects/image_gen.go +++ b/generated/v2.19.0/graph_objects/image_gen.go @@ -30,7 +30,7 @@ type Image struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Dx @@ -54,7 +54,7 @@ type Image struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -64,13 +64,13 @@ type Image struct { // Hovertemplate // arrayOK: true // 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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `z`, `color` and `colormodel`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + // 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 `z`, `color` and `colormodel`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. Hovertemplate String `json:"hovertemplate,omitempty"` // Hovertemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertemplate . + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` // Hovertext @@ -82,7 +82,7 @@ type Image struct { // Hovertextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertext . + // Sets the source reference on Chart Studio Cloud for `hovertext`. Hovertextsrc String `json:"hovertextsrc,omitempty"` // Ids @@ -94,9 +94,25 @@ type Image struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *ImageLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Meta // arrayOK: true // type: any @@ -106,7 +122,7 @@ type Image struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Name @@ -140,7 +156,7 @@ type Image struct { // Textsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for text . + // Sets the source reference on Chart Studio Cloud for `text`. Textsrc String `json:"textsrc,omitempty"` // Uid @@ -203,10 +219,16 @@ type Image struct { // 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]. Zmin interface{} `json:"zmin,omitempty"` + // Zsmooth + // default: %!s(bool=false) + // type: enumerated + // Picks a smoothing algorithm used to smooth `z` data. This only applies for image traces that use the `source` attribute. + Zsmooth ImageZsmooth `json:"zsmooth,omitempty"` + // Zsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for z . + // Sets the source reference on Chart Studio Cloud for `z`. Zsrc String `json:"zsrc,omitempty"` } @@ -222,7 +244,7 @@ type ImageHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -234,7 +256,7 @@ type ImageHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -246,7 +268,7 @@ type ImageHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -262,7 +284,7 @@ type ImageHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -274,7 +296,7 @@ type ImageHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -286,7 +308,7 @@ type ImageHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -302,10 +324,46 @@ type ImageHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } +// ImageLegendgrouptitleFont Sets this legend group's title font. +type ImageLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ImageLegendgrouptitle +type ImageLegendgrouptitle struct { + + // Font + // role: Object + Font *ImageLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // ImageStream type ImageStream struct { @@ -351,6 +409,14 @@ var ( ImageVisibleLegendonly ImageVisible = "legendonly" ) +// ImageZsmooth Picks a smoothing algorithm used to smooth `z` data. This only applies for image traces that use the `source` attribute. +type ImageZsmooth interface{} + +var ( + ImageZsmoothFast ImageZsmooth = "fast" + ImageZsmoothFalse ImageZsmooth = false +) + // ImageHoverinfo 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. type ImageHoverinfo string diff --git a/graph_objects/indicator_gen.go b/generated/v2.19.0/graph_objects/indicator_gen.go similarity index 87% rename from graph_objects/indicator_gen.go rename to generated/v2.19.0/graph_objects/indicator_gen.go index 0995b29..5ca284c 100644 --- a/graph_objects/indicator_gen.go +++ b/generated/v2.19.0/graph_objects/indicator_gen.go @@ -30,7 +30,7 @@ type Indicator struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Delta @@ -54,9 +54,25 @@ type Indicator struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *IndicatorLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Meta // arrayOK: true // type: any @@ -66,7 +82,7 @@ type Indicator struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Mode @@ -199,6 +215,12 @@ type IndicatorDelta struct { // Sets the position of delta with respect to the number. Position IndicatorDeltaPosition `json:"position,omitempty"` + // Prefix + // arrayOK: false + // type: string + // Sets a prefix appearing before the delta. + Prefix String `json:"prefix,omitempty"` + // Reference // arrayOK: false // type: number @@ -211,10 +233,16 @@ type IndicatorDelta struct { // Show relative change Relative Bool `json:"relative,omitempty"` + // Suffix + // arrayOK: false + // type: string + // Sets a suffix appearing next to the delta. + Suffix String `json:"suffix,omitempty"` + // Valueformat // arrayOK: false // type: string - // Sets the value formatting rule using d3 formatting mini-language which is similar to those of Python. See https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format + // 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. Valueformat String `json:"valueformat,omitempty"` } @@ -283,6 +311,12 @@ type IndicatorGaugeAxis struct { // 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. Exponentformat IndicatorGaugeAxisExponentformat `json:"exponentformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Minexponent // arrayOK: false // type: number @@ -356,7 +390,7 @@ type IndicatorGaugeAxis struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -365,6 +399,12 @@ type IndicatorGaugeAxis struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -404,7 +444,7 @@ type IndicatorGaugeAxis struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -416,7 +456,7 @@ type IndicatorGaugeAxis struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -550,6 +590,42 @@ type IndicatorGauge struct { Threshold *IndicatorGaugeThreshold `json:"threshold,omitempty"` } +// IndicatorLegendgrouptitleFont Sets this legend group's title font. +type IndicatorLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// IndicatorLegendgrouptitle +type IndicatorLegendgrouptitle struct { + + // Font + // role: Object + Font *IndicatorLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // IndicatorNumberFont Set the font used to display main number type IndicatorNumberFont struct { @@ -594,7 +670,7 @@ type IndicatorNumber struct { // Valueformat // arrayOK: false // type: string - // Sets the value formatting rule using d3 formatting mini-language which is similar to those of Python. See https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format + // 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. Valueformat String `json:"valueformat,omitempty"` } @@ -683,7 +759,7 @@ const ( IndicatorGaugeAxisExponentformatE1 IndicatorGaugeAxisExponentformat = "e" IndicatorGaugeAxisExponentformatE2 IndicatorGaugeAxisExponentformat = "E" IndicatorGaugeAxisExponentformatPower IndicatorGaugeAxisExponentformat = "power" - IndicatorGaugeAxisExponentformatSi IndicatorGaugeAxisExponentformat = "SI" + IndicatorGaugeAxisExponentformatSI IndicatorGaugeAxisExponentformat = "SI" IndicatorGaugeAxisExponentformatB IndicatorGaugeAxisExponentformat = "B" ) diff --git a/graph_objects/isosurface_gen.go b/generated/v2.19.0/graph_objects/isosurface_gen.go similarity index 78% rename from graph_objects/isosurface_gen.go rename to generated/v2.19.0/graph_objects/isosurface_gen.go index 11fa457..c2086d4 100644 --- a/graph_objects/isosurface_gen.go +++ b/generated/v2.19.0/graph_objects/isosurface_gen.go @@ -18,7 +18,7 @@ type Isosurface struct { // Autocolorscale // arrayOK: false // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Caps @@ -28,7 +28,7 @@ type Isosurface struct { // Cauto // arrayOK: false // type: boolean - // 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. + // 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. Cauto Bool `json:"cauto,omitempty"` // Cmax @@ -62,7 +62,7 @@ type Isosurface struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Contour @@ -78,7 +78,7 @@ type Isosurface struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Flatshading @@ -96,7 +96,7 @@ type Isosurface struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -106,13 +106,13 @@ type Isosurface struct { // Hovertemplate // arrayOK: true // 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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + // 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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. Hovertemplate String `json:"hovertemplate,omitempty"` // Hovertemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertemplate . + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` // Hovertext @@ -124,7 +124,7 @@ type Isosurface struct { // Hovertextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertext . + // Sets the source reference on Chart Studio Cloud for `hovertext`. Hovertextsrc String `json:"hovertextsrc,omitempty"` // Ids @@ -136,7 +136,7 @@ type Isosurface struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` // Isomax @@ -157,6 +157,22 @@ type Isosurface struct { // Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items. Legendgroup String `json:"legendgroup,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *IsosurfaceLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Lighting // role: Object Lighting *IsosurfaceLighting `json:"lighting,omitempty"` @@ -174,7 +190,7 @@ type Isosurface struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Name @@ -238,7 +254,7 @@ type Isosurface struct { // Textsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for text . + // Sets the source reference on Chart Studio Cloud for `text`. Textsrc String `json:"textsrc,omitempty"` // Uid @@ -259,10 +275,16 @@ type Isosurface struct { // Sets the 4th dimension (value) of the vertices. Value interface{} `json:"value,omitempty"` + // Valuehoverformat + // arrayOK: false + // 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. + Valuehoverformat String `json:"valuehoverformat,omitempty"` + // Valuesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for value . + // Sets the source reference on Chart Studio Cloud for `value`. Valuesrc String `json:"valuesrc,omitempty"` // Visible @@ -277,10 +299,16 @@ type Isosurface struct { // Sets the X coordinates of the vertices on X axis. X interface{} `json:"x,omitempty"` + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + // Xsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for x . + // Sets the source reference on Chart Studio Cloud for `x`. Xsrc String `json:"xsrc,omitempty"` // Y @@ -289,10 +317,16 @@ type Isosurface struct { // Sets the Y coordinates of the vertices on Y axis. Y interface{} `json:"y,omitempty"` + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + // Ysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for y . + // Sets the source reference on Chart Studio Cloud for `y`. Ysrc String `json:"ysrc,omitempty"` // Z @@ -301,10 +335,16 @@ type Isosurface struct { // Sets the Z coordinates of the vertices on Z axis. Z interface{} `json:"z,omitempty"` + // Zhoverformat + // arrayOK: false + // 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`. + Zhoverformat String `json:"zhoverformat,omitempty"` + // Zsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for z . + // Sets the source reference on Chart Studio Cloud for `z`. Zsrc String `json:"zsrc,omitempty"` } @@ -424,9 +464,9 @@ type IsosurfaceColorbarTitle struct { Font *IsosurfaceColorbarTitleFont `json:"font,omitempty"` // Side - // default: top + // default: %!s() // type: enumerated - // Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. Side IsosurfaceColorbarTitleSide `json:"side,omitempty"` // Text @@ -469,6 +509,12 @@ type IsosurfaceColorbar struct { // 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. Exponentformat IsosurfaceColorbarExponentformat `json:"exponentformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Len // arrayOK: false // type: number @@ -493,6 +539,12 @@ type IsosurfaceColorbar struct { // 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*. Nticks int64 `json:"nticks,omitempty"` + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation IsosurfaceColorbarOrientation `json:"orientation,omitempty"` + // Outlinecolor // arrayOK: false // type: color @@ -572,7 +624,7 @@ type IsosurfaceColorbar struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -581,12 +633,24 @@ type IsosurfaceColorbar struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow IsosurfaceColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + // Ticklabelposition // default: outside // type: enumerated - // Determines where tick labels are drawn. + // 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*. Ticklabelposition IsosurfaceColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -626,7 +690,7 @@ type IsosurfaceColorbar struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -638,7 +702,7 @@ type IsosurfaceColorbar struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -654,13 +718,13 @@ type IsosurfaceColorbar struct { // X // arrayOK: false // type: number - // Sets the x position of the color bar (in plot fraction). + // Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. X float64 `json:"x,omitempty"` // Xanchor - // default: left + // default: %!s() // type: enumerated - // Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. + // 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*. Xanchor IsosurfaceColorbarXanchor `json:"xanchor,omitempty"` // Xpad @@ -672,13 +736,13 @@ type IsosurfaceColorbar struct { // Y // arrayOK: false // type: number - // Sets the y position of the color bar (in plot fraction). + // Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. Y float64 `json:"y,omitempty"` // Yanchor - // default: middle + // default: %!s() // type: enumerated - // Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. + // 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*. Yanchor IsosurfaceColorbarYanchor `json:"yanchor,omitempty"` // Ypad @@ -722,7 +786,7 @@ type IsosurfaceHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -734,7 +798,7 @@ type IsosurfaceHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -746,7 +810,7 @@ type IsosurfaceHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -762,7 +826,7 @@ type IsosurfaceHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -774,7 +838,7 @@ type IsosurfaceHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -786,7 +850,7 @@ type IsosurfaceHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -802,10 +866,46 @@ type IsosurfaceHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } +// IsosurfaceLegendgrouptitleFont Sets this legend group's title font. +type IsosurfaceLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// IsosurfaceLegendgrouptitle +type IsosurfaceLegendgrouptitle struct { + + // Font + // role: Object + Font *IsosurfaceLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // IsosurfaceLighting type IsosurfaceLighting struct { @@ -892,7 +992,7 @@ type IsosurfaceSlicesX struct { // Locationssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for locations . + // Sets the source reference on Chart Studio Cloud for `locations`. Locationssrc String `json:"locationssrc,omitempty"` // Show @@ -920,7 +1020,7 @@ type IsosurfaceSlicesY struct { // Locationssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for locations . + // Sets the source reference on Chart Studio Cloud for `locations`. Locationssrc String `json:"locationssrc,omitempty"` // Show @@ -948,7 +1048,7 @@ type IsosurfaceSlicesZ struct { // Locationssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for locations . + // Sets the source reference on Chart Studio Cloud for `locations`. Locationssrc String `json:"locationssrc,omitempty"` // Show @@ -1042,7 +1142,7 @@ const ( IsosurfaceColorbarExponentformatE1 IsosurfaceColorbarExponentformat = "e" IsosurfaceColorbarExponentformatE2 IsosurfaceColorbarExponentformat = "E" IsosurfaceColorbarExponentformatPower IsosurfaceColorbarExponentformat = "power" - IsosurfaceColorbarExponentformatSi IsosurfaceColorbarExponentformat = "SI" + IsosurfaceColorbarExponentformatSI IsosurfaceColorbarExponentformat = "SI" IsosurfaceColorbarExponentformatB IsosurfaceColorbarExponentformat = "B" ) @@ -1054,6 +1154,14 @@ const ( IsosurfaceColorbarLenmodePixels IsosurfaceColorbarLenmode = "pixels" ) +// IsosurfaceColorbarOrientation Sets the orientation of the colorbar. +type IsosurfaceColorbarOrientation string + +const ( + IsosurfaceColorbarOrientationH IsosurfaceColorbarOrientation = "h" + IsosurfaceColorbarOrientationV IsosurfaceColorbarOrientation = "v" +) + // IsosurfaceColorbarShowexponent 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. type IsosurfaceColorbarShowexponent string @@ -1092,7 +1200,16 @@ const ( IsosurfaceColorbarThicknessmodePixels IsosurfaceColorbarThicknessmode = "pixels" ) -// IsosurfaceColorbarTicklabelposition Determines where tick labels are drawn. +// IsosurfaceColorbarTicklabeloverflow 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*. +type IsosurfaceColorbarTicklabeloverflow string + +const ( + IsosurfaceColorbarTicklabeloverflowAllow IsosurfaceColorbarTicklabeloverflow = "allow" + IsosurfaceColorbarTicklabeloverflowHidePastDiv IsosurfaceColorbarTicklabeloverflow = "hide past div" + IsosurfaceColorbarTicklabeloverflowHidePastDomain IsosurfaceColorbarTicklabeloverflow = "hide past domain" +) + +// IsosurfaceColorbarTicklabelposition 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*. type IsosurfaceColorbarTicklabelposition string const ( @@ -1100,6 +1217,10 @@ const ( IsosurfaceColorbarTicklabelpositionInside IsosurfaceColorbarTicklabelposition = "inside" IsosurfaceColorbarTicklabelpositionOutsideTop IsosurfaceColorbarTicklabelposition = "outside top" IsosurfaceColorbarTicklabelpositionInsideTop IsosurfaceColorbarTicklabelposition = "inside top" + IsosurfaceColorbarTicklabelpositionOutsideLeft IsosurfaceColorbarTicklabelposition = "outside left" + IsosurfaceColorbarTicklabelpositionInsideLeft IsosurfaceColorbarTicklabelposition = "inside left" + IsosurfaceColorbarTicklabelpositionOutsideRight IsosurfaceColorbarTicklabelposition = "outside right" + IsosurfaceColorbarTicklabelpositionInsideRight IsosurfaceColorbarTicklabelposition = "inside right" IsosurfaceColorbarTicklabelpositionOutsideBottom IsosurfaceColorbarTicklabelposition = "outside bottom" IsosurfaceColorbarTicklabelpositionInsideBottom IsosurfaceColorbarTicklabelposition = "inside bottom" ) @@ -1122,7 +1243,7 @@ const ( IsosurfaceColorbarTicksEmpty IsosurfaceColorbarTicks = "" ) -// IsosurfaceColorbarTitleSide Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. +// IsosurfaceColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. type IsosurfaceColorbarTitleSide string const ( @@ -1131,7 +1252,7 @@ const ( IsosurfaceColorbarTitleSideBottom IsosurfaceColorbarTitleSide = "bottom" ) -// IsosurfaceColorbarXanchor Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. +// IsosurfaceColorbarXanchor 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*. type IsosurfaceColorbarXanchor string const ( @@ -1140,7 +1261,7 @@ const ( IsosurfaceColorbarXanchorRight IsosurfaceColorbarXanchor = "right" ) -// IsosurfaceColorbarYanchor Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. +// IsosurfaceColorbarYanchor 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*. type IsosurfaceColorbarYanchor string const ( diff --git a/graph_objects/layout_gen.go b/generated/v2.19.0/graph_objects/layout_gen.go similarity index 81% rename from graph_objects/layout_gen.go rename to generated/v2.19.0/graph_objects/layout_gen.go index d629aac..cfbf224 100644 --- a/graph_objects/layout_gen.go +++ b/generated/v2.19.0/graph_objects/layout_gen.go @@ -3,13 +3,13 @@ package grob // Code generated by go-plotly/generator. DO NOT EDIT.// Layout Plot layout options type Layout struct { - // Activeshape + // Activeselection // role: Object - Activeshape *LayoutActiveshape `json:"activeshape,omitempty"` + Activeselection *LayoutActiveselection `json:"activeselection,omitempty"` - // Angularaxis + // Activeshape // role: Object - Angularaxis *LayoutAngularaxis `json:"angularaxis,omitempty"` + Activeshape *LayoutActiveshape `json:"activeshape,omitempty"` // Annotations // It's an items array and what goes inside it's... messy... check the docs @@ -44,7 +44,7 @@ type Layout struct { // Barmode // default: group // type: enumerated - // Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *relative*, the bars are stacked on top of one another, with negative values below the axis, positive values above With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to an *opacity* to see multiple bars. + // Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *relative*, the bars are stacked on top of one another, with negative values below the axis, positive values above With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars. Barmode LayoutBarmode `json:"barmode,omitempty"` // Barnorm @@ -109,12 +109,6 @@ type Layout struct { // 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. Datarevision interface{} `json:"datarevision,omitempty"` - // Direction - // default: %!s() - // type: enumerated - // Legacy polar charts are deprecated! Please switch to *polar* subplots. Sets the direction corresponding to positive angles in legacy polar charts. - Direction LayoutDirection `json:"direction,omitempty"` - // Dragmode // default: zoom // type: enumerated @@ -133,6 +127,12 @@ type Layout struct { // If `true`, the funnelarea slice colors (whether given by `funnelareacolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended. Extendfunnelareacolors Bool `json:"extendfunnelareacolors,omitempty"` + // Extendiciclecolors + // arrayOK: false + // type: boolean + // If `true`, the icicle slice colors (whether given by `iciclecolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended. + Extendiciclecolors Bool `json:"extendiciclecolors,omitempty"` + // Extendpiecolors // arrayOK: false // type: boolean @@ -176,7 +176,7 @@ type Layout struct { // Funnelmode // default: stack // type: enumerated - // Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to an *opacity* to see multiple bars. + // Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars. Funnelmode LayoutFunnelmode `json:"funnelmode,omitempty"` // Geo @@ -202,7 +202,7 @@ type Layout struct { // Hiddenlabelssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hiddenlabels . + // Sets the source reference on Chart Studio Cloud for `hiddenlabels`. Hiddenlabelssrc String `json:"hiddenlabelssrc,omitempty"` // Hidesources @@ -222,11 +222,17 @@ type Layout struct { Hoverlabel *LayoutHoverlabel `json:"hoverlabel,omitempty"` // Hovermode - // default: %!s() + // default: closest // type: enumerated - // 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. If `clickmode` includes the *select* flag, `hovermode` defaults to *closest*. If `clickmode` lacks the *select* flag, it defaults to *x* or *y* (depending on the trace's `orientation` value) for plots based on cartesian coordinates. For anything else the default value is *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. Hovermode LayoutHovermode `json:"hovermode,omitempty"` + // Iciclecolorway + // arrayOK: false + // type: colorlist + // Sets the default icicle slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendiciclecolors`. + Iciclecolorway ColorList `json:"iciclecolorway,omitempty"` + // Images // It's an items array and what goes inside it's... messy... check the docs // I will be happy if you want to contribute by implementing this @@ -254,23 +260,33 @@ type Layout struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` + // Minreducedheight + // arrayOK: false + // type: number + // Minimum height of the plot with margin.automargin applied (in px) + Minreducedheight float64 `json:"minreducedheight,omitempty"` + + // Minreducedwidth + // arrayOK: false + // type: number + // Minimum width of the plot with margin.automargin applied (in px) + Minreducedwidth float64 `json:"minreducedwidth,omitempty"` + // Modebar // role: Object Modebar *LayoutModebar `json:"modebar,omitempty"` + // Newselection + // role: Object + Newselection *LayoutNewselection `json:"newselection,omitempty"` + // Newshape // role: Object Newshape *LayoutNewshape `json:"newshape,omitempty"` - // Orientation - // arrayOK: false - // type: angle - // Legacy polar charts are deprecated! Please switch to *polar* subplots. Rotates the entire polar by the given angle in legacy polar charts. - Orientation float64 `json:"orientation,omitempty"` - // PaperBgcolor // arrayOK: false // type: color @@ -293,9 +309,17 @@ type Layout struct { // role: Object Polar *LayoutPolar `json:"polar,omitempty"` - // Radialaxis - // role: Object - Radialaxis *LayoutRadialaxis `json:"radialaxis,omitempty"` + // Scattergap + // arrayOK: false + // type: number + // Sets the gap (in plot fraction) between scatter points of adjacent location coordinates. Defaults to `bargap`. + Scattergap float64 `json:"scattergap,omitempty"` + + // Scattermode + // default: overlay + // type: enumerated + // Determines how scatter points at the same location coordinate are displayed on the graph. With *group*, the scatter points are plotted next to one another centered around the shared location. With *overlay*, the scatter points are plotted over one another, you might need to reduce *opacity* to see multiple scatter points. + Scattermode LayoutScattermode `json:"scattermode,omitempty"` // Scene // role: Object @@ -313,6 +337,12 @@ type Layout struct { // Controls persistence of user-driven changes in selected points from all traces. Selectionrevision interface{} `json:"selectionrevision,omitempty"` + // Selections + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Selections interface{} `json:"selections,omitempty"` + // Separators // arrayOK: false // type: string @@ -337,6 +367,10 @@ type Layout struct { // just raise an issue before you start so we do not overlap Sliders interface{} `json:"sliders,omitempty"` + // Smith + // role: Object + Smith *LayoutSmith `json:"smith,omitempty"` + // Spikedistance // arrayOK: false // type: integer @@ -422,7 +456,7 @@ type Layout struct { // Waterfallmode // default: group // type: enumerated - // Determines how bars at the same location coordinate are displayed on the graph. With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to an *opacity* to see multiple bars. + // Determines how bars at the same location coordinate are displayed on the graph. With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars. Waterfallmode LayoutWaterfallmode `json:"waterfallmode,omitempty"` // Width @@ -480,84 +514,36 @@ type Layout struct { YAxis6 *LayoutYaxis `json:"yaxis6,omitempty"` } -// LayoutActiveshape -type LayoutActiveshape struct { +// LayoutActiveselection +type LayoutActiveselection struct { // Fillcolor // arrayOK: false // type: color - // Sets the color filling the active shape' interior. + // Sets the color filling the active selection' interior. Fillcolor Color `json:"fillcolor,omitempty"` // Opacity // arrayOK: false // type: number - // Sets the opacity of the active shape. + // Sets the opacity of the active selection. Opacity float64 `json:"opacity,omitempty"` } -// LayoutAngularaxis -type LayoutAngularaxis struct { - - // Domain - // arrayOK: false - // type: info_array - // Polar chart subplots are not supported yet. This key has currently no effect. - Domain interface{} `json:"domain,omitempty"` - - // Endpadding - // arrayOK: false - // type: number - // Legacy polar charts are deprecated! Please switch to *polar* subplots. - Endpadding float64 `json:"endpadding,omitempty"` - - // Range - // arrayOK: false - // type: info_array - // Legacy polar charts are deprecated! Please switch to *polar* subplots. Defines the start and end point of this angular axis. - Range interface{} `json:"range,omitempty"` - - // Showline - // arrayOK: false - // type: boolean - // Legacy polar charts are deprecated! Please switch to *polar* subplots. Determines whether or not the line bounding this angular axis will be shown on the figure. - Showline Bool `json:"showline,omitempty"` - - // Showticklabels - // arrayOK: false - // type: boolean - // Legacy polar charts are deprecated! Please switch to *polar* subplots. Determines whether or not the angular axis ticks will feature tick labels. - Showticklabels Bool `json:"showticklabels,omitempty"` +// LayoutActiveshape +type LayoutActiveshape struct { - // Tickcolor + // Fillcolor // arrayOK: false // type: color - // Legacy polar charts are deprecated! Please switch to *polar* subplots. Sets the color of the tick lines on this angular axis. - Tickcolor Color `json:"tickcolor,omitempty"` + // Sets the color filling the active shape' interior. + Fillcolor Color `json:"fillcolor,omitempty"` - // Ticklen + // Opacity // arrayOK: false // type: number - // Legacy polar charts are deprecated! Please switch to *polar* subplots. Sets the length of the tick lines on this angular axis. - Ticklen float64 `json:"ticklen,omitempty"` - - // Tickorientation - // default: %!s() - // type: enumerated - // Legacy polar charts are deprecated! Please switch to *polar* subplots. Sets the orientation (from the paper perspective) of the angular axis tick labels. - Tickorientation LayoutAngularaxisTickorientation `json:"tickorientation,omitempty"` - - // Ticksuffix - // arrayOK: false - // type: string - // Legacy polar charts are deprecated! Please switch to *polar* subplots. Sets the length of the tick lines on this angular axis. - Ticksuffix String `json:"ticksuffix,omitempty"` - - // Visible - // arrayOK: false - // type: boolean - // Legacy polar charts are deprecated! Please switch to *polar* subplots. Determines whether or not this axis will be visible. - Visible Bool `json:"visible,omitempty"` + // Sets the opacity of the active shape. + Opacity float64 `json:"opacity,omitempty"` } // LayoutColoraxisColorbarTickfont Sets the color bar's tick label font @@ -612,9 +598,9 @@ type LayoutColoraxisColorbarTitle struct { Font *LayoutColoraxisColorbarTitleFont `json:"font,omitempty"` // Side - // default: top + // default: %!s() // type: enumerated - // Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. Side LayoutColoraxisColorbarTitleSide `json:"side,omitempty"` // Text @@ -657,6 +643,12 @@ type LayoutColoraxisColorbar struct { // 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. Exponentformat LayoutColoraxisColorbarExponentformat `json:"exponentformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Len // arrayOK: false // type: number @@ -681,6 +673,12 @@ type LayoutColoraxisColorbar struct { // 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*. Nticks int64 `json:"nticks,omitempty"` + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation LayoutColoraxisColorbarOrientation `json:"orientation,omitempty"` + // Outlinecolor // arrayOK: false // type: color @@ -760,7 +758,7 @@ type LayoutColoraxisColorbar struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -769,12 +767,24 @@ type LayoutColoraxisColorbar struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow LayoutColoraxisColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + // Ticklabelposition // default: outside // type: enumerated - // Determines where tick labels are drawn. + // 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*. Ticklabelposition LayoutColoraxisColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -814,7 +824,7 @@ type LayoutColoraxisColorbar struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -826,7 +836,7 @@ type LayoutColoraxisColorbar struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -842,13 +852,13 @@ type LayoutColoraxisColorbar struct { // X // arrayOK: false // type: number - // Sets the x position of the color bar (in plot fraction). + // Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. X float64 `json:"x,omitempty"` // Xanchor - // default: left + // default: %!s() // type: enumerated - // Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. + // 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*. Xanchor LayoutColoraxisColorbarXanchor `json:"xanchor,omitempty"` // Xpad @@ -860,13 +870,13 @@ type LayoutColoraxisColorbar struct { // Y // arrayOK: false // type: number - // Sets the y position of the color bar (in plot fraction). + // Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. Y float64 `json:"y,omitempty"` // Yanchor - // default: middle + // default: %!s() // type: enumerated - // Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. + // 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*. Yanchor LayoutColoraxisColorbarYanchor `json:"yanchor,omitempty"` // Ypad @@ -882,13 +892,13 @@ type LayoutColoraxis struct { // Autocolorscale // arrayOK: false // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Cauto // arrayOK: false // type: boolean - // Determines whether or not the color domain is computed with respect to the input data (here corresponding trace color array(s)) or the bounds set in `cmin` and `cmax` Defaults to `false` when `cmin` and `cmax` are set by the user. + // Determines whether or not the color domain is computed with respect to the input data (here corresponding trace color array(s)) or the bounds set in `cmin` and `cmax` Defaults to `false` when `cmin` and `cmax` are set by the user. Cauto Bool `json:"cauto,omitempty"` // Cmax @@ -916,7 +926,7 @@ type LayoutColoraxis struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Reversescale @@ -1035,6 +1045,12 @@ type LayoutGeoLataxis struct { // Sets the graticule's stroke color. Gridcolor Color `json:"gridcolor,omitempty"` + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + // Gridwidth // arrayOK: false // type: number @@ -1075,6 +1091,12 @@ type LayoutGeoLonaxis struct { // Sets the graticule's stroke color. Gridcolor Color `json:"gridcolor,omitempty"` + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + // Gridwidth // arrayOK: false // type: number @@ -1125,6 +1147,12 @@ type LayoutGeoProjectionRotation struct { // LayoutGeoProjection type LayoutGeoProjection struct { + // Distance + // arrayOK: false + // type: number + // For satellite projection type only. Sets the distance from the center of the sphere to the point of view as a proportion of the sphere’s radius. + Distance float64 `json:"distance,omitempty"` + // Parallels // arrayOK: false // type: info_array @@ -1141,6 +1169,12 @@ type LayoutGeoProjection struct { // Zooms in or out on the map view. A scale of *1* corresponds to the largest zoom level that fits the map's lon and lat ranges. Scale float64 `json:"scale,omitempty"` + // Tilt + // arrayOK: false + // type: number + // For satellite projection type only. Sets the tilt angle of perspective projection. + Tilt float64 `json:"tilt,omitempty"` + // Type // default: %!s() // type: enumerated @@ -1446,6 +1480,28 @@ type LayoutHoverlabelFont struct { Size float64 `json:"size,omitempty"` } +// LayoutHoverlabelGrouptitlefont Sets the font for group titles in hover (unified modes). Defaults to `hoverlabel.font`. +type LayoutHoverlabelGrouptitlefont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + // LayoutHoverlabel type LayoutHoverlabel struct { @@ -1471,6 +1527,10 @@ type LayoutHoverlabel struct { // role: Object Font *LayoutHoverlabelFont `json:"font,omitempty"` + // Grouptitlefont + // role: Object + Grouptitlefont *LayoutHoverlabelGrouptitlefont `json:"grouptitlefont,omitempty"` + // Namelength // arrayOK: false // type: integer @@ -1500,7 +1560,29 @@ type LayoutLegendFont struct { Size float64 `json:"size,omitempty"` } -// LayoutLegendTitleFont Sets this legend's title font. +// LayoutLegendGrouptitlefont Sets the font for group titles in legend. Defaults to `legend.font` with its size increased about 10%. +type LayoutLegendGrouptitlefont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutLegendTitleFont Sets this legend's title font. Defaults to `legend.font` with its size increased about 20%. type LayoutLegendTitleFont struct { // Color @@ -1563,20 +1645,42 @@ type LayoutLegend struct { // Sets the width (in px) of the border enclosing the legend. Borderwidth float64 `json:"borderwidth,omitempty"` + // Entrywidth + // arrayOK: false + // 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*. + Entrywidth float64 `json:"entrywidth,omitempty"` + + // Entrywidthmode + // default: pixels + // type: enumerated + // Determines what entrywidth means. + Entrywidthmode LayoutLegendEntrywidthmode `json:"entrywidthmode,omitempty"` + // Font // role: Object Font *LayoutLegendFont `json:"font,omitempty"` + // Groupclick + // default: togglegroup + // type: enumerated + // 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. + Groupclick LayoutLegendGroupclick `json:"groupclick,omitempty"` + + // Grouptitlefont + // role: Object + Grouptitlefont *LayoutLegendGrouptitlefont `json:"grouptitlefont,omitempty"` + // Itemclick // default: toggle // type: enumerated - // 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* disable legend item click interactions. + // 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. Itemclick LayoutLegendItemclick `json:"itemclick,omitempty"` // Itemdoubleclick // default: toggleothers // type: enumerated - // 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* disable legend item double-click interactions. + // 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. Itemdoubleclick LayoutLegendItemdoubleclick `json:"itemdoubleclick,omitempty"` // Itemsizing @@ -1650,6 +1754,34 @@ type LayoutLegend struct { Yanchor LayoutLegendYanchor `json:"yanchor,omitempty"` } +// LayoutMapboxBounds +type LayoutMapboxBounds struct { + + // East + // arrayOK: false + // type: number + // Sets the maximum longitude of the map (in degrees East) if `west`, `south` and `north` are declared. + East float64 `json:"east,omitempty"` + + // North + // arrayOK: false + // type: number + // Sets the maximum latitude of the map (in degrees North) if `east`, `west` and `south` are declared. + North float64 `json:"north,omitempty"` + + // South + // arrayOK: false + // type: number + // Sets the minimum latitude of the map (in degrees North) if `east`, `west` and `north` are declared. + South float64 `json:"south,omitempty"` + + // West + // arrayOK: false + // type: number + // Sets the minimum longitude of the map (in degrees East) if `east`, `south` and `north` are declared. + West float64 `json:"west,omitempty"` +} + // LayoutMapboxCenter type LayoutMapboxCenter struct { @@ -1709,6 +1841,10 @@ type LayoutMapbox struct { // Sets the bearing angle of the map in degrees counter-clockwise from North (mapbox.bearing). Bearing float64 `json:"bearing,omitempty"` + // Bounds + // role: Object + Bounds *LayoutMapboxBounds `json:"bounds,omitempty"` + // Center // role: Object Center *LayoutMapboxCenter `json:"center,omitempty"` @@ -1732,7 +1868,7 @@ type LayoutMapbox struct { // Style // arrayOK: false // type: any - // 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.mapbox.layers`. These layers can be defined either explicitly as a Mapbox 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 which do not require any access tokens, or by using a default Mapbox style or custom Mapbox style URL, both of which require a Mapbox access token Note that Mapbox access token can be set in the `accesstoken` attribute or in the `mapboxAccessToken` config option. Mapbox Style objects are of the form described in the Mapbox GL JS documentation available at https://docs.mapbox.com/mapbox-gl-js/style-spec The built-in plotly.js styles objects are: open-street-map, white-bg, carto-positron, carto-darkmatter, stamen-terrain, stamen-toner, stamen-watercolor The built-in Mapbox styles are: basic, streets, outdoors, light, dark, satellite, satellite-streets Mapbox style URLs are of the form: mapbox://mapbox.mapbox-- + // 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.mapbox.layers`. These layers can be defined either explicitly as a Mapbox 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 which do not require any access tokens, or by using a default Mapbox style or custom Mapbox style URL, both of which require a Mapbox access token Note that Mapbox access token can be set in the `accesstoken` attribute or in the `mapboxAccessToken` config option. Mapbox Style objects are of the form described in the Mapbox GL JS documentation available at https://docs.mapbox.com/mapbox-gl-js/style-spec The built-in plotly.js styles objects are: carto-darkmatter, carto-positron, open-street-map, stamen-terrain, stamen-toner, stamen-watercolor, white-bg The built-in Mapbox styles are: basic, streets, outdoors, light, dark, satellite, satellite-streets Mapbox style URLs are of the form: mapbox://mapbox.mapbox-- Style interface{} `json:"style,omitempty"` // Uirevision @@ -1797,6 +1933,18 @@ type LayoutModebar struct { // Sets the color of the active or hovered on icons in the modebar. Activecolor Color `json:"activecolor,omitempty"` + // Add + // arrayOK: true + // type: string + // 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*. + Add String `json:"add,omitempty"` + + // Addsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `add`. + Addsrc String `json:"addsrc,omitempty"` + // Bgcolor // arrayOK: false // type: color @@ -1815,6 +1963,18 @@ type LayoutModebar struct { // Sets the orientation of the modebar. Orientation LayoutModebarOrientation `json:"orientation,omitempty"` + // Remove + // arrayOK: true + // type: string + // 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*, *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*, *zoomInMapbox*, *zoomOut2d*, *zoomOutGeo*, *zoomOutMapbox*, *zoomin*, *zoomout*. + Remove String `json:"remove,omitempty"` + + // Removesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `remove`. + Removesrc String `json:"removesrc,omitempty"` + // Uirevision // arrayOK: false // type: any @@ -1822,8 +1982,8 @@ type LayoutModebar struct { Uirevision interface{} `json:"uirevision,omitempty"` } -// LayoutNewshapeLine -type LayoutNewshapeLine struct { +// LayoutNewselectionLine +type LayoutNewselectionLine struct { // Color // arrayOK: false @@ -1844,46 +2004,22 @@ type LayoutNewshapeLine struct { Width float64 `json:"width,omitempty"` } -// LayoutNewshape -type LayoutNewshape struct { - - // Drawdirection - // default: diagonal - // type: enumerated - // 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. - Drawdirection LayoutNewshapeDrawdirection `json:"drawdirection,omitempty"` - - // Fillcolor - // arrayOK: false - // type: color - // 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. - Fillcolor Color `json:"fillcolor,omitempty"` - - // Fillrule - // default: evenodd - // type: enumerated - // Determines the path's interior. For more info please visit https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule - Fillrule LayoutNewshapeFillrule `json:"fillrule,omitempty"` - - // Layer - // default: above - // type: enumerated - // Specifies whether new shapes are drawn below or above traces. - Layer LayoutNewshapeLayer `json:"layer,omitempty"` +// LayoutNewselection +type LayoutNewselection struct { // Line // role: Object - Line *LayoutNewshapeLine `json:"line,omitempty"` + Line *LayoutNewselectionLine `json:"line,omitempty"` - // Opacity - // arrayOK: false - // type: number - // Sets the opacity of new shapes. - Opacity float64 `json:"opacity,omitempty"` + // Mode + // default: immediate + // type: enumerated + // 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. + Mode LayoutNewselectionMode `json:"mode,omitempty"` } -// LayoutPolarAngularaxisTickfont Sets the tick font. -type LayoutPolarAngularaxisTickfont struct { +// LayoutNewshapeLabelFont Sets the new shape label text font. +type LayoutNewshapeLabelFont struct { // Color // arrayOK: false @@ -1904,25 +2040,155 @@ type LayoutPolarAngularaxisTickfont struct { Size float64 `json:"size,omitempty"` } -// LayoutPolarAngularaxis -type LayoutPolarAngularaxis struct { +// LayoutNewshapeLabel +type LayoutNewshapeLabel struct { - // Autotypenumbers - // default: convert types - // type: enumerated - // 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. - Autotypenumbers LayoutPolarAngularaxisAutotypenumbers `json:"autotypenumbers,omitempty"` + // Font + // role: Object + Font *LayoutNewshapeLabelFont `json:"font,omitempty"` - // Categoryarray + // Padding // arrayOK: false - // type: data_array + // type: number + // Sets padding (in px) between edge of label and edge of new shape. + Padding float64 `json:"padding,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the text to display with the new shape. + Text String `json:"text,omitempty"` + + // Textangle + // arrayOK: false + // type: angle + // 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. + Textangle float64 `json:"textangle,omitempty"` + + // Textposition + // default: %!s() + // type: enumerated + // 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. + Textposition LayoutNewshapeLabelTextposition `json:"textposition,omitempty"` + + // Xanchor + // default: auto + // type: enumerated + // 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. + Xanchor LayoutNewshapeLabelXanchor `json:"xanchor,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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. + Yanchor LayoutNewshapeLabelYanchor `json:"yanchor,omitempty"` +} + +// LayoutNewshapeLine +type LayoutNewshapeLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the line color. By default uses either dark grey or white to increase contrast with background color. + Color Color `json:"color,omitempty"` + + // Dash + // arrayOK: false + // type: string + // 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*). + Dash String `json:"dash,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width (in px). + Width float64 `json:"width,omitempty"` +} + +// LayoutNewshape +type LayoutNewshape struct { + + // Drawdirection + // default: diagonal + // type: enumerated + // 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. + Drawdirection LayoutNewshapeDrawdirection `json:"drawdirection,omitempty"` + + // Fillcolor + // arrayOK: false + // type: color + // 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. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Fillrule + // default: evenodd + // type: enumerated + // Determines the path's interior. For more info please visit https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule + Fillrule LayoutNewshapeFillrule `json:"fillrule,omitempty"` + + // Label + // role: Object + Label *LayoutNewshapeLabel `json:"label,omitempty"` + + // Layer + // default: above + // type: enumerated + // Specifies whether new shapes are drawn below or above traces. + Layer LayoutNewshapeLayer `json:"layer,omitempty"` + + // Line + // role: Object + Line *LayoutNewshapeLine `json:"line,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of new shapes. + Opacity float64 `json:"opacity,omitempty"` +} + +// LayoutPolarAngularaxisTickfont Sets the tick font. +type LayoutPolarAngularaxisTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutPolarAngularaxis +type LayoutPolarAngularaxis struct { + + // Autotypenumbers + // default: convert types + // type: enumerated + // 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. + Autotypenumbers LayoutPolarAngularaxisAutotypenumbers `json:"autotypenumbers,omitempty"` + + // Categoryarray + // arrayOK: false + // 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`. Categoryarray interface{} `json:"categoryarray,omitempty"` // Categoryarraysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for categoryarray . + // Sets the source reference on Chart Studio Cloud for `categoryarray`. Categoryarraysrc String `json:"categoryarraysrc,omitempty"` // Categoryorder @@ -1961,6 +2227,12 @@ type LayoutPolarAngularaxis struct { // Sets the color of the grid lines. Gridcolor Color `json:"gridcolor,omitempty"` + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + // Gridwidth // arrayOK: false // type: number @@ -1970,9 +2242,15 @@ type LayoutPolarAngularaxis struct { // Hoverformat // arrayOK: false // type: string - // Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // Sets the hover text 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* Hoverformat String `json:"hoverformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Layer // default: above traces // type: enumerated @@ -2088,7 +2366,7 @@ type LayoutPolarAngularaxis struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -2097,6 +2375,12 @@ type LayoutPolarAngularaxis struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -2136,7 +2420,7 @@ type LayoutPolarAngularaxis struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -2148,7 +2432,7 @@ type LayoutPolarAngularaxis struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -2298,7 +2582,7 @@ type LayoutPolarRadialaxis struct { // Categoryarraysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for categoryarray . + // Sets the source reference on Chart Studio Cloud for `categoryarray`. Categoryarraysrc String `json:"categoryarraysrc,omitempty"` // Categoryorder @@ -2331,6 +2615,12 @@ type LayoutPolarRadialaxis struct { // Sets the color of the grid lines. Gridcolor Color `json:"gridcolor,omitempty"` + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + // Gridwidth // arrayOK: false // type: number @@ -2340,9 +2630,15 @@ type LayoutPolarRadialaxis struct { // Hoverformat // arrayOK: false // type: string - // Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // Sets the hover text 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* Hoverformat String `json:"hoverformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Layer // default: above traces // type: enumerated @@ -2458,7 +2754,7 @@ type LayoutPolarRadialaxis struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -2467,6 +2763,12 @@ type LayoutPolarRadialaxis struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -2506,7 +2808,7 @@ type LayoutPolarRadialaxis struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -2518,7 +2820,7 @@ type LayoutPolarRadialaxis struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -2596,76 +2898,6 @@ type LayoutPolar struct { Uirevision interface{} `json:"uirevision,omitempty"` } -// LayoutRadialaxis -type LayoutRadialaxis struct { - - // Domain - // arrayOK: false - // type: info_array - // Polar chart subplots are not supported yet. This key has currently no effect. - Domain interface{} `json:"domain,omitempty"` - - // Endpadding - // arrayOK: false - // type: number - // Legacy polar charts are deprecated! Please switch to *polar* subplots. - Endpadding float64 `json:"endpadding,omitempty"` - - // Orientation - // arrayOK: false - // type: number - // Legacy polar charts are deprecated! Please switch to *polar* subplots. Sets the orientation (an angle with respect to the origin) of the radial axis. - Orientation float64 `json:"orientation,omitempty"` - - // Range - // arrayOK: false - // type: info_array - // Legacy polar charts are deprecated! Please switch to *polar* subplots. Defines the start and end point of this radial axis. - Range interface{} `json:"range,omitempty"` - - // Showline - // arrayOK: false - // type: boolean - // Legacy polar charts are deprecated! Please switch to *polar* subplots. Determines whether or not the line bounding this radial axis will be shown on the figure. - Showline Bool `json:"showline,omitempty"` - - // Showticklabels - // arrayOK: false - // type: boolean - // Legacy polar charts are deprecated! Please switch to *polar* subplots. Determines whether or not the radial axis ticks will feature tick labels. - Showticklabels Bool `json:"showticklabels,omitempty"` - - // Tickcolor - // arrayOK: false - // type: color - // Legacy polar charts are deprecated! Please switch to *polar* subplots. Sets the color of the tick lines on this radial axis. - Tickcolor Color `json:"tickcolor,omitempty"` - - // Ticklen - // arrayOK: false - // type: number - // Legacy polar charts are deprecated! Please switch to *polar* subplots. Sets the length of the tick lines on this radial axis. - Ticklen float64 `json:"ticklen,omitempty"` - - // Tickorientation - // default: %!s() - // type: enumerated - // Legacy polar charts are deprecated! Please switch to *polar* subplots. Sets the orientation (from the paper perspective) of the radial axis tick labels. - Tickorientation LayoutRadialaxisTickorientation `json:"tickorientation,omitempty"` - - // Ticksuffix - // arrayOK: false - // type: string - // Legacy polar charts are deprecated! Please switch to *polar* subplots. Sets the length of the tick lines on this radial axis. - Ticksuffix String `json:"ticksuffix,omitempty"` - - // Visible - // arrayOK: false - // type: boolean - // Legacy polar charts are deprecated! Please switch to *polar* subplots. Determines whether or not this axis will be visible. - Visible Bool `json:"visible,omitempty"` -} - // LayoutSceneAspectratio Sets this scene's axis aspectratio. type LayoutSceneAspectratio struct { @@ -2906,7 +3138,7 @@ type LayoutSceneXaxis struct { // Categoryarraysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for categoryarray . + // Sets the source reference on Chart Studio Cloud for `categoryarray`. Categoryarraysrc String `json:"categoryarraysrc,omitempty"` // Categoryorder @@ -2948,9 +3180,15 @@ type LayoutSceneXaxis struct { // Hoverformat // arrayOK: false // type: string - // Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // Sets the hover text 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* Hoverformat String `json:"hoverformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Linecolor // arrayOK: false // type: color @@ -3096,7 +3334,7 @@ type LayoutSceneXaxis struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -3144,7 +3382,7 @@ type LayoutSceneXaxis struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -3156,7 +3394,7 @@ type LayoutSceneXaxis struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -3294,7 +3532,7 @@ type LayoutSceneYaxis struct { // Categoryarraysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for categoryarray . + // Sets the source reference on Chart Studio Cloud for `categoryarray`. Categoryarraysrc String `json:"categoryarraysrc,omitempty"` // Categoryorder @@ -3336,9 +3574,15 @@ type LayoutSceneYaxis struct { // Hoverformat // arrayOK: false // type: string - // Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // Sets the hover text 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* Hoverformat String `json:"hoverformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Linecolor // arrayOK: false // type: color @@ -3484,7 +3728,7 @@ type LayoutSceneYaxis struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -3532,7 +3776,7 @@ type LayoutSceneYaxis struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -3544,7 +3788,7 @@ type LayoutSceneYaxis struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -3682,7 +3926,7 @@ type LayoutSceneZaxis struct { // Categoryarraysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for categoryarray . + // Sets the source reference on Chart Studio Cloud for `categoryarray`. Categoryarraysrc String `json:"categoryarraysrc,omitempty"` // Categoryorder @@ -3724,9 +3968,15 @@ type LayoutSceneZaxis struct { // Hoverformat // arrayOK: false // type: string - // Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // Sets the hover text 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* Hoverformat String `json:"hoverformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Linecolor // arrayOK: false // type: color @@ -3872,7 +4122,7 @@ type LayoutSceneZaxis struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -3920,7 +4170,7 @@ type LayoutSceneZaxis struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -3932,7 +4182,7 @@ type LayoutSceneZaxis struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -4040,30 +4290,36 @@ type LayoutScene struct { Zaxis *LayoutSceneZaxis `json:"zaxis,omitempty"` } -// LayoutTernaryAaxisTickfont Sets the tick font. -type LayoutTernaryAaxisTickfont struct { +// LayoutSmithDomain +type LayoutSmithDomain struct { - // Color + // Column // arrayOK: false - // type: color - // - Color Color `json:"color,omitempty"` + // type: integer + // If there is a layout grid, use the domain for this column in the grid for this smith subplot . + Column int64 `json:"column,omitempty"` - // Family + // Row // arrayOK: false - // type: string - // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. - Family String `json:"family,omitempty"` + // type: integer + // If there is a layout grid, use the domain for this row in the grid for this smith subplot . + Row int64 `json:"row,omitempty"` - // Size + // X // arrayOK: false - // type: number - // - Size float64 `json:"size,omitempty"` + // type: info_array + // Sets the horizontal domain of this smith subplot (in plot fraction). + X interface{} `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: info_array + // Sets the vertical domain of this smith subplot (in plot fraction). + Y interface{} `json:"y,omitempty"` } -// LayoutTernaryAaxisTitleFont Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute. -type LayoutTernaryAaxisTitleFont struct { +// LayoutSmithImaginaryaxisTickfont Sets the tick font. +type LayoutSmithImaginaryaxisTickfont struct { // Color // arrayOK: false @@ -4084,22 +4340,8 @@ type LayoutTernaryAaxisTitleFont struct { Size float64 `json:"size,omitempty"` } -// LayoutTernaryAaxisTitle -type LayoutTernaryAaxisTitle struct { - - // Font - // role: Object - Font *LayoutTernaryAaxisTitleFont `json:"font,omitempty"` - - // Text - // arrayOK: false - // type: string - // Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. - Text String `json:"text,omitempty"` -} - -// LayoutTernaryAaxis -type LayoutTernaryAaxis struct { +// LayoutSmithImaginaryaxis +type LayoutSmithImaginaryaxis struct { // Color // arrayOK: false @@ -4107,15 +4349,433 @@ type LayoutTernaryAaxis struct { // 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. Color Color `json:"color,omitempty"` - // Dtick + // Gridcolor // arrayOK: false - // type: any - // 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*, 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* 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* - Dtick interface{} `json:"dtick,omitempty"` + // type: color + // Sets the color of the grid lines. + Gridcolor Color `json:"gridcolor,omitempty"` - // Exponentformat - // default: B - // type: enumerated + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the grid lines. + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Hoverformat + // arrayOK: false + // type: string + // Sets the hover text 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* + Hoverformat String `json:"hoverformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Layer + // default: above traces + // type: enumerated + // Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. + Layer LayoutSmithImaginaryaxisLayer `json:"layer,omitempty"` + + // Linecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Linecolor Color `json:"linecolor,omitempty"` + + // Linewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Linewidth float64 `json:"linewidth,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark. + Showgrid Bool `json:"showgrid,omitempty"` + + // Showline + // arrayOK: false + // type: boolean + // Determines whether or not a line bounding this axis is drawn. + Showline Bool `json:"showline,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix LayoutSmithImaginaryaxisShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix LayoutSmithImaginaryaxisShowticksuffix `json:"showticksuffix,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *LayoutSmithImaginaryaxisTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: %!s() + // type: enumerated + // 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. + Ticks LayoutSmithImaginaryaxisTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Tickvals + // arrayOK: false + // type: data_array + // Sets the values at which ticks on this axis appear. Defaults to `realaxis.tickvals` plus the same as negatives and zero. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // 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 + Visible Bool `json:"visible,omitempty"` +} + +// LayoutSmithRealaxisTickfont Sets the tick font. +type LayoutSmithRealaxisTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutSmithRealaxis +type LayoutSmithRealaxis struct { + + // Color + // arrayOK: false + // 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. + Color Color `json:"color,omitempty"` + + // Gridcolor + // arrayOK: false + // type: color + // Sets the color of the grid lines. + Gridcolor Color `json:"gridcolor,omitempty"` + + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the grid lines. + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Hoverformat + // arrayOK: false + // type: string + // Sets the hover text 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* + Hoverformat String `json:"hoverformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Layer + // default: above traces + // type: enumerated + // Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. + Layer LayoutSmithRealaxisLayer `json:"layer,omitempty"` + + // Linecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Linecolor Color `json:"linecolor,omitempty"` + + // Linewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Linewidth float64 `json:"linewidth,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark. + Showgrid Bool `json:"showgrid,omitempty"` + + // Showline + // arrayOK: false + // type: boolean + // Determines whether or not a line bounding this axis is drawn. + Showline Bool `json:"showline,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix LayoutSmithRealaxisShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix LayoutSmithRealaxisShowticksuffix `json:"showticksuffix,omitempty"` + + // Side + // default: top + // type: enumerated + // Determines on which side of real axis line the tick and tick labels appear. + Side LayoutSmithRealaxisSide `json:"side,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *LayoutSmithRealaxisTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: %!s() + // type: enumerated + // Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *top* (*bottom*), this axis' are drawn above (below) the axis line. + Ticks LayoutSmithRealaxisTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Tickvals + // arrayOK: false + // type: data_array + // Sets the values at which ticks on this axis appear. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // 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 + Visible Bool `json:"visible,omitempty"` +} + +// LayoutSmith +type LayoutSmith struct { + + // Bgcolor + // arrayOK: false + // type: color + // Set the background color of the subplot + Bgcolor Color `json:"bgcolor,omitempty"` + + // Domain + // role: Object + Domain *LayoutSmithDomain `json:"domain,omitempty"` + + // Imaginaryaxis + // role: Object + Imaginaryaxis *LayoutSmithImaginaryaxis `json:"imaginaryaxis,omitempty"` + + // Realaxis + // role: Object + Realaxis *LayoutSmithRealaxis `json:"realaxis,omitempty"` +} + +// LayoutTernaryAaxisTickfont Sets the tick font. +type LayoutTernaryAaxisTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutTernaryAaxisTitleFont Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute. +type LayoutTernaryAaxisTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutTernaryAaxisTitle +type LayoutTernaryAaxisTitle struct { + + // Font + // role: Object + Font *LayoutTernaryAaxisTitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// LayoutTernaryAaxis +type LayoutTernaryAaxis struct { + + // Color + // arrayOK: false + // 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. + Color Color `json:"color,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated // 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. Exponentformat LayoutTernaryAaxisExponentformat `json:"exponentformat,omitempty"` @@ -4125,6 +4785,12 @@ type LayoutTernaryAaxis struct { // Sets the color of the grid lines. Gridcolor Color `json:"gridcolor,omitempty"` + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + // Gridwidth // arrayOK: false // type: number @@ -4134,9 +4800,15 @@ type LayoutTernaryAaxis struct { // Hoverformat // arrayOK: false // type: string - // Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // Sets the hover text 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* Hoverformat String `json:"hoverformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Layer // default: above traces // type: enumerated @@ -4240,7 +4912,7 @@ type LayoutTernaryAaxis struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -4249,6 +4921,12 @@ type LayoutTernaryAaxis struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -4288,7 +4966,7 @@ type LayoutTernaryAaxis struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -4300,7 +4978,7 @@ type LayoutTernaryAaxis struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -4405,6 +5083,12 @@ type LayoutTernaryBaxis struct { // Sets the color of the grid lines. Gridcolor Color `json:"gridcolor,omitempty"` + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + // Gridwidth // arrayOK: false // type: number @@ -4414,9 +5098,15 @@ type LayoutTernaryBaxis struct { // Hoverformat // arrayOK: false // type: string - // Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // Sets the hover text 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* Hoverformat String `json:"hoverformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Layer // default: above traces // type: enumerated @@ -4520,7 +5210,7 @@ type LayoutTernaryBaxis struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -4529,6 +5219,12 @@ type LayoutTernaryBaxis struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -4568,7 +5264,7 @@ type LayoutTernaryBaxis struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -4580,7 +5276,7 @@ type LayoutTernaryBaxis struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -4685,6 +5381,12 @@ type LayoutTernaryCaxis struct { // Sets the color of the grid lines. Gridcolor Color `json:"gridcolor,omitempty"` + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + // Gridwidth // arrayOK: false // type: number @@ -4694,9 +5396,15 @@ type LayoutTernaryCaxis struct { // Hoverformat // arrayOK: false // type: string - // Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // Sets the hover text 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* Hoverformat String `json:"hoverformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Layer // default: above traces // type: enumerated @@ -4800,7 +5508,7 @@ type LayoutTernaryCaxis struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -4809,6 +5517,12 @@ type LayoutTernaryCaxis struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -4848,7 +5562,7 @@ type LayoutTernaryCaxis struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -4860,7 +5574,7 @@ type LayoutTernaryCaxis struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -5088,6 +5802,94 @@ type LayoutUniformtext struct { Mode LayoutUniformtextMode `json:"mode,omitempty"` } +// LayoutXaxisMinor +type LayoutXaxisMinor struct { + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Gridcolor + // arrayOK: false + // type: color + // Sets the color of the grid lines. + Gridcolor Color `json:"gridcolor,omitempty"` + + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the grid lines. + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark. + Showgrid Bool `json:"showgrid,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode LayoutXaxisMinorTickmode `json:"tickmode,omitempty"` + + // Ticks + // default: %!s() + // type: enumerated + // 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. + Ticks LayoutXaxisMinorTicks `json:"ticks,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` +} + // LayoutXaxisRangeselectorFont Sets the font of the range selector button text. type LayoutXaxisRangeselectorFont struct { @@ -5318,10 +6120,10 @@ type LayoutXaxis struct { Anchor LayoutXaxisAnchor `json:"anchor,omitempty"` // Automargin - // arrayOK: false - // type: boolean + // default: %!s(bool=false) + // type: flaglist // Determines whether long tick labels automatically grow the figure margins. - Automargin Bool `json:"automargin,omitempty"` + Automargin LayoutXaxisAutomargin `json:"automargin,omitempty"` // Autorange // default: %!s(bool=true) @@ -5350,7 +6152,7 @@ type LayoutXaxis struct { // Categoryarraysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for categoryarray . + // Sets the source reference on Chart Studio Cloud for `categoryarray`. Categoryarraysrc String `json:"categoryarraysrc,omitempty"` // Categoryorder @@ -5419,6 +6221,12 @@ type LayoutXaxis struct { // Sets the color of the grid lines. Gridcolor Color `json:"gridcolor,omitempty"` + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + // Gridwidth // arrayOK: false // type: number @@ -5428,9 +6236,15 @@ type LayoutXaxis struct { // Hoverformat // arrayOK: false // type: string - // Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // Sets the hover text 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* Hoverformat String `json:"hoverformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Layer // default: above traces // type: enumerated @@ -5461,6 +6275,10 @@ type LayoutXaxis struct { // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. Minexponent float64 `json:"minexponent,omitempty"` + // Minor + // role: Object + Minor *LayoutXaxisMinor `json:"minor,omitempty"` + // Mirror // default: %!s(bool=false) // type: enumerated @@ -5602,7 +6420,7 @@ type LayoutXaxis struct { Spikemode LayoutXaxisSpikemode `json:"spikemode,omitempty"` // Spikesnap - // default: data + // default: hovered data // type: enumerated // Determines whether spikelines are stuck to the cursor or to the closest datapoints. Spikesnap LayoutXaxisSpikesnap `json:"spikesnap,omitempty"` @@ -5638,7 +6456,7 @@ type LayoutXaxis struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -5653,12 +6471,182 @@ type LayoutXaxis struct { // Determines where tick labels are drawn with respect to their corresponding ticks and grid lines. Only has an effect for axes of `type` *date* When set to *period*, tick labels are drawn in the middle of the period between ticks. Ticklabelmode LayoutXaxisTicklabelmode `json:"ticklabelmode,omitempty"` + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. Otherwise on *category* and *multicategory* axes the default is *allow*. In other cases the default is *hide past div*. + Ticklabeloverflow LayoutXaxisTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + // Ticklabelposition // default: outside // type: enumerated // Determines where tick labels are drawn with respect to the axis Please note that top or bottom has no effect on x axes or when `ticklabelmode` is set to *period*. Similarly left or right has no effect on y axes or when `ticklabelmode` is set to *period*. Has no effect on *multicategory* axes or when `tickson` is set to *boundaries*. When used on axes linked by `matches` or `scaleanchor`, no extra padding for inside labels would be added by autorange, so that the scales could match. Ticklabelposition LayoutXaxisTicklabelposition `json:"ticklabelposition,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). If *sync*, the number of ticks will sync with the overlayed axis set by `overlaying` property. + Tickmode LayoutXaxisTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: %!s() + // type: enumerated + // 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. + Ticks LayoutXaxisTicks `json:"ticks,omitempty"` + + // Tickson + // default: labels + // type: enumerated + // Determines where ticks and grid lines are drawn with respect to their corresponding tick labels. Only has an effect for axes of `type` *category* or *multicategory*. When set to *boundaries*, ticks and grid lines are drawn half a category to the left/bottom of labels. + Tickson LayoutXaxisTickson `json:"tickson,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *LayoutXaxisTitle `json:"title,omitempty"` + + // Type + // default: - + // type: enumerated + // 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. + Type LayoutXaxisType `json:"type,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // Controls persistence of user-driven changes in axis `range`, `autorange`, and `title` if in `editable: true` configuration. Defaults to `layout.uirevision`. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // 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 + Visible Bool `json:"visible,omitempty"` + + // Zeroline + // arrayOK: false + // type: boolean + // Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines. + Zeroline Bool `json:"zeroline,omitempty"` + + // Zerolinecolor + // arrayOK: false + // type: color + // Sets the line color of the zero line. + Zerolinecolor Color `json:"zerolinecolor,omitempty"` + + // Zerolinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the zero line. + Zerolinewidth float64 `json:"zerolinewidth,omitempty"` +} + +// LayoutYaxisMinor +type LayoutYaxisMinor struct { + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Gridcolor + // arrayOK: false + // type: color + // Sets the color of the grid lines. + Gridcolor Color `json:"gridcolor,omitempty"` + + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the grid lines. + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark. + Showgrid Bool `json:"showgrid,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -5669,43 +6657,13 @@ type LayoutXaxis struct { // default: %!s() // type: enumerated // 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). - Tickmode LayoutXaxisTickmode `json:"tickmode,omitempty"` - - // Tickprefix - // arrayOK: false - // type: string - // Sets a tick label prefix. - Tickprefix String `json:"tickprefix,omitempty"` + Tickmode LayoutYaxisMinorTickmode `json:"tickmode,omitempty"` // Ticks // default: %!s() // type: enumerated // 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. - Ticks LayoutXaxisTicks `json:"ticks,omitempty"` - - // Tickson - // default: labels - // type: enumerated - // Determines where ticks and grid lines are drawn with respect to their corresponding tick labels. Only has an effect for axes of `type` *category* or *multicategory*. When set to *boundaries*, ticks and grid lines are drawn half a category to the left/bottom of labels. - Tickson LayoutXaxisTickson `json:"tickson,omitempty"` - - // Ticksuffix - // arrayOK: false - // type: string - // Sets a tick label suffix. - Ticksuffix String `json:"ticksuffix,omitempty"` - - // Ticktext - // arrayOK: false - // 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`. - Ticktext interface{} `json:"ticktext,omitempty"` - - // Ticktextsrc - // arrayOK: false - // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . - Ticktextsrc String `json:"ticktextsrc,omitempty"` + Ticks LayoutYaxisMinorTicks `json:"ticks,omitempty"` // Tickvals // arrayOK: false @@ -5716,7 +6674,7 @@ type LayoutXaxis struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -5724,46 +6682,6 @@ type LayoutXaxis struct { // type: number // Sets the tick width (in px). Tickwidth float64 `json:"tickwidth,omitempty"` - - // Title - // role: Object - Title *LayoutXaxisTitle `json:"title,omitempty"` - - // Type - // default: - - // type: enumerated - // 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. - Type LayoutXaxisType `json:"type,omitempty"` - - // Uirevision - // arrayOK: false - // type: any - // Controls persistence of user-driven changes in axis `range`, `autorange`, and `title` if in `editable: true` configuration. Defaults to `layout.uirevision`. - Uirevision interface{} `json:"uirevision,omitempty"` - - // Visible - // arrayOK: false - // type: boolean - // 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 - Visible Bool `json:"visible,omitempty"` - - // Zeroline - // arrayOK: false - // type: boolean - // Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines. - Zeroline Bool `json:"zeroline,omitempty"` - - // Zerolinecolor - // arrayOK: false - // type: color - // Sets the line color of the zero line. - Zerolinecolor Color `json:"zerolinecolor,omitempty"` - - // Zerolinewidth - // arrayOK: false - // type: number - // Sets the width (in px) of the zero line. - Zerolinewidth float64 `json:"zerolinewidth,omitempty"` } // LayoutYaxisTickfont Sets the tick font. @@ -5840,10 +6758,10 @@ type LayoutYaxis struct { Anchor LayoutYaxisAnchor `json:"anchor,omitempty"` // Automargin - // arrayOK: false - // type: boolean + // default: %!s(bool=false) + // type: flaglist // Determines whether long tick labels automatically grow the figure margins. - Automargin Bool `json:"automargin,omitempty"` + Automargin LayoutYaxisAutomargin `json:"automargin,omitempty"` // Autorange // default: %!s(bool=true) @@ -5851,6 +6769,12 @@ type LayoutYaxis struct { // 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*. Autorange LayoutYaxisAutorange `json:"autorange,omitempty"` + // Autoshift + // arrayOK: false + // type: boolean + // Automatically reposition the axis to avoid overlap with other axes with the same `overlaying` value. This repositioning will account for any `shift` amount applied to other axes on the same side with `autoshift` is set to true. Only has an effect if `anchor` is set to *free*. + Autoshift Bool `json:"autoshift,omitempty"` + // Autotypenumbers // default: convert types // type: enumerated @@ -5872,7 +6796,7 @@ type LayoutYaxis struct { // Categoryarraysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for categoryarray . + // Sets the source reference on Chart Studio Cloud for `categoryarray`. Categoryarraysrc String `json:"categoryarraysrc,omitempty"` // Categoryorder @@ -5941,6 +6865,12 @@ type LayoutYaxis struct { // Sets the color of the grid lines. Gridcolor Color `json:"gridcolor,omitempty"` + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + // Gridwidth // arrayOK: false // type: number @@ -5950,9 +6880,15 @@ type LayoutYaxis struct { // Hoverformat // arrayOK: false // type: string - // Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // Sets the hover text 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* Hoverformat String `json:"hoverformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Layer // default: above traces // type: enumerated @@ -5983,6 +6919,10 @@ type LayoutYaxis struct { // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. Minexponent float64 `json:"minexponent,omitempty"` + // Minor + // role: Object + Minor *LayoutYaxisMinor `json:"minor,omitempty"` + // Mirror // default: %!s(bool=false) // type: enumerated @@ -6043,6 +6983,12 @@ type LayoutYaxis struct { // If "true", even 4-digit integers are separated Separatethousands Bool `json:"separatethousands,omitempty"` + // Shift + // arrayOK: false + // type: number + // Moves the axis a given number of pixels from where it would have been otherwise. Accepts both positive and negative values, which will shift the axis either right or left, respectively. If `autoshift` is set to true, then this defaults to a padding of -3 if `side` is set to *left*. and defaults to +3 if `side` is set to *right*. Defaults to 0 if `autoshift` is set to false. Only has an effect if `anchor` is set to *free*. + Shift float64 `json:"shift,omitempty"` + // Showdividers // arrayOK: false // type: boolean @@ -6116,7 +7062,7 @@ type LayoutYaxis struct { Spikemode LayoutYaxisSpikemode `json:"spikemode,omitempty"` // Spikesnap - // default: data + // default: hovered data // type: enumerated // Determines whether spikelines are stuck to the cursor or to the closest datapoints. Spikesnap LayoutYaxisSpikesnap `json:"spikesnap,omitempty"` @@ -6152,7 +7098,7 @@ type LayoutYaxis struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -6167,12 +7113,24 @@ type LayoutYaxis struct { // Determines where tick labels are drawn with respect to their corresponding ticks and grid lines. Only has an effect for axes of `type` *date* When set to *period*, tick labels are drawn in the middle of the period between ticks. Ticklabelmode LayoutYaxisTicklabelmode `json:"ticklabelmode,omitempty"` + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. Otherwise on *category* and *multicategory* axes the default is *allow*. In other cases the default is *hide past div*. + Ticklabeloverflow LayoutYaxisTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + // Ticklabelposition // default: outside // type: enumerated // Determines where tick labels are drawn with respect to the axis Please note that top or bottom has no effect on x axes or when `ticklabelmode` is set to *period*. Similarly left or right has no effect on y axes or when `ticklabelmode` is set to *period*. Has no effect on *multicategory* axes or when `tickson` is set to *boundaries*. When used on axes linked by `matches` or `scaleanchor`, no extra padding for inside labels would be added by autorange, so that the scales could match. Ticklabelposition LayoutYaxisTicklabelposition `json:"ticklabelposition,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -6182,7 +7140,7 @@ type LayoutYaxis struct { // Tickmode // default: %!s() // type: enumerated - // 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). + // 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). If *sync*, the number of ticks will sync with the overlayed axis set by `overlaying` property. Tickmode LayoutYaxisTickmode `json:"tickmode,omitempty"` // Tickprefix @@ -6218,7 +7176,7 @@ type LayoutYaxis struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -6230,7 +7188,7 @@ type LayoutYaxis struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -6280,14 +7238,6 @@ type LayoutYaxis struct { Zerolinewidth float64 `json:"zerolinewidth,omitempty"` } -// LayoutAngularaxisTickorientation Legacy polar charts are deprecated! Please switch to *polar* subplots. Sets the orientation (from the paper perspective) of the angular axis tick labels. -type LayoutAngularaxisTickorientation string - -const ( - LayoutAngularaxisTickorientationHorizontal LayoutAngularaxisTickorientation = "horizontal" - LayoutAngularaxisTickorientationVertical LayoutAngularaxisTickorientation = "vertical" -) - // LayoutAutotypenumbers 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. type LayoutAutotypenumbers string @@ -6296,7 +7246,7 @@ const ( LayoutAutotypenumbersStrict LayoutAutotypenumbers = "strict" ) -// LayoutBarmode Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *relative*, the bars are stacked on top of one another, with negative values below the axis, positive values above With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to an *opacity* to see multiple bars. +// LayoutBarmode Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *relative*, the bars are stacked on top of one another, with negative values below the axis, positive values above With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars. type LayoutBarmode string const ( @@ -6338,19 +7288,19 @@ const ( type LayoutCalendar string const ( - LayoutCalendarGregorian LayoutCalendar = "gregorian" LayoutCalendarChinese LayoutCalendar = "chinese" LayoutCalendarCoptic LayoutCalendar = "coptic" LayoutCalendarDiscworld LayoutCalendar = "discworld" LayoutCalendarEthiopian LayoutCalendar = "ethiopian" + LayoutCalendarGregorian LayoutCalendar = "gregorian" LayoutCalendarHebrew LayoutCalendar = "hebrew" LayoutCalendarIslamic LayoutCalendar = "islamic" + LayoutCalendarJalali LayoutCalendar = "jalali" LayoutCalendarJulian LayoutCalendar = "julian" LayoutCalendarMayan LayoutCalendar = "mayan" LayoutCalendarNanakshahi LayoutCalendar = "nanakshahi" LayoutCalendarNepali LayoutCalendar = "nepali" LayoutCalendarPersian LayoutCalendar = "persian" - LayoutCalendarJalali LayoutCalendar = "jalali" LayoutCalendarTaiwan LayoutCalendar = "taiwan" LayoutCalendarThai LayoutCalendar = "thai" LayoutCalendarUmmalqura LayoutCalendar = "ummalqura" @@ -6364,7 +7314,7 @@ const ( LayoutColoraxisColorbarExponentformatE1 LayoutColoraxisColorbarExponentformat = "e" LayoutColoraxisColorbarExponentformatE2 LayoutColoraxisColorbarExponentformat = "E" LayoutColoraxisColorbarExponentformatPower LayoutColoraxisColorbarExponentformat = "power" - LayoutColoraxisColorbarExponentformatSi LayoutColoraxisColorbarExponentformat = "SI" + LayoutColoraxisColorbarExponentformatSI LayoutColoraxisColorbarExponentformat = "SI" LayoutColoraxisColorbarExponentformatB LayoutColoraxisColorbarExponentformat = "B" ) @@ -6376,6 +7326,14 @@ const ( LayoutColoraxisColorbarLenmodePixels LayoutColoraxisColorbarLenmode = "pixels" ) +// LayoutColoraxisColorbarOrientation Sets the orientation of the colorbar. +type LayoutColoraxisColorbarOrientation string + +const ( + LayoutColoraxisColorbarOrientationH LayoutColoraxisColorbarOrientation = "h" + LayoutColoraxisColorbarOrientationV LayoutColoraxisColorbarOrientation = "v" +) + // LayoutColoraxisColorbarShowexponent 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. type LayoutColoraxisColorbarShowexponent string @@ -6414,7 +7372,16 @@ const ( LayoutColoraxisColorbarThicknessmodePixels LayoutColoraxisColorbarThicknessmode = "pixels" ) -// LayoutColoraxisColorbarTicklabelposition Determines where tick labels are drawn. +// LayoutColoraxisColorbarTicklabeloverflow 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*. +type LayoutColoraxisColorbarTicklabeloverflow string + +const ( + LayoutColoraxisColorbarTicklabeloverflowAllow LayoutColoraxisColorbarTicklabeloverflow = "allow" + LayoutColoraxisColorbarTicklabeloverflowHidePastDiv LayoutColoraxisColorbarTicklabeloverflow = "hide past div" + LayoutColoraxisColorbarTicklabeloverflowHidePastDomain LayoutColoraxisColorbarTicklabeloverflow = "hide past domain" +) + +// LayoutColoraxisColorbarTicklabelposition 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*. type LayoutColoraxisColorbarTicklabelposition string const ( @@ -6422,6 +7389,10 @@ const ( LayoutColoraxisColorbarTicklabelpositionInside LayoutColoraxisColorbarTicklabelposition = "inside" LayoutColoraxisColorbarTicklabelpositionOutsideTop LayoutColoraxisColorbarTicklabelposition = "outside top" LayoutColoraxisColorbarTicklabelpositionInsideTop LayoutColoraxisColorbarTicklabelposition = "inside top" + LayoutColoraxisColorbarTicklabelpositionOutsideLeft LayoutColoraxisColorbarTicklabelposition = "outside left" + LayoutColoraxisColorbarTicklabelpositionInsideLeft LayoutColoraxisColorbarTicklabelposition = "inside left" + LayoutColoraxisColorbarTicklabelpositionOutsideRight LayoutColoraxisColorbarTicklabelposition = "outside right" + LayoutColoraxisColorbarTicklabelpositionInsideRight LayoutColoraxisColorbarTicklabelposition = "inside right" LayoutColoraxisColorbarTicklabelpositionOutsideBottom LayoutColoraxisColorbarTicklabelposition = "outside bottom" LayoutColoraxisColorbarTicklabelpositionInsideBottom LayoutColoraxisColorbarTicklabelposition = "inside bottom" ) @@ -6444,7 +7415,7 @@ const ( LayoutColoraxisColorbarTicksEmpty LayoutColoraxisColorbarTicks = "" ) -// LayoutColoraxisColorbarTitleSide Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. +// LayoutColoraxisColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. type LayoutColoraxisColorbarTitleSide string const ( @@ -6453,7 +7424,7 @@ const ( LayoutColoraxisColorbarTitleSideBottom LayoutColoraxisColorbarTitleSide = "bottom" ) -// LayoutColoraxisColorbarXanchor Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. +// LayoutColoraxisColorbarXanchor 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*. type LayoutColoraxisColorbarXanchor string const ( @@ -6462,7 +7433,7 @@ const ( LayoutColoraxisColorbarXanchorRight LayoutColoraxisColorbarXanchor = "right" ) -// LayoutColoraxisColorbarYanchor Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. +// LayoutColoraxisColorbarYanchor 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*. type LayoutColoraxisColorbarYanchor string const ( @@ -6471,14 +7442,6 @@ const ( LayoutColoraxisColorbarYanchorBottom LayoutColoraxisColorbarYanchor = "bottom" ) -// LayoutDirection Legacy polar charts are deprecated! Please switch to *polar* subplots. Sets the direction corresponding to positive angles in legacy polar charts. -type LayoutDirection string - -const ( - LayoutDirectionClockwise LayoutDirection = "clockwise" - LayoutDirectionCounterclockwise LayoutDirection = "counterclockwise" -) - // LayoutDragmode 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. type LayoutDragmode interface{} @@ -6497,7 +7460,7 @@ var ( LayoutDragmodeFalse LayoutDragmode = false ) -// LayoutFunnelmode Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to an *opacity* to see multiple bars. +// LayoutFunnelmode Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars. type LayoutFunnelmode string const ( @@ -6519,28 +7482,89 @@ var ( type LayoutGeoProjectionType string const ( - LayoutGeoProjectionTypeEquirectangular LayoutGeoProjectionType = "equirectangular" - LayoutGeoProjectionTypeMercator LayoutGeoProjectionType = "mercator" - LayoutGeoProjectionTypeOrthographic LayoutGeoProjectionType = "orthographic" - LayoutGeoProjectionTypeNaturalEarth LayoutGeoProjectionType = "natural earth" - LayoutGeoProjectionTypeKavrayskiy7 LayoutGeoProjectionType = "kavrayskiy7" - LayoutGeoProjectionTypeMiller LayoutGeoProjectionType = "miller" - LayoutGeoProjectionTypeRobinson LayoutGeoProjectionType = "robinson" - LayoutGeoProjectionTypeEckert4 LayoutGeoProjectionType = "eckert4" - LayoutGeoProjectionTypeAzimuthalEqualArea LayoutGeoProjectionType = "azimuthal equal area" - LayoutGeoProjectionTypeAzimuthalEquidistant LayoutGeoProjectionType = "azimuthal equidistant" - LayoutGeoProjectionTypeConicEqualArea LayoutGeoProjectionType = "conic equal area" - LayoutGeoProjectionTypeConicConformal LayoutGeoProjectionType = "conic conformal" - LayoutGeoProjectionTypeConicEquidistant LayoutGeoProjectionType = "conic equidistant" - LayoutGeoProjectionTypeGnomonic LayoutGeoProjectionType = "gnomonic" - LayoutGeoProjectionTypeStereographic LayoutGeoProjectionType = "stereographic" - LayoutGeoProjectionTypeMollweide LayoutGeoProjectionType = "mollweide" - LayoutGeoProjectionTypeHammer LayoutGeoProjectionType = "hammer" - LayoutGeoProjectionTypeTransverseMercator LayoutGeoProjectionType = "transverse mercator" - LayoutGeoProjectionTypeAlbersUsa LayoutGeoProjectionType = "albers usa" - LayoutGeoProjectionTypeWinkelTripel LayoutGeoProjectionType = "winkel tripel" - LayoutGeoProjectionTypeAitoff LayoutGeoProjectionType = "aitoff" - LayoutGeoProjectionTypeSinusoidal LayoutGeoProjectionType = "sinusoidal" + LayoutGeoProjectionTypeAiry LayoutGeoProjectionType = "airy" + LayoutGeoProjectionTypeAitoff LayoutGeoProjectionType = "aitoff" + LayoutGeoProjectionTypeAlbers LayoutGeoProjectionType = "albers" + LayoutGeoProjectionTypeAlbersUsa LayoutGeoProjectionType = "albers usa" + LayoutGeoProjectionTypeAugust LayoutGeoProjectionType = "august" + LayoutGeoProjectionTypeAzimuthalEqualArea LayoutGeoProjectionType = "azimuthal equal area" + LayoutGeoProjectionTypeAzimuthalEquidistant LayoutGeoProjectionType = "azimuthal equidistant" + LayoutGeoProjectionTypeBaker LayoutGeoProjectionType = "baker" + LayoutGeoProjectionTypeBertin1953 LayoutGeoProjectionType = "bertin1953" + LayoutGeoProjectionTypeBoggs LayoutGeoProjectionType = "boggs" + LayoutGeoProjectionTypeBonne LayoutGeoProjectionType = "bonne" + LayoutGeoProjectionTypeBottomley LayoutGeoProjectionType = "bottomley" + LayoutGeoProjectionTypeBromley LayoutGeoProjectionType = "bromley" + LayoutGeoProjectionTypeCollignon LayoutGeoProjectionType = "collignon" + LayoutGeoProjectionTypeConicConformal LayoutGeoProjectionType = "conic conformal" + LayoutGeoProjectionTypeConicEqualArea LayoutGeoProjectionType = "conic equal area" + LayoutGeoProjectionTypeConicEquidistant LayoutGeoProjectionType = "conic equidistant" + LayoutGeoProjectionTypeCraig LayoutGeoProjectionType = "craig" + LayoutGeoProjectionTypeCraster LayoutGeoProjectionType = "craster" + LayoutGeoProjectionTypeCylindricalEqualArea LayoutGeoProjectionType = "cylindrical equal area" + LayoutGeoProjectionTypeCylindricalStereographic LayoutGeoProjectionType = "cylindrical stereographic" + LayoutGeoProjectionTypeEckert1 LayoutGeoProjectionType = "eckert1" + LayoutGeoProjectionTypeEckert2 LayoutGeoProjectionType = "eckert2" + LayoutGeoProjectionTypeEckert3 LayoutGeoProjectionType = "eckert3" + LayoutGeoProjectionTypeEckert4 LayoutGeoProjectionType = "eckert4" + LayoutGeoProjectionTypeEckert5 LayoutGeoProjectionType = "eckert5" + LayoutGeoProjectionTypeEckert6 LayoutGeoProjectionType = "eckert6" + LayoutGeoProjectionTypeEisenlohr LayoutGeoProjectionType = "eisenlohr" + LayoutGeoProjectionTypeEquirectangular LayoutGeoProjectionType = "equirectangular" + LayoutGeoProjectionTypeFahey LayoutGeoProjectionType = "fahey" + LayoutGeoProjectionTypeFoucaut LayoutGeoProjectionType = "foucaut" + LayoutGeoProjectionTypeFoucautSinusoidal LayoutGeoProjectionType = "foucaut sinusoidal" + LayoutGeoProjectionTypeGinzburg4 LayoutGeoProjectionType = "ginzburg4" + LayoutGeoProjectionTypeGinzburg5 LayoutGeoProjectionType = "ginzburg5" + LayoutGeoProjectionTypeGinzburg6 LayoutGeoProjectionType = "ginzburg6" + LayoutGeoProjectionTypeGinzburg8 LayoutGeoProjectionType = "ginzburg8" + LayoutGeoProjectionTypeGinzburg9 LayoutGeoProjectionType = "ginzburg9" + LayoutGeoProjectionTypeGnomonic LayoutGeoProjectionType = "gnomonic" + LayoutGeoProjectionTypeGringorten LayoutGeoProjectionType = "gringorten" + LayoutGeoProjectionTypeGringortenQuincuncial LayoutGeoProjectionType = "gringorten quincuncial" + LayoutGeoProjectionTypeGuyou LayoutGeoProjectionType = "guyou" + LayoutGeoProjectionTypeHammer LayoutGeoProjectionType = "hammer" + LayoutGeoProjectionTypeHill LayoutGeoProjectionType = "hill" + LayoutGeoProjectionTypeHomolosine LayoutGeoProjectionType = "homolosine" + LayoutGeoProjectionTypeHufnagel LayoutGeoProjectionType = "hufnagel" + LayoutGeoProjectionTypeHyperelliptical LayoutGeoProjectionType = "hyperelliptical" + LayoutGeoProjectionTypeKavrayskiy7 LayoutGeoProjectionType = "kavrayskiy7" + LayoutGeoProjectionTypeLagrange LayoutGeoProjectionType = "lagrange" + LayoutGeoProjectionTypeLarrivee LayoutGeoProjectionType = "larrivee" + LayoutGeoProjectionTypeLaskowski LayoutGeoProjectionType = "laskowski" + LayoutGeoProjectionTypeLoximuthal LayoutGeoProjectionType = "loximuthal" + LayoutGeoProjectionTypeMercator LayoutGeoProjectionType = "mercator" + LayoutGeoProjectionTypeMiller LayoutGeoProjectionType = "miller" + LayoutGeoProjectionTypeMollweide LayoutGeoProjectionType = "mollweide" + LayoutGeoProjectionTypeMtFlatPolarParabolic LayoutGeoProjectionType = "mt flat polar parabolic" + LayoutGeoProjectionTypeMtFlatPolarQuartic LayoutGeoProjectionType = "mt flat polar quartic" + LayoutGeoProjectionTypeMtFlatPolarSinusoidal LayoutGeoProjectionType = "mt flat polar sinusoidal" + LayoutGeoProjectionTypeNaturalEarth LayoutGeoProjectionType = "natural earth" + LayoutGeoProjectionTypeNaturalEarth1 LayoutGeoProjectionType = "natural earth1" + LayoutGeoProjectionTypeNaturalEarth2 LayoutGeoProjectionType = "natural earth2" + LayoutGeoProjectionTypeNellHammer LayoutGeoProjectionType = "nell hammer" + LayoutGeoProjectionTypeNicolosi LayoutGeoProjectionType = "nicolosi" + LayoutGeoProjectionTypeOrthographic LayoutGeoProjectionType = "orthographic" + LayoutGeoProjectionTypePatterson LayoutGeoProjectionType = "patterson" + LayoutGeoProjectionTypePeirceQuincuncial LayoutGeoProjectionType = "peirce quincuncial" + LayoutGeoProjectionTypePolyconic LayoutGeoProjectionType = "polyconic" + LayoutGeoProjectionTypeRectangularPolyconic LayoutGeoProjectionType = "rectangular polyconic" + LayoutGeoProjectionTypeRobinson LayoutGeoProjectionType = "robinson" + LayoutGeoProjectionTypeSatellite LayoutGeoProjectionType = "satellite" + LayoutGeoProjectionTypeSinuMollweide LayoutGeoProjectionType = "sinu mollweide" + LayoutGeoProjectionTypeSinusoidal LayoutGeoProjectionType = "sinusoidal" + LayoutGeoProjectionTypeStereographic LayoutGeoProjectionType = "stereographic" + LayoutGeoProjectionTypeTimes LayoutGeoProjectionType = "times" + LayoutGeoProjectionTypeTransverseMercator LayoutGeoProjectionType = "transverse mercator" + LayoutGeoProjectionTypeVanDerGrinten LayoutGeoProjectionType = "van der grinten" + LayoutGeoProjectionTypeVanDerGrinten2 LayoutGeoProjectionType = "van der grinten2" + LayoutGeoProjectionTypeVanDerGrinten3 LayoutGeoProjectionType = "van der grinten3" + LayoutGeoProjectionTypeVanDerGrinten4 LayoutGeoProjectionType = "van der grinten4" + LayoutGeoProjectionTypeWagner4 LayoutGeoProjectionType = "wagner4" + LayoutGeoProjectionTypeWagner6 LayoutGeoProjectionType = "wagner6" + LayoutGeoProjectionTypeWiechel LayoutGeoProjectionType = "wiechel" + LayoutGeoProjectionTypeWinkelTripel LayoutGeoProjectionType = "winkel tripel" + LayoutGeoProjectionTypeWinkel3 LayoutGeoProjectionType = "winkel3" ) // LayoutGeoResolution Sets the resolution of the base layers. The values have units of km/mm e.g. 110 corresponds to a scale ratio of 1:110,000,000. @@ -6555,13 +7579,13 @@ var ( type LayoutGeoScope string const ( - LayoutGeoScopeWorld LayoutGeoScope = "world" - LayoutGeoScopeUsa LayoutGeoScope = "usa" - LayoutGeoScopeEurope LayoutGeoScope = "europe" - LayoutGeoScopeAsia LayoutGeoScope = "asia" LayoutGeoScopeAfrica LayoutGeoScope = "africa" + LayoutGeoScopeAsia LayoutGeoScope = "asia" + LayoutGeoScopeEurope LayoutGeoScope = "europe" LayoutGeoScopeNorthAmerica LayoutGeoScope = "north america" LayoutGeoScopeSouthAmerica LayoutGeoScope = "south america" + LayoutGeoScopeUsa LayoutGeoScope = "usa" + LayoutGeoScopeWorld LayoutGeoScope = "world" ) // LayoutGridPattern 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`. @@ -6609,7 +7633,7 @@ const ( LayoutHoverlabelAlignAuto LayoutHoverlabelAlign = "auto" ) -// LayoutHovermode 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. If `clickmode` includes the *select* flag, `hovermode` defaults to *closest*. If `clickmode` lacks the *select* flag, it defaults to *x* or *y* (depending on the trace's `orientation` value) for plots based on cartesian coordinates. For anything else the default value is *closest*. +// LayoutHovermode 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. type LayoutHovermode interface{} var ( @@ -6621,7 +7645,23 @@ var ( LayoutHovermodeYUnified LayoutHovermode = "y unified" ) -// LayoutLegendItemclick 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* disable legend item click interactions. +// LayoutLegendEntrywidthmode Determines what entrywidth means. +type LayoutLegendEntrywidthmode string + +const ( + LayoutLegendEntrywidthmodeFraction LayoutLegendEntrywidthmode = "fraction" + LayoutLegendEntrywidthmodePixels LayoutLegendEntrywidthmode = "pixels" +) + +// LayoutLegendGroupclick 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. +type LayoutLegendGroupclick string + +const ( + LayoutLegendGroupclickToggleitem LayoutLegendGroupclick = "toggleitem" + LayoutLegendGroupclickTogglegroup LayoutLegendGroupclick = "togglegroup" +) + +// LayoutLegendItemclick 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. type LayoutLegendItemclick interface{} var ( @@ -6630,7 +7670,7 @@ var ( LayoutLegendItemclickFalse LayoutLegendItemclick = false ) -// LayoutLegendItemdoubleclick 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* disable legend item double-click interactions. +// LayoutLegendItemdoubleclick 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. type LayoutLegendItemdoubleclick interface{} var ( @@ -6701,6 +7741,14 @@ const ( LayoutModebarOrientationH LayoutModebarOrientation = "h" ) +// LayoutNewselectionMode 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. +type LayoutNewselectionMode string + +const ( + LayoutNewselectionModeImmediate LayoutNewselectionMode = "immediate" + LayoutNewselectionModeGradual LayoutNewselectionMode = "gradual" +) + // LayoutNewshapeDrawdirection 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. type LayoutNewshapeDrawdirection string @@ -6719,6 +7767,43 @@ const ( LayoutNewshapeFillruleNonzero LayoutNewshapeFillrule = "nonzero" ) +// LayoutNewshapeLabelTextposition 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. +type LayoutNewshapeLabelTextposition string + +const ( + LayoutNewshapeLabelTextpositionTopLeft LayoutNewshapeLabelTextposition = "top left" + LayoutNewshapeLabelTextpositionTopCenter LayoutNewshapeLabelTextposition = "top center" + LayoutNewshapeLabelTextpositionTopRight LayoutNewshapeLabelTextposition = "top right" + LayoutNewshapeLabelTextpositionMiddleLeft LayoutNewshapeLabelTextposition = "middle left" + LayoutNewshapeLabelTextpositionMiddleCenter LayoutNewshapeLabelTextposition = "middle center" + LayoutNewshapeLabelTextpositionMiddleRight LayoutNewshapeLabelTextposition = "middle right" + LayoutNewshapeLabelTextpositionBottomLeft LayoutNewshapeLabelTextposition = "bottom left" + LayoutNewshapeLabelTextpositionBottomCenter LayoutNewshapeLabelTextposition = "bottom center" + LayoutNewshapeLabelTextpositionBottomRight LayoutNewshapeLabelTextposition = "bottom right" + LayoutNewshapeLabelTextpositionStart LayoutNewshapeLabelTextposition = "start" + LayoutNewshapeLabelTextpositionMiddle LayoutNewshapeLabelTextposition = "middle" + LayoutNewshapeLabelTextpositionEnd LayoutNewshapeLabelTextposition = "end" +) + +// LayoutNewshapeLabelXanchor 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. +type LayoutNewshapeLabelXanchor string + +const ( + LayoutNewshapeLabelXanchorAuto LayoutNewshapeLabelXanchor = "auto" + LayoutNewshapeLabelXanchorLeft LayoutNewshapeLabelXanchor = "left" + LayoutNewshapeLabelXanchorCenter LayoutNewshapeLabelXanchor = "center" + LayoutNewshapeLabelXanchorRight LayoutNewshapeLabelXanchor = "right" +) + +// LayoutNewshapeLabelYanchor 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. +type LayoutNewshapeLabelYanchor string + +const ( + LayoutNewshapeLabelYanchorTop LayoutNewshapeLabelYanchor = "top" + LayoutNewshapeLabelYanchorMiddle LayoutNewshapeLabelYanchor = "middle" + LayoutNewshapeLabelYanchorBottom LayoutNewshapeLabelYanchor = "bottom" +) + // LayoutNewshapeLayer Specifies whether new shapes are drawn below or above traces. type LayoutNewshapeLayer string @@ -6773,7 +7858,7 @@ const ( LayoutPolarAngularaxisExponentformatE1 LayoutPolarAngularaxisExponentformat = "e" LayoutPolarAngularaxisExponentformatE2 LayoutPolarAngularaxisExponentformat = "E" LayoutPolarAngularaxisExponentformatPower LayoutPolarAngularaxisExponentformat = "power" - LayoutPolarAngularaxisExponentformatSi LayoutPolarAngularaxisExponentformat = "SI" + LayoutPolarAngularaxisExponentformatSI LayoutPolarAngularaxisExponentformat = "SI" LayoutPolarAngularaxisExponentformatB LayoutPolarAngularaxisExponentformat = "B" ) @@ -6879,19 +7964,19 @@ const ( type LayoutPolarRadialaxisCalendar string const ( - LayoutPolarRadialaxisCalendarGregorian LayoutPolarRadialaxisCalendar = "gregorian" LayoutPolarRadialaxisCalendarChinese LayoutPolarRadialaxisCalendar = "chinese" LayoutPolarRadialaxisCalendarCoptic LayoutPolarRadialaxisCalendar = "coptic" LayoutPolarRadialaxisCalendarDiscworld LayoutPolarRadialaxisCalendar = "discworld" LayoutPolarRadialaxisCalendarEthiopian LayoutPolarRadialaxisCalendar = "ethiopian" + LayoutPolarRadialaxisCalendarGregorian LayoutPolarRadialaxisCalendar = "gregorian" LayoutPolarRadialaxisCalendarHebrew LayoutPolarRadialaxisCalendar = "hebrew" LayoutPolarRadialaxisCalendarIslamic LayoutPolarRadialaxisCalendar = "islamic" + LayoutPolarRadialaxisCalendarJalali LayoutPolarRadialaxisCalendar = "jalali" LayoutPolarRadialaxisCalendarJulian LayoutPolarRadialaxisCalendar = "julian" LayoutPolarRadialaxisCalendarMayan LayoutPolarRadialaxisCalendar = "mayan" LayoutPolarRadialaxisCalendarNanakshahi LayoutPolarRadialaxisCalendar = "nanakshahi" LayoutPolarRadialaxisCalendarNepali LayoutPolarRadialaxisCalendar = "nepali" LayoutPolarRadialaxisCalendarPersian LayoutPolarRadialaxisCalendar = "persian" - LayoutPolarRadialaxisCalendarJalali LayoutPolarRadialaxisCalendar = "jalali" LayoutPolarRadialaxisCalendarTaiwan LayoutPolarRadialaxisCalendar = "taiwan" LayoutPolarRadialaxisCalendarThai LayoutPolarRadialaxisCalendar = "thai" LayoutPolarRadialaxisCalendarUmmalqura LayoutPolarRadialaxisCalendar = "ummalqura" @@ -6927,7 +8012,7 @@ const ( LayoutPolarRadialaxisExponentformatE1 LayoutPolarRadialaxisExponentformat = "e" LayoutPolarRadialaxisExponentformatE2 LayoutPolarRadialaxisExponentformat = "E" LayoutPolarRadialaxisExponentformatPower LayoutPolarRadialaxisExponentformat = "power" - LayoutPolarRadialaxisExponentformatSi LayoutPolarRadialaxisExponentformat = "SI" + LayoutPolarRadialaxisExponentformatSI LayoutPolarRadialaxisExponentformat = "SI" LayoutPolarRadialaxisExponentformatB LayoutPolarRadialaxisExponentformat = "B" ) @@ -7015,12 +8100,12 @@ const ( LayoutPolarRadialaxisTypeCategory LayoutPolarRadialaxisType = "category" ) -// LayoutRadialaxisTickorientation Legacy polar charts are deprecated! Please switch to *polar* subplots. Sets the orientation (from the paper perspective) of the radial axis tick labels. -type LayoutRadialaxisTickorientation string +// LayoutScattermode Determines how scatter points at the same location coordinate are displayed on the graph. With *group*, the scatter points are plotted next to one another centered around the shared location. With *overlay*, the scatter points are plotted over one another, you might need to reduce *opacity* to see multiple scatter points. +type LayoutScattermode string const ( - LayoutRadialaxisTickorientationHorizontal LayoutRadialaxisTickorientation = "horizontal" - LayoutRadialaxisTickorientationVertical LayoutRadialaxisTickorientation = "vertical" + ScatterScattermodeGroup LayoutScattermode = "group" + ScatterScattermodeOverlay LayoutScattermode = "overlay" ) // LayoutSceneAspectmode If *cube*, this scene's axes are drawn as a cube, regardless of the axes' ranges. If *data*, this scene's axes are drawn in proportion with the axes' ranges. If *manual*, this scene's axes are drawn in proportion with the input of *aspectratio* (the default behavior if *aspectratio* is provided). If *auto*, this scene's axes are drawn using the results of *data* except when one axis is more than four times the size of the two others, where in that case the results of *cube* are used. @@ -7081,19 +8166,19 @@ const ( type LayoutSceneXaxisCalendar string const ( - LayoutSceneXaxisCalendarGregorian LayoutSceneXaxisCalendar = "gregorian" LayoutSceneXaxisCalendarChinese LayoutSceneXaxisCalendar = "chinese" LayoutSceneXaxisCalendarCoptic LayoutSceneXaxisCalendar = "coptic" LayoutSceneXaxisCalendarDiscworld LayoutSceneXaxisCalendar = "discworld" LayoutSceneXaxisCalendarEthiopian LayoutSceneXaxisCalendar = "ethiopian" + LayoutSceneXaxisCalendarGregorian LayoutSceneXaxisCalendar = "gregorian" LayoutSceneXaxisCalendarHebrew LayoutSceneXaxisCalendar = "hebrew" LayoutSceneXaxisCalendarIslamic LayoutSceneXaxisCalendar = "islamic" + LayoutSceneXaxisCalendarJalali LayoutSceneXaxisCalendar = "jalali" LayoutSceneXaxisCalendarJulian LayoutSceneXaxisCalendar = "julian" LayoutSceneXaxisCalendarMayan LayoutSceneXaxisCalendar = "mayan" LayoutSceneXaxisCalendarNanakshahi LayoutSceneXaxisCalendar = "nanakshahi" LayoutSceneXaxisCalendarNepali LayoutSceneXaxisCalendar = "nepali" LayoutSceneXaxisCalendarPersian LayoutSceneXaxisCalendar = "persian" - LayoutSceneXaxisCalendarJalali LayoutSceneXaxisCalendar = "jalali" LayoutSceneXaxisCalendarTaiwan LayoutSceneXaxisCalendar = "taiwan" LayoutSceneXaxisCalendarThai LayoutSceneXaxisCalendar = "thai" LayoutSceneXaxisCalendarUmmalqura LayoutSceneXaxisCalendar = "ummalqura" @@ -7129,7 +8214,7 @@ const ( LayoutSceneXaxisExponentformatE1 LayoutSceneXaxisExponentformat = "e" LayoutSceneXaxisExponentformatE2 LayoutSceneXaxisExponentformat = "E" LayoutSceneXaxisExponentformatPower LayoutSceneXaxisExponentformat = "power" - LayoutSceneXaxisExponentformatSi LayoutSceneXaxisExponentformat = "SI" + LayoutSceneXaxisExponentformatSI LayoutSceneXaxisExponentformat = "SI" LayoutSceneXaxisExponentformatB LayoutSceneXaxisExponentformat = "B" ) @@ -7233,19 +8318,19 @@ const ( type LayoutSceneYaxisCalendar string const ( - LayoutSceneYaxisCalendarGregorian LayoutSceneYaxisCalendar = "gregorian" LayoutSceneYaxisCalendarChinese LayoutSceneYaxisCalendar = "chinese" LayoutSceneYaxisCalendarCoptic LayoutSceneYaxisCalendar = "coptic" LayoutSceneYaxisCalendarDiscworld LayoutSceneYaxisCalendar = "discworld" LayoutSceneYaxisCalendarEthiopian LayoutSceneYaxisCalendar = "ethiopian" + LayoutSceneYaxisCalendarGregorian LayoutSceneYaxisCalendar = "gregorian" LayoutSceneYaxisCalendarHebrew LayoutSceneYaxisCalendar = "hebrew" LayoutSceneYaxisCalendarIslamic LayoutSceneYaxisCalendar = "islamic" + LayoutSceneYaxisCalendarJalali LayoutSceneYaxisCalendar = "jalali" LayoutSceneYaxisCalendarJulian LayoutSceneYaxisCalendar = "julian" LayoutSceneYaxisCalendarMayan LayoutSceneYaxisCalendar = "mayan" LayoutSceneYaxisCalendarNanakshahi LayoutSceneYaxisCalendar = "nanakshahi" LayoutSceneYaxisCalendarNepali LayoutSceneYaxisCalendar = "nepali" LayoutSceneYaxisCalendarPersian LayoutSceneYaxisCalendar = "persian" - LayoutSceneYaxisCalendarJalali LayoutSceneYaxisCalendar = "jalali" LayoutSceneYaxisCalendarTaiwan LayoutSceneYaxisCalendar = "taiwan" LayoutSceneYaxisCalendarThai LayoutSceneYaxisCalendar = "thai" LayoutSceneYaxisCalendarUmmalqura LayoutSceneYaxisCalendar = "ummalqura" @@ -7281,7 +8366,7 @@ const ( LayoutSceneYaxisExponentformatE1 LayoutSceneYaxisExponentformat = "e" LayoutSceneYaxisExponentformatE2 LayoutSceneYaxisExponentformat = "E" LayoutSceneYaxisExponentformatPower LayoutSceneYaxisExponentformat = "power" - LayoutSceneYaxisExponentformatSi LayoutSceneYaxisExponentformat = "SI" + LayoutSceneYaxisExponentformatSI LayoutSceneYaxisExponentformat = "SI" LayoutSceneYaxisExponentformatB LayoutSceneYaxisExponentformat = "B" ) @@ -7385,19 +8470,19 @@ const ( type LayoutSceneZaxisCalendar string const ( - LayoutSceneZaxisCalendarGregorian LayoutSceneZaxisCalendar = "gregorian" LayoutSceneZaxisCalendarChinese LayoutSceneZaxisCalendar = "chinese" LayoutSceneZaxisCalendarCoptic LayoutSceneZaxisCalendar = "coptic" LayoutSceneZaxisCalendarDiscworld LayoutSceneZaxisCalendar = "discworld" LayoutSceneZaxisCalendarEthiopian LayoutSceneZaxisCalendar = "ethiopian" + LayoutSceneZaxisCalendarGregorian LayoutSceneZaxisCalendar = "gregorian" LayoutSceneZaxisCalendarHebrew LayoutSceneZaxisCalendar = "hebrew" LayoutSceneZaxisCalendarIslamic LayoutSceneZaxisCalendar = "islamic" + LayoutSceneZaxisCalendarJalali LayoutSceneZaxisCalendar = "jalali" LayoutSceneZaxisCalendarJulian LayoutSceneZaxisCalendar = "julian" LayoutSceneZaxisCalendarMayan LayoutSceneZaxisCalendar = "mayan" LayoutSceneZaxisCalendarNanakshahi LayoutSceneZaxisCalendar = "nanakshahi" LayoutSceneZaxisCalendarNepali LayoutSceneZaxisCalendar = "nepali" LayoutSceneZaxisCalendarPersian LayoutSceneZaxisCalendar = "persian" - LayoutSceneZaxisCalendarJalali LayoutSceneZaxisCalendar = "jalali" LayoutSceneZaxisCalendarTaiwan LayoutSceneZaxisCalendar = "taiwan" LayoutSceneZaxisCalendarThai LayoutSceneZaxisCalendar = "thai" LayoutSceneZaxisCalendarUmmalqura LayoutSceneZaxisCalendar = "ummalqura" @@ -7433,7 +8518,7 @@ const ( LayoutSceneZaxisExponentformatE1 LayoutSceneZaxisExponentformat = "e" LayoutSceneZaxisExponentformatE2 LayoutSceneZaxisExponentformat = "E" LayoutSceneZaxisExponentformatPower LayoutSceneZaxisExponentformat = "power" - LayoutSceneZaxisExponentformatSi LayoutSceneZaxisExponentformat = "SI" + LayoutSceneZaxisExponentformatSI LayoutSceneZaxisExponentformat = "SI" LayoutSceneZaxisExponentformatB LayoutSceneZaxisExponentformat = "B" ) @@ -7526,6 +8611,88 @@ const ( LayoutSelectdirectionAny LayoutSelectdirection = "any" ) +// LayoutSmithImaginaryaxisLayer Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. +type LayoutSmithImaginaryaxisLayer string + +const ( + LayoutSmithImaginaryaxisLayerAboveTraces LayoutSmithImaginaryaxisLayer = "above traces" + LayoutSmithImaginaryaxisLayerBelowTraces LayoutSmithImaginaryaxisLayer = "below traces" +) + +// LayoutSmithImaginaryaxisShowtickprefix 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. +type LayoutSmithImaginaryaxisShowtickprefix string + +const ( + LayoutSmithImaginaryaxisShowtickprefixAll LayoutSmithImaginaryaxisShowtickprefix = "all" + LayoutSmithImaginaryaxisShowtickprefixFirst LayoutSmithImaginaryaxisShowtickprefix = "first" + LayoutSmithImaginaryaxisShowtickprefixLast LayoutSmithImaginaryaxisShowtickprefix = "last" + LayoutSmithImaginaryaxisShowtickprefixNone LayoutSmithImaginaryaxisShowtickprefix = "none" +) + +// LayoutSmithImaginaryaxisShowticksuffix Same as `showtickprefix` but for tick suffixes. +type LayoutSmithImaginaryaxisShowticksuffix string + +const ( + LayoutSmithImaginaryaxisShowticksuffixAll LayoutSmithImaginaryaxisShowticksuffix = "all" + LayoutSmithImaginaryaxisShowticksuffixFirst LayoutSmithImaginaryaxisShowticksuffix = "first" + LayoutSmithImaginaryaxisShowticksuffixLast LayoutSmithImaginaryaxisShowticksuffix = "last" + LayoutSmithImaginaryaxisShowticksuffixNone LayoutSmithImaginaryaxisShowticksuffix = "none" +) + +// LayoutSmithImaginaryaxisTicks 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. +type LayoutSmithImaginaryaxisTicks string + +const ( + LayoutSmithImaginaryaxisTicksOutside LayoutSmithImaginaryaxisTicks = "outside" + LayoutSmithImaginaryaxisTicksInside LayoutSmithImaginaryaxisTicks = "inside" + LayoutSmithImaginaryaxisTicksEmpty LayoutSmithImaginaryaxisTicks = "" +) + +// LayoutSmithRealaxisLayer Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. +type LayoutSmithRealaxisLayer string + +const ( + LayoutSmithRealaxisLayerAboveTraces LayoutSmithRealaxisLayer = "above traces" + LayoutSmithRealaxisLayerBelowTraces LayoutSmithRealaxisLayer = "below traces" +) + +// LayoutSmithRealaxisShowtickprefix 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. +type LayoutSmithRealaxisShowtickprefix string + +const ( + LayoutSmithRealaxisShowtickprefixAll LayoutSmithRealaxisShowtickprefix = "all" + LayoutSmithRealaxisShowtickprefixFirst LayoutSmithRealaxisShowtickprefix = "first" + LayoutSmithRealaxisShowtickprefixLast LayoutSmithRealaxisShowtickprefix = "last" + LayoutSmithRealaxisShowtickprefixNone LayoutSmithRealaxisShowtickprefix = "none" +) + +// LayoutSmithRealaxisShowticksuffix Same as `showtickprefix` but for tick suffixes. +type LayoutSmithRealaxisShowticksuffix string + +const ( + LayoutSmithRealaxisShowticksuffixAll LayoutSmithRealaxisShowticksuffix = "all" + LayoutSmithRealaxisShowticksuffixFirst LayoutSmithRealaxisShowticksuffix = "first" + LayoutSmithRealaxisShowticksuffixLast LayoutSmithRealaxisShowticksuffix = "last" + LayoutSmithRealaxisShowticksuffixNone LayoutSmithRealaxisShowticksuffix = "none" +) + +// LayoutSmithRealaxisSide Determines on which side of real axis line the tick and tick labels appear. +type LayoutSmithRealaxisSide string + +const ( + LayoutSmithRealaxisSideTop LayoutSmithRealaxisSide = "top" + LayoutSmithRealaxisSideBottom LayoutSmithRealaxisSide = "bottom" +) + +// LayoutSmithRealaxisTicks Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *top* (*bottom*), this axis' are drawn above (below) the axis line. +type LayoutSmithRealaxisTicks string + +const ( + LayoutSmithRealaxisTicksTop LayoutSmithRealaxisTicks = "top" + LayoutSmithRealaxisTicksBottom LayoutSmithRealaxisTicks = "bottom" + LayoutSmithRealaxisTicksEmpty LayoutSmithRealaxisTicks = "" +) + // LayoutTernaryAaxisExponentformat 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. type LayoutTernaryAaxisExponentformat string @@ -7534,7 +8701,7 @@ const ( LayoutTernaryAaxisExponentformatE1 LayoutTernaryAaxisExponentformat = "e" LayoutTernaryAaxisExponentformatE2 LayoutTernaryAaxisExponentformat = "E" LayoutTernaryAaxisExponentformatPower LayoutTernaryAaxisExponentformat = "power" - LayoutTernaryAaxisExponentformatSi LayoutTernaryAaxisExponentformat = "SI" + LayoutTernaryAaxisExponentformatSI LayoutTernaryAaxisExponentformat = "SI" LayoutTernaryAaxisExponentformatB LayoutTernaryAaxisExponentformat = "B" ) @@ -7602,7 +8769,7 @@ const ( LayoutTernaryBaxisExponentformatE1 LayoutTernaryBaxisExponentformat = "e" LayoutTernaryBaxisExponentformatE2 LayoutTernaryBaxisExponentformat = "E" LayoutTernaryBaxisExponentformatPower LayoutTernaryBaxisExponentformat = "power" - LayoutTernaryBaxisExponentformatSi LayoutTernaryBaxisExponentformat = "SI" + LayoutTernaryBaxisExponentformatSI LayoutTernaryBaxisExponentformat = "SI" LayoutTernaryBaxisExponentformatB LayoutTernaryBaxisExponentformat = "B" ) @@ -7670,7 +8837,7 @@ const ( LayoutTernaryCaxisExponentformatE1 LayoutTernaryCaxisExponentformat = "e" LayoutTernaryCaxisExponentformatE2 LayoutTernaryCaxisExponentformat = "E" LayoutTernaryCaxisExponentformatPower LayoutTernaryCaxisExponentformat = "power" - LayoutTernaryCaxisExponentformatSi LayoutTernaryCaxisExponentformat = "SI" + LayoutTernaryCaxisExponentformatSI LayoutTernaryCaxisExponentformat = "SI" LayoutTernaryCaxisExponentformatB LayoutTernaryCaxisExponentformat = "B" ) @@ -7833,7 +9000,7 @@ const ( ViolinViolinmodeOverlay LayoutViolinmode = "overlay" ) -// LayoutWaterfallmode Determines how bars at the same location coordinate are displayed on the graph. With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to an *opacity* to see multiple bars. +// LayoutWaterfallmode Determines how bars at the same location coordinate are displayed on the graph. With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars. type LayoutWaterfallmode string const ( @@ -7871,19 +9038,19 @@ const ( type LayoutXaxisCalendar string const ( - LayoutXaxisCalendarGregorian LayoutXaxisCalendar = "gregorian" LayoutXaxisCalendarChinese LayoutXaxisCalendar = "chinese" LayoutXaxisCalendarCoptic LayoutXaxisCalendar = "coptic" LayoutXaxisCalendarDiscworld LayoutXaxisCalendar = "discworld" LayoutXaxisCalendarEthiopian LayoutXaxisCalendar = "ethiopian" + LayoutXaxisCalendarGregorian LayoutXaxisCalendar = "gregorian" LayoutXaxisCalendarHebrew LayoutXaxisCalendar = "hebrew" LayoutXaxisCalendarIslamic LayoutXaxisCalendar = "islamic" + LayoutXaxisCalendarJalali LayoutXaxisCalendar = "jalali" LayoutXaxisCalendarJulian LayoutXaxisCalendar = "julian" LayoutXaxisCalendarMayan LayoutXaxisCalendar = "mayan" LayoutXaxisCalendarNanakshahi LayoutXaxisCalendar = "nanakshahi" LayoutXaxisCalendarNepali LayoutXaxisCalendar = "nepali" LayoutXaxisCalendarPersian LayoutXaxisCalendar = "persian" - LayoutXaxisCalendarJalali LayoutXaxisCalendar = "jalali" LayoutXaxisCalendarTaiwan LayoutXaxisCalendar = "taiwan" LayoutXaxisCalendarThai LayoutXaxisCalendar = "thai" LayoutXaxisCalendarUmmalqura LayoutXaxisCalendar = "ummalqura" @@ -7939,7 +9106,7 @@ const ( LayoutXaxisExponentformatE1 LayoutXaxisExponentformat = "e" LayoutXaxisExponentformatE2 LayoutXaxisExponentformat = "E" LayoutXaxisExponentformatPower LayoutXaxisExponentformat = "power" - LayoutXaxisExponentformatSi LayoutXaxisExponentformat = "SI" + LayoutXaxisExponentformatSI LayoutXaxisExponentformat = "SI" LayoutXaxisExponentformatB LayoutXaxisExponentformat = "B" ) @@ -7959,6 +9126,24 @@ const ( LayoutXaxisMatchesSlashCapeyLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutXaxisMatches = "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" ) +// LayoutXaxisMinorTickmode 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). +type LayoutXaxisMinorTickmode string + +const ( + LayoutXaxisMinorTickmodeAuto LayoutXaxisMinorTickmode = "auto" + LayoutXaxisMinorTickmodeLinear LayoutXaxisMinorTickmode = "linear" + LayoutXaxisMinorTickmodeArray LayoutXaxisMinorTickmode = "array" +) + +// LayoutXaxisMinorTicks 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. +type LayoutXaxisMinorTicks string + +const ( + LayoutXaxisMinorTicksOutside LayoutXaxisMinorTicks = "outside" + LayoutXaxisMinorTicksInside LayoutXaxisMinorTicks = "inside" + LayoutXaxisMinorTicksEmpty LayoutXaxisMinorTicks = "" +) + // LayoutXaxisMirror 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. type LayoutXaxisMirror interface{} @@ -8082,6 +9267,15 @@ const ( LayoutXaxisTicklabelmodePeriod LayoutXaxisTicklabelmode = "period" ) +// LayoutXaxisTicklabeloverflow 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*. Otherwise on *category* and *multicategory* axes the default is *allow*. In other cases the default is *hide past div*. +type LayoutXaxisTicklabeloverflow string + +const ( + LayoutXaxisTicklabeloverflowAllow LayoutXaxisTicklabeloverflow = "allow" + LayoutXaxisTicklabeloverflowHidePastDiv LayoutXaxisTicklabeloverflow = "hide past div" + LayoutXaxisTicklabeloverflowHidePastDomain LayoutXaxisTicklabeloverflow = "hide past domain" +) + // LayoutXaxisTicklabelposition Determines where tick labels are drawn with respect to the axis Please note that top or bottom has no effect on x axes or when `ticklabelmode` is set to *period*. Similarly left or right has no effect on y axes or when `ticklabelmode` is set to *period*. Has no effect on *multicategory* axes or when `tickson` is set to *boundaries*. When used on axes linked by `matches` or `scaleanchor`, no extra padding for inside labels would be added by autorange, so that the scales could match. type LayoutXaxisTicklabelposition string @@ -8098,13 +9292,14 @@ const ( LayoutXaxisTicklabelpositionInsideBottom LayoutXaxisTicklabelposition = "inside bottom" ) -// LayoutXaxisTickmode 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). +// LayoutXaxisTickmode 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). If *sync*, the number of ticks will sync with the overlayed axis set by `overlaying` property. type LayoutXaxisTickmode string const ( LayoutXaxisTickmodeAuto LayoutXaxisTickmode = "auto" LayoutXaxisTickmodeLinear LayoutXaxisTickmode = "linear" LayoutXaxisTickmodeArray LayoutXaxisTickmode = "array" + LayoutXaxisTickmodeSync LayoutXaxisTickmode = "sync" ) // LayoutXaxisTicks 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. @@ -8166,19 +9361,19 @@ const ( type LayoutYaxisCalendar string const ( - LayoutYaxisCalendarGregorian LayoutYaxisCalendar = "gregorian" LayoutYaxisCalendarChinese LayoutYaxisCalendar = "chinese" LayoutYaxisCalendarCoptic LayoutYaxisCalendar = "coptic" LayoutYaxisCalendarDiscworld LayoutYaxisCalendar = "discworld" LayoutYaxisCalendarEthiopian LayoutYaxisCalendar = "ethiopian" + LayoutYaxisCalendarGregorian LayoutYaxisCalendar = "gregorian" LayoutYaxisCalendarHebrew LayoutYaxisCalendar = "hebrew" LayoutYaxisCalendarIslamic LayoutYaxisCalendar = "islamic" + LayoutYaxisCalendarJalali LayoutYaxisCalendar = "jalali" LayoutYaxisCalendarJulian LayoutYaxisCalendar = "julian" LayoutYaxisCalendarMayan LayoutYaxisCalendar = "mayan" LayoutYaxisCalendarNanakshahi LayoutYaxisCalendar = "nanakshahi" LayoutYaxisCalendarNepali LayoutYaxisCalendar = "nepali" LayoutYaxisCalendarPersian LayoutYaxisCalendar = "persian" - LayoutYaxisCalendarJalali LayoutYaxisCalendar = "jalali" LayoutYaxisCalendarTaiwan LayoutYaxisCalendar = "taiwan" LayoutYaxisCalendarThai LayoutYaxisCalendar = "thai" LayoutYaxisCalendarUmmalqura LayoutYaxisCalendar = "ummalqura" @@ -8234,7 +9429,7 @@ const ( LayoutYaxisExponentformatE1 LayoutYaxisExponentformat = "e" LayoutYaxisExponentformatE2 LayoutYaxisExponentformat = "E" LayoutYaxisExponentformatPower LayoutYaxisExponentformat = "power" - LayoutYaxisExponentformatSi LayoutYaxisExponentformat = "SI" + LayoutYaxisExponentformatSI LayoutYaxisExponentformat = "SI" LayoutYaxisExponentformatB LayoutYaxisExponentformat = "B" ) @@ -8254,6 +9449,24 @@ const ( LayoutYaxisMatchesSlashCapeyLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutYaxisMatches = "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" ) +// LayoutYaxisMinorTickmode 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). +type LayoutYaxisMinorTickmode string + +const ( + LayoutYaxisMinorTickmodeAuto LayoutYaxisMinorTickmode = "auto" + LayoutYaxisMinorTickmodeLinear LayoutYaxisMinorTickmode = "linear" + LayoutYaxisMinorTickmodeArray LayoutYaxisMinorTickmode = "array" +) + +// LayoutYaxisMinorTicks 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. +type LayoutYaxisMinorTicks string + +const ( + LayoutYaxisMinorTicksOutside LayoutYaxisMinorTicks = "outside" + LayoutYaxisMinorTicksInside LayoutYaxisMinorTicks = "inside" + LayoutYaxisMinorTicksEmpty LayoutYaxisMinorTicks = "" +) + // LayoutYaxisMirror 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. type LayoutYaxisMirror interface{} @@ -8348,6 +9561,15 @@ const ( LayoutYaxisTicklabelmodePeriod LayoutYaxisTicklabelmode = "period" ) +// LayoutYaxisTicklabeloverflow 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*. Otherwise on *category* and *multicategory* axes the default is *allow*. In other cases the default is *hide past div*. +type LayoutYaxisTicklabeloverflow string + +const ( + LayoutYaxisTicklabeloverflowAllow LayoutYaxisTicklabeloverflow = "allow" + LayoutYaxisTicklabeloverflowHidePastDiv LayoutYaxisTicklabeloverflow = "hide past div" + LayoutYaxisTicklabeloverflowHidePastDomain LayoutYaxisTicklabeloverflow = "hide past domain" +) + // LayoutYaxisTicklabelposition Determines where tick labels are drawn with respect to the axis Please note that top or bottom has no effect on x axes or when `ticklabelmode` is set to *period*. Similarly left or right has no effect on y axes or when `ticklabelmode` is set to *period*. Has no effect on *multicategory* axes or when `tickson` is set to *boundaries*. When used on axes linked by `matches` or `scaleanchor`, no extra padding for inside labels would be added by autorange, so that the scales could match. type LayoutYaxisTicklabelposition string @@ -8364,13 +9586,14 @@ const ( LayoutYaxisTicklabelpositionInsideBottom LayoutYaxisTicklabelposition = "inside bottom" ) -// LayoutYaxisTickmode 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). +// LayoutYaxisTickmode 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). If *sync*, the number of ticks will sync with the overlayed axis set by `overlaying` property. type LayoutYaxisTickmode string const ( LayoutYaxisTickmodeAuto LayoutYaxisTickmode = "auto" LayoutYaxisTickmodeLinear LayoutYaxisTickmode = "linear" LayoutYaxisTickmodeArray LayoutYaxisTickmode = "array" + LayoutYaxisTickmodeSync LayoutYaxisTickmode = "sync" ) // LayoutYaxisTicks 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. @@ -8426,6 +9649,23 @@ const ( LayoutLegendTraceorderNormal LayoutLegendTraceorder = "normal" ) +// LayoutXaxisAutomargin Determines whether long tick labels automatically grow the figure margins. +type LayoutXaxisAutomargin interface{} + +var ( + // Flags + LayoutXaxisAutomarginHeight LayoutXaxisAutomargin = "height" + LayoutXaxisAutomarginWidth LayoutXaxisAutomargin = "width" + LayoutXaxisAutomarginLeft LayoutXaxisAutomargin = "left" + LayoutXaxisAutomarginRight LayoutXaxisAutomargin = "right" + LayoutXaxisAutomarginTop LayoutXaxisAutomargin = "top" + LayoutXaxisAutomarginBottom LayoutXaxisAutomargin = "bottom" + + // Extra + LayoutXaxisAutomarginTrue LayoutXaxisAutomargin = true + LayoutXaxisAutomarginFalse LayoutXaxisAutomargin = false +) + // LayoutXaxisSpikemode Determines the drawing mode for the spike line If *toaxis*, the line is drawn from the data point to the axis the series is plotted on. If *across*, the line is drawn across the entire plot area, and supercedes *toaxis*. If *marker*, then a marker dot is drawn on the axis the series is plotted on type LayoutXaxisSpikemode string @@ -8439,6 +9679,23 @@ const ( ) +// LayoutYaxisAutomargin Determines whether long tick labels automatically grow the figure margins. +type LayoutYaxisAutomargin interface{} + +var ( + // Flags + LayoutYaxisAutomarginHeight LayoutYaxisAutomargin = "height" + LayoutYaxisAutomarginWidth LayoutYaxisAutomargin = "width" + LayoutYaxisAutomarginLeft LayoutYaxisAutomargin = "left" + LayoutYaxisAutomarginRight LayoutYaxisAutomargin = "right" + LayoutYaxisAutomarginTop LayoutYaxisAutomargin = "top" + LayoutYaxisAutomarginBottom LayoutYaxisAutomargin = "bottom" + + // Extra + LayoutYaxisAutomarginTrue LayoutYaxisAutomargin = true + LayoutYaxisAutomarginFalse LayoutYaxisAutomargin = false +) + // LayoutYaxisSpikemode Determines the drawing mode for the spike line If *toaxis*, the line is drawn from the data point to the axis the series is plotted on. If *across*, the line is drawn across the entire plot area, and supercedes *toaxis*. If *marker*, then a marker dot is drawn on the axis the series is plotted on type LayoutYaxisSpikemode string diff --git a/graph_objects/mesh3d_gen.go b/generated/v2.19.0/graph_objects/mesh3d_gen.go similarity index 78% rename from graph_objects/mesh3d_gen.go rename to generated/v2.19.0/graph_objects/mesh3d_gen.go index 4f40eda..17ed655 100644 --- a/graph_objects/mesh3d_gen.go +++ b/generated/v2.19.0/graph_objects/mesh3d_gen.go @@ -24,13 +24,13 @@ type Mesh3d struct { // Autocolorscale // arrayOK: false // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Cauto // arrayOK: false // type: boolean - // 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. + // 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. Cauto Bool `json:"cauto,omitempty"` // Cmax @@ -70,7 +70,7 @@ type Mesh3d struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Contour @@ -86,7 +86,7 @@ type Mesh3d struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Delaunayaxis @@ -104,7 +104,7 @@ type Mesh3d struct { // Facecolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for facecolor . + // Sets the source reference on Chart Studio Cloud for `facecolor`. Facecolorsrc String `json:"facecolorsrc,omitempty"` // Flatshading @@ -122,7 +122,7 @@ type Mesh3d struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -132,13 +132,13 @@ type Mesh3d struct { // Hovertemplate // arrayOK: true // 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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + // 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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. Hovertemplate String `json:"hovertemplate,omitempty"` // Hovertemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertemplate . + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` // Hovertext @@ -150,7 +150,7 @@ type Mesh3d struct { // Hovertextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertext . + // Sets the source reference on Chart Studio Cloud for `hovertext`. Hovertextsrc String `json:"hovertextsrc,omitempty"` // I @@ -168,7 +168,7 @@ type Mesh3d struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` // Intensity @@ -186,13 +186,13 @@ type Mesh3d struct { // Intensitysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for intensity . + // Sets the source reference on Chart Studio Cloud for `intensity`. Intensitysrc String `json:"intensitysrc,omitempty"` // Isrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for i . + // Sets the source reference on Chart Studio Cloud for `i`. Isrc String `json:"isrc,omitempty"` // J @@ -204,7 +204,7 @@ type Mesh3d struct { // Jsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for j . + // Sets the source reference on Chart Studio Cloud for `j`. Jsrc String `json:"jsrc,omitempty"` // K @@ -216,7 +216,7 @@ type Mesh3d struct { // Ksrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for k . + // Sets the source reference on Chart Studio Cloud for `k`. Ksrc String `json:"ksrc,omitempty"` // Legendgroup @@ -225,6 +225,22 @@ type Mesh3d struct { // Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items. Legendgroup String `json:"legendgroup,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *Mesh3dLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Lighting // role: Object Lighting *Mesh3dLighting `json:"lighting,omitempty"` @@ -242,7 +258,7 @@ type Mesh3d struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Name @@ -294,7 +310,7 @@ type Mesh3d struct { // Textsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for text . + // Sets the source reference on Chart Studio Cloud for `text`. Textsrc String `json:"textsrc,omitempty"` // Uid @@ -318,7 +334,7 @@ type Mesh3d struct { // Vertexcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for vertexcolor . + // Sets the source reference on Chart Studio Cloud for `vertexcolor`. Vertexcolorsrc String `json:"vertexcolorsrc,omitempty"` // Visible @@ -339,10 +355,16 @@ type Mesh3d struct { // Sets the calendar system to use with `x` date data. Xcalendar Mesh3dXcalendar `json:"xcalendar,omitempty"` + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + // Xsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for x . + // Sets the source reference on Chart Studio Cloud for `x`. Xsrc String `json:"xsrc,omitempty"` // Y @@ -357,10 +379,16 @@ type Mesh3d struct { // Sets the calendar system to use with `y` date data. Ycalendar Mesh3dYcalendar `json:"ycalendar,omitempty"` + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + // Ysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for y . + // Sets the source reference on Chart Studio Cloud for `y`. Ysrc String `json:"ysrc,omitempty"` // Z @@ -375,10 +403,16 @@ type Mesh3d struct { // Sets the calendar system to use with `z` date data. Zcalendar Mesh3dZcalendar `json:"zcalendar,omitempty"` + // Zhoverformat + // arrayOK: false + // 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`. + Zhoverformat String `json:"zhoverformat,omitempty"` + // Zsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for z . + // Sets the source reference on Chart Studio Cloud for `z`. Zsrc String `json:"zsrc,omitempty"` } @@ -434,9 +468,9 @@ type Mesh3dColorbarTitle struct { Font *Mesh3dColorbarTitleFont `json:"font,omitempty"` // Side - // default: top + // default: %!s() // type: enumerated - // Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. Side Mesh3dColorbarTitleSide `json:"side,omitempty"` // Text @@ -479,6 +513,12 @@ type Mesh3dColorbar struct { // 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. Exponentformat Mesh3dColorbarExponentformat `json:"exponentformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Len // arrayOK: false // type: number @@ -503,6 +543,12 @@ type Mesh3dColorbar struct { // 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*. Nticks int64 `json:"nticks,omitempty"` + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation Mesh3dColorbarOrientation `json:"orientation,omitempty"` + // Outlinecolor // arrayOK: false // type: color @@ -582,7 +628,7 @@ type Mesh3dColorbar struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -591,12 +637,24 @@ type Mesh3dColorbar struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow Mesh3dColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + // Ticklabelposition // default: outside // type: enumerated - // Determines where tick labels are drawn. + // 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*. Ticklabelposition Mesh3dColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -636,7 +694,7 @@ type Mesh3dColorbar struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -648,7 +706,7 @@ type Mesh3dColorbar struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -664,13 +722,13 @@ type Mesh3dColorbar struct { // X // arrayOK: false // type: number - // Sets the x position of the color bar (in plot fraction). + // Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. X float64 `json:"x,omitempty"` // Xanchor - // default: left + // default: %!s() // type: enumerated - // Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. + // 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*. Xanchor Mesh3dColorbarXanchor `json:"xanchor,omitempty"` // Xpad @@ -682,13 +740,13 @@ type Mesh3dColorbar struct { // Y // arrayOK: false // type: number - // Sets the y position of the color bar (in plot fraction). + // Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. Y float64 `json:"y,omitempty"` // Yanchor - // default: middle + // default: %!s() // type: enumerated - // Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. + // 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*. Yanchor Mesh3dColorbarYanchor `json:"yanchor,omitempty"` // Ypad @@ -732,7 +790,7 @@ type Mesh3dHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -744,7 +802,7 @@ type Mesh3dHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -756,7 +814,7 @@ type Mesh3dHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -772,7 +830,7 @@ type Mesh3dHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -784,7 +842,7 @@ type Mesh3dHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -796,7 +854,7 @@ type Mesh3dHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -812,10 +870,46 @@ type Mesh3dHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } +// Mesh3dLegendgrouptitleFont Sets this legend group's title font. +type Mesh3dLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// Mesh3dLegendgrouptitle +type Mesh3dLegendgrouptitle struct { + + // Font + // role: Object + Font *Mesh3dLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // Mesh3dLighting type Mesh3dLighting struct { @@ -908,7 +1002,7 @@ const ( Mesh3dColorbarExponentformatE1 Mesh3dColorbarExponentformat = "e" Mesh3dColorbarExponentformatE2 Mesh3dColorbarExponentformat = "E" Mesh3dColorbarExponentformatPower Mesh3dColorbarExponentformat = "power" - Mesh3dColorbarExponentformatSi Mesh3dColorbarExponentformat = "SI" + Mesh3dColorbarExponentformatSI Mesh3dColorbarExponentformat = "SI" Mesh3dColorbarExponentformatB Mesh3dColorbarExponentformat = "B" ) @@ -920,6 +1014,14 @@ const ( Mesh3dColorbarLenmodePixels Mesh3dColorbarLenmode = "pixels" ) +// Mesh3dColorbarOrientation Sets the orientation of the colorbar. +type Mesh3dColorbarOrientation string + +const ( + Mesh3dColorbarOrientationH Mesh3dColorbarOrientation = "h" + Mesh3dColorbarOrientationV Mesh3dColorbarOrientation = "v" +) + // Mesh3dColorbarShowexponent 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. type Mesh3dColorbarShowexponent string @@ -958,7 +1060,16 @@ const ( Mesh3dColorbarThicknessmodePixels Mesh3dColorbarThicknessmode = "pixels" ) -// Mesh3dColorbarTicklabelposition Determines where tick labels are drawn. +// Mesh3dColorbarTicklabeloverflow 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*. +type Mesh3dColorbarTicklabeloverflow string + +const ( + Mesh3dColorbarTicklabeloverflowAllow Mesh3dColorbarTicklabeloverflow = "allow" + Mesh3dColorbarTicklabeloverflowHidePastDiv Mesh3dColorbarTicklabeloverflow = "hide past div" + Mesh3dColorbarTicklabeloverflowHidePastDomain Mesh3dColorbarTicklabeloverflow = "hide past domain" +) + +// Mesh3dColorbarTicklabelposition 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*. type Mesh3dColorbarTicklabelposition string const ( @@ -966,6 +1077,10 @@ const ( Mesh3dColorbarTicklabelpositionInside Mesh3dColorbarTicklabelposition = "inside" Mesh3dColorbarTicklabelpositionOutsideTop Mesh3dColorbarTicklabelposition = "outside top" Mesh3dColorbarTicklabelpositionInsideTop Mesh3dColorbarTicklabelposition = "inside top" + Mesh3dColorbarTicklabelpositionOutsideLeft Mesh3dColorbarTicklabelposition = "outside left" + Mesh3dColorbarTicklabelpositionInsideLeft Mesh3dColorbarTicklabelposition = "inside left" + Mesh3dColorbarTicklabelpositionOutsideRight Mesh3dColorbarTicklabelposition = "outside right" + Mesh3dColorbarTicklabelpositionInsideRight Mesh3dColorbarTicklabelposition = "inside right" Mesh3dColorbarTicklabelpositionOutsideBottom Mesh3dColorbarTicklabelposition = "outside bottom" Mesh3dColorbarTicklabelpositionInsideBottom Mesh3dColorbarTicklabelposition = "inside bottom" ) @@ -988,7 +1103,7 @@ const ( Mesh3dColorbarTicksEmpty Mesh3dColorbarTicks = "" ) -// Mesh3dColorbarTitleSide Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. +// Mesh3dColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. type Mesh3dColorbarTitleSide string const ( @@ -997,7 +1112,7 @@ const ( Mesh3dColorbarTitleSideBottom Mesh3dColorbarTitleSide = "bottom" ) -// Mesh3dColorbarXanchor Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. +// Mesh3dColorbarXanchor 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*. type Mesh3dColorbarXanchor string const ( @@ -1006,7 +1121,7 @@ const ( Mesh3dColorbarXanchorRight Mesh3dColorbarXanchor = "right" ) -// Mesh3dColorbarYanchor Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. +// Mesh3dColorbarYanchor 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*. type Mesh3dColorbarYanchor string const ( @@ -1054,19 +1169,19 @@ var ( type Mesh3dXcalendar string const ( - Mesh3dXcalendarGregorian Mesh3dXcalendar = "gregorian" Mesh3dXcalendarChinese Mesh3dXcalendar = "chinese" Mesh3dXcalendarCoptic Mesh3dXcalendar = "coptic" Mesh3dXcalendarDiscworld Mesh3dXcalendar = "discworld" Mesh3dXcalendarEthiopian Mesh3dXcalendar = "ethiopian" + Mesh3dXcalendarGregorian Mesh3dXcalendar = "gregorian" Mesh3dXcalendarHebrew Mesh3dXcalendar = "hebrew" Mesh3dXcalendarIslamic Mesh3dXcalendar = "islamic" + Mesh3dXcalendarJalali Mesh3dXcalendar = "jalali" Mesh3dXcalendarJulian Mesh3dXcalendar = "julian" Mesh3dXcalendarMayan Mesh3dXcalendar = "mayan" Mesh3dXcalendarNanakshahi Mesh3dXcalendar = "nanakshahi" Mesh3dXcalendarNepali Mesh3dXcalendar = "nepali" Mesh3dXcalendarPersian Mesh3dXcalendar = "persian" - Mesh3dXcalendarJalali Mesh3dXcalendar = "jalali" Mesh3dXcalendarTaiwan Mesh3dXcalendar = "taiwan" Mesh3dXcalendarThai Mesh3dXcalendar = "thai" Mesh3dXcalendarUmmalqura Mesh3dXcalendar = "ummalqura" @@ -1076,19 +1191,19 @@ const ( type Mesh3dYcalendar string const ( - Mesh3dYcalendarGregorian Mesh3dYcalendar = "gregorian" Mesh3dYcalendarChinese Mesh3dYcalendar = "chinese" Mesh3dYcalendarCoptic Mesh3dYcalendar = "coptic" Mesh3dYcalendarDiscworld Mesh3dYcalendar = "discworld" Mesh3dYcalendarEthiopian Mesh3dYcalendar = "ethiopian" + Mesh3dYcalendarGregorian Mesh3dYcalendar = "gregorian" Mesh3dYcalendarHebrew Mesh3dYcalendar = "hebrew" Mesh3dYcalendarIslamic Mesh3dYcalendar = "islamic" + Mesh3dYcalendarJalali Mesh3dYcalendar = "jalali" Mesh3dYcalendarJulian Mesh3dYcalendar = "julian" Mesh3dYcalendarMayan Mesh3dYcalendar = "mayan" Mesh3dYcalendarNanakshahi Mesh3dYcalendar = "nanakshahi" Mesh3dYcalendarNepali Mesh3dYcalendar = "nepali" Mesh3dYcalendarPersian Mesh3dYcalendar = "persian" - Mesh3dYcalendarJalali Mesh3dYcalendar = "jalali" Mesh3dYcalendarTaiwan Mesh3dYcalendar = "taiwan" Mesh3dYcalendarThai Mesh3dYcalendar = "thai" Mesh3dYcalendarUmmalqura Mesh3dYcalendar = "ummalqura" @@ -1098,19 +1213,19 @@ const ( type Mesh3dZcalendar string const ( - Mesh3dZcalendarGregorian Mesh3dZcalendar = "gregorian" Mesh3dZcalendarChinese Mesh3dZcalendar = "chinese" Mesh3dZcalendarCoptic Mesh3dZcalendar = "coptic" Mesh3dZcalendarDiscworld Mesh3dZcalendar = "discworld" Mesh3dZcalendarEthiopian Mesh3dZcalendar = "ethiopian" + Mesh3dZcalendarGregorian Mesh3dZcalendar = "gregorian" Mesh3dZcalendarHebrew Mesh3dZcalendar = "hebrew" Mesh3dZcalendarIslamic Mesh3dZcalendar = "islamic" + Mesh3dZcalendarJalali Mesh3dZcalendar = "jalali" Mesh3dZcalendarJulian Mesh3dZcalendar = "julian" Mesh3dZcalendarMayan Mesh3dZcalendar = "mayan" Mesh3dZcalendarNanakshahi Mesh3dZcalendar = "nanakshahi" Mesh3dZcalendarNepali Mesh3dZcalendar = "nepali" Mesh3dZcalendarPersian Mesh3dZcalendar = "persian" - Mesh3dZcalendarJalali Mesh3dZcalendar = "jalali" Mesh3dZcalendarTaiwan Mesh3dZcalendar = "taiwan" Mesh3dZcalendarThai Mesh3dZcalendar = "thai" Mesh3dZcalendarUmmalqura Mesh3dZcalendar = "ummalqura" diff --git a/graph_objects/ohlc_gen.go b/generated/v2.19.0/graph_objects/ohlc_gen.go similarity index 79% rename from graph_objects/ohlc_gen.go rename to generated/v2.19.0/graph_objects/ohlc_gen.go index 49b1ce6..792037f 100644 --- a/graph_objects/ohlc_gen.go +++ b/generated/v2.19.0/graph_objects/ohlc_gen.go @@ -24,7 +24,7 @@ type Ohlc struct { // Closesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for close . + // Sets the source reference on Chart Studio Cloud for `close`. Closesrc String `json:"closesrc,omitempty"` // Customdata @@ -36,7 +36,7 @@ type Ohlc struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Decreasing @@ -52,7 +52,7 @@ type Ohlc struct { // Highsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for high . + // Sets the source reference on Chart Studio Cloud for `high`. Highsrc String `json:"highsrc,omitempty"` // Hoverinfo @@ -64,7 +64,7 @@ type Ohlc struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -80,7 +80,7 @@ type Ohlc struct { // Hovertextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertext . + // Sets the source reference on Chart Studio Cloud for `hovertext`. Hovertextsrc String `json:"hovertextsrc,omitempty"` // Ids @@ -92,7 +92,7 @@ type Ohlc struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` // Increasing @@ -105,6 +105,22 @@ type Ohlc struct { // Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items. Legendgroup String `json:"legendgroup,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *OhlcLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Line // role: Object Line *OhlcLine `json:"line,omitempty"` @@ -118,7 +134,7 @@ type Ohlc struct { // Lowsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for low . + // Sets the source reference on Chart Studio Cloud for `low`. Lowsrc String `json:"lowsrc,omitempty"` // Meta @@ -130,7 +146,7 @@ type Ohlc struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Name @@ -154,7 +170,7 @@ type Ohlc struct { // Opensrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for open . + // Sets the source reference on Chart Studio Cloud for `open`. Opensrc String `json:"opensrc,omitempty"` // Selectedpoints @@ -182,7 +198,7 @@ type Ohlc struct { // Textsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for text . + // Sets the source reference on Chart Studio Cloud for `text`. Textsrc String `json:"textsrc,omitempty"` // Tickwidth @@ -233,6 +249,12 @@ type Ohlc struct { // Sets the calendar system to use with `x` date data. Xcalendar OhlcXcalendar `json:"xcalendar,omitempty"` + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + // Xperiod // arrayOK: false // type: any @@ -254,7 +276,7 @@ type Ohlc struct { // Xsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for x . + // Sets the source reference on Chart Studio Cloud for `x`. Xsrc String `json:"xsrc,omitempty"` // Yaxis @@ -262,6 +284,12 @@ type Ohlc struct { // type: subplotid // 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. Yaxis String `json:"yaxis,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` } // OhlcDecreasingLine @@ -306,7 +334,7 @@ type OhlcHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -318,7 +346,7 @@ type OhlcHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -330,7 +358,7 @@ type OhlcHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -346,7 +374,7 @@ type OhlcHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -358,7 +386,7 @@ type OhlcHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -370,7 +398,7 @@ type OhlcHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -386,7 +414,7 @@ type OhlcHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` // Split @@ -426,6 +454,42 @@ type OhlcIncreasing struct { Line *OhlcIncreasingLine `json:"line,omitempty"` } +// OhlcLegendgrouptitleFont Sets this legend group's title font. +type OhlcLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// OhlcLegendgrouptitle +type OhlcLegendgrouptitle struct { + + // Font + // role: Object + Font *OhlcLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // OhlcLine type OhlcLine struct { @@ -480,19 +544,19 @@ var ( type OhlcXcalendar string const ( - OhlcXcalendarGregorian OhlcXcalendar = "gregorian" OhlcXcalendarChinese OhlcXcalendar = "chinese" OhlcXcalendarCoptic OhlcXcalendar = "coptic" OhlcXcalendarDiscworld OhlcXcalendar = "discworld" OhlcXcalendarEthiopian OhlcXcalendar = "ethiopian" + OhlcXcalendarGregorian OhlcXcalendar = "gregorian" OhlcXcalendarHebrew OhlcXcalendar = "hebrew" OhlcXcalendarIslamic OhlcXcalendar = "islamic" + OhlcXcalendarJalali OhlcXcalendar = "jalali" OhlcXcalendarJulian OhlcXcalendar = "julian" OhlcXcalendarMayan OhlcXcalendar = "mayan" OhlcXcalendarNanakshahi OhlcXcalendar = "nanakshahi" OhlcXcalendarNepali OhlcXcalendar = "nepali" OhlcXcalendarPersian OhlcXcalendar = "persian" - OhlcXcalendarJalali OhlcXcalendar = "jalali" OhlcXcalendarTaiwan OhlcXcalendar = "taiwan" OhlcXcalendarThai OhlcXcalendar = "thai" OhlcXcalendarUmmalqura OhlcXcalendar = "ummalqura" diff --git a/graph_objects/parcats_gen.go b/generated/v2.19.0/graph_objects/parcats_gen.go similarity index 75% rename from graph_objects/parcats_gen.go rename to generated/v2.19.0/graph_objects/parcats_gen.go index 8818a87..3f62217 100644 --- a/graph_objects/parcats_gen.go +++ b/generated/v2.19.0/graph_objects/parcats_gen.go @@ -36,7 +36,7 @@ type Parcats struct { // Countssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for counts . + // Sets the source reference on Chart Studio Cloud for `counts`. Countssrc String `json:"countssrc,omitempty"` // Dimensions @@ -64,13 +64,23 @@ type Parcats struct { // Hovertemplate // arrayOK: false // 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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `count`, `probability`, `category`, `categorycount`, `colorcount` and `bandcolorcount`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + // 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 `count`, `probability`, `category`, `categorycount`, `colorcount` and `bandcolorcount`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. Hovertemplate String `json:"hovertemplate,omitempty"` // Labelfont // role: Object Labelfont *ParcatsLabelfont `json:"labelfont,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *ParcatsLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Line // role: Object Line *ParcatsLine `json:"line,omitempty"` @@ -84,7 +94,7 @@ type Parcats struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Name @@ -182,6 +192,42 @@ type ParcatsLabelfont struct { Size float64 `json:"size,omitempty"` } +// ParcatsLegendgrouptitleFont Sets this legend group's title font. +type ParcatsLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ParcatsLegendgrouptitle +type ParcatsLegendgrouptitle struct { + + // Font + // role: Object + Font *ParcatsLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // ParcatsLineColorbarTickfont Sets the color bar's tick label font type ParcatsLineColorbarTickfont struct { @@ -234,9 +280,9 @@ type ParcatsLineColorbarTitle struct { Font *ParcatsLineColorbarTitleFont `json:"font,omitempty"` // Side - // default: top + // default: %!s() // type: enumerated - // Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. Side ParcatsLineColorbarTitleSide `json:"side,omitempty"` // Text @@ -279,6 +325,12 @@ type ParcatsLineColorbar struct { // 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. Exponentformat ParcatsLineColorbarExponentformat `json:"exponentformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Len // arrayOK: false // type: number @@ -303,6 +355,12 @@ type ParcatsLineColorbar struct { // 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*. Nticks int64 `json:"nticks,omitempty"` + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ParcatsLineColorbarOrientation `json:"orientation,omitempty"` + // Outlinecolor // arrayOK: false // type: color @@ -382,7 +440,7 @@ type ParcatsLineColorbar struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -391,12 +449,24 @@ type ParcatsLineColorbar struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ParcatsLineColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + // Ticklabelposition // default: outside // type: enumerated - // Determines where tick labels are drawn. + // 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*. Ticklabelposition ParcatsLineColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -436,7 +506,7 @@ type ParcatsLineColorbar struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -448,7 +518,7 @@ type ParcatsLineColorbar struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -464,13 +534,13 @@ type ParcatsLineColorbar struct { // X // arrayOK: false // type: number - // Sets the x position of the color bar (in plot fraction). + // Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. X float64 `json:"x,omitempty"` // Xanchor - // default: left + // default: %!s() // type: enumerated - // Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. + // 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*. Xanchor ParcatsLineColorbarXanchor `json:"xanchor,omitempty"` // Xpad @@ -482,13 +552,13 @@ type ParcatsLineColorbar struct { // Y // arrayOK: false // type: number - // Sets the y position of the color bar (in plot fraction). + // Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. Y float64 `json:"y,omitempty"` // Yanchor - // default: middle + // default: %!s() // type: enumerated - // Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. + // 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*. Yanchor ParcatsLineColorbarYanchor `json:"yanchor,omitempty"` // Ypad @@ -504,37 +574,37 @@ type ParcatsLine struct { // Autocolorscale // arrayOK: false // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Cauto // arrayOK: false // type: boolean - // 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. + // 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. Cauto Bool `json:"cauto,omitempty"` // Cmax // arrayOK: false // 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. + // 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. Cmax float64 `json:"cmax,omitempty"` // Cmid // arrayOK: false // 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`. + // 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`. Cmid float64 `json:"cmid,omitempty"` // Cmin // arrayOK: false // 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. + // 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. Cmin float64 `json:"cmin,omitempty"` // Color // arrayOK: true // type: color - // Sets thelinecolor. 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. + // 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. Color Color `json:"color,omitempty"` // Coloraxis @@ -550,25 +620,25 @@ type ParcatsLine struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Hovertemplate // arrayOK: false // 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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `count` and `probability`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + // 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 `count` and `probability`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. Hovertemplate String `json:"hovertemplate,omitempty"` // Reversescale // arrayOK: false // 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. + // 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. Reversescale Bool `json:"reversescale,omitempty"` // Shape @@ -580,7 +650,7 @@ type ParcatsLine struct { // Showscale // arrayOK: false // 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. + // 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. Showscale Bool `json:"showscale,omitempty"` } @@ -648,7 +718,7 @@ const ( ParcatsLineColorbarExponentformatE1 ParcatsLineColorbarExponentformat = "e" ParcatsLineColorbarExponentformatE2 ParcatsLineColorbarExponentformat = "E" ParcatsLineColorbarExponentformatPower ParcatsLineColorbarExponentformat = "power" - ParcatsLineColorbarExponentformatSi ParcatsLineColorbarExponentformat = "SI" + ParcatsLineColorbarExponentformatSI ParcatsLineColorbarExponentformat = "SI" ParcatsLineColorbarExponentformatB ParcatsLineColorbarExponentformat = "B" ) @@ -660,6 +730,14 @@ const ( ParcatsLineColorbarLenmodePixels ParcatsLineColorbarLenmode = "pixels" ) +// ParcatsLineColorbarOrientation Sets the orientation of the colorbar. +type ParcatsLineColorbarOrientation string + +const ( + ParcatsLineColorbarOrientationH ParcatsLineColorbarOrientation = "h" + ParcatsLineColorbarOrientationV ParcatsLineColorbarOrientation = "v" +) + // ParcatsLineColorbarShowexponent 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. type ParcatsLineColorbarShowexponent string @@ -698,7 +776,16 @@ const ( ParcatsLineColorbarThicknessmodePixels ParcatsLineColorbarThicknessmode = "pixels" ) -// ParcatsLineColorbarTicklabelposition Determines where tick labels are drawn. +// ParcatsLineColorbarTicklabeloverflow 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*. +type ParcatsLineColorbarTicklabeloverflow string + +const ( + ParcatsLineColorbarTicklabeloverflowAllow ParcatsLineColorbarTicklabeloverflow = "allow" + ParcatsLineColorbarTicklabeloverflowHidePastDiv ParcatsLineColorbarTicklabeloverflow = "hide past div" + ParcatsLineColorbarTicklabeloverflowHidePastDomain ParcatsLineColorbarTicklabeloverflow = "hide past domain" +) + +// ParcatsLineColorbarTicklabelposition 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*. type ParcatsLineColorbarTicklabelposition string const ( @@ -706,6 +793,10 @@ const ( ParcatsLineColorbarTicklabelpositionInside ParcatsLineColorbarTicklabelposition = "inside" ParcatsLineColorbarTicklabelpositionOutsideTop ParcatsLineColorbarTicklabelposition = "outside top" ParcatsLineColorbarTicklabelpositionInsideTop ParcatsLineColorbarTicklabelposition = "inside top" + ParcatsLineColorbarTicklabelpositionOutsideLeft ParcatsLineColorbarTicklabelposition = "outside left" + ParcatsLineColorbarTicklabelpositionInsideLeft ParcatsLineColorbarTicklabelposition = "inside left" + ParcatsLineColorbarTicklabelpositionOutsideRight ParcatsLineColorbarTicklabelposition = "outside right" + ParcatsLineColorbarTicklabelpositionInsideRight ParcatsLineColorbarTicklabelposition = "inside right" ParcatsLineColorbarTicklabelpositionOutsideBottom ParcatsLineColorbarTicklabelposition = "outside bottom" ParcatsLineColorbarTicklabelpositionInsideBottom ParcatsLineColorbarTicklabelposition = "inside bottom" ) @@ -728,7 +819,7 @@ const ( ParcatsLineColorbarTicksEmpty ParcatsLineColorbarTicks = "" ) -// ParcatsLineColorbarTitleSide Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. +// ParcatsLineColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. type ParcatsLineColorbarTitleSide string const ( @@ -737,7 +828,7 @@ const ( ParcatsLineColorbarTitleSideBottom ParcatsLineColorbarTitleSide = "bottom" ) -// ParcatsLineColorbarXanchor Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. +// ParcatsLineColorbarXanchor 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*. type ParcatsLineColorbarXanchor string const ( @@ -746,7 +837,7 @@ const ( ParcatsLineColorbarXanchorRight ParcatsLineColorbarXanchor = "right" ) -// ParcatsLineColorbarYanchor Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. +// ParcatsLineColorbarYanchor 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*. type ParcatsLineColorbarYanchor string const ( diff --git a/graph_objects/parcoords_gen.go b/generated/v2.19.0/graph_objects/parcoords_gen.go similarity index 76% rename from graph_objects/parcoords_gen.go rename to generated/v2.19.0/graph_objects/parcoords_gen.go index 708f1d3..12f3120 100644 --- a/graph_objects/parcoords_gen.go +++ b/generated/v2.19.0/graph_objects/parcoords_gen.go @@ -24,7 +24,7 @@ type Parcoords struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Dimensions @@ -46,7 +46,7 @@ type Parcoords struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` // Labelangle @@ -65,6 +65,22 @@ type Parcoords struct { // 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*. Labelside ParcoordsLabelside `json:"labelside,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *ParcoordsLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Line // role: Object Line *ParcoordsLine `json:"line,omitempty"` @@ -78,7 +94,7 @@ type Parcoords struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Name @@ -117,6 +133,10 @@ type Parcoords struct { // 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. Uirevision interface{} `json:"uirevision,omitempty"` + // Unselected + // role: Object + Unselected *ParcoordsUnselected `json:"unselected,omitempty"` + // Visible // default: %!s(bool=true) // type: enumerated @@ -174,6 +194,42 @@ type ParcoordsLabelfont struct { Size float64 `json:"size,omitempty"` } +// ParcoordsLegendgrouptitleFont Sets this legend group's title font. +type ParcoordsLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ParcoordsLegendgrouptitle +type ParcoordsLegendgrouptitle struct { + + // Font + // role: Object + Font *ParcoordsLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // ParcoordsLineColorbarTickfont Sets the color bar's tick label font type ParcoordsLineColorbarTickfont struct { @@ -226,9 +282,9 @@ type ParcoordsLineColorbarTitle struct { Font *ParcoordsLineColorbarTitleFont `json:"font,omitempty"` // Side - // default: top + // default: %!s() // type: enumerated - // Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. Side ParcoordsLineColorbarTitleSide `json:"side,omitempty"` // Text @@ -271,6 +327,12 @@ type ParcoordsLineColorbar struct { // 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. Exponentformat ParcoordsLineColorbarExponentformat `json:"exponentformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Len // arrayOK: false // type: number @@ -295,6 +357,12 @@ type ParcoordsLineColorbar struct { // 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*. Nticks int64 `json:"nticks,omitempty"` + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ParcoordsLineColorbarOrientation `json:"orientation,omitempty"` + // Outlinecolor // arrayOK: false // type: color @@ -374,7 +442,7 @@ type ParcoordsLineColorbar struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -383,12 +451,24 @@ type ParcoordsLineColorbar struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ParcoordsLineColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + // Ticklabelposition // default: outside // type: enumerated - // Determines where tick labels are drawn. + // 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*. Ticklabelposition ParcoordsLineColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -428,7 +508,7 @@ type ParcoordsLineColorbar struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -440,7 +520,7 @@ type ParcoordsLineColorbar struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -456,13 +536,13 @@ type ParcoordsLineColorbar struct { // X // arrayOK: false // type: number - // Sets the x position of the color bar (in plot fraction). + // Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. X float64 `json:"x,omitempty"` // Xanchor - // default: left + // default: %!s() // type: enumerated - // Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. + // 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*. Xanchor ParcoordsLineColorbarXanchor `json:"xanchor,omitempty"` // Xpad @@ -474,13 +554,13 @@ type ParcoordsLineColorbar struct { // Y // arrayOK: false // type: number - // Sets the y position of the color bar (in plot fraction). + // Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. Y float64 `json:"y,omitempty"` // Yanchor - // default: middle + // default: %!s() // type: enumerated - // Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. + // 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*. Yanchor ParcoordsLineColorbarYanchor `json:"yanchor,omitempty"` // Ypad @@ -496,37 +576,37 @@ type ParcoordsLine struct { // Autocolorscale // arrayOK: false // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Cauto // arrayOK: false // type: boolean - // 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. + // 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. Cauto Bool `json:"cauto,omitempty"` // Cmax // arrayOK: false // 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. + // 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. Cmax float64 `json:"cmax,omitempty"` // Cmid // arrayOK: false // 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`. + // 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`. Cmid float64 `json:"cmid,omitempty"` // Cmin // arrayOK: false // 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. + // 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. Cmin float64 `json:"cmin,omitempty"` // Color // arrayOK: true // type: color - // Sets thelinecolor. 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. + // 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. Color Color `json:"color,omitempty"` // Coloraxis @@ -542,25 +622,25 @@ type ParcoordsLine struct { // Colorscale // default: [[%!s(float64=0) #440154] [%!s(float64=0.06274509803921569) #48186a] [%!s(float64=0.12549019607843137) #472d7b] [%!s(float64=0.18823529411764706) #424086] [%!s(float64=0.25098039215686274) #3b528b] [%!s(float64=0.3137254901960784) #33638d] [%!s(float64=0.3764705882352941) #2c728e] [%!s(float64=0.4392156862745098) #26828e] [%!s(float64=0.5019607843137255) #21918c] [%!s(float64=0.5647058823529412) #1fa088] [%!s(float64=0.6274509803921569) #28ae80] [%!s(float64=0.6901960784313725) #3fbc73] [%!s(float64=0.7529411764705882) #5ec962] [%!s(float64=0.8156862745098039) #84d44b] [%!s(float64=0.8784313725490196) #addc30] [%!s(float64=0.9411764705882353) #d8e219] [%!s(float64=1) #fde725]] // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Reversescale // arrayOK: false // 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. + // 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. Reversescale Bool `json:"reversescale,omitempty"` // Showscale // arrayOK: false // 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. + // 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. Showscale Bool `json:"showscale,omitempty"` } @@ -624,6 +704,30 @@ type ParcoordsTickfont struct { Size float64 `json:"size,omitempty"` } +// ParcoordsUnselectedLine +type ParcoordsUnselectedLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the base color of unselected lines. in connection with `unselected.line.opacity`. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // 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`. + Opacity float64 `json:"opacity,omitempty"` +} + +// ParcoordsUnselected +type ParcoordsUnselected struct { + + // Line + // role: Object + Line *ParcoordsUnselectedLine `json:"line,omitempty"` +} + // ParcoordsLabelside 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*. type ParcoordsLabelside string @@ -640,7 +744,7 @@ const ( ParcoordsLineColorbarExponentformatE1 ParcoordsLineColorbarExponentformat = "e" ParcoordsLineColorbarExponentformatE2 ParcoordsLineColorbarExponentformat = "E" ParcoordsLineColorbarExponentformatPower ParcoordsLineColorbarExponentformat = "power" - ParcoordsLineColorbarExponentformatSi ParcoordsLineColorbarExponentformat = "SI" + ParcoordsLineColorbarExponentformatSI ParcoordsLineColorbarExponentformat = "SI" ParcoordsLineColorbarExponentformatB ParcoordsLineColorbarExponentformat = "B" ) @@ -652,6 +756,14 @@ const ( ParcoordsLineColorbarLenmodePixels ParcoordsLineColorbarLenmode = "pixels" ) +// ParcoordsLineColorbarOrientation Sets the orientation of the colorbar. +type ParcoordsLineColorbarOrientation string + +const ( + ParcoordsLineColorbarOrientationH ParcoordsLineColorbarOrientation = "h" + ParcoordsLineColorbarOrientationV ParcoordsLineColorbarOrientation = "v" +) + // ParcoordsLineColorbarShowexponent 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. type ParcoordsLineColorbarShowexponent string @@ -690,7 +802,16 @@ const ( ParcoordsLineColorbarThicknessmodePixels ParcoordsLineColorbarThicknessmode = "pixels" ) -// ParcoordsLineColorbarTicklabelposition Determines where tick labels are drawn. +// ParcoordsLineColorbarTicklabeloverflow 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*. +type ParcoordsLineColorbarTicklabeloverflow string + +const ( + ParcoordsLineColorbarTicklabeloverflowAllow ParcoordsLineColorbarTicklabeloverflow = "allow" + ParcoordsLineColorbarTicklabeloverflowHidePastDiv ParcoordsLineColorbarTicklabeloverflow = "hide past div" + ParcoordsLineColorbarTicklabeloverflowHidePastDomain ParcoordsLineColorbarTicklabeloverflow = "hide past domain" +) + +// ParcoordsLineColorbarTicklabelposition 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*. type ParcoordsLineColorbarTicklabelposition string const ( @@ -698,6 +819,10 @@ const ( ParcoordsLineColorbarTicklabelpositionInside ParcoordsLineColorbarTicklabelposition = "inside" ParcoordsLineColorbarTicklabelpositionOutsideTop ParcoordsLineColorbarTicklabelposition = "outside top" ParcoordsLineColorbarTicklabelpositionInsideTop ParcoordsLineColorbarTicklabelposition = "inside top" + ParcoordsLineColorbarTicklabelpositionOutsideLeft ParcoordsLineColorbarTicklabelposition = "outside left" + ParcoordsLineColorbarTicklabelpositionInsideLeft ParcoordsLineColorbarTicklabelposition = "inside left" + ParcoordsLineColorbarTicklabelpositionOutsideRight ParcoordsLineColorbarTicklabelposition = "outside right" + ParcoordsLineColorbarTicklabelpositionInsideRight ParcoordsLineColorbarTicklabelposition = "inside right" ParcoordsLineColorbarTicklabelpositionOutsideBottom ParcoordsLineColorbarTicklabelposition = "outside bottom" ParcoordsLineColorbarTicklabelpositionInsideBottom ParcoordsLineColorbarTicklabelposition = "inside bottom" ) @@ -720,7 +845,7 @@ const ( ParcoordsLineColorbarTicksEmpty ParcoordsLineColorbarTicks = "" ) -// ParcoordsLineColorbarTitleSide Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. +// ParcoordsLineColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. type ParcoordsLineColorbarTitleSide string const ( @@ -729,7 +854,7 @@ const ( ParcoordsLineColorbarTitleSideBottom ParcoordsLineColorbarTitleSide = "bottom" ) -// ParcoordsLineColorbarXanchor Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. +// ParcoordsLineColorbarXanchor 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*. type ParcoordsLineColorbarXanchor string const ( @@ -738,7 +863,7 @@ const ( ParcoordsLineColorbarXanchorRight ParcoordsLineColorbarXanchor = "right" ) -// ParcoordsLineColorbarYanchor Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. +// ParcoordsLineColorbarYanchor 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*. type ParcoordsLineColorbarYanchor string const ( diff --git a/graph_objects/pie_gen.go b/generated/v2.19.0/graph_objects/pie_gen.go similarity index 81% rename from graph_objects/pie_gen.go rename to generated/v2.19.0/graph_objects/pie_gen.go index 55e6213..2384449 100644 --- a/graph_objects/pie_gen.go +++ b/generated/v2.19.0/graph_objects/pie_gen.go @@ -30,7 +30,7 @@ type Pie struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Direction @@ -64,7 +64,7 @@ type Pie struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -74,13 +74,13 @@ type Pie struct { // Hovertemplate // arrayOK: true // 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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `label`, `color`, `value`, `percent` and `text`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + // 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 `label`, `color`, `value`, `percent` and `text`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. Hovertemplate String `json:"hovertemplate,omitempty"` // Hovertemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertemplate . + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` // Hovertext @@ -92,7 +92,7 @@ type Pie struct { // Hovertextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertext . + // Sets the source reference on Chart Studio Cloud for `hovertext`. Hovertextsrc String `json:"hovertextsrc,omitempty"` // Ids @@ -104,7 +104,7 @@ type Pie struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` // Insidetextfont @@ -132,7 +132,7 @@ type Pie struct { // Labelssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for labels . + // Sets the source reference on Chart Studio Cloud for `labels`. Labelssrc String `json:"labelssrc,omitempty"` // Legendgroup @@ -141,6 +141,22 @@ type Pie struct { // Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items. Legendgroup String `json:"legendgroup,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *PieLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Marker // role: Object Marker *PieMarker `json:"marker,omitempty"` @@ -154,7 +170,7 @@ type Pie struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Name @@ -182,12 +198,12 @@ type Pie struct { // Pullsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for pull . + // Sets the source reference on Chart Studio Cloud for `pull`. Pullsrc String `json:"pullsrc,omitempty"` // Rotation // arrayOK: false - // type: number + // type: angle // Instead of the first slice starting at 12 o'clock, rotate to some other angle. Rotation float64 `json:"rotation,omitempty"` @@ -238,25 +254,25 @@ type Pie struct { // Textpositionsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for textposition . + // Sets the source reference on Chart Studio Cloud for `textposition`. Textpositionsrc String `json:"textpositionsrc,omitempty"` // Textsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for text . + // Sets the source reference on Chart Studio Cloud for `text`. Textsrc String `json:"textsrc,omitempty"` // Texttemplate // arrayOK: true // 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-3.x-api-reference/blob/master/Formatting.md#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#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. variables `label`, `color`, `value`, `percent` and `text`. + // 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. variables `label`, `color`, `value`, `percent` and `text`. Texttemplate String `json:"texttemplate,omitempty"` // Texttemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for texttemplate . + // Sets the source reference on Chart Studio Cloud for `texttemplate`. Texttemplatesrc String `json:"texttemplatesrc,omitempty"` // Title @@ -290,7 +306,7 @@ type Pie struct { // Valuessrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for values . + // Sets the source reference on Chart Studio Cloud for `values`. Valuessrc String `json:"valuessrc,omitempty"` // Visible @@ -340,7 +356,7 @@ type PieHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -352,7 +368,7 @@ type PieHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -364,7 +380,7 @@ type PieHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -380,7 +396,7 @@ type PieHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -392,7 +408,7 @@ type PieHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -404,7 +420,7 @@ type PieHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -420,7 +436,7 @@ type PieHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } @@ -436,7 +452,7 @@ type PieInsidetextfont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -448,7 +464,7 @@ type PieInsidetextfont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -460,10 +476,46 @@ type PieInsidetextfont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } +// PieLegendgrouptitleFont Sets this legend group's title font. +type PieLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// PieLegendgrouptitle +type PieLegendgrouptitle struct { + + // Font + // role: Object + Font *PieLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // PieMarkerLine type PieMarkerLine struct { @@ -476,7 +528,7 @@ type PieMarkerLine struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Width @@ -488,7 +540,7 @@ type PieMarkerLine struct { // Widthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for width . + // Sets the source reference on Chart Studio Cloud for `width`. Widthsrc String `json:"widthsrc,omitempty"` } @@ -504,7 +556,7 @@ type PieMarker struct { // Colorssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for colors . + // Sets the source reference on Chart Studio Cloud for `colors`. Colorssrc String `json:"colorssrc,omitempty"` // Line @@ -524,7 +576,7 @@ type PieOutsidetextfont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -536,7 +588,7 @@ type PieOutsidetextfont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -548,7 +600,7 @@ type PieOutsidetextfont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -580,7 +632,7 @@ type PieTextfont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -592,7 +644,7 @@ type PieTextfont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -604,7 +656,7 @@ type PieTextfont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -620,7 +672,7 @@ type PieTitleFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -632,7 +684,7 @@ type PieTitleFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -644,7 +696,7 @@ type PieTitleFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } diff --git a/graph_objects/plotly_gen.go b/generated/v2.19.0/graph_objects/plotly_gen.go similarity index 96% rename from graph_objects/plotly_gen.go rename to generated/v2.19.0/graph_objects/plotly_gen.go index 04b7c7e..4158d9f 100644 --- a/graph_objects/plotly_gen.go +++ b/generated/v2.19.0/graph_objects/plotly_gen.go @@ -4,9 +4,6 @@ import ( "encoding/json" ) -// Generate the files -//go:generate go run ../generator/cmd/generator/main.go --schema ../generator/schema.json --output-directory . - // TraceType is the type for the TraceType field on every trace type TraceType string diff --git a/graph_objects/pointcloud_gen.go b/generated/v2.19.0/graph_objects/pointcloud_gen.go similarity index 80% rename from graph_objects/pointcloud_gen.go rename to generated/v2.19.0/graph_objects/pointcloud_gen.go index a97e925..4c632ae 100644 --- a/graph_objects/pointcloud_gen.go +++ b/generated/v2.19.0/graph_objects/pointcloud_gen.go @@ -8,7 +8,7 @@ func (trace *Pointcloud) GetType() TraceType { return TraceTypePointcloud } -// Pointcloud The data visualized as a point cloud set in `x` and `y` using the WebGl plotting engine. +// Pointcloud *pointcloud* trace is deprecated! Please consider switching to the *scattergl* trace type. The data visualized as a point cloud set in `x` and `y` using the WebGl plotting engine. type Pointcloud struct { // Type @@ -24,7 +24,7 @@ type Pointcloud struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Hoverinfo @@ -36,7 +36,7 @@ type Pointcloud struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -52,7 +52,7 @@ type Pointcloud struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` // Indices @@ -64,7 +64,7 @@ type Pointcloud struct { // Indicessrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for indices . + // Sets the source reference on Chart Studio Cloud for `indices`. Indicessrc String `json:"indicessrc,omitempty"` // Legendgroup @@ -73,6 +73,22 @@ type Pointcloud struct { // Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items. Legendgroup String `json:"legendgroup,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *PointcloudLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Marker // role: Object Marker *PointcloudMarker `json:"marker,omitempty"` @@ -86,7 +102,7 @@ type Pointcloud struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Name @@ -120,7 +136,7 @@ type Pointcloud struct { // Textsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for text . + // Sets the source reference on Chart Studio Cloud for `text`. Textsrc String `json:"textsrc,omitempty"` // Uid @@ -162,13 +178,13 @@ type Pointcloud struct { // Xboundssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for xbounds . + // Sets the source reference on Chart Studio Cloud for `xbounds`. Xboundssrc String `json:"xboundssrc,omitempty"` // Xsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for x . + // Sets the source reference on Chart Studio Cloud for `x`. Xsrc String `json:"xsrc,omitempty"` // Xy @@ -180,7 +196,7 @@ type Pointcloud struct { // Xysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for xy . + // Sets the source reference on Chart Studio Cloud for `xy`. Xysrc String `json:"xysrc,omitempty"` // Y @@ -204,13 +220,13 @@ type Pointcloud struct { // Yboundssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ybounds . + // Sets the source reference on Chart Studio Cloud for `ybounds`. Yboundssrc String `json:"yboundssrc,omitempty"` // Ysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for y . + // Sets the source reference on Chart Studio Cloud for `y`. Ysrc String `json:"ysrc,omitempty"` } @@ -226,7 +242,7 @@ type PointcloudHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -238,7 +254,7 @@ type PointcloudHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -250,7 +266,7 @@ type PointcloudHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -266,7 +282,7 @@ type PointcloudHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -278,7 +294,7 @@ type PointcloudHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -290,7 +306,7 @@ type PointcloudHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -306,10 +322,46 @@ type PointcloudHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } +// PointcloudLegendgrouptitleFont Sets this legend group's title font. +type PointcloudLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// PointcloudLegendgrouptitle +type PointcloudLegendgrouptitle struct { + + // Font + // role: Object + Font *PointcloudLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // PointcloudMarkerBorder type PointcloudMarkerBorder struct { @@ -342,7 +394,7 @@ type PointcloudMarker struct { // Color // arrayOK: false // type: color - // Sets the marker fill color. It accepts a specific color.If the color is not fully opaque and there are hundreds of thousandsof points, it may cause slower zooming and panning. + // Sets the marker fill color. It accepts a specific color. If the color is not fully opaque and there are hundreds of thousands of points, it may cause slower zooming and panning. Color Color `json:"color,omitempty"` // Opacity diff --git a/graph_objects/sankey_gen.go b/generated/v2.19.0/graph_objects/sankey_gen.go similarity index 78% rename from graph_objects/sankey_gen.go rename to generated/v2.19.0/graph_objects/sankey_gen.go index d3a1f20..ec6db8c 100644 --- a/graph_objects/sankey_gen.go +++ b/generated/v2.19.0/graph_objects/sankey_gen.go @@ -30,7 +30,7 @@ type Sankey struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Domain @@ -56,9 +56,25 @@ type Sankey struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *SankeyLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Link // role: Object Link *SankeyLink `json:"link,omitempty"` @@ -72,7 +88,7 @@ type Sankey struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Name @@ -120,7 +136,7 @@ type Sankey struct { // Valueformat // arrayOK: false // type: string - // Sets the value formatting rule using d3 formatting mini-language which is similar to those of Python. See https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format + // 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. Valueformat String `json:"valueformat,omitempty"` // Valuesuffix @@ -176,7 +192,7 @@ type SankeyHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -188,7 +204,7 @@ type SankeyHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -200,7 +216,7 @@ type SankeyHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -216,7 +232,7 @@ type SankeyHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -228,7 +244,7 @@ type SankeyHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -240,7 +256,7 @@ type SankeyHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -256,10 +272,46 @@ type SankeyHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } +// SankeyLegendgrouptitleFont Sets this legend group's title font. +type SankeyLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// SankeyLegendgrouptitle +type SankeyLegendgrouptitle struct { + + // Font + // role: Object + Font *SankeyLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // SankeyLinkHoverlabelFont Sets the font used in hover labels. type SankeyLinkHoverlabelFont struct { @@ -272,7 +324,7 @@ type SankeyLinkHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -284,7 +336,7 @@ type SankeyLinkHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -296,7 +348,7 @@ type SankeyLinkHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -312,7 +364,7 @@ type SankeyLinkHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -324,7 +376,7 @@ type SankeyLinkHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -336,7 +388,7 @@ type SankeyLinkHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -352,7 +404,7 @@ type SankeyLinkHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } @@ -368,7 +420,7 @@ type SankeyLinkLine struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Width @@ -380,13 +432,19 @@ type SankeyLinkLine struct { // Widthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for width . + // Sets the source reference on Chart Studio Cloud for `width`. Widthsrc String `json:"widthsrc,omitempty"` } // SankeyLink The links of the Sankey plot. type SankeyLink struct { + // Arrowlen + // arrayOK: false + // type: number + // Sets the length (in px) of the links arrow, if 0 no arrow will be drawn. + Arrowlen float64 `json:"arrowlen,omitempty"` + // Color // arrayOK: true // type: color @@ -402,7 +460,7 @@ type SankeyLink struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Customdata @@ -414,7 +472,7 @@ type SankeyLink struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Hoverinfo @@ -430,13 +488,13 @@ type SankeyLink struct { // Hovertemplate // arrayOK: true // 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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `value` and `label`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + // 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 `value` and `label`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. Hovertemplate String `json:"hovertemplate,omitempty"` // Hovertemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertemplate . + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` // Label @@ -448,7 +506,7 @@ type SankeyLink struct { // Labelsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for label . + // Sets the source reference on Chart Studio Cloud for `label`. Labelsrc String `json:"labelsrc,omitempty"` // Line @@ -464,7 +522,7 @@ type SankeyLink struct { // Sourcesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for source . + // Sets the source reference on Chart Studio Cloud for `source`. Sourcesrc String `json:"sourcesrc,omitempty"` // Target @@ -476,7 +534,7 @@ type SankeyLink struct { // Targetsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for target . + // Sets the source reference on Chart Studio Cloud for `target`. Targetsrc String `json:"targetsrc,omitempty"` // Value @@ -488,7 +546,7 @@ type SankeyLink struct { // Valuesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for value . + // Sets the source reference on Chart Studio Cloud for `value`. Valuesrc String `json:"valuesrc,omitempty"` } @@ -504,7 +562,7 @@ type SankeyNodeHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -516,7 +574,7 @@ type SankeyNodeHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -528,7 +586,7 @@ type SankeyNodeHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -544,7 +602,7 @@ type SankeyNodeHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -556,7 +614,7 @@ type SankeyNodeHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -568,7 +626,7 @@ type SankeyNodeHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -584,7 +642,7 @@ type SankeyNodeHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } @@ -600,7 +658,7 @@ type SankeyNodeLine struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Width @@ -612,7 +670,7 @@ type SankeyNodeLine struct { // Widthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for width . + // Sets the source reference on Chart Studio Cloud for `width`. Widthsrc String `json:"widthsrc,omitempty"` } @@ -628,7 +686,7 @@ type SankeyNode struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Customdata @@ -640,7 +698,7 @@ type SankeyNode struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Groups @@ -662,13 +720,13 @@ type SankeyNode struct { // Hovertemplate // arrayOK: true // 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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `value` and `label`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + // 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 `value` and `label`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. Hovertemplate String `json:"hovertemplate,omitempty"` // Hovertemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertemplate . + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` // Label @@ -680,7 +738,7 @@ type SankeyNode struct { // Labelsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for label . + // Sets the source reference on Chart Studio Cloud for `label`. Labelsrc String `json:"labelsrc,omitempty"` // Line @@ -708,7 +766,7 @@ type SankeyNode struct { // Xsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for x . + // Sets the source reference on Chart Studio Cloud for `x`. Xsrc String `json:"xsrc,omitempty"` // Y @@ -720,7 +778,7 @@ type SankeyNode struct { // Ysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for y . + // Sets the source reference on Chart Studio Cloud for `y`. Ysrc String `json:"ysrc,omitempty"` } diff --git a/graph_objects/scatter3d_gen.go b/generated/v2.19.0/graph_objects/scatter3d_gen.go similarity index 78% rename from graph_objects/scatter3d_gen.go rename to generated/v2.19.0/graph_objects/scatter3d_gen.go index 248f44d..a14f5c6 100644 --- a/graph_objects/scatter3d_gen.go +++ b/generated/v2.19.0/graph_objects/scatter3d_gen.go @@ -30,7 +30,7 @@ type Scatter3d struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // ErrorX @@ -54,7 +54,7 @@ type Scatter3d struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -64,13 +64,13 @@ type Scatter3d struct { // Hovertemplate // arrayOK: true // 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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + // 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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. Hovertemplate String `json:"hovertemplate,omitempty"` // Hovertemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertemplate . + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` // Hovertext @@ -82,7 +82,7 @@ type Scatter3d struct { // Hovertextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertext . + // Sets the source reference on Chart Studio Cloud for `hovertext`. Hovertextsrc String `json:"hovertextsrc,omitempty"` // Ids @@ -94,7 +94,7 @@ type Scatter3d struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` // Legendgroup @@ -103,6 +103,22 @@ type Scatter3d struct { // Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items. Legendgroup String `json:"legendgroup,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *Scatter3dLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Line // role: Object Line *Scatter3dLine `json:"line,omitempty"` @@ -120,7 +136,7 @@ type Scatter3d struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Mode @@ -192,25 +208,25 @@ type Scatter3d struct { // Textpositionsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for textposition . + // Sets the source reference on Chart Studio Cloud for `textposition`. Textpositionsrc String `json:"textpositionsrc,omitempty"` // Textsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for text . + // Sets the source reference on Chart Studio Cloud for `text`. Textsrc String `json:"textsrc,omitempty"` // Texttemplate // arrayOK: true // 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-3.x-api-reference/blob/master/Formatting.md#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#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. + // 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. Texttemplate String `json:"texttemplate,omitempty"` // Texttemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for texttemplate . + // Sets the source reference on Chart Studio Cloud for `texttemplate`. Texttemplatesrc String `json:"texttemplatesrc,omitempty"` // Transforms @@ -249,10 +265,16 @@ type Scatter3d struct { // Sets the calendar system to use with `x` date data. Xcalendar Scatter3dXcalendar `json:"xcalendar,omitempty"` + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + // Xsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for x . + // Sets the source reference on Chart Studio Cloud for `x`. Xsrc String `json:"xsrc,omitempty"` // Y @@ -267,10 +289,16 @@ type Scatter3d struct { // Sets the calendar system to use with `y` date data. Ycalendar Scatter3dYcalendar `json:"ycalendar,omitempty"` + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + // Ysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for y . + // Sets the source reference on Chart Studio Cloud for `y`. Ysrc String `json:"ysrc,omitempty"` // Z @@ -285,10 +313,16 @@ type Scatter3d struct { // Sets the calendar system to use with `z` date data. Zcalendar Scatter3dZcalendar `json:"zcalendar,omitempty"` + // Zhoverformat + // arrayOK: false + // 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`. + Zhoverformat String `json:"zhoverformat,omitempty"` + // Zsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for z . + // Sets the source reference on Chart Studio Cloud for `z`. Zsrc String `json:"zsrc,omitempty"` } @@ -310,13 +344,13 @@ type Scatter3dErrorX struct { // Arrayminussrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for arrayminus . + // Sets the source reference on Chart Studio Cloud for `arrayminus`. Arrayminussrc String `json:"arrayminussrc,omitempty"` // Arraysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for array . + // Sets the source reference on Chart Studio Cloud for `array`. Arraysrc String `json:"arraysrc,omitempty"` // Color @@ -404,13 +438,13 @@ type Scatter3dErrorY struct { // Arrayminussrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for arrayminus . + // Sets the source reference on Chart Studio Cloud for `arrayminus`. Arrayminussrc String `json:"arrayminussrc,omitempty"` // Arraysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for array . + // Sets the source reference on Chart Studio Cloud for `array`. Arraysrc String `json:"arraysrc,omitempty"` // Color @@ -498,13 +532,13 @@ type Scatter3dErrorZ struct { // Arrayminussrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for arrayminus . + // Sets the source reference on Chart Studio Cloud for `arrayminus`. Arrayminussrc String `json:"arrayminussrc,omitempty"` // Arraysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for array . + // Sets the source reference on Chart Studio Cloud for `array`. Arraysrc String `json:"arraysrc,omitempty"` // Color @@ -580,7 +614,7 @@ type Scatter3dHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -592,7 +626,7 @@ type Scatter3dHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -604,7 +638,7 @@ type Scatter3dHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -620,7 +654,7 @@ type Scatter3dHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -632,7 +666,7 @@ type Scatter3dHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -644,7 +678,7 @@ type Scatter3dHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -660,10 +694,46 @@ type Scatter3dHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } +// Scatter3dLegendgrouptitleFont Sets this legend group's title font. +type Scatter3dLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// Scatter3dLegendgrouptitle +type Scatter3dLegendgrouptitle struct { + + // Font + // role: Object + Font *Scatter3dLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // Scatter3dLineColorbarTickfont Sets the color bar's tick label font type Scatter3dLineColorbarTickfont struct { @@ -716,9 +786,9 @@ type Scatter3dLineColorbarTitle struct { Font *Scatter3dLineColorbarTitleFont `json:"font,omitempty"` // Side - // default: top + // default: %!s() // type: enumerated - // Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. Side Scatter3dLineColorbarTitleSide `json:"side,omitempty"` // Text @@ -761,6 +831,12 @@ type Scatter3dLineColorbar struct { // 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. Exponentformat Scatter3dLineColorbarExponentformat `json:"exponentformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Len // arrayOK: false // type: number @@ -785,6 +861,12 @@ type Scatter3dLineColorbar struct { // 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*. Nticks int64 `json:"nticks,omitempty"` + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation Scatter3dLineColorbarOrientation `json:"orientation,omitempty"` + // Outlinecolor // arrayOK: false // type: color @@ -864,7 +946,7 @@ type Scatter3dLineColorbar struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -873,12 +955,24 @@ type Scatter3dLineColorbar struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow Scatter3dLineColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + // Ticklabelposition // default: outside // type: enumerated - // Determines where tick labels are drawn. + // 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*. Ticklabelposition Scatter3dLineColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -918,7 +1012,7 @@ type Scatter3dLineColorbar struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -930,7 +1024,7 @@ type Scatter3dLineColorbar struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -946,13 +1040,13 @@ type Scatter3dLineColorbar struct { // X // arrayOK: false // type: number - // Sets the x position of the color bar (in plot fraction). + // Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. X float64 `json:"x,omitempty"` // Xanchor - // default: left + // default: %!s() // type: enumerated - // Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. + // 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*. Xanchor Scatter3dLineColorbarXanchor `json:"xanchor,omitempty"` // Xpad @@ -964,13 +1058,13 @@ type Scatter3dLineColorbar struct { // Y // arrayOK: false // type: number - // Sets the y position of the color bar (in plot fraction). + // Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. Y float64 `json:"y,omitempty"` // Yanchor - // default: middle + // default: %!s() // type: enumerated - // Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. + // 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*. Yanchor Scatter3dLineColorbarYanchor `json:"yanchor,omitempty"` // Ypad @@ -986,37 +1080,37 @@ type Scatter3dLine struct { // Autocolorscale // arrayOK: false // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Cauto // arrayOK: false // type: boolean - // 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. + // 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. Cauto Bool `json:"cauto,omitempty"` // Cmax // arrayOK: false // 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. + // 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. Cmax float64 `json:"cmax,omitempty"` // Cmid // arrayOK: false // 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`. + // 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`. Cmid float64 `json:"cmid,omitempty"` // Cmin // arrayOK: false // 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. + // 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. Cmin float64 `json:"cmin,omitempty"` // Color // arrayOK: true // type: color - // Sets thelinecolor. 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. + // 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. Color Color `json:"color,omitempty"` // Coloraxis @@ -1032,13 +1126,13 @@ type Scatter3dLine struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Dash @@ -1050,13 +1144,13 @@ type Scatter3dLine struct { // Reversescale // arrayOK: false // 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. + // 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. Reversescale Bool `json:"reversescale,omitempty"` // Showscale // arrayOK: false // 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. + // 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. Showscale Bool `json:"showscale,omitempty"` // Width @@ -1118,9 +1212,9 @@ type Scatter3dMarkerColorbarTitle struct { Font *Scatter3dMarkerColorbarTitleFont `json:"font,omitempty"` // Side - // default: top + // default: %!s() // type: enumerated - // Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. Side Scatter3dMarkerColorbarTitleSide `json:"side,omitempty"` // Text @@ -1163,6 +1257,12 @@ type Scatter3dMarkerColorbar struct { // 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. Exponentformat Scatter3dMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Len // arrayOK: false // type: number @@ -1187,6 +1287,12 @@ type Scatter3dMarkerColorbar struct { // 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*. Nticks int64 `json:"nticks,omitempty"` + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation Scatter3dMarkerColorbarOrientation `json:"orientation,omitempty"` + // Outlinecolor // arrayOK: false // type: color @@ -1266,7 +1372,7 @@ type Scatter3dMarkerColorbar struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -1275,12 +1381,24 @@ type Scatter3dMarkerColorbar struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow Scatter3dMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + // Ticklabelposition // default: outside // type: enumerated - // Determines where tick labels are drawn. + // 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*. Ticklabelposition Scatter3dMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -1320,7 +1438,7 @@ type Scatter3dMarkerColorbar struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -1332,7 +1450,7 @@ type Scatter3dMarkerColorbar struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -1348,13 +1466,13 @@ type Scatter3dMarkerColorbar struct { // X // arrayOK: false // type: number - // Sets the x position of the color bar (in plot fraction). + // Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. X float64 `json:"x,omitempty"` // Xanchor - // default: left + // default: %!s() // type: enumerated - // Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. + // 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*. Xanchor Scatter3dMarkerColorbarXanchor `json:"xanchor,omitempty"` // Xpad @@ -1366,13 +1484,13 @@ type Scatter3dMarkerColorbar struct { // Y // arrayOK: false // type: number - // Sets the y position of the color bar (in plot fraction). + // Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. Y float64 `json:"y,omitempty"` // Yanchor - // default: middle + // default: %!s() // type: enumerated - // Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. + // 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*. Yanchor Scatter3dMarkerColorbarYanchor `json:"yanchor,omitempty"` // Ypad @@ -1388,37 +1506,37 @@ type Scatter3dMarkerLine struct { // Autocolorscale // arrayOK: false // type: boolean - // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Cauto // arrayOK: false // type: boolean - // 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. + // 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. Cauto Bool `json:"cauto,omitempty"` // Cmax // arrayOK: false // 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. + // 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. Cmax float64 `json:"cmax,omitempty"` // Cmid // arrayOK: false // 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`. + // 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`. Cmid float64 `json:"cmid,omitempty"` // Cmin // arrayOK: false // 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. + // 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. Cmin float64 `json:"cmin,omitempty"` // Color // arrayOK: true // type: color - // Sets themarker.linecolor. 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. + // 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. Color Color `json:"color,omitempty"` // Coloraxis @@ -1430,19 +1548,19 @@ type Scatter3dMarkerLine struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Reversescale // arrayOK: false // 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. + // 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. Reversescale Bool `json:"reversescale,omitempty"` // Width @@ -1458,37 +1576,37 @@ type Scatter3dMarker struct { // Autocolorscale // arrayOK: false // type: boolean - // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Cauto // arrayOK: false // type: boolean - // 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. + // 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. Cauto Bool `json:"cauto,omitempty"` // Cmax // arrayOK: false // 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. + // 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. Cmax float64 `json:"cmax,omitempty"` // Cmid // arrayOK: false // 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`. + // 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`. Cmid float64 `json:"cmid,omitempty"` // Cmin // arrayOK: false // 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. + // 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. Cmin float64 `json:"cmin,omitempty"` // Color // arrayOK: true // type: color - // Sets themarkercolor. 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. + // 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. Color Color `json:"color,omitempty"` // Coloraxis @@ -1504,13 +1622,13 @@ type Scatter3dMarker struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Line @@ -1526,13 +1644,13 @@ type Scatter3dMarker struct { // Reversescale // arrayOK: false // 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. + // 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. Reversescale Bool `json:"reversescale,omitempty"` // Showscale // arrayOK: false // 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. + // 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. Showscale Bool `json:"showscale,omitempty"` // Size @@ -1562,7 +1680,7 @@ type Scatter3dMarker struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` // Symbol @@ -1574,7 +1692,7 @@ type Scatter3dMarker struct { // Symbolsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for symbol . + // Sets the source reference on Chart Studio Cloud for `symbol`. Symbolsrc String `json:"symbolsrc,omitempty"` } @@ -1688,7 +1806,7 @@ type Scatter3dTextfont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -1706,7 +1824,7 @@ type Scatter3dTextfont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -1757,7 +1875,7 @@ const ( Scatter3dLineColorbarExponentformatE1 Scatter3dLineColorbarExponentformat = "e" Scatter3dLineColorbarExponentformatE2 Scatter3dLineColorbarExponentformat = "E" Scatter3dLineColorbarExponentformatPower Scatter3dLineColorbarExponentformat = "power" - Scatter3dLineColorbarExponentformatSi Scatter3dLineColorbarExponentformat = "SI" + Scatter3dLineColorbarExponentformatSI Scatter3dLineColorbarExponentformat = "SI" Scatter3dLineColorbarExponentformatB Scatter3dLineColorbarExponentformat = "B" ) @@ -1769,6 +1887,14 @@ const ( Scatter3dLineColorbarLenmodePixels Scatter3dLineColorbarLenmode = "pixels" ) +// Scatter3dLineColorbarOrientation Sets the orientation of the colorbar. +type Scatter3dLineColorbarOrientation string + +const ( + Scatter3dLineColorbarOrientationH Scatter3dLineColorbarOrientation = "h" + Scatter3dLineColorbarOrientationV Scatter3dLineColorbarOrientation = "v" +) + // Scatter3dLineColorbarShowexponent 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. type Scatter3dLineColorbarShowexponent string @@ -1807,7 +1933,16 @@ const ( Scatter3dLineColorbarThicknessmodePixels Scatter3dLineColorbarThicknessmode = "pixels" ) -// Scatter3dLineColorbarTicklabelposition Determines where tick labels are drawn. +// Scatter3dLineColorbarTicklabeloverflow 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*. +type Scatter3dLineColorbarTicklabeloverflow string + +const ( + Scatter3dLineColorbarTicklabeloverflowAllow Scatter3dLineColorbarTicklabeloverflow = "allow" + Scatter3dLineColorbarTicklabeloverflowHidePastDiv Scatter3dLineColorbarTicklabeloverflow = "hide past div" + Scatter3dLineColorbarTicklabeloverflowHidePastDomain Scatter3dLineColorbarTicklabeloverflow = "hide past domain" +) + +// Scatter3dLineColorbarTicklabelposition 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*. type Scatter3dLineColorbarTicklabelposition string const ( @@ -1815,6 +1950,10 @@ const ( Scatter3dLineColorbarTicklabelpositionInside Scatter3dLineColorbarTicklabelposition = "inside" Scatter3dLineColorbarTicklabelpositionOutsideTop Scatter3dLineColorbarTicklabelposition = "outside top" Scatter3dLineColorbarTicklabelpositionInsideTop Scatter3dLineColorbarTicklabelposition = "inside top" + Scatter3dLineColorbarTicklabelpositionOutsideLeft Scatter3dLineColorbarTicklabelposition = "outside left" + Scatter3dLineColorbarTicklabelpositionInsideLeft Scatter3dLineColorbarTicklabelposition = "inside left" + Scatter3dLineColorbarTicklabelpositionOutsideRight Scatter3dLineColorbarTicklabelposition = "outside right" + Scatter3dLineColorbarTicklabelpositionInsideRight Scatter3dLineColorbarTicklabelposition = "inside right" Scatter3dLineColorbarTicklabelpositionOutsideBottom Scatter3dLineColorbarTicklabelposition = "outside bottom" Scatter3dLineColorbarTicklabelpositionInsideBottom Scatter3dLineColorbarTicklabelposition = "inside bottom" ) @@ -1837,7 +1976,7 @@ const ( Scatter3dLineColorbarTicksEmpty Scatter3dLineColorbarTicks = "" ) -// Scatter3dLineColorbarTitleSide Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. +// Scatter3dLineColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. type Scatter3dLineColorbarTitleSide string const ( @@ -1846,7 +1985,7 @@ const ( Scatter3dLineColorbarTitleSideBottom Scatter3dLineColorbarTitleSide = "bottom" ) -// Scatter3dLineColorbarXanchor Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. +// Scatter3dLineColorbarXanchor 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*. type Scatter3dLineColorbarXanchor string const ( @@ -1855,7 +1994,7 @@ const ( Scatter3dLineColorbarXanchorRight Scatter3dLineColorbarXanchor = "right" ) -// Scatter3dLineColorbarYanchor Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. +// Scatter3dLineColorbarYanchor 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*. type Scatter3dLineColorbarYanchor string const ( @@ -1868,12 +2007,12 @@ const ( type Scatter3dLineDash string const ( - Scatter3dLineDashSolid Scatter3dLineDash = "solid" - Scatter3dLineDashDot Scatter3dLineDash = "dot" Scatter3dLineDashDash Scatter3dLineDash = "dash" - Scatter3dLineDashLongdash Scatter3dLineDash = "longdash" Scatter3dLineDashDashdot Scatter3dLineDash = "dashdot" + Scatter3dLineDashDot Scatter3dLineDash = "dot" + Scatter3dLineDashLongdash Scatter3dLineDash = "longdash" Scatter3dLineDashLongdashdot Scatter3dLineDash = "longdashdot" + Scatter3dLineDashSolid Scatter3dLineDash = "solid" ) // Scatter3dMarkerColorbarExponentformat 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. @@ -1884,7 +2023,7 @@ const ( Scatter3dMarkerColorbarExponentformatE1 Scatter3dMarkerColorbarExponentformat = "e" Scatter3dMarkerColorbarExponentformatE2 Scatter3dMarkerColorbarExponentformat = "E" Scatter3dMarkerColorbarExponentformatPower Scatter3dMarkerColorbarExponentformat = "power" - Scatter3dMarkerColorbarExponentformatSi Scatter3dMarkerColorbarExponentformat = "SI" + Scatter3dMarkerColorbarExponentformatSI Scatter3dMarkerColorbarExponentformat = "SI" Scatter3dMarkerColorbarExponentformatB Scatter3dMarkerColorbarExponentformat = "B" ) @@ -1896,6 +2035,14 @@ const ( Scatter3dMarkerColorbarLenmodePixels Scatter3dMarkerColorbarLenmode = "pixels" ) +// Scatter3dMarkerColorbarOrientation Sets the orientation of the colorbar. +type Scatter3dMarkerColorbarOrientation string + +const ( + Scatter3dMarkerColorbarOrientationH Scatter3dMarkerColorbarOrientation = "h" + Scatter3dMarkerColorbarOrientationV Scatter3dMarkerColorbarOrientation = "v" +) + // Scatter3dMarkerColorbarShowexponent 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. type Scatter3dMarkerColorbarShowexponent string @@ -1934,7 +2081,16 @@ const ( Scatter3dMarkerColorbarThicknessmodePixels Scatter3dMarkerColorbarThicknessmode = "pixels" ) -// Scatter3dMarkerColorbarTicklabelposition Determines where tick labels are drawn. +// Scatter3dMarkerColorbarTicklabeloverflow 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*. +type Scatter3dMarkerColorbarTicklabeloverflow string + +const ( + Scatter3dMarkerColorbarTicklabeloverflowAllow Scatter3dMarkerColorbarTicklabeloverflow = "allow" + Scatter3dMarkerColorbarTicklabeloverflowHidePastDiv Scatter3dMarkerColorbarTicklabeloverflow = "hide past div" + Scatter3dMarkerColorbarTicklabeloverflowHidePastDomain Scatter3dMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// Scatter3dMarkerColorbarTicklabelposition 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*. type Scatter3dMarkerColorbarTicklabelposition string const ( @@ -1942,6 +2098,10 @@ const ( Scatter3dMarkerColorbarTicklabelpositionInside Scatter3dMarkerColorbarTicklabelposition = "inside" Scatter3dMarkerColorbarTicklabelpositionOutsideTop Scatter3dMarkerColorbarTicklabelposition = "outside top" Scatter3dMarkerColorbarTicklabelpositionInsideTop Scatter3dMarkerColorbarTicklabelposition = "inside top" + Scatter3dMarkerColorbarTicklabelpositionOutsideLeft Scatter3dMarkerColorbarTicklabelposition = "outside left" + Scatter3dMarkerColorbarTicklabelpositionInsideLeft Scatter3dMarkerColorbarTicklabelposition = "inside left" + Scatter3dMarkerColorbarTicklabelpositionOutsideRight Scatter3dMarkerColorbarTicklabelposition = "outside right" + Scatter3dMarkerColorbarTicklabelpositionInsideRight Scatter3dMarkerColorbarTicklabelposition = "inside right" Scatter3dMarkerColorbarTicklabelpositionOutsideBottom Scatter3dMarkerColorbarTicklabelposition = "outside bottom" Scatter3dMarkerColorbarTicklabelpositionInsideBottom Scatter3dMarkerColorbarTicklabelposition = "inside bottom" ) @@ -1964,7 +2124,7 @@ const ( Scatter3dMarkerColorbarTicksEmpty Scatter3dMarkerColorbarTicks = "" ) -// Scatter3dMarkerColorbarTitleSide Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. +// Scatter3dMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. type Scatter3dMarkerColorbarTitleSide string const ( @@ -1973,7 +2133,7 @@ const ( Scatter3dMarkerColorbarTitleSideBottom Scatter3dMarkerColorbarTitleSide = "bottom" ) -// Scatter3dMarkerColorbarXanchor Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. +// Scatter3dMarkerColorbarXanchor 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*. type Scatter3dMarkerColorbarXanchor string const ( @@ -1982,7 +2142,7 @@ const ( Scatter3dMarkerColorbarXanchorRight Scatter3dMarkerColorbarXanchor = "right" ) -// Scatter3dMarkerColorbarYanchor Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. +// Scatter3dMarkerColorbarYanchor 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*. type Scatter3dMarkerColorbarYanchor string const ( @@ -2005,11 +2165,11 @@ type Scatter3dMarkerSymbol string const ( Scatter3dMarkerSymbolCircle Scatter3dMarkerSymbol = "circle" Scatter3dMarkerSymbolCircleOpen Scatter3dMarkerSymbol = "circle-open" - Scatter3dMarkerSymbolSquare Scatter3dMarkerSymbol = "square" - Scatter3dMarkerSymbolSquareOpen Scatter3dMarkerSymbol = "square-open" + Scatter3dMarkerSymbolCross Scatter3dMarkerSymbol = "cross" Scatter3dMarkerSymbolDiamond Scatter3dMarkerSymbol = "diamond" Scatter3dMarkerSymbolDiamondOpen Scatter3dMarkerSymbol = "diamond-open" - Scatter3dMarkerSymbolCross Scatter3dMarkerSymbol = "cross" + Scatter3dMarkerSymbolSquare Scatter3dMarkerSymbol = "square" + Scatter3dMarkerSymbolSquareOpen Scatter3dMarkerSymbol = "square-open" Scatter3dMarkerSymbolX Scatter3dMarkerSymbol = "x" ) @@ -2051,19 +2211,19 @@ var ( type Scatter3dXcalendar string const ( - Scatter3dXcalendarGregorian Scatter3dXcalendar = "gregorian" Scatter3dXcalendarChinese Scatter3dXcalendar = "chinese" Scatter3dXcalendarCoptic Scatter3dXcalendar = "coptic" Scatter3dXcalendarDiscworld Scatter3dXcalendar = "discworld" Scatter3dXcalendarEthiopian Scatter3dXcalendar = "ethiopian" + Scatter3dXcalendarGregorian Scatter3dXcalendar = "gregorian" Scatter3dXcalendarHebrew Scatter3dXcalendar = "hebrew" Scatter3dXcalendarIslamic Scatter3dXcalendar = "islamic" + Scatter3dXcalendarJalali Scatter3dXcalendar = "jalali" Scatter3dXcalendarJulian Scatter3dXcalendar = "julian" Scatter3dXcalendarMayan Scatter3dXcalendar = "mayan" Scatter3dXcalendarNanakshahi Scatter3dXcalendar = "nanakshahi" Scatter3dXcalendarNepali Scatter3dXcalendar = "nepali" Scatter3dXcalendarPersian Scatter3dXcalendar = "persian" - Scatter3dXcalendarJalali Scatter3dXcalendar = "jalali" Scatter3dXcalendarTaiwan Scatter3dXcalendar = "taiwan" Scatter3dXcalendarThai Scatter3dXcalendar = "thai" Scatter3dXcalendarUmmalqura Scatter3dXcalendar = "ummalqura" @@ -2073,19 +2233,19 @@ const ( type Scatter3dYcalendar string const ( - Scatter3dYcalendarGregorian Scatter3dYcalendar = "gregorian" Scatter3dYcalendarChinese Scatter3dYcalendar = "chinese" Scatter3dYcalendarCoptic Scatter3dYcalendar = "coptic" Scatter3dYcalendarDiscworld Scatter3dYcalendar = "discworld" Scatter3dYcalendarEthiopian Scatter3dYcalendar = "ethiopian" + Scatter3dYcalendarGregorian Scatter3dYcalendar = "gregorian" Scatter3dYcalendarHebrew Scatter3dYcalendar = "hebrew" Scatter3dYcalendarIslamic Scatter3dYcalendar = "islamic" + Scatter3dYcalendarJalali Scatter3dYcalendar = "jalali" Scatter3dYcalendarJulian Scatter3dYcalendar = "julian" Scatter3dYcalendarMayan Scatter3dYcalendar = "mayan" Scatter3dYcalendarNanakshahi Scatter3dYcalendar = "nanakshahi" Scatter3dYcalendarNepali Scatter3dYcalendar = "nepali" Scatter3dYcalendarPersian Scatter3dYcalendar = "persian" - Scatter3dYcalendarJalali Scatter3dYcalendar = "jalali" Scatter3dYcalendarTaiwan Scatter3dYcalendar = "taiwan" Scatter3dYcalendarThai Scatter3dYcalendar = "thai" Scatter3dYcalendarUmmalqura Scatter3dYcalendar = "ummalqura" @@ -2095,19 +2255,19 @@ const ( type Scatter3dZcalendar string const ( - Scatter3dZcalendarGregorian Scatter3dZcalendar = "gregorian" Scatter3dZcalendarChinese Scatter3dZcalendar = "chinese" Scatter3dZcalendarCoptic Scatter3dZcalendar = "coptic" Scatter3dZcalendarDiscworld Scatter3dZcalendar = "discworld" Scatter3dZcalendarEthiopian Scatter3dZcalendar = "ethiopian" + Scatter3dZcalendarGregorian Scatter3dZcalendar = "gregorian" Scatter3dZcalendarHebrew Scatter3dZcalendar = "hebrew" Scatter3dZcalendarIslamic Scatter3dZcalendar = "islamic" + Scatter3dZcalendarJalali Scatter3dZcalendar = "jalali" Scatter3dZcalendarJulian Scatter3dZcalendar = "julian" Scatter3dZcalendarMayan Scatter3dZcalendar = "mayan" Scatter3dZcalendarNanakshahi Scatter3dZcalendar = "nanakshahi" Scatter3dZcalendarNepali Scatter3dZcalendar = "nepali" Scatter3dZcalendarPersian Scatter3dZcalendar = "persian" - Scatter3dZcalendarJalali Scatter3dZcalendar = "jalali" Scatter3dZcalendarTaiwan Scatter3dZcalendar = "taiwan" Scatter3dZcalendarThai Scatter3dZcalendar = "thai" Scatter3dZcalendarUmmalqura Scatter3dZcalendar = "ummalqura" diff --git a/graph_objects/scatter_gen.go b/generated/v2.19.0/graph_objects/scatter_gen.go similarity index 81% rename from graph_objects/scatter_gen.go rename to generated/v2.19.0/graph_objects/scatter_gen.go index 4c0f8dd..39ae389 100644 --- a/graph_objects/scatter_gen.go +++ b/generated/v2.19.0/graph_objects/scatter_gen.go @@ -15,6 +15,12 @@ type Scatter struct { // is the type of the plot Type TraceType `json:"type,omitempty"` + // Alignmentgroup + // arrayOK: false + // 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. + Alignmentgroup String `json:"alignmentgroup,omitempty"` + // Cliponaxis // arrayOK: false // type: boolean @@ -36,7 +42,7 @@ type Scatter struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Dx @@ -71,6 +77,10 @@ type Scatter struct { // Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available. Fillcolor Color `json:"fillcolor,omitempty"` + // Fillpattern + // role: Object + Fillpattern *ScatterFillpattern `json:"fillpattern,omitempty"` + // Groupnorm // default: // type: enumerated @@ -86,7 +96,7 @@ type Scatter struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -102,13 +112,13 @@ type Scatter struct { // Hovertemplate // arrayOK: true // 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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + // 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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. Hovertemplate String `json:"hovertemplate,omitempty"` // Hovertemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertemplate . + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` // Hovertext @@ -120,7 +130,7 @@ type Scatter struct { // Hovertextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertext . + // Sets the source reference on Chart Studio Cloud for `hovertext`. Hovertextsrc String `json:"hovertextsrc,omitempty"` // Ids @@ -132,7 +142,7 @@ type Scatter struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` // Legendgroup @@ -141,6 +151,22 @@ type Scatter struct { // Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items. Legendgroup String `json:"legendgroup,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *ScatterLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Line // role: Object Line *ScatterLine `json:"line,omitempty"` @@ -158,7 +184,7 @@ type Scatter struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Mode @@ -173,6 +199,12 @@ type Scatter struct { // Sets the trace name. The trace name appear as the legend item and on hover. Name String `json:"name,omitempty"` + // Offsetgroup + // arrayOK: false + // 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. + Offsetgroup String `json:"offsetgroup,omitempty"` + // Opacity // arrayOK: false // type: number @@ -182,21 +214,9 @@ type Scatter struct { // Orientation // default: %!s() // type: enumerated - // Only relevant 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`. + // 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`. Orientation ScatterOrientation `json:"orientation,omitempty"` - // R - // arrayOK: false - // type: data_array - // r coordinates in scatter traces are deprecated!Please switch to the *scatterpolar* trace type.Sets the radial coordinatesfor legacy polar chart only. - R interface{} `json:"r,omitempty"` - - // Rsrc - // arrayOK: false - // type: string - // Sets the source reference on Chart Studio Cloud for r . - Rsrc String `json:"rsrc,omitempty"` - // Selected // role: Object Selected *ScatterSelected `json:"selected,omitempty"` @@ -229,12 +249,6 @@ type Scatter struct { // role: Object Stream *ScatterStream `json:"stream,omitempty"` - // T - // arrayOK: false - // type: data_array - // t coordinates in scatter traces are deprecated!Please switch to the *scatterpolar* trace type.Sets the angular coordinatesfor legacy polar chart only. - T interface{} `json:"t,omitempty"` - // Text // arrayOK: true // type: string @@ -254,25 +268,25 @@ type Scatter struct { // Textpositionsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for textposition . + // Sets the source reference on Chart Studio Cloud for `textposition`. Textpositionsrc String `json:"textpositionsrc,omitempty"` // Textsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for text . + // Sets the source reference on Chart Studio Cloud for `text`. Textsrc String `json:"textsrc,omitempty"` // Texttemplate // arrayOK: true // 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-3.x-api-reference/blob/master/Formatting.md#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#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. + // 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. Texttemplate String `json:"texttemplate,omitempty"` // Texttemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for texttemplate . + // Sets the source reference on Chart Studio Cloud for `texttemplate`. Texttemplatesrc String `json:"texttemplatesrc,omitempty"` // Transforms @@ -281,12 +295,6 @@ type Scatter struct { // just raise an issue before you start so we do not overlap Transforms interface{} `json:"transforms,omitempty"` - // Tsrc - // arrayOK: false - // type: string - // Sets the source reference on Chart Studio Cloud for t . - Tsrc String `json:"tsrc,omitempty"` - // Uid // arrayOK: false // type: string @@ -333,6 +341,12 @@ type Scatter struct { // Sets the calendar system to use with `x` date data. Xcalendar ScatterXcalendar `json:"xcalendar,omitempty"` + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + // Xperiod // arrayOK: false // type: any @@ -354,7 +368,7 @@ type Scatter struct { // Xsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for x . + // Sets the source reference on Chart Studio Cloud for `x`. Xsrc String `json:"xsrc,omitempty"` // Y @@ -381,6 +395,12 @@ type Scatter struct { // Sets the calendar system to use with `y` date data. Ycalendar ScatterYcalendar `json:"ycalendar,omitempty"` + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + // Yperiod // arrayOK: false // type: any @@ -402,7 +422,7 @@ type Scatter struct { // Ysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for y . + // Sets the source reference on Chart Studio Cloud for `y`. Ysrc String `json:"ysrc,omitempty"` } @@ -424,13 +444,13 @@ type ScatterErrorX struct { // Arrayminussrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for arrayminus . + // Sets the source reference on Chart Studio Cloud for `arrayminus`. Arrayminussrc String `json:"arrayminussrc,omitempty"` // Arraysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for array . + // Sets the source reference on Chart Studio Cloud for `array`. Arraysrc String `json:"arraysrc,omitempty"` // Color @@ -518,13 +538,13 @@ type ScatterErrorY struct { // Arrayminussrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for arrayminus . + // Sets the source reference on Chart Studio Cloud for `arrayminus`. Arrayminussrc String `json:"arrayminussrc,omitempty"` // Arraysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for array . + // Sets the source reference on Chart Studio Cloud for `array`. Arraysrc String `json:"arraysrc,omitempty"` // Color @@ -588,6 +608,82 @@ type ScatterErrorY struct { Width float64 `json:"width,omitempty"` } +// ScatterFillpattern Sets the pattern within the marker. +type ScatterFillpattern struct { + + // Bgcolor + // arrayOK: true + // type: color + // 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. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Fgcolor + // arrayOK: true + // type: color + // 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`. + Fgcolor Color `json:"fgcolor,omitempty"` + + // Fgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `fgcolor`. + Fgcolorsrc String `json:"fgcolorsrc,omitempty"` + + // Fgopacity + // arrayOK: false + // type: number + // Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1. + Fgopacity float64 `json:"fgopacity,omitempty"` + + // Fillmode + // default: replace + // type: enumerated + // Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. + Fillmode ScatterFillpatternFillmode `json:"fillmode,omitempty"` + + // Shape + // default: + // type: enumerated + // Sets the shape of the pattern fill. By default, no pattern is used for filling the area. + Shape ScatterFillpatternShape `json:"shape,omitempty"` + + // Shapesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `shape`. + Shapesrc String `json:"shapesrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Solidity + // arrayOK: true + // type: number + // 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. + Solidity float64 `json:"solidity,omitempty"` + + // Soliditysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `solidity`. + Soliditysrc String `json:"soliditysrc,omitempty"` +} + // ScatterHoverlabelFont Sets the font used in hover labels. type ScatterHoverlabelFont struct { @@ -600,7 +696,7 @@ type ScatterHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -612,7 +708,7 @@ type ScatterHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -624,7 +720,7 @@ type ScatterHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -640,7 +736,7 @@ type ScatterHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -652,7 +748,7 @@ type ScatterHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -664,7 +760,7 @@ type ScatterHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -680,13 +776,61 @@ type ScatterHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } +// ScatterLegendgrouptitleFont Sets this legend group's title font. +type ScatterLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScatterLegendgrouptitle +type ScatterLegendgrouptitle struct { + + // Font + // role: Object + Font *ScatterLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // ScatterLine type ScatterLine struct { + // Backoff + // arrayOK: true + // type: number + // 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*. + Backoff float64 `json:"backoff,omitempty"` + + // Backoffsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `backoff`. + Backoffsrc String `json:"backoffsrc,omitempty"` + // Color // arrayOK: false // type: color @@ -776,9 +920,9 @@ type ScatterMarkerColorbarTitle struct { Font *ScatterMarkerColorbarTitleFont `json:"font,omitempty"` // Side - // default: top + // default: %!s() // type: enumerated - // Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. Side ScatterMarkerColorbarTitleSide `json:"side,omitempty"` // Text @@ -821,6 +965,12 @@ type ScatterMarkerColorbar struct { // 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. Exponentformat ScatterMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Len // arrayOK: false // type: number @@ -845,6 +995,12 @@ type ScatterMarkerColorbar struct { // 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*. Nticks int64 `json:"nticks,omitempty"` + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ScatterMarkerColorbarOrientation `json:"orientation,omitempty"` + // Outlinecolor // arrayOK: false // type: color @@ -924,7 +1080,7 @@ type ScatterMarkerColorbar struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -933,12 +1089,24 @@ type ScatterMarkerColorbar struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ScatterMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + // Ticklabelposition // default: outside // type: enumerated - // Determines where tick labels are drawn. + // 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*. Ticklabelposition ScatterMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -978,7 +1146,7 @@ type ScatterMarkerColorbar struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -990,7 +1158,7 @@ type ScatterMarkerColorbar struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -1006,13 +1174,13 @@ type ScatterMarkerColorbar struct { // X // arrayOK: false // type: number - // Sets the x position of the color bar (in plot fraction). + // Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. X float64 `json:"x,omitempty"` // Xanchor - // default: left + // default: %!s() // type: enumerated - // Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. + // 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*. Xanchor ScatterMarkerColorbarXanchor `json:"xanchor,omitempty"` // Xpad @@ -1024,13 +1192,13 @@ type ScatterMarkerColorbar struct { // Y // arrayOK: false // type: number - // Sets the y position of the color bar (in plot fraction). + // Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. Y float64 `json:"y,omitempty"` // Yanchor - // default: middle + // default: %!s() // type: enumerated - // Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. + // 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*. Yanchor ScatterMarkerColorbarYanchor `json:"yanchor,omitempty"` // Ypad @@ -1052,7 +1220,7 @@ type ScatterMarkerGradient struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Type @@ -1064,7 +1232,7 @@ type ScatterMarkerGradient struct { // Typesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for type . + // Sets the source reference on Chart Studio Cloud for `type`. Typesrc String `json:"typesrc,omitempty"` } @@ -1074,37 +1242,37 @@ type ScatterMarkerLine struct { // Autocolorscale // arrayOK: false // type: boolean - // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Cauto // arrayOK: false // type: boolean - // 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. + // 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. Cauto Bool `json:"cauto,omitempty"` // Cmax // arrayOK: false // 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. + // 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. Cmax float64 `json:"cmax,omitempty"` // Cmid // arrayOK: false // 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`. + // 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`. Cmid float64 `json:"cmid,omitempty"` // Cmin // arrayOK: false // 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. + // 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. Cmin float64 `json:"cmin,omitempty"` // Color // arrayOK: true // type: color - // Sets themarker.linecolor. 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. + // 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. Color Color `json:"color,omitempty"` // Coloraxis @@ -1116,19 +1284,19 @@ type ScatterMarkerLine struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Reversescale // arrayOK: false // 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. + // 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. Reversescale Bool `json:"reversescale,omitempty"` // Width @@ -1140,47 +1308,65 @@ type ScatterMarkerLine struct { // Widthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for width . + // Sets the source reference on Chart Studio Cloud for `width`. Widthsrc String `json:"widthsrc,omitempty"` } // ScatterMarker type ScatterMarker struct { + // Angle + // arrayOK: true + // type: angle + // Sets the marker angle in respect to `angleref`. + Angle float64 `json:"angle,omitempty"` + + // Angleref + // default: up + // type: enumerated + // 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. + Angleref ScatterMarkerAngleref `json:"angleref,omitempty"` + + // Anglesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `angle`. + Anglesrc String `json:"anglesrc,omitempty"` + // Autocolorscale // arrayOK: false // type: boolean - // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Cauto // arrayOK: false // type: boolean - // 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. + // 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. Cauto Bool `json:"cauto,omitempty"` // Cmax // arrayOK: false // 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. + // 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. Cmax float64 `json:"cmax,omitempty"` // Cmid // arrayOK: false // 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`. + // 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`. Cmid float64 `json:"cmid,omitempty"` // Cmin // arrayOK: false // 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. + // 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. Cmin float64 `json:"cmin,omitempty"` // Color // arrayOK: true // type: color - // Sets themarkercolor. 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. + // 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. Color Color `json:"color,omitempty"` // Coloraxis @@ -1196,13 +1382,13 @@ type ScatterMarker struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Gradient @@ -1228,19 +1414,19 @@ type ScatterMarker struct { // Opacitysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for opacity . + // Sets the source reference on Chart Studio Cloud for `opacity`. Opacitysrc String `json:"opacitysrc,omitempty"` // Reversescale // arrayOK: false // 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. + // 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. Reversescale Bool `json:"reversescale,omitempty"` // Showscale // arrayOK: false // 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. + // 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. Showscale Bool `json:"showscale,omitempty"` // Size @@ -1270,9 +1456,21 @@ type ScatterMarker struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` + // Standoff + // arrayOK: true + // type: number + // 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. + Standoff float64 `json:"standoff,omitempty"` + + // Standoffsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `standoff`. + Standoffsrc String `json:"standoffsrc,omitempty"` + // Symbol // default: circle // type: enumerated @@ -1282,7 +1480,7 @@ type ScatterMarker struct { // Symbolsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for symbol . + // Sets the source reference on Chart Studio Cloud for `symbol`. Symbolsrc String `json:"symbolsrc,omitempty"` } @@ -1358,7 +1556,7 @@ type ScatterTextfont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -1370,7 +1568,7 @@ type ScatterTextfont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -1382,7 +1580,7 @@ type ScatterTextfont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -1463,6 +1661,28 @@ const ( ScatterFillTonext ScatterFill = "tonext" ) +// ScatterFillpatternFillmode Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. +type ScatterFillpatternFillmode string + +const ( + ScatterFillpatternFillmodeReplace ScatterFillpatternFillmode = "replace" + ScatterFillpatternFillmodeOverlay ScatterFillpatternFillmode = "overlay" +) + +// ScatterFillpatternShape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. +type ScatterFillpatternShape string + +const ( + ScatterFillpatternShapeEmpty ScatterFillpatternShape = "" + ScatterFillpatternShapeSlash ScatterFillpatternShape = "/" + ScatterFillpatternShapeDoublebackslash ScatterFillpatternShape = "\\" + ScatterFillpatternShapeX ScatterFillpatternShape = "x" + ScatterFillpatternShapeHyphenHyphen ScatterFillpatternShape = "-" + ScatterFillpatternShapeOr ScatterFillpatternShape = "|" + ScatterFillpatternShapePlus ScatterFillpatternShape = "+" + ScatterFillpatternShapeDot ScatterFillpatternShape = "." +) + // ScatterGroupnorm 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. type ScatterGroupnorm string @@ -1493,6 +1713,14 @@ const ( ScatterLineShapeVhv ScatterLineShape = "vhv" ) +// ScatterMarkerAngleref 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. +type ScatterMarkerAngleref string + +const ( + ScatterMarkerAnglerefPrevious ScatterMarkerAngleref = "previous" + ScatterMarkerAnglerefUp ScatterMarkerAngleref = "up" +) + // ScatterMarkerColorbarExponentformat 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. type ScatterMarkerColorbarExponentformat string @@ -1501,7 +1729,7 @@ const ( ScatterMarkerColorbarExponentformatE1 ScatterMarkerColorbarExponentformat = "e" ScatterMarkerColorbarExponentformatE2 ScatterMarkerColorbarExponentformat = "E" ScatterMarkerColorbarExponentformatPower ScatterMarkerColorbarExponentformat = "power" - ScatterMarkerColorbarExponentformatSi ScatterMarkerColorbarExponentformat = "SI" + ScatterMarkerColorbarExponentformatSI ScatterMarkerColorbarExponentformat = "SI" ScatterMarkerColorbarExponentformatB ScatterMarkerColorbarExponentformat = "B" ) @@ -1513,6 +1741,14 @@ const ( ScatterMarkerColorbarLenmodePixels ScatterMarkerColorbarLenmode = "pixels" ) +// ScatterMarkerColorbarOrientation Sets the orientation of the colorbar. +type ScatterMarkerColorbarOrientation string + +const ( + ScatterMarkerColorbarOrientationH ScatterMarkerColorbarOrientation = "h" + ScatterMarkerColorbarOrientationV ScatterMarkerColorbarOrientation = "v" +) + // ScatterMarkerColorbarShowexponent 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. type ScatterMarkerColorbarShowexponent string @@ -1551,7 +1787,16 @@ const ( ScatterMarkerColorbarThicknessmodePixels ScatterMarkerColorbarThicknessmode = "pixels" ) -// ScatterMarkerColorbarTicklabelposition Determines where tick labels are drawn. +// ScatterMarkerColorbarTicklabeloverflow 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*. +type ScatterMarkerColorbarTicklabeloverflow string + +const ( + ScatterMarkerColorbarTicklabeloverflowAllow ScatterMarkerColorbarTicklabeloverflow = "allow" + ScatterMarkerColorbarTicklabeloverflowHidePastDiv ScatterMarkerColorbarTicklabeloverflow = "hide past div" + ScatterMarkerColorbarTicklabeloverflowHidePastDomain ScatterMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// ScatterMarkerColorbarTicklabelposition 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*. type ScatterMarkerColorbarTicklabelposition string const ( @@ -1559,6 +1804,10 @@ const ( ScatterMarkerColorbarTicklabelpositionInside ScatterMarkerColorbarTicklabelposition = "inside" ScatterMarkerColorbarTicklabelpositionOutsideTop ScatterMarkerColorbarTicklabelposition = "outside top" ScatterMarkerColorbarTicklabelpositionInsideTop ScatterMarkerColorbarTicklabelposition = "inside top" + ScatterMarkerColorbarTicklabelpositionOutsideLeft ScatterMarkerColorbarTicklabelposition = "outside left" + ScatterMarkerColorbarTicklabelpositionInsideLeft ScatterMarkerColorbarTicklabelposition = "inside left" + ScatterMarkerColorbarTicklabelpositionOutsideRight ScatterMarkerColorbarTicklabelposition = "outside right" + ScatterMarkerColorbarTicklabelpositionInsideRight ScatterMarkerColorbarTicklabelposition = "inside right" ScatterMarkerColorbarTicklabelpositionOutsideBottom ScatterMarkerColorbarTicklabelposition = "outside bottom" ScatterMarkerColorbarTicklabelpositionInsideBottom ScatterMarkerColorbarTicklabelposition = "inside bottom" ) @@ -1581,7 +1830,7 @@ const ( ScatterMarkerColorbarTicksEmpty ScatterMarkerColorbarTicks = "" ) -// ScatterMarkerColorbarTitleSide Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. +// ScatterMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. type ScatterMarkerColorbarTitleSide string const ( @@ -1590,7 +1839,7 @@ const ( ScatterMarkerColorbarTitleSideBottom ScatterMarkerColorbarTitleSide = "bottom" ) -// ScatterMarkerColorbarXanchor Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. +// ScatterMarkerColorbarXanchor 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*. type ScatterMarkerColorbarXanchor string const ( @@ -1599,7 +1848,7 @@ const ( ScatterMarkerColorbarXanchorRight ScatterMarkerColorbarXanchor = "right" ) -// ScatterMarkerColorbarYanchor Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. +// ScatterMarkerColorbarYanchor 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*. type ScatterMarkerColorbarYanchor string const ( @@ -2104,9 +2353,21 @@ var ( ScatterMarkerSymbolNumber152 ScatterMarkerSymbol = 152 ScatterMarkerSymbol152 ScatterMarkerSymbol = "152" ScatterMarkerSymbolArrowBarRightOpen ScatterMarkerSymbol = "arrow-bar-right-open" + ScatterMarkerSymbolNumber53 ScatterMarkerSymbol = 53 + ScatterMarkerSymbol53 ScatterMarkerSymbol = "53" + ScatterMarkerSymbolArrow ScatterMarkerSymbol = "arrow" + ScatterMarkerSymbolNumber153 ScatterMarkerSymbol = 153 + ScatterMarkerSymbol153 ScatterMarkerSymbol = "153" + ScatterMarkerSymbolArrowOpen ScatterMarkerSymbol = "arrow-open" + ScatterMarkerSymbolNumber54 ScatterMarkerSymbol = 54 + ScatterMarkerSymbol54 ScatterMarkerSymbol = "54" + ScatterMarkerSymbolArrowWide ScatterMarkerSymbol = "arrow-wide" + ScatterMarkerSymbolNumber154 ScatterMarkerSymbol = 154 + ScatterMarkerSymbol154 ScatterMarkerSymbol = "154" + ScatterMarkerSymbolArrowWideOpen ScatterMarkerSymbol = "arrow-wide-open" ) -// ScatterOrientation Only relevant 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`. +// ScatterOrientation 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`. type ScatterOrientation string const ( @@ -2150,19 +2411,19 @@ var ( type ScatterXcalendar string const ( - ScatterXcalendarGregorian ScatterXcalendar = "gregorian" ScatterXcalendarChinese ScatterXcalendar = "chinese" ScatterXcalendarCoptic ScatterXcalendar = "coptic" ScatterXcalendarDiscworld ScatterXcalendar = "discworld" ScatterXcalendarEthiopian ScatterXcalendar = "ethiopian" + ScatterXcalendarGregorian ScatterXcalendar = "gregorian" ScatterXcalendarHebrew ScatterXcalendar = "hebrew" ScatterXcalendarIslamic ScatterXcalendar = "islamic" + ScatterXcalendarJalali ScatterXcalendar = "jalali" ScatterXcalendarJulian ScatterXcalendar = "julian" ScatterXcalendarMayan ScatterXcalendar = "mayan" ScatterXcalendarNanakshahi ScatterXcalendar = "nanakshahi" ScatterXcalendarNepali ScatterXcalendar = "nepali" ScatterXcalendarPersian ScatterXcalendar = "persian" - ScatterXcalendarJalali ScatterXcalendar = "jalali" ScatterXcalendarTaiwan ScatterXcalendar = "taiwan" ScatterXcalendarThai ScatterXcalendar = "thai" ScatterXcalendarUmmalqura ScatterXcalendar = "ummalqura" @@ -2181,19 +2442,19 @@ const ( type ScatterYcalendar string const ( - ScatterYcalendarGregorian ScatterYcalendar = "gregorian" ScatterYcalendarChinese ScatterYcalendar = "chinese" ScatterYcalendarCoptic ScatterYcalendar = "coptic" ScatterYcalendarDiscworld ScatterYcalendar = "discworld" ScatterYcalendarEthiopian ScatterYcalendar = "ethiopian" + ScatterYcalendarGregorian ScatterYcalendar = "gregorian" ScatterYcalendarHebrew ScatterYcalendar = "hebrew" ScatterYcalendarIslamic ScatterYcalendar = "islamic" + ScatterYcalendarJalali ScatterYcalendar = "jalali" ScatterYcalendarJulian ScatterYcalendar = "julian" ScatterYcalendarMayan ScatterYcalendar = "mayan" ScatterYcalendarNanakshahi ScatterYcalendar = "nanakshahi" ScatterYcalendarNepali ScatterYcalendar = "nepali" ScatterYcalendarPersian ScatterYcalendar = "persian" - ScatterYcalendarJalali ScatterYcalendar = "jalali" ScatterYcalendarTaiwan ScatterYcalendar = "taiwan" ScatterYcalendarThai ScatterYcalendar = "thai" ScatterYcalendarUmmalqura ScatterYcalendar = "ummalqura" diff --git a/graph_objects/scattercarpet_gen.go b/generated/v2.19.0/graph_objects/scattercarpet_gen.go similarity index 84% rename from graph_objects/scattercarpet_gen.go rename to generated/v2.19.0/graph_objects/scattercarpet_gen.go index bcdc9cd..5cb4deb 100644 --- a/graph_objects/scattercarpet_gen.go +++ b/generated/v2.19.0/graph_objects/scattercarpet_gen.go @@ -24,7 +24,7 @@ type Scattercarpet struct { // Asrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for a . + // Sets the source reference on Chart Studio Cloud for `a`. Asrc String `json:"asrc,omitempty"` // B @@ -36,7 +36,7 @@ type Scattercarpet struct { // Bsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for b . + // Sets the source reference on Chart Studio Cloud for `b`. Bsrc String `json:"bsrc,omitempty"` // Carpet @@ -60,7 +60,7 @@ type Scattercarpet struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Fill @@ -84,7 +84,7 @@ type Scattercarpet struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -100,13 +100,13 @@ type Scattercarpet struct { // Hovertemplate // arrayOK: true // 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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + // 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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. Hovertemplate String `json:"hovertemplate,omitempty"` // Hovertemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertemplate . + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` // Hovertext @@ -118,7 +118,7 @@ type Scattercarpet struct { // Hovertextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertext . + // Sets the source reference on Chart Studio Cloud for `hovertext`. Hovertextsrc String `json:"hovertextsrc,omitempty"` // Ids @@ -130,7 +130,7 @@ type Scattercarpet struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` // Legendgroup @@ -139,6 +139,22 @@ type Scattercarpet struct { // Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items. Legendgroup String `json:"legendgroup,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *ScattercarpetLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Line // role: Object Line *ScattercarpetLine `json:"line,omitempty"` @@ -156,7 +172,7 @@ type Scattercarpet struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Mode @@ -216,25 +232,25 @@ type Scattercarpet struct { // Textpositionsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for textposition . + // Sets the source reference on Chart Studio Cloud for `textposition`. Textpositionsrc String `json:"textpositionsrc,omitempty"` // Textsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for text . + // Sets the source reference on Chart Studio Cloud for `text`. Textsrc String `json:"textsrc,omitempty"` // Texttemplate // arrayOK: true // 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-3.x-api-reference/blob/master/Formatting.md#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#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. variables `a`, `b` and `text`. + // 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. variables `a`, `b` and `text`. Texttemplate String `json:"texttemplate,omitempty"` // Texttemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for texttemplate . + // Sets the source reference on Chart Studio Cloud for `texttemplate`. Texttemplatesrc String `json:"texttemplatesrc,omitempty"` // Transforms @@ -290,7 +306,7 @@ type ScattercarpetHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -302,7 +318,7 @@ type ScattercarpetHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -314,7 +330,7 @@ type ScattercarpetHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -330,7 +346,7 @@ type ScattercarpetHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -342,7 +358,7 @@ type ScattercarpetHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -354,7 +370,7 @@ type ScattercarpetHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -370,13 +386,61 @@ type ScattercarpetHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } +// ScattercarpetLegendgrouptitleFont Sets this legend group's title font. +type ScattercarpetLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScattercarpetLegendgrouptitle +type ScattercarpetLegendgrouptitle struct { + + // Font + // role: Object + Font *ScattercarpetLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // ScattercarpetLine type ScattercarpetLine struct { + // Backoff + // arrayOK: true + // type: number + // 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*. + Backoff float64 `json:"backoff,omitempty"` + + // Backoffsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `backoff`. + Backoffsrc String `json:"backoffsrc,omitempty"` + // Color // arrayOK: false // type: color @@ -460,9 +524,9 @@ type ScattercarpetMarkerColorbarTitle struct { Font *ScattercarpetMarkerColorbarTitleFont `json:"font,omitempty"` // Side - // default: top + // default: %!s() // type: enumerated - // Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. Side ScattercarpetMarkerColorbarTitleSide `json:"side,omitempty"` // Text @@ -505,6 +569,12 @@ type ScattercarpetMarkerColorbar struct { // 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. Exponentformat ScattercarpetMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Len // arrayOK: false // type: number @@ -529,6 +599,12 @@ type ScattercarpetMarkerColorbar struct { // 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*. Nticks int64 `json:"nticks,omitempty"` + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ScattercarpetMarkerColorbarOrientation `json:"orientation,omitempty"` + // Outlinecolor // arrayOK: false // type: color @@ -608,7 +684,7 @@ type ScattercarpetMarkerColorbar struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -617,12 +693,24 @@ type ScattercarpetMarkerColorbar struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ScattercarpetMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + // Ticklabelposition // default: outside // type: enumerated - // Determines where tick labels are drawn. + // 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*. Ticklabelposition ScattercarpetMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -662,7 +750,7 @@ type ScattercarpetMarkerColorbar struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -674,7 +762,7 @@ type ScattercarpetMarkerColorbar struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -690,13 +778,13 @@ type ScattercarpetMarkerColorbar struct { // X // arrayOK: false // type: number - // Sets the x position of the color bar (in plot fraction). + // Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. X float64 `json:"x,omitempty"` // Xanchor - // default: left + // default: %!s() // type: enumerated - // Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. + // 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*. Xanchor ScattercarpetMarkerColorbarXanchor `json:"xanchor,omitempty"` // Xpad @@ -708,13 +796,13 @@ type ScattercarpetMarkerColorbar struct { // Y // arrayOK: false // type: number - // Sets the y position of the color bar (in plot fraction). + // Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. Y float64 `json:"y,omitempty"` // Yanchor - // default: middle + // default: %!s() // type: enumerated - // Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. + // 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*. Yanchor ScattercarpetMarkerColorbarYanchor `json:"yanchor,omitempty"` // Ypad @@ -736,7 +824,7 @@ type ScattercarpetMarkerGradient struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Type @@ -748,7 +836,7 @@ type ScattercarpetMarkerGradient struct { // Typesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for type . + // Sets the source reference on Chart Studio Cloud for `type`. Typesrc String `json:"typesrc,omitempty"` } @@ -758,37 +846,37 @@ type ScattercarpetMarkerLine struct { // Autocolorscale // arrayOK: false // type: boolean - // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Cauto // arrayOK: false // type: boolean - // 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. + // 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. Cauto Bool `json:"cauto,omitempty"` // Cmax // arrayOK: false // 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. + // 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. Cmax float64 `json:"cmax,omitempty"` // Cmid // arrayOK: false // 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`. + // 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`. Cmid float64 `json:"cmid,omitempty"` // Cmin // arrayOK: false // 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. + // 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. Cmin float64 `json:"cmin,omitempty"` // Color // arrayOK: true // type: color - // Sets themarker.linecolor. 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. + // 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. Color Color `json:"color,omitempty"` // Coloraxis @@ -800,19 +888,19 @@ type ScattercarpetMarkerLine struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Reversescale // arrayOK: false // 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. + // 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. Reversescale Bool `json:"reversescale,omitempty"` // Width @@ -824,47 +912,65 @@ type ScattercarpetMarkerLine struct { // Widthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for width . + // Sets the source reference on Chart Studio Cloud for `width`. Widthsrc String `json:"widthsrc,omitempty"` } // ScattercarpetMarker type ScattercarpetMarker struct { + // Angle + // arrayOK: true + // type: angle + // Sets the marker angle in respect to `angleref`. + Angle float64 `json:"angle,omitempty"` + + // Angleref + // default: up + // type: enumerated + // 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. + Angleref ScattercarpetMarkerAngleref `json:"angleref,omitempty"` + + // Anglesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `angle`. + Anglesrc String `json:"anglesrc,omitempty"` + // Autocolorscale // arrayOK: false // type: boolean - // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Cauto // arrayOK: false // type: boolean - // 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. + // 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. Cauto Bool `json:"cauto,omitempty"` // Cmax // arrayOK: false // 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. + // 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. Cmax float64 `json:"cmax,omitempty"` // Cmid // arrayOK: false // 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`. + // 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`. Cmid float64 `json:"cmid,omitempty"` // Cmin // arrayOK: false // 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. + // 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. Cmin float64 `json:"cmin,omitempty"` // Color // arrayOK: true // type: color - // Sets themarkercolor. 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. + // 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. Color Color `json:"color,omitempty"` // Coloraxis @@ -880,13 +986,13 @@ type ScattercarpetMarker struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Gradient @@ -912,19 +1018,19 @@ type ScattercarpetMarker struct { // Opacitysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for opacity . + // Sets the source reference on Chart Studio Cloud for `opacity`. Opacitysrc String `json:"opacitysrc,omitempty"` // Reversescale // arrayOK: false // 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. + // 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. Reversescale Bool `json:"reversescale,omitempty"` // Showscale // arrayOK: false // 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. + // 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. Showscale Bool `json:"showscale,omitempty"` // Size @@ -954,9 +1060,21 @@ type ScattercarpetMarker struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` + // Standoff + // arrayOK: true + // type: number + // 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. + Standoff float64 `json:"standoff,omitempty"` + + // Standoffsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `standoff`. + Standoffsrc String `json:"standoffsrc,omitempty"` + // Symbol // default: circle // type: enumerated @@ -966,7 +1084,7 @@ type ScattercarpetMarker struct { // Symbolsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for symbol . + // Sets the source reference on Chart Studio Cloud for `symbol`. Symbolsrc String `json:"symbolsrc,omitempty"` } @@ -1042,7 +1160,7 @@ type ScattercarpetTextfont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -1054,7 +1172,7 @@ type ScattercarpetTextfont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -1066,7 +1184,7 @@ type ScattercarpetTextfont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -1140,6 +1258,14 @@ const ( ScattercarpetLineShapeSpline ScattercarpetLineShape = "spline" ) +// ScattercarpetMarkerAngleref 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. +type ScattercarpetMarkerAngleref string + +const ( + ScattercarpetMarkerAnglerefPrevious ScattercarpetMarkerAngleref = "previous" + ScattercarpetMarkerAnglerefUp ScattercarpetMarkerAngleref = "up" +) + // ScattercarpetMarkerColorbarExponentformat 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. type ScattercarpetMarkerColorbarExponentformat string @@ -1148,7 +1274,7 @@ const ( ScattercarpetMarkerColorbarExponentformatE1 ScattercarpetMarkerColorbarExponentformat = "e" ScattercarpetMarkerColorbarExponentformatE2 ScattercarpetMarkerColorbarExponentformat = "E" ScattercarpetMarkerColorbarExponentformatPower ScattercarpetMarkerColorbarExponentformat = "power" - ScattercarpetMarkerColorbarExponentformatSi ScattercarpetMarkerColorbarExponentformat = "SI" + ScattercarpetMarkerColorbarExponentformatSI ScattercarpetMarkerColorbarExponentformat = "SI" ScattercarpetMarkerColorbarExponentformatB ScattercarpetMarkerColorbarExponentformat = "B" ) @@ -1160,6 +1286,14 @@ const ( ScattercarpetMarkerColorbarLenmodePixels ScattercarpetMarkerColorbarLenmode = "pixels" ) +// ScattercarpetMarkerColorbarOrientation Sets the orientation of the colorbar. +type ScattercarpetMarkerColorbarOrientation string + +const ( + ScattercarpetMarkerColorbarOrientationH ScattercarpetMarkerColorbarOrientation = "h" + ScattercarpetMarkerColorbarOrientationV ScattercarpetMarkerColorbarOrientation = "v" +) + // ScattercarpetMarkerColorbarShowexponent 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. type ScattercarpetMarkerColorbarShowexponent string @@ -1198,7 +1332,16 @@ const ( ScattercarpetMarkerColorbarThicknessmodePixels ScattercarpetMarkerColorbarThicknessmode = "pixels" ) -// ScattercarpetMarkerColorbarTicklabelposition Determines where tick labels are drawn. +// ScattercarpetMarkerColorbarTicklabeloverflow 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*. +type ScattercarpetMarkerColorbarTicklabeloverflow string + +const ( + ScattercarpetMarkerColorbarTicklabeloverflowAllow ScattercarpetMarkerColorbarTicklabeloverflow = "allow" + ScattercarpetMarkerColorbarTicklabeloverflowHidePastDiv ScattercarpetMarkerColorbarTicklabeloverflow = "hide past div" + ScattercarpetMarkerColorbarTicklabeloverflowHidePastDomain ScattercarpetMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// ScattercarpetMarkerColorbarTicklabelposition 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*. type ScattercarpetMarkerColorbarTicklabelposition string const ( @@ -1206,6 +1349,10 @@ const ( ScattercarpetMarkerColorbarTicklabelpositionInside ScattercarpetMarkerColorbarTicklabelposition = "inside" ScattercarpetMarkerColorbarTicklabelpositionOutsideTop ScattercarpetMarkerColorbarTicklabelposition = "outside top" ScattercarpetMarkerColorbarTicklabelpositionInsideTop ScattercarpetMarkerColorbarTicklabelposition = "inside top" + ScattercarpetMarkerColorbarTicklabelpositionOutsideLeft ScattercarpetMarkerColorbarTicklabelposition = "outside left" + ScattercarpetMarkerColorbarTicklabelpositionInsideLeft ScattercarpetMarkerColorbarTicklabelposition = "inside left" + ScattercarpetMarkerColorbarTicklabelpositionOutsideRight ScattercarpetMarkerColorbarTicklabelposition = "outside right" + ScattercarpetMarkerColorbarTicklabelpositionInsideRight ScattercarpetMarkerColorbarTicklabelposition = "inside right" ScattercarpetMarkerColorbarTicklabelpositionOutsideBottom ScattercarpetMarkerColorbarTicklabelposition = "outside bottom" ScattercarpetMarkerColorbarTicklabelpositionInsideBottom ScattercarpetMarkerColorbarTicklabelposition = "inside bottom" ) @@ -1228,7 +1375,7 @@ const ( ScattercarpetMarkerColorbarTicksEmpty ScattercarpetMarkerColorbarTicks = "" ) -// ScattercarpetMarkerColorbarTitleSide Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. +// ScattercarpetMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. type ScattercarpetMarkerColorbarTitleSide string const ( @@ -1237,7 +1384,7 @@ const ( ScattercarpetMarkerColorbarTitleSideBottom ScattercarpetMarkerColorbarTitleSide = "bottom" ) -// ScattercarpetMarkerColorbarXanchor Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. +// ScattercarpetMarkerColorbarXanchor 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*. type ScattercarpetMarkerColorbarXanchor string const ( @@ -1246,7 +1393,7 @@ const ( ScattercarpetMarkerColorbarXanchorRight ScattercarpetMarkerColorbarXanchor = "right" ) -// ScattercarpetMarkerColorbarYanchor Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. +// ScattercarpetMarkerColorbarYanchor 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*. type ScattercarpetMarkerColorbarYanchor string const ( @@ -1751,6 +1898,18 @@ var ( ScattercarpetMarkerSymbolNumber152 ScattercarpetMarkerSymbol = 152 ScattercarpetMarkerSymbol152 ScattercarpetMarkerSymbol = "152" ScattercarpetMarkerSymbolArrowBarRightOpen ScattercarpetMarkerSymbol = "arrow-bar-right-open" + ScattercarpetMarkerSymbolNumber53 ScattercarpetMarkerSymbol = 53 + ScattercarpetMarkerSymbol53 ScattercarpetMarkerSymbol = "53" + ScattercarpetMarkerSymbolArrow ScattercarpetMarkerSymbol = "arrow" + ScattercarpetMarkerSymbolNumber153 ScattercarpetMarkerSymbol = 153 + ScattercarpetMarkerSymbol153 ScattercarpetMarkerSymbol = "153" + ScattercarpetMarkerSymbolArrowOpen ScattercarpetMarkerSymbol = "arrow-open" + ScattercarpetMarkerSymbolNumber54 ScattercarpetMarkerSymbol = 54 + ScattercarpetMarkerSymbol54 ScattercarpetMarkerSymbol = "54" + ScattercarpetMarkerSymbolArrowWide ScattercarpetMarkerSymbol = "arrow-wide" + ScattercarpetMarkerSymbolNumber154 ScattercarpetMarkerSymbol = 154 + ScattercarpetMarkerSymbol154 ScattercarpetMarkerSymbol = "154" + ScattercarpetMarkerSymbolArrowWideOpen ScattercarpetMarkerSymbol = "arrow-wide-open" ) // ScattercarpetTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. diff --git a/graph_objects/scattergeo_gen.go b/generated/v2.19.0/graph_objects/scattergeo_gen.go similarity index 83% rename from graph_objects/scattergeo_gen.go rename to generated/v2.19.0/graph_objects/scattergeo_gen.go index 698f1d6..9a345e7 100644 --- a/graph_objects/scattergeo_gen.go +++ b/generated/v2.19.0/graph_objects/scattergeo_gen.go @@ -30,7 +30,7 @@ type Scattergeo struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Featureidkey @@ -72,7 +72,7 @@ type Scattergeo struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -82,13 +82,13 @@ type Scattergeo struct { // Hovertemplate // arrayOK: true // 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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + // 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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. Hovertemplate String `json:"hovertemplate,omitempty"` // Hovertemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertemplate . + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` // Hovertext @@ -100,7 +100,7 @@ type Scattergeo struct { // Hovertextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertext . + // Sets the source reference on Chart Studio Cloud for `hovertext`. Hovertextsrc String `json:"hovertextsrc,omitempty"` // Ids @@ -112,7 +112,7 @@ type Scattergeo struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` // Lat @@ -124,7 +124,7 @@ type Scattergeo struct { // Latsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for lat . + // Sets the source reference on Chart Studio Cloud for `lat`. Latsrc String `json:"latsrc,omitempty"` // Legendgroup @@ -133,6 +133,22 @@ type Scattergeo struct { // Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items. Legendgroup String `json:"legendgroup,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *ScattergeoLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Line // role: Object Line *ScattergeoLine `json:"line,omitempty"` @@ -152,7 +168,7 @@ type Scattergeo struct { // Locationssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for locations . + // Sets the source reference on Chart Studio Cloud for `locations`. Locationssrc String `json:"locationssrc,omitempty"` // Lon @@ -164,7 +180,7 @@ type Scattergeo struct { // Lonsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for lon . + // Sets the source reference on Chart Studio Cloud for `lon`. Lonsrc String `json:"lonsrc,omitempty"` // Marker @@ -180,7 +196,7 @@ type Scattergeo struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Mode @@ -240,25 +256,25 @@ type Scattergeo struct { // Textpositionsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for textposition . + // Sets the source reference on Chart Studio Cloud for `textposition`. Textpositionsrc String `json:"textpositionsrc,omitempty"` // Textsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for text . + // Sets the source reference on Chart Studio Cloud for `text`. Textsrc String `json:"textsrc,omitempty"` // Texttemplate // arrayOK: true // 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-3.x-api-reference/blob/master/Formatting.md#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#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. variables `lat`, `lon`, `location` and `text`. + // 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. variables `lat`, `lon`, `location` and `text`. Texttemplate String `json:"texttemplate,omitempty"` // Texttemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for texttemplate . + // Sets the source reference on Chart Studio Cloud for `texttemplate`. Texttemplatesrc String `json:"texttemplatesrc,omitempty"` // Transforms @@ -302,7 +318,7 @@ type ScattergeoHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -314,7 +330,7 @@ type ScattergeoHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -326,7 +342,7 @@ type ScattergeoHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -342,7 +358,7 @@ type ScattergeoHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -354,7 +370,7 @@ type ScattergeoHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -366,7 +382,7 @@ type ScattergeoHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -382,10 +398,46 @@ type ScattergeoHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } +// ScattergeoLegendgrouptitleFont Sets this legend group's title font. +type ScattergeoLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScattergeoLegendgrouptitle +type ScattergeoLegendgrouptitle struct { + + // Font + // role: Object + Font *ScattergeoLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // ScattergeoLine type ScattergeoLine struct { @@ -460,9 +512,9 @@ type ScattergeoMarkerColorbarTitle struct { Font *ScattergeoMarkerColorbarTitleFont `json:"font,omitempty"` // Side - // default: top + // default: %!s() // type: enumerated - // Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. Side ScattergeoMarkerColorbarTitleSide `json:"side,omitempty"` // Text @@ -505,6 +557,12 @@ type ScattergeoMarkerColorbar struct { // 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. Exponentformat ScattergeoMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Len // arrayOK: false // type: number @@ -529,6 +587,12 @@ type ScattergeoMarkerColorbar struct { // 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*. Nticks int64 `json:"nticks,omitempty"` + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ScattergeoMarkerColorbarOrientation `json:"orientation,omitempty"` + // Outlinecolor // arrayOK: false // type: color @@ -608,7 +672,7 @@ type ScattergeoMarkerColorbar struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -617,12 +681,24 @@ type ScattergeoMarkerColorbar struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ScattergeoMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + // Ticklabelposition // default: outside // type: enumerated - // Determines where tick labels are drawn. + // 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*. Ticklabelposition ScattergeoMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -662,7 +738,7 @@ type ScattergeoMarkerColorbar struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -674,7 +750,7 @@ type ScattergeoMarkerColorbar struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -690,13 +766,13 @@ type ScattergeoMarkerColorbar struct { // X // arrayOK: false // type: number - // Sets the x position of the color bar (in plot fraction). + // Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. X float64 `json:"x,omitempty"` // Xanchor - // default: left + // default: %!s() // type: enumerated - // Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. + // 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*. Xanchor ScattergeoMarkerColorbarXanchor `json:"xanchor,omitempty"` // Xpad @@ -708,13 +784,13 @@ type ScattergeoMarkerColorbar struct { // Y // arrayOK: false // type: number - // Sets the y position of the color bar (in plot fraction). + // Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. Y float64 `json:"y,omitempty"` // Yanchor - // default: middle + // default: %!s() // type: enumerated - // Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. + // 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*. Yanchor ScattergeoMarkerColorbarYanchor `json:"yanchor,omitempty"` // Ypad @@ -736,7 +812,7 @@ type ScattergeoMarkerGradient struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Type @@ -748,7 +824,7 @@ type ScattergeoMarkerGradient struct { // Typesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for type . + // Sets the source reference on Chart Studio Cloud for `type`. Typesrc String `json:"typesrc,omitempty"` } @@ -758,37 +834,37 @@ type ScattergeoMarkerLine struct { // Autocolorscale // arrayOK: false // type: boolean - // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Cauto // arrayOK: false // type: boolean - // 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. + // 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. Cauto Bool `json:"cauto,omitempty"` // Cmax // arrayOK: false // 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. + // 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. Cmax float64 `json:"cmax,omitempty"` // Cmid // arrayOK: false // 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`. + // 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`. Cmid float64 `json:"cmid,omitempty"` // Cmin // arrayOK: false // 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. + // 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. Cmin float64 `json:"cmin,omitempty"` // Color // arrayOK: true // type: color - // Sets themarker.linecolor. 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. + // 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. Color Color `json:"color,omitempty"` // Coloraxis @@ -800,19 +876,19 @@ type ScattergeoMarkerLine struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Reversescale // arrayOK: false // 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. + // 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. Reversescale Bool `json:"reversescale,omitempty"` // Width @@ -824,47 +900,65 @@ type ScattergeoMarkerLine struct { // Widthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for width . + // Sets the source reference on Chart Studio Cloud for `width`. Widthsrc String `json:"widthsrc,omitempty"` } // ScattergeoMarker type ScattergeoMarker struct { + // Angle + // arrayOK: true + // type: angle + // Sets the marker angle in respect to `angleref`. + Angle float64 `json:"angle,omitempty"` + + // Angleref + // default: up + // type: enumerated + // 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. + Angleref ScattergeoMarkerAngleref `json:"angleref,omitempty"` + + // Anglesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `angle`. + Anglesrc String `json:"anglesrc,omitempty"` + // Autocolorscale // arrayOK: false // type: boolean - // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Cauto // arrayOK: false // type: boolean - // 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. + // 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. Cauto Bool `json:"cauto,omitempty"` // Cmax // arrayOK: false // 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. + // 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. Cmax float64 `json:"cmax,omitempty"` // Cmid // arrayOK: false // 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`. + // 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`. Cmid float64 `json:"cmid,omitempty"` // Cmin // arrayOK: false // 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. + // 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. Cmin float64 `json:"cmin,omitempty"` // Color // arrayOK: true // type: color - // Sets themarkercolor. 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. + // 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. Color Color `json:"color,omitempty"` // Coloraxis @@ -880,13 +974,13 @@ type ScattergeoMarker struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Gradient @@ -906,19 +1000,19 @@ type ScattergeoMarker struct { // Opacitysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for opacity . + // Sets the source reference on Chart Studio Cloud for `opacity`. Opacitysrc String `json:"opacitysrc,omitempty"` // Reversescale // arrayOK: false // 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. + // 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. Reversescale Bool `json:"reversescale,omitempty"` // Showscale // arrayOK: false // 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. + // 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. Showscale Bool `json:"showscale,omitempty"` // Size @@ -948,9 +1042,21 @@ type ScattergeoMarker struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` + // Standoff + // arrayOK: true + // type: number + // 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. + Standoff float64 `json:"standoff,omitempty"` + + // Standoffsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `standoff`. + Standoffsrc String `json:"standoffsrc,omitempty"` + // Symbol // default: circle // type: enumerated @@ -960,7 +1066,7 @@ type ScattergeoMarker struct { // Symbolsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for symbol . + // Sets the source reference on Chart Studio Cloud for `symbol`. Symbolsrc String `json:"symbolsrc,omitempty"` } @@ -1036,7 +1142,7 @@ type ScattergeoTextfont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -1048,7 +1154,7 @@ type ScattergeoTextfont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -1060,7 +1166,7 @@ type ScattergeoTextfont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -1129,12 +1235,21 @@ const ( type ScattergeoLocationmode string const ( - ScattergeoLocationmodeIso3 ScattergeoLocationmode = "ISO-3" - ScattergeoLocationmodeUsaStates ScattergeoLocationmode = "USA-states" + ScattergeoLocationmodeISO3 ScattergeoLocationmode = "ISO-3" + ScattergeoLocationmodeUSAStates ScattergeoLocationmode = "USA-states" ScattergeoLocationmodeCountryNames ScattergeoLocationmode = "country names" ScattergeoLocationmodeGeojsonId ScattergeoLocationmode = "geojson-id" ) +// ScattergeoMarkerAngleref 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. +type ScattergeoMarkerAngleref string + +const ( + ScattergeoMarkerAnglerefPrevious ScattergeoMarkerAngleref = "previous" + ScattergeoMarkerAnglerefUp ScattergeoMarkerAngleref = "up" + ScattergeoMarkerAnglerefNorth ScattergeoMarkerAngleref = "north" +) + // ScattergeoMarkerColorbarExponentformat 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. type ScattergeoMarkerColorbarExponentformat string @@ -1143,7 +1258,7 @@ const ( ScattergeoMarkerColorbarExponentformatE1 ScattergeoMarkerColorbarExponentformat = "e" ScattergeoMarkerColorbarExponentformatE2 ScattergeoMarkerColorbarExponentformat = "E" ScattergeoMarkerColorbarExponentformatPower ScattergeoMarkerColorbarExponentformat = "power" - ScattergeoMarkerColorbarExponentformatSi ScattergeoMarkerColorbarExponentformat = "SI" + ScattergeoMarkerColorbarExponentformatSI ScattergeoMarkerColorbarExponentformat = "SI" ScattergeoMarkerColorbarExponentformatB ScattergeoMarkerColorbarExponentformat = "B" ) @@ -1155,6 +1270,14 @@ const ( ScattergeoMarkerColorbarLenmodePixels ScattergeoMarkerColorbarLenmode = "pixels" ) +// ScattergeoMarkerColorbarOrientation Sets the orientation of the colorbar. +type ScattergeoMarkerColorbarOrientation string + +const ( + ScattergeoMarkerColorbarOrientationH ScattergeoMarkerColorbarOrientation = "h" + ScattergeoMarkerColorbarOrientationV ScattergeoMarkerColorbarOrientation = "v" +) + // ScattergeoMarkerColorbarShowexponent 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. type ScattergeoMarkerColorbarShowexponent string @@ -1193,7 +1316,16 @@ const ( ScattergeoMarkerColorbarThicknessmodePixels ScattergeoMarkerColorbarThicknessmode = "pixels" ) -// ScattergeoMarkerColorbarTicklabelposition Determines where tick labels are drawn. +// ScattergeoMarkerColorbarTicklabeloverflow 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*. +type ScattergeoMarkerColorbarTicklabeloverflow string + +const ( + ScattergeoMarkerColorbarTicklabeloverflowAllow ScattergeoMarkerColorbarTicklabeloverflow = "allow" + ScattergeoMarkerColorbarTicklabeloverflowHidePastDiv ScattergeoMarkerColorbarTicklabeloverflow = "hide past div" + ScattergeoMarkerColorbarTicklabeloverflowHidePastDomain ScattergeoMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// ScattergeoMarkerColorbarTicklabelposition 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*. type ScattergeoMarkerColorbarTicklabelposition string const ( @@ -1201,6 +1333,10 @@ const ( ScattergeoMarkerColorbarTicklabelpositionInside ScattergeoMarkerColorbarTicklabelposition = "inside" ScattergeoMarkerColorbarTicklabelpositionOutsideTop ScattergeoMarkerColorbarTicklabelposition = "outside top" ScattergeoMarkerColorbarTicklabelpositionInsideTop ScattergeoMarkerColorbarTicklabelposition = "inside top" + ScattergeoMarkerColorbarTicklabelpositionOutsideLeft ScattergeoMarkerColorbarTicklabelposition = "outside left" + ScattergeoMarkerColorbarTicklabelpositionInsideLeft ScattergeoMarkerColorbarTicklabelposition = "inside left" + ScattergeoMarkerColorbarTicklabelpositionOutsideRight ScattergeoMarkerColorbarTicklabelposition = "outside right" + ScattergeoMarkerColorbarTicklabelpositionInsideRight ScattergeoMarkerColorbarTicklabelposition = "inside right" ScattergeoMarkerColorbarTicklabelpositionOutsideBottom ScattergeoMarkerColorbarTicklabelposition = "outside bottom" ScattergeoMarkerColorbarTicklabelpositionInsideBottom ScattergeoMarkerColorbarTicklabelposition = "inside bottom" ) @@ -1223,7 +1359,7 @@ const ( ScattergeoMarkerColorbarTicksEmpty ScattergeoMarkerColorbarTicks = "" ) -// ScattergeoMarkerColorbarTitleSide Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. +// ScattergeoMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. type ScattergeoMarkerColorbarTitleSide string const ( @@ -1232,7 +1368,7 @@ const ( ScattergeoMarkerColorbarTitleSideBottom ScattergeoMarkerColorbarTitleSide = "bottom" ) -// ScattergeoMarkerColorbarXanchor Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. +// ScattergeoMarkerColorbarXanchor 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*. type ScattergeoMarkerColorbarXanchor string const ( @@ -1241,7 +1377,7 @@ const ( ScattergeoMarkerColorbarXanchorRight ScattergeoMarkerColorbarXanchor = "right" ) -// ScattergeoMarkerColorbarYanchor Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. +// ScattergeoMarkerColorbarYanchor 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*. type ScattergeoMarkerColorbarYanchor string const ( @@ -1746,6 +1882,18 @@ var ( ScattergeoMarkerSymbolNumber152 ScattergeoMarkerSymbol = 152 ScattergeoMarkerSymbol152 ScattergeoMarkerSymbol = "152" ScattergeoMarkerSymbolArrowBarRightOpen ScattergeoMarkerSymbol = "arrow-bar-right-open" + ScattergeoMarkerSymbolNumber53 ScattergeoMarkerSymbol = 53 + ScattergeoMarkerSymbol53 ScattergeoMarkerSymbol = "53" + ScattergeoMarkerSymbolArrow ScattergeoMarkerSymbol = "arrow" + ScattergeoMarkerSymbolNumber153 ScattergeoMarkerSymbol = 153 + ScattergeoMarkerSymbol153 ScattergeoMarkerSymbol = "153" + ScattergeoMarkerSymbolArrowOpen ScattergeoMarkerSymbol = "arrow-open" + ScattergeoMarkerSymbolNumber54 ScattergeoMarkerSymbol = 54 + ScattergeoMarkerSymbol54 ScattergeoMarkerSymbol = "54" + ScattergeoMarkerSymbolArrowWide ScattergeoMarkerSymbol = "arrow-wide" + ScattergeoMarkerSymbolNumber154 ScattergeoMarkerSymbol = 154 + ScattergeoMarkerSymbol154 ScattergeoMarkerSymbol = "154" + ScattergeoMarkerSymbolArrowWideOpen ScattergeoMarkerSymbol = "arrow-wide-open" ) // ScattergeoTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. diff --git a/graph_objects/scattergl_gen.go b/generated/v2.19.0/graph_objects/scattergl_gen.go similarity index 85% rename from graph_objects/scattergl_gen.go rename to generated/v2.19.0/graph_objects/scattergl_gen.go index 8937b6f..dece133 100644 --- a/graph_objects/scattergl_gen.go +++ b/generated/v2.19.0/graph_objects/scattergl_gen.go @@ -30,7 +30,7 @@ type Scattergl struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Dx @@ -74,7 +74,7 @@ type Scattergl struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -84,13 +84,13 @@ type Scattergl struct { // Hovertemplate // arrayOK: true // 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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + // 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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. Hovertemplate String `json:"hovertemplate,omitempty"` // Hovertemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertemplate . + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` // Hovertext @@ -102,7 +102,7 @@ type Scattergl struct { // Hovertextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertext . + // Sets the source reference on Chart Studio Cloud for `hovertext`. Hovertextsrc String `json:"hovertextsrc,omitempty"` // Ids @@ -114,7 +114,7 @@ type Scattergl struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` // Legendgroup @@ -123,6 +123,22 @@ type Scattergl struct { // Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items. Legendgroup String `json:"legendgroup,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *ScatterglLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Line // role: Object Line *ScatterglLine `json:"line,omitempty"` @@ -140,7 +156,7 @@ type Scattergl struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Mode @@ -200,25 +216,25 @@ type Scattergl struct { // Textpositionsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for textposition . + // Sets the source reference on Chart Studio Cloud for `textposition`. Textpositionsrc String `json:"textpositionsrc,omitempty"` // Textsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for text . + // Sets the source reference on Chart Studio Cloud for `text`. Textsrc String `json:"textsrc,omitempty"` // Texttemplate // arrayOK: true // 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-3.x-api-reference/blob/master/Formatting.md#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#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. + // 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. Texttemplate String `json:"texttemplate,omitempty"` // Texttemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for texttemplate . + // Sets the source reference on Chart Studio Cloud for `texttemplate`. Texttemplatesrc String `json:"texttemplatesrc,omitempty"` // Transforms @@ -273,6 +289,12 @@ type Scattergl struct { // Sets the calendar system to use with `x` date data. Xcalendar ScatterglXcalendar `json:"xcalendar,omitempty"` + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + // Xperiod // arrayOK: false // type: any @@ -294,7 +316,7 @@ type Scattergl struct { // Xsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for x . + // Sets the source reference on Chart Studio Cloud for `x`. Xsrc String `json:"xsrc,omitempty"` // Y @@ -321,6 +343,12 @@ type Scattergl struct { // Sets the calendar system to use with `y` date data. Ycalendar ScatterglYcalendar `json:"ycalendar,omitempty"` + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + // Yperiod // arrayOK: false // type: any @@ -342,7 +370,7 @@ type Scattergl struct { // Ysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for y . + // Sets the source reference on Chart Studio Cloud for `y`. Ysrc String `json:"ysrc,omitempty"` } @@ -364,13 +392,13 @@ type ScatterglErrorX struct { // Arrayminussrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for arrayminus . + // Sets the source reference on Chart Studio Cloud for `arrayminus`. Arrayminussrc String `json:"arrayminussrc,omitempty"` // Arraysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for array . + // Sets the source reference on Chart Studio Cloud for `array`. Arraysrc String `json:"arraysrc,omitempty"` // Color @@ -458,13 +486,13 @@ type ScatterglErrorY struct { // Arrayminussrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for arrayminus . + // Sets the source reference on Chart Studio Cloud for `arrayminus`. Arrayminussrc String `json:"arrayminussrc,omitempty"` // Arraysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for array . + // Sets the source reference on Chart Studio Cloud for `array`. Arraysrc String `json:"arraysrc,omitempty"` // Color @@ -540,7 +568,7 @@ type ScatterglHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -552,7 +580,7 @@ type ScatterglHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -564,7 +592,7 @@ type ScatterglHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -580,7 +608,7 @@ type ScatterglHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -592,7 +620,7 @@ type ScatterglHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -604,7 +632,7 @@ type ScatterglHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -620,10 +648,46 @@ type ScatterglHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } +// ScatterglLegendgrouptitleFont Sets this legend group's title font. +type ScatterglLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScatterglLegendgrouptitle +type ScatterglLegendgrouptitle struct { + + // Font + // role: Object + Font *ScatterglLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // ScatterglLine type ScatterglLine struct { @@ -704,9 +768,9 @@ type ScatterglMarkerColorbarTitle struct { Font *ScatterglMarkerColorbarTitleFont `json:"font,omitempty"` // Side - // default: top + // default: %!s() // type: enumerated - // Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. Side ScatterglMarkerColorbarTitleSide `json:"side,omitempty"` // Text @@ -749,6 +813,12 @@ type ScatterglMarkerColorbar struct { // 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. Exponentformat ScatterglMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Len // arrayOK: false // type: number @@ -773,6 +843,12 @@ type ScatterglMarkerColorbar struct { // 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*. Nticks int64 `json:"nticks,omitempty"` + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ScatterglMarkerColorbarOrientation `json:"orientation,omitempty"` + // Outlinecolor // arrayOK: false // type: color @@ -852,7 +928,7 @@ type ScatterglMarkerColorbar struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -861,12 +937,24 @@ type ScatterglMarkerColorbar struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ScatterglMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + // Ticklabelposition // default: outside // type: enumerated - // Determines where tick labels are drawn. + // 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*. Ticklabelposition ScatterglMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -906,7 +994,7 @@ type ScatterglMarkerColorbar struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -918,7 +1006,7 @@ type ScatterglMarkerColorbar struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -934,13 +1022,13 @@ type ScatterglMarkerColorbar struct { // X // arrayOK: false // type: number - // Sets the x position of the color bar (in plot fraction). + // Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. X float64 `json:"x,omitempty"` // Xanchor - // default: left + // default: %!s() // type: enumerated - // Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. + // 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*. Xanchor ScatterglMarkerColorbarXanchor `json:"xanchor,omitempty"` // Xpad @@ -952,13 +1040,13 @@ type ScatterglMarkerColorbar struct { // Y // arrayOK: false // type: number - // Sets the y position of the color bar (in plot fraction). + // Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. Y float64 `json:"y,omitempty"` // Yanchor - // default: middle + // default: %!s() // type: enumerated - // Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. + // 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*. Yanchor ScatterglMarkerColorbarYanchor `json:"yanchor,omitempty"` // Ypad @@ -974,37 +1062,37 @@ type ScatterglMarkerLine struct { // Autocolorscale // arrayOK: false // type: boolean - // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Cauto // arrayOK: false // type: boolean - // 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. + // 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. Cauto Bool `json:"cauto,omitempty"` // Cmax // arrayOK: false // 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. + // 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. Cmax float64 `json:"cmax,omitempty"` // Cmid // arrayOK: false // 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`. + // 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`. Cmid float64 `json:"cmid,omitempty"` // Cmin // arrayOK: false // 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. + // 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. Cmin float64 `json:"cmin,omitempty"` // Color // arrayOK: true // type: color - // Sets themarker.linecolor. 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. + // 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. Color Color `json:"color,omitempty"` // Coloraxis @@ -1016,19 +1104,19 @@ type ScatterglMarkerLine struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Reversescale // arrayOK: false // 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. + // 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. Reversescale Bool `json:"reversescale,omitempty"` // Width @@ -1040,47 +1128,59 @@ type ScatterglMarkerLine struct { // Widthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for width . + // Sets the source reference on Chart Studio Cloud for `width`. Widthsrc String `json:"widthsrc,omitempty"` } // ScatterglMarker type ScatterglMarker struct { + // Angle + // arrayOK: true + // type: angle + // Sets the marker angle in respect to `angleref`. + Angle float64 `json:"angle,omitempty"` + + // Anglesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `angle`. + Anglesrc String `json:"anglesrc,omitempty"` + // Autocolorscale // arrayOK: false // type: boolean - // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Cauto // arrayOK: false // type: boolean - // 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. + // 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. Cauto Bool `json:"cauto,omitempty"` // Cmax // arrayOK: false // 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. + // 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. Cmax float64 `json:"cmax,omitempty"` // Cmid // arrayOK: false // 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`. + // 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`. Cmid float64 `json:"cmid,omitempty"` // Cmin // arrayOK: false // 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. + // 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. Cmin float64 `json:"cmin,omitempty"` // Color // arrayOK: true // type: color - // Sets themarkercolor. 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. + // 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. Color Color `json:"color,omitempty"` // Coloraxis @@ -1096,13 +1196,13 @@ type ScatterglMarker struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Line @@ -1118,19 +1218,19 @@ type ScatterglMarker struct { // Opacitysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for opacity . + // Sets the source reference on Chart Studio Cloud for `opacity`. Opacitysrc String `json:"opacitysrc,omitempty"` // Reversescale // arrayOK: false // 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. + // 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. Reversescale Bool `json:"reversescale,omitempty"` // Showscale // arrayOK: false // 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. + // 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. Showscale Bool `json:"showscale,omitempty"` // Size @@ -1160,7 +1260,7 @@ type ScatterglMarker struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` // Symbol @@ -1172,7 +1272,7 @@ type ScatterglMarker struct { // Symbolsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for symbol . + // Sets the source reference on Chart Studio Cloud for `symbol`. Symbolsrc String `json:"symbolsrc,omitempty"` } @@ -1248,7 +1348,7 @@ type ScatterglTextfont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -1260,7 +1360,7 @@ type ScatterglTextfont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -1272,7 +1372,7 @@ type ScatterglTextfont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -1366,12 +1466,12 @@ const ( type ScatterglLineDash string const ( - ScatterglLineDashSolid ScatterglLineDash = "solid" - ScatterglLineDashDot ScatterglLineDash = "dot" ScatterglLineDashDash ScatterglLineDash = "dash" - ScatterglLineDashLongdash ScatterglLineDash = "longdash" ScatterglLineDashDashdot ScatterglLineDash = "dashdot" + ScatterglLineDashDot ScatterglLineDash = "dot" + ScatterglLineDashLongdash ScatterglLineDash = "longdash" ScatterglLineDashLongdashdot ScatterglLineDash = "longdashdot" + ScatterglLineDashSolid ScatterglLineDash = "solid" ) // ScatterglLineShape Determines the line shape. The values correspond to step-wise line shapes. @@ -1393,7 +1493,7 @@ const ( ScatterglMarkerColorbarExponentformatE1 ScatterglMarkerColorbarExponentformat = "e" ScatterglMarkerColorbarExponentformatE2 ScatterglMarkerColorbarExponentformat = "E" ScatterglMarkerColorbarExponentformatPower ScatterglMarkerColorbarExponentformat = "power" - ScatterglMarkerColorbarExponentformatSi ScatterglMarkerColorbarExponentformat = "SI" + ScatterglMarkerColorbarExponentformatSI ScatterglMarkerColorbarExponentformat = "SI" ScatterglMarkerColorbarExponentformatB ScatterglMarkerColorbarExponentformat = "B" ) @@ -1405,6 +1505,14 @@ const ( ScatterglMarkerColorbarLenmodePixels ScatterglMarkerColorbarLenmode = "pixels" ) +// ScatterglMarkerColorbarOrientation Sets the orientation of the colorbar. +type ScatterglMarkerColorbarOrientation string + +const ( + ScatterglMarkerColorbarOrientationH ScatterglMarkerColorbarOrientation = "h" + ScatterglMarkerColorbarOrientationV ScatterglMarkerColorbarOrientation = "v" +) + // ScatterglMarkerColorbarShowexponent 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. type ScatterglMarkerColorbarShowexponent string @@ -1443,7 +1551,16 @@ const ( ScatterglMarkerColorbarThicknessmodePixels ScatterglMarkerColorbarThicknessmode = "pixels" ) -// ScatterglMarkerColorbarTicklabelposition Determines where tick labels are drawn. +// ScatterglMarkerColorbarTicklabeloverflow 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*. +type ScatterglMarkerColorbarTicklabeloverflow string + +const ( + ScatterglMarkerColorbarTicklabeloverflowAllow ScatterglMarkerColorbarTicklabeloverflow = "allow" + ScatterglMarkerColorbarTicklabeloverflowHidePastDiv ScatterglMarkerColorbarTicklabeloverflow = "hide past div" + ScatterglMarkerColorbarTicklabeloverflowHidePastDomain ScatterglMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// ScatterglMarkerColorbarTicklabelposition 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*. type ScatterglMarkerColorbarTicklabelposition string const ( @@ -1451,6 +1568,10 @@ const ( ScatterglMarkerColorbarTicklabelpositionInside ScatterglMarkerColorbarTicklabelposition = "inside" ScatterglMarkerColorbarTicklabelpositionOutsideTop ScatterglMarkerColorbarTicklabelposition = "outside top" ScatterglMarkerColorbarTicklabelpositionInsideTop ScatterglMarkerColorbarTicklabelposition = "inside top" + ScatterglMarkerColorbarTicklabelpositionOutsideLeft ScatterglMarkerColorbarTicklabelposition = "outside left" + ScatterglMarkerColorbarTicklabelpositionInsideLeft ScatterglMarkerColorbarTicklabelposition = "inside left" + ScatterglMarkerColorbarTicklabelpositionOutsideRight ScatterglMarkerColorbarTicklabelposition = "outside right" + ScatterglMarkerColorbarTicklabelpositionInsideRight ScatterglMarkerColorbarTicklabelposition = "inside right" ScatterglMarkerColorbarTicklabelpositionOutsideBottom ScatterglMarkerColorbarTicklabelposition = "outside bottom" ScatterglMarkerColorbarTicklabelpositionInsideBottom ScatterglMarkerColorbarTicklabelposition = "inside bottom" ) @@ -1473,7 +1594,7 @@ const ( ScatterglMarkerColorbarTicksEmpty ScatterglMarkerColorbarTicks = "" ) -// ScatterglMarkerColorbarTitleSide Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. +// ScatterglMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. type ScatterglMarkerColorbarTitleSide string const ( @@ -1482,7 +1603,7 @@ const ( ScatterglMarkerColorbarTitleSideBottom ScatterglMarkerColorbarTitleSide = "bottom" ) -// ScatterglMarkerColorbarXanchor Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. +// ScatterglMarkerColorbarXanchor 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*. type ScatterglMarkerColorbarXanchor string const ( @@ -1491,7 +1612,7 @@ const ( ScatterglMarkerColorbarXanchorRight ScatterglMarkerColorbarXanchor = "right" ) -// ScatterglMarkerColorbarYanchor Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. +// ScatterglMarkerColorbarYanchor 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*. type ScatterglMarkerColorbarYanchor string const ( @@ -1986,6 +2107,18 @@ var ( ScatterglMarkerSymbolNumber152 ScatterglMarkerSymbol = 152 ScatterglMarkerSymbol152 ScatterglMarkerSymbol = "152" ScatterglMarkerSymbolArrowBarRightOpen ScatterglMarkerSymbol = "arrow-bar-right-open" + ScatterglMarkerSymbolNumber53 ScatterglMarkerSymbol = 53 + ScatterglMarkerSymbol53 ScatterglMarkerSymbol = "53" + ScatterglMarkerSymbolArrow ScatterglMarkerSymbol = "arrow" + ScatterglMarkerSymbolNumber153 ScatterglMarkerSymbol = 153 + ScatterglMarkerSymbol153 ScatterglMarkerSymbol = "153" + ScatterglMarkerSymbolArrowOpen ScatterglMarkerSymbol = "arrow-open" + ScatterglMarkerSymbolNumber54 ScatterglMarkerSymbol = 54 + ScatterglMarkerSymbol54 ScatterglMarkerSymbol = "54" + ScatterglMarkerSymbolArrowWide ScatterglMarkerSymbol = "arrow-wide" + ScatterglMarkerSymbolNumber154 ScatterglMarkerSymbol = 154 + ScatterglMarkerSymbol154 ScatterglMarkerSymbol = "154" + ScatterglMarkerSymbolArrowWideOpen ScatterglMarkerSymbol = "arrow-wide-open" ) // ScatterglTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. @@ -2016,19 +2149,19 @@ var ( type ScatterglXcalendar string const ( - ScatterglXcalendarGregorian ScatterglXcalendar = "gregorian" ScatterglXcalendarChinese ScatterglXcalendar = "chinese" ScatterglXcalendarCoptic ScatterglXcalendar = "coptic" ScatterglXcalendarDiscworld ScatterglXcalendar = "discworld" ScatterglXcalendarEthiopian ScatterglXcalendar = "ethiopian" + ScatterglXcalendarGregorian ScatterglXcalendar = "gregorian" ScatterglXcalendarHebrew ScatterglXcalendar = "hebrew" ScatterglXcalendarIslamic ScatterglXcalendar = "islamic" + ScatterglXcalendarJalali ScatterglXcalendar = "jalali" ScatterglXcalendarJulian ScatterglXcalendar = "julian" ScatterglXcalendarMayan ScatterglXcalendar = "mayan" ScatterglXcalendarNanakshahi ScatterglXcalendar = "nanakshahi" ScatterglXcalendarNepali ScatterglXcalendar = "nepali" ScatterglXcalendarPersian ScatterglXcalendar = "persian" - ScatterglXcalendarJalali ScatterglXcalendar = "jalali" ScatterglXcalendarTaiwan ScatterglXcalendar = "taiwan" ScatterglXcalendarThai ScatterglXcalendar = "thai" ScatterglXcalendarUmmalqura ScatterglXcalendar = "ummalqura" @@ -2047,19 +2180,19 @@ const ( type ScatterglYcalendar string const ( - ScatterglYcalendarGregorian ScatterglYcalendar = "gregorian" ScatterglYcalendarChinese ScatterglYcalendar = "chinese" ScatterglYcalendarCoptic ScatterglYcalendar = "coptic" ScatterglYcalendarDiscworld ScatterglYcalendar = "discworld" ScatterglYcalendarEthiopian ScatterglYcalendar = "ethiopian" + ScatterglYcalendarGregorian ScatterglYcalendar = "gregorian" ScatterglYcalendarHebrew ScatterglYcalendar = "hebrew" ScatterglYcalendarIslamic ScatterglYcalendar = "islamic" + ScatterglYcalendarJalali ScatterglYcalendar = "jalali" ScatterglYcalendarJulian ScatterglYcalendar = "julian" ScatterglYcalendarMayan ScatterglYcalendar = "mayan" ScatterglYcalendarNanakshahi ScatterglYcalendar = "nanakshahi" ScatterglYcalendarNepali ScatterglYcalendar = "nepali" ScatterglYcalendarPersian ScatterglYcalendar = "persian" - ScatterglYcalendarJalali ScatterglYcalendar = "jalali" ScatterglYcalendarTaiwan ScatterglYcalendar = "taiwan" ScatterglYcalendarThai ScatterglYcalendar = "thai" ScatterglYcalendarUmmalqura ScatterglYcalendar = "ummalqura" diff --git a/graph_objects/scattermapbox_gen.go b/generated/v2.19.0/graph_objects/scattermapbox_gen.go similarity index 76% rename from graph_objects/scattermapbox_gen.go rename to generated/v2.19.0/graph_objects/scattermapbox_gen.go index 7b42a9a..0ff6bbe 100644 --- a/graph_objects/scattermapbox_gen.go +++ b/generated/v2.19.0/graph_objects/scattermapbox_gen.go @@ -21,6 +21,10 @@ type Scattermapbox struct { // 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 *''*. Below String `json:"below,omitempty"` + // Cluster + // role: Object + Cluster *ScattermapboxCluster `json:"cluster,omitempty"` + // Connectgaps // arrayOK: false // type: boolean @@ -36,7 +40,7 @@ type Scattermapbox struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Fill @@ -60,7 +64,7 @@ type Scattermapbox struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -70,13 +74,13 @@ type Scattermapbox struct { // Hovertemplate // arrayOK: true // 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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + // 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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. Hovertemplate String `json:"hovertemplate,omitempty"` // Hovertemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertemplate . + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` // Hovertext @@ -88,7 +92,7 @@ type Scattermapbox struct { // Hovertextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertext . + // Sets the source reference on Chart Studio Cloud for `hovertext`. Hovertextsrc String `json:"hovertextsrc,omitempty"` // Ids @@ -100,7 +104,7 @@ type Scattermapbox struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` // Lat @@ -112,7 +116,7 @@ type Scattermapbox struct { // Latsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for lat . + // Sets the source reference on Chart Studio Cloud for `lat`. Latsrc String `json:"latsrc,omitempty"` // Legendgroup @@ -121,6 +125,22 @@ type Scattermapbox struct { // Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items. Legendgroup String `json:"legendgroup,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *ScattermapboxLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Line // role: Object Line *ScattermapboxLine `json:"line,omitempty"` @@ -134,7 +154,7 @@ type Scattermapbox struct { // Lonsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for lon . + // Sets the source reference on Chart Studio Cloud for `lon`. Lonsrc String `json:"lonsrc,omitempty"` // Marker @@ -150,7 +170,7 @@ type Scattermapbox struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Mode @@ -216,19 +236,19 @@ type Scattermapbox struct { // Textsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for text . + // Sets the source reference on Chart Studio Cloud for `text`. Textsrc String `json:"textsrc,omitempty"` // Texttemplate // arrayOK: true // 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-3.x-api-reference/blob/master/Formatting.md#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#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. variables `lat`, `lon` and `text`. + // 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. variables `lat`, `lon` and `text`. Texttemplate String `json:"texttemplate,omitempty"` // Texttemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for texttemplate . + // Sets the source reference on Chart Studio Cloud for `texttemplate`. Texttemplatesrc String `json:"texttemplatesrc,omitempty"` // Transforms @@ -260,6 +280,70 @@ type Scattermapbox struct { Visible ScattermapboxVisible `json:"visible,omitempty"` } +// ScattermapboxCluster +type ScattermapboxCluster struct { + + // Color + // arrayOK: true + // type: color + // Sets the color for each cluster step. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Enabled + // arrayOK: false + // type: boolean + // Determines whether clustering is enabled or disabled. + Enabled Bool `json:"enabled,omitempty"` + + // Maxzoom + // arrayOK: false + // type: number + // Sets the maximum zoom level. At zoom levels equal to or greater than this, points will never be clustered. + Maxzoom float64 `json:"maxzoom,omitempty"` + + // Opacity + // arrayOK: true + // type: number + // Sets the marker opacity. + Opacity float64 `json:"opacity,omitempty"` + + // Opacitysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `opacity`. + Opacitysrc String `json:"opacitysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the size for each cluster step. + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Step + // arrayOK: true + // type: number + // 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. + Step float64 `json:"step,omitempty"` + + // Stepsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `step`. + Stepsrc String `json:"stepsrc,omitempty"` +} + // ScattermapboxHoverlabelFont Sets the font used in hover labels. type ScattermapboxHoverlabelFont struct { @@ -272,7 +356,7 @@ type ScattermapboxHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -284,7 +368,7 @@ type ScattermapboxHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -296,7 +380,7 @@ type ScattermapboxHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -312,7 +396,7 @@ type ScattermapboxHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -324,7 +408,7 @@ type ScattermapboxHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -336,7 +420,7 @@ type ScattermapboxHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -352,10 +436,46 @@ type ScattermapboxHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } +// ScattermapboxLegendgrouptitleFont Sets this legend group's title font. +type ScattermapboxLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScattermapboxLegendgrouptitle +type ScattermapboxLegendgrouptitle struct { + + // Font + // role: Object + Font *ScattermapboxLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // ScattermapboxLine type ScattermapboxLine struct { @@ -424,9 +544,9 @@ type ScattermapboxMarkerColorbarTitle struct { Font *ScattermapboxMarkerColorbarTitleFont `json:"font,omitempty"` // Side - // default: top + // default: %!s() // type: enumerated - // Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. Side ScattermapboxMarkerColorbarTitleSide `json:"side,omitempty"` // Text @@ -469,6 +589,12 @@ type ScattermapboxMarkerColorbar struct { // 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. Exponentformat ScattermapboxMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Len // arrayOK: false // type: number @@ -493,6 +619,12 @@ type ScattermapboxMarkerColorbar struct { // 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*. Nticks int64 `json:"nticks,omitempty"` + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ScattermapboxMarkerColorbarOrientation `json:"orientation,omitempty"` + // Outlinecolor // arrayOK: false // type: color @@ -572,7 +704,7 @@ type ScattermapboxMarkerColorbar struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -581,12 +713,24 @@ type ScattermapboxMarkerColorbar struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ScattermapboxMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + // Ticklabelposition // default: outside // type: enumerated - // Determines where tick labels are drawn. + // 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*. Ticklabelposition ScattermapboxMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -626,7 +770,7 @@ type ScattermapboxMarkerColorbar struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -638,7 +782,7 @@ type ScattermapboxMarkerColorbar struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -654,13 +798,13 @@ type ScattermapboxMarkerColorbar struct { // X // arrayOK: false // type: number - // Sets the x position of the color bar (in plot fraction). + // Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. X float64 `json:"x,omitempty"` // Xanchor - // default: left + // default: %!s() // type: enumerated - // Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. + // 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*. Xanchor ScattermapboxMarkerColorbarXanchor `json:"xanchor,omitempty"` // Xpad @@ -672,13 +816,13 @@ type ScattermapboxMarkerColorbar struct { // Y // arrayOK: false // type: number - // Sets the y position of the color bar (in plot fraction). + // Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. Y float64 `json:"y,omitempty"` // Yanchor - // default: middle + // default: %!s() // type: enumerated - // Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. + // 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*. Yanchor ScattermapboxMarkerColorbarYanchor `json:"yanchor,omitempty"` // Ypad @@ -706,43 +850,43 @@ type ScattermapboxMarker struct { // Anglesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for angle . + // Sets the source reference on Chart Studio Cloud for `angle`. Anglesrc String `json:"anglesrc,omitempty"` // Autocolorscale // arrayOK: false // type: boolean - // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Cauto // arrayOK: false // type: boolean - // 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. + // 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. Cauto Bool `json:"cauto,omitempty"` // Cmax // arrayOK: false // 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. + // 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. Cmax float64 `json:"cmax,omitempty"` // Cmid // arrayOK: false // 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`. + // 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`. Cmid float64 `json:"cmid,omitempty"` // Cmin // arrayOK: false // 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. + // 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. Cmin float64 `json:"cmin,omitempty"` // Color // arrayOK: true // type: color - // Sets themarkercolor. 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. + // 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. Color Color `json:"color,omitempty"` // Coloraxis @@ -758,13 +902,13 @@ type ScattermapboxMarker struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Opacity @@ -776,19 +920,19 @@ type ScattermapboxMarker struct { // Opacitysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for opacity . + // Sets the source reference on Chart Studio Cloud for `opacity`. Opacitysrc String `json:"opacitysrc,omitempty"` // Reversescale // arrayOK: false // 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. + // 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. Reversescale Bool `json:"reversescale,omitempty"` // Showscale // arrayOK: false // 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. + // 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. Showscale Bool `json:"showscale,omitempty"` // Size @@ -818,7 +962,7 @@ type ScattermapboxMarker struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` // Symbol @@ -830,7 +974,7 @@ type ScattermapboxMarker struct { // Symbolsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for symbol . + // Sets the source reference on Chart Studio Cloud for `symbol`. Symbolsrc String `json:"symbolsrc,omitempty"` } @@ -957,7 +1101,7 @@ const ( ScattermapboxMarkerColorbarExponentformatE1 ScattermapboxMarkerColorbarExponentformat = "e" ScattermapboxMarkerColorbarExponentformatE2 ScattermapboxMarkerColorbarExponentformat = "E" ScattermapboxMarkerColorbarExponentformatPower ScattermapboxMarkerColorbarExponentformat = "power" - ScattermapboxMarkerColorbarExponentformatSi ScattermapboxMarkerColorbarExponentformat = "SI" + ScattermapboxMarkerColorbarExponentformatSI ScattermapboxMarkerColorbarExponentformat = "SI" ScattermapboxMarkerColorbarExponentformatB ScattermapboxMarkerColorbarExponentformat = "B" ) @@ -969,6 +1113,14 @@ const ( ScattermapboxMarkerColorbarLenmodePixels ScattermapboxMarkerColorbarLenmode = "pixels" ) +// ScattermapboxMarkerColorbarOrientation Sets the orientation of the colorbar. +type ScattermapboxMarkerColorbarOrientation string + +const ( + ScattermapboxMarkerColorbarOrientationH ScattermapboxMarkerColorbarOrientation = "h" + ScattermapboxMarkerColorbarOrientationV ScattermapboxMarkerColorbarOrientation = "v" +) + // ScattermapboxMarkerColorbarShowexponent 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. type ScattermapboxMarkerColorbarShowexponent string @@ -1007,7 +1159,16 @@ const ( ScattermapboxMarkerColorbarThicknessmodePixels ScattermapboxMarkerColorbarThicknessmode = "pixels" ) -// ScattermapboxMarkerColorbarTicklabelposition Determines where tick labels are drawn. +// ScattermapboxMarkerColorbarTicklabeloverflow 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*. +type ScattermapboxMarkerColorbarTicklabeloverflow string + +const ( + ScattermapboxMarkerColorbarTicklabeloverflowAllow ScattermapboxMarkerColorbarTicklabeloverflow = "allow" + ScattermapboxMarkerColorbarTicklabeloverflowHidePastDiv ScattermapboxMarkerColorbarTicklabeloverflow = "hide past div" + ScattermapboxMarkerColorbarTicklabeloverflowHidePastDomain ScattermapboxMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// ScattermapboxMarkerColorbarTicklabelposition 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*. type ScattermapboxMarkerColorbarTicklabelposition string const ( @@ -1015,6 +1176,10 @@ const ( ScattermapboxMarkerColorbarTicklabelpositionInside ScattermapboxMarkerColorbarTicklabelposition = "inside" ScattermapboxMarkerColorbarTicklabelpositionOutsideTop ScattermapboxMarkerColorbarTicklabelposition = "outside top" ScattermapboxMarkerColorbarTicklabelpositionInsideTop ScattermapboxMarkerColorbarTicklabelposition = "inside top" + ScattermapboxMarkerColorbarTicklabelpositionOutsideLeft ScattermapboxMarkerColorbarTicklabelposition = "outside left" + ScattermapboxMarkerColorbarTicklabelpositionInsideLeft ScattermapboxMarkerColorbarTicklabelposition = "inside left" + ScattermapboxMarkerColorbarTicklabelpositionOutsideRight ScattermapboxMarkerColorbarTicklabelposition = "outside right" + ScattermapboxMarkerColorbarTicklabelpositionInsideRight ScattermapboxMarkerColorbarTicklabelposition = "inside right" ScattermapboxMarkerColorbarTicklabelpositionOutsideBottom ScattermapboxMarkerColorbarTicklabelposition = "outside bottom" ScattermapboxMarkerColorbarTicklabelpositionInsideBottom ScattermapboxMarkerColorbarTicklabelposition = "inside bottom" ) @@ -1037,7 +1202,7 @@ const ( ScattermapboxMarkerColorbarTicksEmpty ScattermapboxMarkerColorbarTicks = "" ) -// ScattermapboxMarkerColorbarTitleSide Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. +// ScattermapboxMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. type ScattermapboxMarkerColorbarTitleSide string const ( @@ -1046,7 +1211,7 @@ const ( ScattermapboxMarkerColorbarTitleSideBottom ScattermapboxMarkerColorbarTitleSide = "bottom" ) -// ScattermapboxMarkerColorbarXanchor Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. +// ScattermapboxMarkerColorbarXanchor 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*. type ScattermapboxMarkerColorbarXanchor string const ( @@ -1055,7 +1220,7 @@ const ( ScattermapboxMarkerColorbarXanchorRight ScattermapboxMarkerColorbarXanchor = "right" ) -// ScattermapboxMarkerColorbarYanchor Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. +// ScattermapboxMarkerColorbarYanchor 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*. type ScattermapboxMarkerColorbarYanchor string const ( diff --git a/graph_objects/scatterpolar_gen.go b/generated/v2.19.0/graph_objects/scatterpolar_gen.go similarity index 84% rename from graph_objects/scatterpolar_gen.go rename to generated/v2.19.0/graph_objects/scatterpolar_gen.go index 3070557..5179e22 100644 --- a/graph_objects/scatterpolar_gen.go +++ b/generated/v2.19.0/graph_objects/scatterpolar_gen.go @@ -36,7 +36,7 @@ type Scatterpolar struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Dr @@ -72,7 +72,7 @@ type Scatterpolar struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -88,13 +88,13 @@ type Scatterpolar struct { // Hovertemplate // arrayOK: true // 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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + // 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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. Hovertemplate String `json:"hovertemplate,omitempty"` // Hovertemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertemplate . + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` // Hovertext @@ -106,7 +106,7 @@ type Scatterpolar struct { // Hovertextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertext . + // Sets the source reference on Chart Studio Cloud for `hovertext`. Hovertextsrc String `json:"hovertextsrc,omitempty"` // Ids @@ -118,7 +118,7 @@ type Scatterpolar struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` // Legendgroup @@ -127,6 +127,22 @@ type Scatterpolar struct { // Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items. Legendgroup String `json:"legendgroup,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *ScatterpolarLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Line // role: Object Line *ScatterpolarLine `json:"line,omitempty"` @@ -144,7 +160,7 @@ type Scatterpolar struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Mode @@ -180,7 +196,7 @@ type Scatterpolar struct { // Rsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for r . + // Sets the source reference on Chart Studio Cloud for `r`. Rsrc String `json:"rsrc,omitempty"` // Selected @@ -228,25 +244,25 @@ type Scatterpolar struct { // Textpositionsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for textposition . + // Sets the source reference on Chart Studio Cloud for `textposition`. Textpositionsrc String `json:"textpositionsrc,omitempty"` // Textsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for text . + // Sets the source reference on Chart Studio Cloud for `text`. Textsrc String `json:"textsrc,omitempty"` // Texttemplate // arrayOK: true // 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-3.x-api-reference/blob/master/Formatting.md#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#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. variables `r`, `theta` and `text`. + // 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. variables `r`, `theta` and `text`. Texttemplate String `json:"texttemplate,omitempty"` // Texttemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for texttemplate . + // Sets the source reference on Chart Studio Cloud for `texttemplate`. Texttemplatesrc String `json:"texttemplatesrc,omitempty"` // Theta @@ -264,7 +280,7 @@ type Scatterpolar struct { // Thetasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for theta . + // Sets the source reference on Chart Studio Cloud for `theta`. Thetasrc String `json:"thetasrc,omitempty"` // Thetaunit @@ -314,7 +330,7 @@ type ScatterpolarHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -326,7 +342,7 @@ type ScatterpolarHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -338,7 +354,7 @@ type ScatterpolarHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -354,7 +370,7 @@ type ScatterpolarHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -366,7 +382,7 @@ type ScatterpolarHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -378,7 +394,7 @@ type ScatterpolarHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -394,13 +410,61 @@ type ScatterpolarHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } +// ScatterpolarLegendgrouptitleFont Sets this legend group's title font. +type ScatterpolarLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScatterpolarLegendgrouptitle +type ScatterpolarLegendgrouptitle struct { + + // Font + // role: Object + Font *ScatterpolarLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // ScatterpolarLine type ScatterpolarLine struct { + // Backoff + // arrayOK: true + // type: number + // 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*. + Backoff float64 `json:"backoff,omitempty"` + + // Backoffsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `backoff`. + Backoffsrc String `json:"backoffsrc,omitempty"` + // Color // arrayOK: false // type: color @@ -484,9 +548,9 @@ type ScatterpolarMarkerColorbarTitle struct { Font *ScatterpolarMarkerColorbarTitleFont `json:"font,omitempty"` // Side - // default: top + // default: %!s() // type: enumerated - // Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. Side ScatterpolarMarkerColorbarTitleSide `json:"side,omitempty"` // Text @@ -529,6 +593,12 @@ type ScatterpolarMarkerColorbar struct { // 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. Exponentformat ScatterpolarMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Len // arrayOK: false // type: number @@ -553,6 +623,12 @@ type ScatterpolarMarkerColorbar struct { // 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*. Nticks int64 `json:"nticks,omitempty"` + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ScatterpolarMarkerColorbarOrientation `json:"orientation,omitempty"` + // Outlinecolor // arrayOK: false // type: color @@ -632,7 +708,7 @@ type ScatterpolarMarkerColorbar struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -641,12 +717,24 @@ type ScatterpolarMarkerColorbar struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ScatterpolarMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + // Ticklabelposition // default: outside // type: enumerated - // Determines where tick labels are drawn. + // 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*. Ticklabelposition ScatterpolarMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -686,7 +774,7 @@ type ScatterpolarMarkerColorbar struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -698,7 +786,7 @@ type ScatterpolarMarkerColorbar struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -714,13 +802,13 @@ type ScatterpolarMarkerColorbar struct { // X // arrayOK: false // type: number - // Sets the x position of the color bar (in plot fraction). + // Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. X float64 `json:"x,omitempty"` // Xanchor - // default: left + // default: %!s() // type: enumerated - // Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. + // 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*. Xanchor ScatterpolarMarkerColorbarXanchor `json:"xanchor,omitempty"` // Xpad @@ -732,13 +820,13 @@ type ScatterpolarMarkerColorbar struct { // Y // arrayOK: false // type: number - // Sets the y position of the color bar (in plot fraction). + // Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. Y float64 `json:"y,omitempty"` // Yanchor - // default: middle + // default: %!s() // type: enumerated - // Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. + // 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*. Yanchor ScatterpolarMarkerColorbarYanchor `json:"yanchor,omitempty"` // Ypad @@ -760,7 +848,7 @@ type ScatterpolarMarkerGradient struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Type @@ -772,7 +860,7 @@ type ScatterpolarMarkerGradient struct { // Typesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for type . + // Sets the source reference on Chart Studio Cloud for `type`. Typesrc String `json:"typesrc,omitempty"` } @@ -782,37 +870,37 @@ type ScatterpolarMarkerLine struct { // Autocolorscale // arrayOK: false // type: boolean - // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Cauto // arrayOK: false // type: boolean - // 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. + // 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. Cauto Bool `json:"cauto,omitempty"` // Cmax // arrayOK: false // 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. + // 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. Cmax float64 `json:"cmax,omitempty"` // Cmid // arrayOK: false // 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`. + // 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`. Cmid float64 `json:"cmid,omitempty"` // Cmin // arrayOK: false // 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. + // 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. Cmin float64 `json:"cmin,omitempty"` // Color // arrayOK: true // type: color - // Sets themarker.linecolor. 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. + // 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. Color Color `json:"color,omitempty"` // Coloraxis @@ -824,19 +912,19 @@ type ScatterpolarMarkerLine struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Reversescale // arrayOK: false // 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. + // 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. Reversescale Bool `json:"reversescale,omitempty"` // Width @@ -848,47 +936,65 @@ type ScatterpolarMarkerLine struct { // Widthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for width . + // Sets the source reference on Chart Studio Cloud for `width`. Widthsrc String `json:"widthsrc,omitempty"` } // ScatterpolarMarker type ScatterpolarMarker struct { + // Angle + // arrayOK: true + // type: angle + // Sets the marker angle in respect to `angleref`. + Angle float64 `json:"angle,omitempty"` + + // Angleref + // default: up + // type: enumerated + // 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. + Angleref ScatterpolarMarkerAngleref `json:"angleref,omitempty"` + + // Anglesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `angle`. + Anglesrc String `json:"anglesrc,omitempty"` + // Autocolorscale // arrayOK: false // type: boolean - // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Cauto // arrayOK: false // type: boolean - // 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. + // 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. Cauto Bool `json:"cauto,omitempty"` // Cmax // arrayOK: false // 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. + // 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. Cmax float64 `json:"cmax,omitempty"` // Cmid // arrayOK: false // 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`. + // 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`. Cmid float64 `json:"cmid,omitempty"` // Cmin // arrayOK: false // 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. + // 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. Cmin float64 `json:"cmin,omitempty"` // Color // arrayOK: true // type: color - // Sets themarkercolor. 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. + // 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. Color Color `json:"color,omitempty"` // Coloraxis @@ -904,13 +1010,13 @@ type ScatterpolarMarker struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Gradient @@ -936,19 +1042,19 @@ type ScatterpolarMarker struct { // Opacitysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for opacity . + // Sets the source reference on Chart Studio Cloud for `opacity`. Opacitysrc String `json:"opacitysrc,omitempty"` // Reversescale // arrayOK: false // 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. + // 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. Reversescale Bool `json:"reversescale,omitempty"` // Showscale // arrayOK: false // 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. + // 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. Showscale Bool `json:"showscale,omitempty"` // Size @@ -978,9 +1084,21 @@ type ScatterpolarMarker struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` + // Standoff + // arrayOK: true + // type: number + // 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. + Standoff float64 `json:"standoff,omitempty"` + + // Standoffsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `standoff`. + Standoffsrc String `json:"standoffsrc,omitempty"` + // Symbol // default: circle // type: enumerated @@ -990,7 +1108,7 @@ type ScatterpolarMarker struct { // Symbolsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for symbol . + // Sets the source reference on Chart Studio Cloud for `symbol`. Symbolsrc String `json:"symbolsrc,omitempty"` } @@ -1066,7 +1184,7 @@ type ScatterpolarTextfont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -1078,7 +1196,7 @@ type ScatterpolarTextfont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -1090,7 +1208,7 @@ type ScatterpolarTextfont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -1164,6 +1282,14 @@ const ( ScatterpolarLineShapeSpline ScatterpolarLineShape = "spline" ) +// ScatterpolarMarkerAngleref 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. +type ScatterpolarMarkerAngleref string + +const ( + ScatterpolarMarkerAnglerefPrevious ScatterpolarMarkerAngleref = "previous" + ScatterpolarMarkerAnglerefUp ScatterpolarMarkerAngleref = "up" +) + // ScatterpolarMarkerColorbarExponentformat 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. type ScatterpolarMarkerColorbarExponentformat string @@ -1172,7 +1298,7 @@ const ( ScatterpolarMarkerColorbarExponentformatE1 ScatterpolarMarkerColorbarExponentformat = "e" ScatterpolarMarkerColorbarExponentformatE2 ScatterpolarMarkerColorbarExponentformat = "E" ScatterpolarMarkerColorbarExponentformatPower ScatterpolarMarkerColorbarExponentformat = "power" - ScatterpolarMarkerColorbarExponentformatSi ScatterpolarMarkerColorbarExponentformat = "SI" + ScatterpolarMarkerColorbarExponentformatSI ScatterpolarMarkerColorbarExponentformat = "SI" ScatterpolarMarkerColorbarExponentformatB ScatterpolarMarkerColorbarExponentformat = "B" ) @@ -1184,6 +1310,14 @@ const ( ScatterpolarMarkerColorbarLenmodePixels ScatterpolarMarkerColorbarLenmode = "pixels" ) +// ScatterpolarMarkerColorbarOrientation Sets the orientation of the colorbar. +type ScatterpolarMarkerColorbarOrientation string + +const ( + ScatterpolarMarkerColorbarOrientationH ScatterpolarMarkerColorbarOrientation = "h" + ScatterpolarMarkerColorbarOrientationV ScatterpolarMarkerColorbarOrientation = "v" +) + // ScatterpolarMarkerColorbarShowexponent 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. type ScatterpolarMarkerColorbarShowexponent string @@ -1222,7 +1356,16 @@ const ( ScatterpolarMarkerColorbarThicknessmodePixels ScatterpolarMarkerColorbarThicknessmode = "pixels" ) -// ScatterpolarMarkerColorbarTicklabelposition Determines where tick labels are drawn. +// ScatterpolarMarkerColorbarTicklabeloverflow 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*. +type ScatterpolarMarkerColorbarTicklabeloverflow string + +const ( + ScatterpolarMarkerColorbarTicklabeloverflowAllow ScatterpolarMarkerColorbarTicklabeloverflow = "allow" + ScatterpolarMarkerColorbarTicklabeloverflowHidePastDiv ScatterpolarMarkerColorbarTicklabeloverflow = "hide past div" + ScatterpolarMarkerColorbarTicklabeloverflowHidePastDomain ScatterpolarMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// ScatterpolarMarkerColorbarTicklabelposition 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*. type ScatterpolarMarkerColorbarTicklabelposition string const ( @@ -1230,6 +1373,10 @@ const ( ScatterpolarMarkerColorbarTicklabelpositionInside ScatterpolarMarkerColorbarTicklabelposition = "inside" ScatterpolarMarkerColorbarTicklabelpositionOutsideTop ScatterpolarMarkerColorbarTicklabelposition = "outside top" ScatterpolarMarkerColorbarTicklabelpositionInsideTop ScatterpolarMarkerColorbarTicklabelposition = "inside top" + ScatterpolarMarkerColorbarTicklabelpositionOutsideLeft ScatterpolarMarkerColorbarTicklabelposition = "outside left" + ScatterpolarMarkerColorbarTicklabelpositionInsideLeft ScatterpolarMarkerColorbarTicklabelposition = "inside left" + ScatterpolarMarkerColorbarTicklabelpositionOutsideRight ScatterpolarMarkerColorbarTicklabelposition = "outside right" + ScatterpolarMarkerColorbarTicklabelpositionInsideRight ScatterpolarMarkerColorbarTicklabelposition = "inside right" ScatterpolarMarkerColorbarTicklabelpositionOutsideBottom ScatterpolarMarkerColorbarTicklabelposition = "outside bottom" ScatterpolarMarkerColorbarTicklabelpositionInsideBottom ScatterpolarMarkerColorbarTicklabelposition = "inside bottom" ) @@ -1252,7 +1399,7 @@ const ( ScatterpolarMarkerColorbarTicksEmpty ScatterpolarMarkerColorbarTicks = "" ) -// ScatterpolarMarkerColorbarTitleSide Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. +// ScatterpolarMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. type ScatterpolarMarkerColorbarTitleSide string const ( @@ -1261,7 +1408,7 @@ const ( ScatterpolarMarkerColorbarTitleSideBottom ScatterpolarMarkerColorbarTitleSide = "bottom" ) -// ScatterpolarMarkerColorbarXanchor Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. +// ScatterpolarMarkerColorbarXanchor 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*. type ScatterpolarMarkerColorbarXanchor string const ( @@ -1270,7 +1417,7 @@ const ( ScatterpolarMarkerColorbarXanchorRight ScatterpolarMarkerColorbarXanchor = "right" ) -// ScatterpolarMarkerColorbarYanchor Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. +// ScatterpolarMarkerColorbarYanchor 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*. type ScatterpolarMarkerColorbarYanchor string const ( @@ -1775,6 +1922,18 @@ var ( ScatterpolarMarkerSymbolNumber152 ScatterpolarMarkerSymbol = 152 ScatterpolarMarkerSymbol152 ScatterpolarMarkerSymbol = "152" ScatterpolarMarkerSymbolArrowBarRightOpen ScatterpolarMarkerSymbol = "arrow-bar-right-open" + ScatterpolarMarkerSymbolNumber53 ScatterpolarMarkerSymbol = 53 + ScatterpolarMarkerSymbol53 ScatterpolarMarkerSymbol = "53" + ScatterpolarMarkerSymbolArrow ScatterpolarMarkerSymbol = "arrow" + ScatterpolarMarkerSymbolNumber153 ScatterpolarMarkerSymbol = 153 + ScatterpolarMarkerSymbol153 ScatterpolarMarkerSymbol = "153" + ScatterpolarMarkerSymbolArrowOpen ScatterpolarMarkerSymbol = "arrow-open" + ScatterpolarMarkerSymbolNumber54 ScatterpolarMarkerSymbol = 54 + ScatterpolarMarkerSymbol54 ScatterpolarMarkerSymbol = "54" + ScatterpolarMarkerSymbolArrowWide ScatterpolarMarkerSymbol = "arrow-wide" + ScatterpolarMarkerSymbolNumber154 ScatterpolarMarkerSymbol = 154 + ScatterpolarMarkerSymbol154 ScatterpolarMarkerSymbol = "154" + ScatterpolarMarkerSymbolArrowWideOpen ScatterpolarMarkerSymbol = "arrow-wide-open" ) // ScatterpolarTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. diff --git a/graph_objects/scatterpolargl_gen.go b/generated/v2.19.0/graph_objects/scatterpolargl_gen.go similarity index 85% rename from graph_objects/scatterpolargl_gen.go rename to generated/v2.19.0/graph_objects/scatterpolargl_gen.go index a9e9568..28d4a77 100644 --- a/graph_objects/scatterpolargl_gen.go +++ b/generated/v2.19.0/graph_objects/scatterpolargl_gen.go @@ -30,7 +30,7 @@ type Scatterpolargl struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Dr @@ -66,7 +66,7 @@ type Scatterpolargl struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -76,13 +76,13 @@ type Scatterpolargl struct { // Hovertemplate // arrayOK: true // 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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + // 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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. Hovertemplate String `json:"hovertemplate,omitempty"` // Hovertemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertemplate . + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` // Hovertext @@ -94,7 +94,7 @@ type Scatterpolargl struct { // Hovertextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertext . + // Sets the source reference on Chart Studio Cloud for `hovertext`. Hovertextsrc String `json:"hovertextsrc,omitempty"` // Ids @@ -106,7 +106,7 @@ type Scatterpolargl struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` // Legendgroup @@ -115,6 +115,22 @@ type Scatterpolargl struct { // Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items. Legendgroup String `json:"legendgroup,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *ScatterpolarglLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Line // role: Object Line *ScatterpolarglLine `json:"line,omitempty"` @@ -132,7 +148,7 @@ type Scatterpolargl struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Mode @@ -168,7 +184,7 @@ type Scatterpolargl struct { // Rsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for r . + // Sets the source reference on Chart Studio Cloud for `r`. Rsrc String `json:"rsrc,omitempty"` // Selected @@ -216,25 +232,25 @@ type Scatterpolargl struct { // Textpositionsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for textposition . + // Sets the source reference on Chart Studio Cloud for `textposition`. Textpositionsrc String `json:"textpositionsrc,omitempty"` // Textsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for text . + // Sets the source reference on Chart Studio Cloud for `text`. Textsrc String `json:"textsrc,omitempty"` // Texttemplate // arrayOK: true // 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-3.x-api-reference/blob/master/Formatting.md#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#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. variables `r`, `theta` and `text`. + // 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. variables `r`, `theta` and `text`. Texttemplate String `json:"texttemplate,omitempty"` // Texttemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for texttemplate . + // Sets the source reference on Chart Studio Cloud for `texttemplate`. Texttemplatesrc String `json:"texttemplatesrc,omitempty"` // Theta @@ -252,7 +268,7 @@ type Scatterpolargl struct { // Thetasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for theta . + // Sets the source reference on Chart Studio Cloud for `theta`. Thetasrc String `json:"thetasrc,omitempty"` // Thetaunit @@ -302,7 +318,7 @@ type ScatterpolarglHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -314,7 +330,7 @@ type ScatterpolarglHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -326,7 +342,7 @@ type ScatterpolarglHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -342,7 +358,7 @@ type ScatterpolarglHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -354,7 +370,7 @@ type ScatterpolarglHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -366,7 +382,7 @@ type ScatterpolarglHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -382,10 +398,46 @@ type ScatterpolarglHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } +// ScatterpolarglLegendgrouptitleFont Sets this legend group's title font. +type ScatterpolarglLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScatterpolarglLegendgrouptitle +type ScatterpolarglLegendgrouptitle struct { + + // Font + // role: Object + Font *ScatterpolarglLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // ScatterpolarglLine type ScatterpolarglLine struct { @@ -466,9 +518,9 @@ type ScatterpolarglMarkerColorbarTitle struct { Font *ScatterpolarglMarkerColorbarTitleFont `json:"font,omitempty"` // Side - // default: top + // default: %!s() // type: enumerated - // Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. Side ScatterpolarglMarkerColorbarTitleSide `json:"side,omitempty"` // Text @@ -511,6 +563,12 @@ type ScatterpolarglMarkerColorbar struct { // 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. Exponentformat ScatterpolarglMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Len // arrayOK: false // type: number @@ -535,6 +593,12 @@ type ScatterpolarglMarkerColorbar struct { // 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*. Nticks int64 `json:"nticks,omitempty"` + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ScatterpolarglMarkerColorbarOrientation `json:"orientation,omitempty"` + // Outlinecolor // arrayOK: false // type: color @@ -614,7 +678,7 @@ type ScatterpolarglMarkerColorbar struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -623,12 +687,24 @@ type ScatterpolarglMarkerColorbar struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ScatterpolarglMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + // Ticklabelposition // default: outside // type: enumerated - // Determines where tick labels are drawn. + // 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*. Ticklabelposition ScatterpolarglMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -668,7 +744,7 @@ type ScatterpolarglMarkerColorbar struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -680,7 +756,7 @@ type ScatterpolarglMarkerColorbar struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -696,13 +772,13 @@ type ScatterpolarglMarkerColorbar struct { // X // arrayOK: false // type: number - // Sets the x position of the color bar (in plot fraction). + // Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. X float64 `json:"x,omitempty"` // Xanchor - // default: left + // default: %!s() // type: enumerated - // Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. + // 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*. Xanchor ScatterpolarglMarkerColorbarXanchor `json:"xanchor,omitempty"` // Xpad @@ -714,13 +790,13 @@ type ScatterpolarglMarkerColorbar struct { // Y // arrayOK: false // type: number - // Sets the y position of the color bar (in plot fraction). + // Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. Y float64 `json:"y,omitempty"` // Yanchor - // default: middle + // default: %!s() // type: enumerated - // Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. + // 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*. Yanchor ScatterpolarglMarkerColorbarYanchor `json:"yanchor,omitempty"` // Ypad @@ -736,37 +812,37 @@ type ScatterpolarglMarkerLine struct { // Autocolorscale // arrayOK: false // type: boolean - // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Cauto // arrayOK: false // type: boolean - // 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. + // 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. Cauto Bool `json:"cauto,omitempty"` // Cmax // arrayOK: false // 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. + // 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. Cmax float64 `json:"cmax,omitempty"` // Cmid // arrayOK: false // 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`. + // 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`. Cmid float64 `json:"cmid,omitempty"` // Cmin // arrayOK: false // 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. + // 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. Cmin float64 `json:"cmin,omitempty"` // Color // arrayOK: true // type: color - // Sets themarker.linecolor. 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. + // 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. Color Color `json:"color,omitempty"` // Coloraxis @@ -778,19 +854,19 @@ type ScatterpolarglMarkerLine struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Reversescale // arrayOK: false // 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. + // 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. Reversescale Bool `json:"reversescale,omitempty"` // Width @@ -802,47 +878,59 @@ type ScatterpolarglMarkerLine struct { // Widthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for width . + // Sets the source reference on Chart Studio Cloud for `width`. Widthsrc String `json:"widthsrc,omitempty"` } // ScatterpolarglMarker type ScatterpolarglMarker struct { + // Angle + // arrayOK: true + // type: angle + // Sets the marker angle in respect to `angleref`. + Angle float64 `json:"angle,omitempty"` + + // Anglesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `angle`. + Anglesrc String `json:"anglesrc,omitempty"` + // Autocolorscale // arrayOK: false // type: boolean - // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Cauto // arrayOK: false // type: boolean - // 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. + // 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. Cauto Bool `json:"cauto,omitempty"` // Cmax // arrayOK: false // 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. + // 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. Cmax float64 `json:"cmax,omitempty"` // Cmid // arrayOK: false // 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`. + // 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`. Cmid float64 `json:"cmid,omitempty"` // Cmin // arrayOK: false // 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. + // 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. Cmin float64 `json:"cmin,omitempty"` // Color // arrayOK: true // type: color - // Sets themarkercolor. 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. + // 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. Color Color `json:"color,omitempty"` // Coloraxis @@ -858,13 +946,13 @@ type ScatterpolarglMarker struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Line @@ -880,19 +968,19 @@ type ScatterpolarglMarker struct { // Opacitysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for opacity . + // Sets the source reference on Chart Studio Cloud for `opacity`. Opacitysrc String `json:"opacitysrc,omitempty"` // Reversescale // arrayOK: false // 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. + // 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. Reversescale Bool `json:"reversescale,omitempty"` // Showscale // arrayOK: false // 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. + // 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. Showscale Bool `json:"showscale,omitempty"` // Size @@ -922,7 +1010,7 @@ type ScatterpolarglMarker struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` // Symbol @@ -934,7 +1022,7 @@ type ScatterpolarglMarker struct { // Symbolsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for symbol . + // Sets the source reference on Chart Studio Cloud for `symbol`. Symbolsrc String `json:"symbolsrc,omitempty"` } @@ -1010,7 +1098,7 @@ type ScatterpolarglTextfont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -1022,7 +1110,7 @@ type ScatterpolarglTextfont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -1034,7 +1122,7 @@ type ScatterpolarglTextfont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -1108,12 +1196,12 @@ const ( type ScatterpolarglLineDash string const ( - ScatterpolarglLineDashSolid ScatterpolarglLineDash = "solid" - ScatterpolarglLineDashDot ScatterpolarglLineDash = "dot" ScatterpolarglLineDashDash ScatterpolarglLineDash = "dash" - ScatterpolarglLineDashLongdash ScatterpolarglLineDash = "longdash" ScatterpolarglLineDashDashdot ScatterpolarglLineDash = "dashdot" + ScatterpolarglLineDashDot ScatterpolarglLineDash = "dot" + ScatterpolarglLineDashLongdash ScatterpolarglLineDash = "longdash" ScatterpolarglLineDashLongdashdot ScatterpolarglLineDash = "longdashdot" + ScatterpolarglLineDashSolid ScatterpolarglLineDash = "solid" ) // ScatterpolarglLineShape Determines the line shape. The values correspond to step-wise line shapes. @@ -1135,7 +1223,7 @@ const ( ScatterpolarglMarkerColorbarExponentformatE1 ScatterpolarglMarkerColorbarExponentformat = "e" ScatterpolarglMarkerColorbarExponentformatE2 ScatterpolarglMarkerColorbarExponentformat = "E" ScatterpolarglMarkerColorbarExponentformatPower ScatterpolarglMarkerColorbarExponentformat = "power" - ScatterpolarglMarkerColorbarExponentformatSi ScatterpolarglMarkerColorbarExponentformat = "SI" + ScatterpolarglMarkerColorbarExponentformatSI ScatterpolarglMarkerColorbarExponentformat = "SI" ScatterpolarglMarkerColorbarExponentformatB ScatterpolarglMarkerColorbarExponentformat = "B" ) @@ -1147,6 +1235,14 @@ const ( ScatterpolarglMarkerColorbarLenmodePixels ScatterpolarglMarkerColorbarLenmode = "pixels" ) +// ScatterpolarglMarkerColorbarOrientation Sets the orientation of the colorbar. +type ScatterpolarglMarkerColorbarOrientation string + +const ( + ScatterpolarglMarkerColorbarOrientationH ScatterpolarglMarkerColorbarOrientation = "h" + ScatterpolarglMarkerColorbarOrientationV ScatterpolarglMarkerColorbarOrientation = "v" +) + // ScatterpolarglMarkerColorbarShowexponent 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. type ScatterpolarglMarkerColorbarShowexponent string @@ -1185,7 +1281,16 @@ const ( ScatterpolarglMarkerColorbarThicknessmodePixels ScatterpolarglMarkerColorbarThicknessmode = "pixels" ) -// ScatterpolarglMarkerColorbarTicklabelposition Determines where tick labels are drawn. +// ScatterpolarglMarkerColorbarTicklabeloverflow 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*. +type ScatterpolarglMarkerColorbarTicklabeloverflow string + +const ( + ScatterpolarglMarkerColorbarTicklabeloverflowAllow ScatterpolarglMarkerColorbarTicklabeloverflow = "allow" + ScatterpolarglMarkerColorbarTicklabeloverflowHidePastDiv ScatterpolarglMarkerColorbarTicklabeloverflow = "hide past div" + ScatterpolarglMarkerColorbarTicklabeloverflowHidePastDomain ScatterpolarglMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// ScatterpolarglMarkerColorbarTicklabelposition 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*. type ScatterpolarglMarkerColorbarTicklabelposition string const ( @@ -1193,6 +1298,10 @@ const ( ScatterpolarglMarkerColorbarTicklabelpositionInside ScatterpolarglMarkerColorbarTicklabelposition = "inside" ScatterpolarglMarkerColorbarTicklabelpositionOutsideTop ScatterpolarglMarkerColorbarTicklabelposition = "outside top" ScatterpolarglMarkerColorbarTicklabelpositionInsideTop ScatterpolarglMarkerColorbarTicklabelposition = "inside top" + ScatterpolarglMarkerColorbarTicklabelpositionOutsideLeft ScatterpolarglMarkerColorbarTicklabelposition = "outside left" + ScatterpolarglMarkerColorbarTicklabelpositionInsideLeft ScatterpolarglMarkerColorbarTicklabelposition = "inside left" + ScatterpolarglMarkerColorbarTicklabelpositionOutsideRight ScatterpolarglMarkerColorbarTicklabelposition = "outside right" + ScatterpolarglMarkerColorbarTicklabelpositionInsideRight ScatterpolarglMarkerColorbarTicklabelposition = "inside right" ScatterpolarglMarkerColorbarTicklabelpositionOutsideBottom ScatterpolarglMarkerColorbarTicklabelposition = "outside bottom" ScatterpolarglMarkerColorbarTicklabelpositionInsideBottom ScatterpolarglMarkerColorbarTicklabelposition = "inside bottom" ) @@ -1215,7 +1324,7 @@ const ( ScatterpolarglMarkerColorbarTicksEmpty ScatterpolarglMarkerColorbarTicks = "" ) -// ScatterpolarglMarkerColorbarTitleSide Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. +// ScatterpolarglMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. type ScatterpolarglMarkerColorbarTitleSide string const ( @@ -1224,7 +1333,7 @@ const ( ScatterpolarglMarkerColorbarTitleSideBottom ScatterpolarglMarkerColorbarTitleSide = "bottom" ) -// ScatterpolarglMarkerColorbarXanchor Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. +// ScatterpolarglMarkerColorbarXanchor 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*. type ScatterpolarglMarkerColorbarXanchor string const ( @@ -1233,7 +1342,7 @@ const ( ScatterpolarglMarkerColorbarXanchorRight ScatterpolarglMarkerColorbarXanchor = "right" ) -// ScatterpolarglMarkerColorbarYanchor Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. +// ScatterpolarglMarkerColorbarYanchor 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*. type ScatterpolarglMarkerColorbarYanchor string const ( @@ -1728,6 +1837,18 @@ var ( ScatterpolarglMarkerSymbolNumber152 ScatterpolarglMarkerSymbol = 152 ScatterpolarglMarkerSymbol152 ScatterpolarglMarkerSymbol = "152" ScatterpolarglMarkerSymbolArrowBarRightOpen ScatterpolarglMarkerSymbol = "arrow-bar-right-open" + ScatterpolarglMarkerSymbolNumber53 ScatterpolarglMarkerSymbol = 53 + ScatterpolarglMarkerSymbol53 ScatterpolarglMarkerSymbol = "53" + ScatterpolarglMarkerSymbolArrow ScatterpolarglMarkerSymbol = "arrow" + ScatterpolarglMarkerSymbolNumber153 ScatterpolarglMarkerSymbol = 153 + ScatterpolarglMarkerSymbol153 ScatterpolarglMarkerSymbol = "153" + ScatterpolarglMarkerSymbolArrowOpen ScatterpolarglMarkerSymbol = "arrow-open" + ScatterpolarglMarkerSymbolNumber54 ScatterpolarglMarkerSymbol = 54 + ScatterpolarglMarkerSymbol54 ScatterpolarglMarkerSymbol = "54" + ScatterpolarglMarkerSymbolArrowWide ScatterpolarglMarkerSymbol = "arrow-wide" + ScatterpolarglMarkerSymbolNumber154 ScatterpolarglMarkerSymbol = 154 + ScatterpolarglMarkerSymbol154 ScatterpolarglMarkerSymbol = "154" + ScatterpolarglMarkerSymbolArrowWideOpen ScatterpolarglMarkerSymbol = "arrow-wide-open" ) // ScatterpolarglTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. diff --git a/generated/v2.19.0/graph_objects/scattersmith_gen.go b/generated/v2.19.0/graph_objects/scattersmith_gen.go new file mode 100644 index 0000000..d43a838 --- /dev/null +++ b/generated/v2.19.0/graph_objects/scattersmith_gen.go @@ -0,0 +1,1972 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeScattersmith TraceType = "scattersmith" + +func (trace *Scattersmith) GetType() TraceType { + return TraceTypeScattersmith +} + +// Scattersmith 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. +type Scattersmith struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Cliponaxis + // arrayOK: false + // 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*. + Cliponaxis Bool `json:"cliponaxis,omitempty"` + + // Connectgaps + // arrayOK: false + // type: boolean + // Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected. + Connectgaps Bool `json:"connectgaps,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Fill + // default: none + // type: enumerated + // 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. + Fill ScattersmithFill `json:"fill,omitempty"` + + // Fillcolor + // arrayOK: false + // 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. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo ScattersmithHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *ScattersmithHoverlabel `json:"hoverlabel,omitempty"` + + // Hoveron + // default: %!s() + // type: flaglist + // 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*. + Hoveron ScattersmithHoveron `json:"hoveron,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Imag + // arrayOK: false + // 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. + Imag interface{} `json:"imag,omitempty"` + + // Imagsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `imag`. + Imagsrc String `json:"imagsrc,omitempty"` + + // Legendgroup + // arrayOK: false + // type: string + // Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *ScattersmithLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *ScattersmithLine `json:"line,omitempty"` + + // Marker + // role: Object + Marker *ScattersmithMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Mode + // default: %!s() + // type: flaglist + // 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*. + Mode ScattersmithMode `json:"mode,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appear as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Real + // arrayOK: false + // 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. + Real interface{} `json:"real,omitempty"` + + // Realsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `real`. + Realsrc String `json:"realsrc,omitempty"` + + // Selected + // role: Object + Selected *ScattersmithSelected `json:"selected,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Stream + // role: Object + Stream *ScattersmithStream `json:"stream,omitempty"` + + // Subplot + // arrayOK: false + // type: subplotid + // 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. + Subplot String `json:"subplot,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textfont + // role: Object + Textfont *ScattersmithTextfont `json:"textfont,omitempty"` + + // Textposition + // default: middle center + // type: enumerated + // Sets the positions of the `text` elements with respects to the (x,y) coordinates. + Textposition ScattersmithTextposition `json:"textposition,omitempty"` + + // Textpositionsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `textposition`. + Textpositionsrc String `json:"textpositionsrc,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: true + // 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. variables `real`, `imag` and `text`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Texttemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `texttemplate`. + Texttemplatesrc String `json:"texttemplatesrc,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Unselected + // role: Object + Unselected *ScattersmithUnselected `json:"unselected,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible ScattersmithVisible `json:"visible,omitempty"` +} + +// ScattersmithHoverlabelFont Sets the font used in hover labels. +type ScattersmithHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ScattersmithHoverlabel +type ScattersmithHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align ScattersmithHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *ScattersmithHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// ScattersmithLegendgrouptitleFont Sets this legend group's title font. +type ScattersmithLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScattersmithLegendgrouptitle +type ScattersmithLegendgrouptitle struct { + + // Font + // role: Object + Font *ScattersmithLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// ScattersmithLine +type ScattersmithLine struct { + + // Backoff + // arrayOK: true + // type: number + // 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*. + Backoff float64 `json:"backoff,omitempty"` + + // Backoffsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `backoff`. + Backoffsrc String `json:"backoffsrc,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the line color. + Color Color `json:"color,omitempty"` + + // Dash + // arrayOK: false + // type: string + // 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*). + Dash String `json:"dash,omitempty"` + + // Shape + // default: linear + // type: enumerated + // Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes. + Shape ScattersmithLineShape `json:"shape,omitempty"` + + // Smoothing + // arrayOK: false + // type: number + // 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). + Smoothing float64 `json:"smoothing,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width (in px). + Width float64 `json:"width,omitempty"` +} + +// ScattersmithMarkerColorbarTickfont Sets the color bar's tick label font +type ScattersmithMarkerColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScattersmithMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type ScattersmithMarkerColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScattersmithMarkerColorbarTitle +type ScattersmithMarkerColorbarTitle struct { + + // Font + // role: Object + Font *ScattersmithMarkerColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side ScattersmithMarkerColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// ScattersmithMarkerColorbar +type ScattersmithMarkerColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat ScattersmithMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode ScattersmithMarkerColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ScattersmithMarkerColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent ScattersmithMarkerColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix ScattersmithMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix ScattersmithMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode ScattersmithMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *ScattersmithMarkerColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ScattersmithMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition ScattersmithMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode ScattersmithMarkerColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks ScattersmithMarkerColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *ScattersmithMarkerColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // type: number + // Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor ScattersmithMarkerColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Y + // arrayOK: false + // type: number + // Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor ScattersmithMarkerColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` +} + +// ScattersmithMarkerGradient +type ScattersmithMarkerGradient struct { + + // Color + // arrayOK: true + // type: color + // Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Type + // default: none + // type: enumerated + // Sets the type of gradient used to fill the markers + Type ScattersmithMarkerGradientType `json:"type,omitempty"` + + // Typesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `type`. + Typesrc String `json:"typesrc,omitempty"` +} + +// ScattersmithMarkerLine +type ScattersmithMarkerLine struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the lines bounding the marker points. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// ScattersmithMarker +type ScattersmithMarker struct { + + // Angle + // arrayOK: true + // type: angle + // Sets the marker angle in respect to `angleref`. + Angle float64 `json:"angle,omitempty"` + + // Angleref + // default: up + // type: enumerated + // 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. + Angleref ScattersmithMarkerAngleref `json:"angleref,omitempty"` + + // Anglesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `angle`. + Anglesrc String `json:"anglesrc,omitempty"` + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *ScattersmithMarkerColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Gradient + // role: Object + Gradient *ScattersmithMarkerGradient `json:"gradient,omitempty"` + + // Line + // role: Object + Line *ScattersmithMarkerLine `json:"line,omitempty"` + + // Maxdisplayed + // arrayOK: false + // type: number + // Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit. + Maxdisplayed float64 `json:"maxdisplayed,omitempty"` + + // Opacity + // arrayOK: true + // type: number + // Sets the marker opacity. + Opacity float64 `json:"opacity,omitempty"` + + // Opacitysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `opacity`. + Opacitysrc String `json:"opacitysrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the marker size (in px). + Size float64 `json:"size,omitempty"` + + // Sizemin + // arrayOK: false + // 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. + Sizemin float64 `json:"sizemin,omitempty"` + + // Sizemode + // default: diameter + // type: enumerated + // 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. + Sizemode ScattersmithMarkerSizemode `json:"sizemode,omitempty"` + + // Sizeref + // arrayOK: false + // type: number + // 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`. + Sizeref float64 `json:"sizeref,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Standoff + // arrayOK: true + // type: number + // 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. + Standoff float64 `json:"standoff,omitempty"` + + // Standoffsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `standoff`. + Standoffsrc String `json:"standoffsrc,omitempty"` + + // Symbol + // default: circle + // type: enumerated + // 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. + Symbol ScattersmithMarkerSymbol `json:"symbol,omitempty"` + + // Symbolsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `symbol`. + Symbolsrc String `json:"symbolsrc,omitempty"` +} + +// ScattersmithSelectedMarker +type ScattersmithSelectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of selected points. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of selected points. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of selected points. + Size float64 `json:"size,omitempty"` +} + +// ScattersmithSelectedTextfont +type ScattersmithSelectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of selected points. + Color Color `json:"color,omitempty"` +} + +// ScattersmithSelected +type ScattersmithSelected struct { + + // Marker + // role: Object + Marker *ScattersmithSelectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *ScattersmithSelectedTextfont `json:"textfont,omitempty"` +} + +// ScattersmithStream +type ScattersmithStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// ScattersmithTextfont Sets the text font. +type ScattersmithTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ScattersmithUnselectedMarker +type ScattersmithUnselectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of unselected points, applied only when a selection exists. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of unselected points, applied only when a selection exists. + Size float64 `json:"size,omitempty"` +} + +// ScattersmithUnselectedTextfont +type ScattersmithUnselectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` +} + +// ScattersmithUnselected +type ScattersmithUnselected struct { + + // Marker + // role: Object + Marker *ScattersmithUnselectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *ScattersmithUnselectedTextfont `json:"textfont,omitempty"` +} + +// ScattersmithFill 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. +type ScattersmithFill string + +const ( + ScattersmithFillNone ScattersmithFill = "none" + ScattersmithFillToself ScattersmithFill = "toself" + ScattersmithFillTonext ScattersmithFill = "tonext" +) + +// ScattersmithHoverlabelAlign 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 +type ScattersmithHoverlabelAlign string + +const ( + ScattersmithHoverlabelAlignLeft ScattersmithHoverlabelAlign = "left" + ScattersmithHoverlabelAlignRight ScattersmithHoverlabelAlign = "right" + ScattersmithHoverlabelAlignAuto ScattersmithHoverlabelAlign = "auto" +) + +// ScattersmithLineShape Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes. +type ScattersmithLineShape string + +const ( + ScattersmithLineShapeLinear ScattersmithLineShape = "linear" + ScattersmithLineShapeSpline ScattersmithLineShape = "spline" +) + +// ScattersmithMarkerAngleref 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. +type ScattersmithMarkerAngleref string + +const ( + ScattersmithMarkerAnglerefPrevious ScattersmithMarkerAngleref = "previous" + ScattersmithMarkerAnglerefUp ScattersmithMarkerAngleref = "up" +) + +// ScattersmithMarkerColorbarExponentformat 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. +type ScattersmithMarkerColorbarExponentformat string + +const ( + ScattersmithMarkerColorbarExponentformatNone ScattersmithMarkerColorbarExponentformat = "none" + ScattersmithMarkerColorbarExponentformatE1 ScattersmithMarkerColorbarExponentformat = "e" + ScattersmithMarkerColorbarExponentformatE2 ScattersmithMarkerColorbarExponentformat = "E" + ScattersmithMarkerColorbarExponentformatPower ScattersmithMarkerColorbarExponentformat = "power" + ScattersmithMarkerColorbarExponentformatSI ScattersmithMarkerColorbarExponentformat = "SI" + ScattersmithMarkerColorbarExponentformatB ScattersmithMarkerColorbarExponentformat = "B" +) + +// ScattersmithMarkerColorbarLenmode 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. +type ScattersmithMarkerColorbarLenmode string + +const ( + ScattersmithMarkerColorbarLenmodeFraction ScattersmithMarkerColorbarLenmode = "fraction" + ScattersmithMarkerColorbarLenmodePixels ScattersmithMarkerColorbarLenmode = "pixels" +) + +// ScattersmithMarkerColorbarOrientation Sets the orientation of the colorbar. +type ScattersmithMarkerColorbarOrientation string + +const ( + ScattersmithMarkerColorbarOrientationH ScattersmithMarkerColorbarOrientation = "h" + ScattersmithMarkerColorbarOrientationV ScattersmithMarkerColorbarOrientation = "v" +) + +// ScattersmithMarkerColorbarShowexponent 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. +type ScattersmithMarkerColorbarShowexponent string + +const ( + ScattersmithMarkerColorbarShowexponentAll ScattersmithMarkerColorbarShowexponent = "all" + ScattersmithMarkerColorbarShowexponentFirst ScattersmithMarkerColorbarShowexponent = "first" + ScattersmithMarkerColorbarShowexponentLast ScattersmithMarkerColorbarShowexponent = "last" + ScattersmithMarkerColorbarShowexponentNone ScattersmithMarkerColorbarShowexponent = "none" +) + +// ScattersmithMarkerColorbarShowtickprefix 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. +type ScattersmithMarkerColorbarShowtickprefix string + +const ( + ScattersmithMarkerColorbarShowtickprefixAll ScattersmithMarkerColorbarShowtickprefix = "all" + ScattersmithMarkerColorbarShowtickprefixFirst ScattersmithMarkerColorbarShowtickprefix = "first" + ScattersmithMarkerColorbarShowtickprefixLast ScattersmithMarkerColorbarShowtickprefix = "last" + ScattersmithMarkerColorbarShowtickprefixNone ScattersmithMarkerColorbarShowtickprefix = "none" +) + +// ScattersmithMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type ScattersmithMarkerColorbarShowticksuffix string + +const ( + ScattersmithMarkerColorbarShowticksuffixAll ScattersmithMarkerColorbarShowticksuffix = "all" + ScattersmithMarkerColorbarShowticksuffixFirst ScattersmithMarkerColorbarShowticksuffix = "first" + ScattersmithMarkerColorbarShowticksuffixLast ScattersmithMarkerColorbarShowticksuffix = "last" + ScattersmithMarkerColorbarShowticksuffixNone ScattersmithMarkerColorbarShowticksuffix = "none" +) + +// ScattersmithMarkerColorbarThicknessmode 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. +type ScattersmithMarkerColorbarThicknessmode string + +const ( + ScattersmithMarkerColorbarThicknessmodeFraction ScattersmithMarkerColorbarThicknessmode = "fraction" + ScattersmithMarkerColorbarThicknessmodePixels ScattersmithMarkerColorbarThicknessmode = "pixels" +) + +// ScattersmithMarkerColorbarTicklabeloverflow 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*. +type ScattersmithMarkerColorbarTicklabeloverflow string + +const ( + ScattersmithMarkerColorbarTicklabeloverflowAllow ScattersmithMarkerColorbarTicklabeloverflow = "allow" + ScattersmithMarkerColorbarTicklabeloverflowHidePastDiv ScattersmithMarkerColorbarTicklabeloverflow = "hide past div" + ScattersmithMarkerColorbarTicklabeloverflowHidePastDomain ScattersmithMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// ScattersmithMarkerColorbarTicklabelposition 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*. +type ScattersmithMarkerColorbarTicklabelposition string + +const ( + ScattersmithMarkerColorbarTicklabelpositionOutside ScattersmithMarkerColorbarTicklabelposition = "outside" + ScattersmithMarkerColorbarTicklabelpositionInside ScattersmithMarkerColorbarTicklabelposition = "inside" + ScattersmithMarkerColorbarTicklabelpositionOutsideTop ScattersmithMarkerColorbarTicklabelposition = "outside top" + ScattersmithMarkerColorbarTicklabelpositionInsideTop ScattersmithMarkerColorbarTicklabelposition = "inside top" + ScattersmithMarkerColorbarTicklabelpositionOutsideLeft ScattersmithMarkerColorbarTicklabelposition = "outside left" + ScattersmithMarkerColorbarTicklabelpositionInsideLeft ScattersmithMarkerColorbarTicklabelposition = "inside left" + ScattersmithMarkerColorbarTicklabelpositionOutsideRight ScattersmithMarkerColorbarTicklabelposition = "outside right" + ScattersmithMarkerColorbarTicklabelpositionInsideRight ScattersmithMarkerColorbarTicklabelposition = "inside right" + ScattersmithMarkerColorbarTicklabelpositionOutsideBottom ScattersmithMarkerColorbarTicklabelposition = "outside bottom" + ScattersmithMarkerColorbarTicklabelpositionInsideBottom ScattersmithMarkerColorbarTicklabelposition = "inside bottom" +) + +// ScattersmithMarkerColorbarTickmode 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). +type ScattersmithMarkerColorbarTickmode string + +const ( + ScattersmithMarkerColorbarTickmodeAuto ScattersmithMarkerColorbarTickmode = "auto" + ScattersmithMarkerColorbarTickmodeLinear ScattersmithMarkerColorbarTickmode = "linear" + ScattersmithMarkerColorbarTickmodeArray ScattersmithMarkerColorbarTickmode = "array" +) + +// ScattersmithMarkerColorbarTicks 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. +type ScattersmithMarkerColorbarTicks string + +const ( + ScattersmithMarkerColorbarTicksOutside ScattersmithMarkerColorbarTicks = "outside" + ScattersmithMarkerColorbarTicksInside ScattersmithMarkerColorbarTicks = "inside" + ScattersmithMarkerColorbarTicksEmpty ScattersmithMarkerColorbarTicks = "" +) + +// ScattersmithMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type ScattersmithMarkerColorbarTitleSide string + +const ( + ScattersmithMarkerColorbarTitleSideRight ScattersmithMarkerColorbarTitleSide = "right" + ScattersmithMarkerColorbarTitleSideTop ScattersmithMarkerColorbarTitleSide = "top" + ScattersmithMarkerColorbarTitleSideBottom ScattersmithMarkerColorbarTitleSide = "bottom" +) + +// ScattersmithMarkerColorbarXanchor 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*. +type ScattersmithMarkerColorbarXanchor string + +const ( + ScattersmithMarkerColorbarXanchorLeft ScattersmithMarkerColorbarXanchor = "left" + ScattersmithMarkerColorbarXanchorCenter ScattersmithMarkerColorbarXanchor = "center" + ScattersmithMarkerColorbarXanchorRight ScattersmithMarkerColorbarXanchor = "right" +) + +// ScattersmithMarkerColorbarYanchor 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*. +type ScattersmithMarkerColorbarYanchor string + +const ( + ScattersmithMarkerColorbarYanchorTop ScattersmithMarkerColorbarYanchor = "top" + ScattersmithMarkerColorbarYanchorMiddle ScattersmithMarkerColorbarYanchor = "middle" + ScattersmithMarkerColorbarYanchorBottom ScattersmithMarkerColorbarYanchor = "bottom" +) + +// ScattersmithMarkerGradientType Sets the type of gradient used to fill the markers +type ScattersmithMarkerGradientType string + +const ( + ScattersmithMarkerGradientTypeRadial ScattersmithMarkerGradientType = "radial" + ScattersmithMarkerGradientTypeHorizontal ScattersmithMarkerGradientType = "horizontal" + ScattersmithMarkerGradientTypeVertical ScattersmithMarkerGradientType = "vertical" + ScattersmithMarkerGradientTypeNone ScattersmithMarkerGradientType = "none" +) + +// ScattersmithMarkerSizemode 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. +type ScattersmithMarkerSizemode string + +const ( + ScattersmithMarkerSizemodeDiameter ScattersmithMarkerSizemode = "diameter" + ScattersmithMarkerSizemodeArea ScattersmithMarkerSizemode = "area" +) + +// ScattersmithMarkerSymbol 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. +type ScattersmithMarkerSymbol interface{} + +var ( + ScattersmithMarkerSymbolNumber0 ScattersmithMarkerSymbol = 0 + ScattersmithMarkerSymbol0 ScattersmithMarkerSymbol = "0" + ScattersmithMarkerSymbolCircle ScattersmithMarkerSymbol = "circle" + ScattersmithMarkerSymbolNumber100 ScattersmithMarkerSymbol = 100 + ScattersmithMarkerSymbol100 ScattersmithMarkerSymbol = "100" + ScattersmithMarkerSymbolCircleOpen ScattersmithMarkerSymbol = "circle-open" + ScattersmithMarkerSymbolNumber200 ScattersmithMarkerSymbol = 200 + ScattersmithMarkerSymbol200 ScattersmithMarkerSymbol = "200" + ScattersmithMarkerSymbolCircleDot ScattersmithMarkerSymbol = "circle-dot" + ScattersmithMarkerSymbolNumber300 ScattersmithMarkerSymbol = 300 + ScattersmithMarkerSymbol300 ScattersmithMarkerSymbol = "300" + ScattersmithMarkerSymbolCircleOpenDot ScattersmithMarkerSymbol = "circle-open-dot" + ScattersmithMarkerSymbolNumber1 ScattersmithMarkerSymbol = 1 + ScattersmithMarkerSymbol1 ScattersmithMarkerSymbol = "1" + ScattersmithMarkerSymbolSquare ScattersmithMarkerSymbol = "square" + ScattersmithMarkerSymbolNumber101 ScattersmithMarkerSymbol = 101 + ScattersmithMarkerSymbol101 ScattersmithMarkerSymbol = "101" + ScattersmithMarkerSymbolSquareOpen ScattersmithMarkerSymbol = "square-open" + ScattersmithMarkerSymbolNumber201 ScattersmithMarkerSymbol = 201 + ScattersmithMarkerSymbol201 ScattersmithMarkerSymbol = "201" + ScattersmithMarkerSymbolSquareDot ScattersmithMarkerSymbol = "square-dot" + ScattersmithMarkerSymbolNumber301 ScattersmithMarkerSymbol = 301 + ScattersmithMarkerSymbol301 ScattersmithMarkerSymbol = "301" + ScattersmithMarkerSymbolSquareOpenDot ScattersmithMarkerSymbol = "square-open-dot" + ScattersmithMarkerSymbolNumber2 ScattersmithMarkerSymbol = 2 + ScattersmithMarkerSymbol2 ScattersmithMarkerSymbol = "2" + ScattersmithMarkerSymbolDiamond ScattersmithMarkerSymbol = "diamond" + ScattersmithMarkerSymbolNumber102 ScattersmithMarkerSymbol = 102 + ScattersmithMarkerSymbol102 ScattersmithMarkerSymbol = "102" + ScattersmithMarkerSymbolDiamondOpen ScattersmithMarkerSymbol = "diamond-open" + ScattersmithMarkerSymbolNumber202 ScattersmithMarkerSymbol = 202 + ScattersmithMarkerSymbol202 ScattersmithMarkerSymbol = "202" + ScattersmithMarkerSymbolDiamondDot ScattersmithMarkerSymbol = "diamond-dot" + ScattersmithMarkerSymbolNumber302 ScattersmithMarkerSymbol = 302 + ScattersmithMarkerSymbol302 ScattersmithMarkerSymbol = "302" + ScattersmithMarkerSymbolDiamondOpenDot ScattersmithMarkerSymbol = "diamond-open-dot" + ScattersmithMarkerSymbolNumber3 ScattersmithMarkerSymbol = 3 + ScattersmithMarkerSymbol3 ScattersmithMarkerSymbol = "3" + ScattersmithMarkerSymbolCross ScattersmithMarkerSymbol = "cross" + ScattersmithMarkerSymbolNumber103 ScattersmithMarkerSymbol = 103 + ScattersmithMarkerSymbol103 ScattersmithMarkerSymbol = "103" + ScattersmithMarkerSymbolCrossOpen ScattersmithMarkerSymbol = "cross-open" + ScattersmithMarkerSymbolNumber203 ScattersmithMarkerSymbol = 203 + ScattersmithMarkerSymbol203 ScattersmithMarkerSymbol = "203" + ScattersmithMarkerSymbolCrossDot ScattersmithMarkerSymbol = "cross-dot" + ScattersmithMarkerSymbolNumber303 ScattersmithMarkerSymbol = 303 + ScattersmithMarkerSymbol303 ScattersmithMarkerSymbol = "303" + ScattersmithMarkerSymbolCrossOpenDot ScattersmithMarkerSymbol = "cross-open-dot" + ScattersmithMarkerSymbolNumber4 ScattersmithMarkerSymbol = 4 + ScattersmithMarkerSymbol4 ScattersmithMarkerSymbol = "4" + ScattersmithMarkerSymbolX ScattersmithMarkerSymbol = "x" + ScattersmithMarkerSymbolNumber104 ScattersmithMarkerSymbol = 104 + ScattersmithMarkerSymbol104 ScattersmithMarkerSymbol = "104" + ScattersmithMarkerSymbolXOpen ScattersmithMarkerSymbol = "x-open" + ScattersmithMarkerSymbolNumber204 ScattersmithMarkerSymbol = 204 + ScattersmithMarkerSymbol204 ScattersmithMarkerSymbol = "204" + ScattersmithMarkerSymbolXDot ScattersmithMarkerSymbol = "x-dot" + ScattersmithMarkerSymbolNumber304 ScattersmithMarkerSymbol = 304 + ScattersmithMarkerSymbol304 ScattersmithMarkerSymbol = "304" + ScattersmithMarkerSymbolXOpenDot ScattersmithMarkerSymbol = "x-open-dot" + ScattersmithMarkerSymbolNumber5 ScattersmithMarkerSymbol = 5 + ScattersmithMarkerSymbol5 ScattersmithMarkerSymbol = "5" + ScattersmithMarkerSymbolTriangleUp ScattersmithMarkerSymbol = "triangle-up" + ScattersmithMarkerSymbolNumber105 ScattersmithMarkerSymbol = 105 + ScattersmithMarkerSymbol105 ScattersmithMarkerSymbol = "105" + ScattersmithMarkerSymbolTriangleUpOpen ScattersmithMarkerSymbol = "triangle-up-open" + ScattersmithMarkerSymbolNumber205 ScattersmithMarkerSymbol = 205 + ScattersmithMarkerSymbol205 ScattersmithMarkerSymbol = "205" + ScattersmithMarkerSymbolTriangleUpDot ScattersmithMarkerSymbol = "triangle-up-dot" + ScattersmithMarkerSymbolNumber305 ScattersmithMarkerSymbol = 305 + ScattersmithMarkerSymbol305 ScattersmithMarkerSymbol = "305" + ScattersmithMarkerSymbolTriangleUpOpenDot ScattersmithMarkerSymbol = "triangle-up-open-dot" + ScattersmithMarkerSymbolNumber6 ScattersmithMarkerSymbol = 6 + ScattersmithMarkerSymbol6 ScattersmithMarkerSymbol = "6" + ScattersmithMarkerSymbolTriangleDown ScattersmithMarkerSymbol = "triangle-down" + ScattersmithMarkerSymbolNumber106 ScattersmithMarkerSymbol = 106 + ScattersmithMarkerSymbol106 ScattersmithMarkerSymbol = "106" + ScattersmithMarkerSymbolTriangleDownOpen ScattersmithMarkerSymbol = "triangle-down-open" + ScattersmithMarkerSymbolNumber206 ScattersmithMarkerSymbol = 206 + ScattersmithMarkerSymbol206 ScattersmithMarkerSymbol = "206" + ScattersmithMarkerSymbolTriangleDownDot ScattersmithMarkerSymbol = "triangle-down-dot" + ScattersmithMarkerSymbolNumber306 ScattersmithMarkerSymbol = 306 + ScattersmithMarkerSymbol306 ScattersmithMarkerSymbol = "306" + ScattersmithMarkerSymbolTriangleDownOpenDot ScattersmithMarkerSymbol = "triangle-down-open-dot" + ScattersmithMarkerSymbolNumber7 ScattersmithMarkerSymbol = 7 + ScattersmithMarkerSymbol7 ScattersmithMarkerSymbol = "7" + ScattersmithMarkerSymbolTriangleLeft ScattersmithMarkerSymbol = "triangle-left" + ScattersmithMarkerSymbolNumber107 ScattersmithMarkerSymbol = 107 + ScattersmithMarkerSymbol107 ScattersmithMarkerSymbol = "107" + ScattersmithMarkerSymbolTriangleLeftOpen ScattersmithMarkerSymbol = "triangle-left-open" + ScattersmithMarkerSymbolNumber207 ScattersmithMarkerSymbol = 207 + ScattersmithMarkerSymbol207 ScattersmithMarkerSymbol = "207" + ScattersmithMarkerSymbolTriangleLeftDot ScattersmithMarkerSymbol = "triangle-left-dot" + ScattersmithMarkerSymbolNumber307 ScattersmithMarkerSymbol = 307 + ScattersmithMarkerSymbol307 ScattersmithMarkerSymbol = "307" + ScattersmithMarkerSymbolTriangleLeftOpenDot ScattersmithMarkerSymbol = "triangle-left-open-dot" + ScattersmithMarkerSymbolNumber8 ScattersmithMarkerSymbol = 8 + ScattersmithMarkerSymbol8 ScattersmithMarkerSymbol = "8" + ScattersmithMarkerSymbolTriangleRight ScattersmithMarkerSymbol = "triangle-right" + ScattersmithMarkerSymbolNumber108 ScattersmithMarkerSymbol = 108 + ScattersmithMarkerSymbol108 ScattersmithMarkerSymbol = "108" + ScattersmithMarkerSymbolTriangleRightOpen ScattersmithMarkerSymbol = "triangle-right-open" + ScattersmithMarkerSymbolNumber208 ScattersmithMarkerSymbol = 208 + ScattersmithMarkerSymbol208 ScattersmithMarkerSymbol = "208" + ScattersmithMarkerSymbolTriangleRightDot ScattersmithMarkerSymbol = "triangle-right-dot" + ScattersmithMarkerSymbolNumber308 ScattersmithMarkerSymbol = 308 + ScattersmithMarkerSymbol308 ScattersmithMarkerSymbol = "308" + ScattersmithMarkerSymbolTriangleRightOpenDot ScattersmithMarkerSymbol = "triangle-right-open-dot" + ScattersmithMarkerSymbolNumber9 ScattersmithMarkerSymbol = 9 + ScattersmithMarkerSymbol9 ScattersmithMarkerSymbol = "9" + ScattersmithMarkerSymbolTriangleNe ScattersmithMarkerSymbol = "triangle-ne" + ScattersmithMarkerSymbolNumber109 ScattersmithMarkerSymbol = 109 + ScattersmithMarkerSymbol109 ScattersmithMarkerSymbol = "109" + ScattersmithMarkerSymbolTriangleNeOpen ScattersmithMarkerSymbol = "triangle-ne-open" + ScattersmithMarkerSymbolNumber209 ScattersmithMarkerSymbol = 209 + ScattersmithMarkerSymbol209 ScattersmithMarkerSymbol = "209" + ScattersmithMarkerSymbolTriangleNeDot ScattersmithMarkerSymbol = "triangle-ne-dot" + ScattersmithMarkerSymbolNumber309 ScattersmithMarkerSymbol = 309 + ScattersmithMarkerSymbol309 ScattersmithMarkerSymbol = "309" + ScattersmithMarkerSymbolTriangleNeOpenDot ScattersmithMarkerSymbol = "triangle-ne-open-dot" + ScattersmithMarkerSymbolNumber10 ScattersmithMarkerSymbol = 10 + ScattersmithMarkerSymbol10 ScattersmithMarkerSymbol = "10" + ScattersmithMarkerSymbolTriangleSe ScattersmithMarkerSymbol = "triangle-se" + ScattersmithMarkerSymbolNumber110 ScattersmithMarkerSymbol = 110 + ScattersmithMarkerSymbol110 ScattersmithMarkerSymbol = "110" + ScattersmithMarkerSymbolTriangleSeOpen ScattersmithMarkerSymbol = "triangle-se-open" + ScattersmithMarkerSymbolNumber210 ScattersmithMarkerSymbol = 210 + ScattersmithMarkerSymbol210 ScattersmithMarkerSymbol = "210" + ScattersmithMarkerSymbolTriangleSeDot ScattersmithMarkerSymbol = "triangle-se-dot" + ScattersmithMarkerSymbolNumber310 ScattersmithMarkerSymbol = 310 + ScattersmithMarkerSymbol310 ScattersmithMarkerSymbol = "310" + ScattersmithMarkerSymbolTriangleSeOpenDot ScattersmithMarkerSymbol = "triangle-se-open-dot" + ScattersmithMarkerSymbolNumber11 ScattersmithMarkerSymbol = 11 + ScattersmithMarkerSymbol11 ScattersmithMarkerSymbol = "11" + ScattersmithMarkerSymbolTriangleSw ScattersmithMarkerSymbol = "triangle-sw" + ScattersmithMarkerSymbolNumber111 ScattersmithMarkerSymbol = 111 + ScattersmithMarkerSymbol111 ScattersmithMarkerSymbol = "111" + ScattersmithMarkerSymbolTriangleSwOpen ScattersmithMarkerSymbol = "triangle-sw-open" + ScattersmithMarkerSymbolNumber211 ScattersmithMarkerSymbol = 211 + ScattersmithMarkerSymbol211 ScattersmithMarkerSymbol = "211" + ScattersmithMarkerSymbolTriangleSwDot ScattersmithMarkerSymbol = "triangle-sw-dot" + ScattersmithMarkerSymbolNumber311 ScattersmithMarkerSymbol = 311 + ScattersmithMarkerSymbol311 ScattersmithMarkerSymbol = "311" + ScattersmithMarkerSymbolTriangleSwOpenDot ScattersmithMarkerSymbol = "triangle-sw-open-dot" + ScattersmithMarkerSymbolNumber12 ScattersmithMarkerSymbol = 12 + ScattersmithMarkerSymbol12 ScattersmithMarkerSymbol = "12" + ScattersmithMarkerSymbolTriangleNw ScattersmithMarkerSymbol = "triangle-nw" + ScattersmithMarkerSymbolNumber112 ScattersmithMarkerSymbol = 112 + ScattersmithMarkerSymbol112 ScattersmithMarkerSymbol = "112" + ScattersmithMarkerSymbolTriangleNwOpen ScattersmithMarkerSymbol = "triangle-nw-open" + ScattersmithMarkerSymbolNumber212 ScattersmithMarkerSymbol = 212 + ScattersmithMarkerSymbol212 ScattersmithMarkerSymbol = "212" + ScattersmithMarkerSymbolTriangleNwDot ScattersmithMarkerSymbol = "triangle-nw-dot" + ScattersmithMarkerSymbolNumber312 ScattersmithMarkerSymbol = 312 + ScattersmithMarkerSymbol312 ScattersmithMarkerSymbol = "312" + ScattersmithMarkerSymbolTriangleNwOpenDot ScattersmithMarkerSymbol = "triangle-nw-open-dot" + ScattersmithMarkerSymbolNumber13 ScattersmithMarkerSymbol = 13 + ScattersmithMarkerSymbol13 ScattersmithMarkerSymbol = "13" + ScattersmithMarkerSymbolPentagon ScattersmithMarkerSymbol = "pentagon" + ScattersmithMarkerSymbolNumber113 ScattersmithMarkerSymbol = 113 + ScattersmithMarkerSymbol113 ScattersmithMarkerSymbol = "113" + ScattersmithMarkerSymbolPentagonOpen ScattersmithMarkerSymbol = "pentagon-open" + ScattersmithMarkerSymbolNumber213 ScattersmithMarkerSymbol = 213 + ScattersmithMarkerSymbol213 ScattersmithMarkerSymbol = "213" + ScattersmithMarkerSymbolPentagonDot ScattersmithMarkerSymbol = "pentagon-dot" + ScattersmithMarkerSymbolNumber313 ScattersmithMarkerSymbol = 313 + ScattersmithMarkerSymbol313 ScattersmithMarkerSymbol = "313" + ScattersmithMarkerSymbolPentagonOpenDot ScattersmithMarkerSymbol = "pentagon-open-dot" + ScattersmithMarkerSymbolNumber14 ScattersmithMarkerSymbol = 14 + ScattersmithMarkerSymbol14 ScattersmithMarkerSymbol = "14" + ScattersmithMarkerSymbolHexagon ScattersmithMarkerSymbol = "hexagon" + ScattersmithMarkerSymbolNumber114 ScattersmithMarkerSymbol = 114 + ScattersmithMarkerSymbol114 ScattersmithMarkerSymbol = "114" + ScattersmithMarkerSymbolHexagonOpen ScattersmithMarkerSymbol = "hexagon-open" + ScattersmithMarkerSymbolNumber214 ScattersmithMarkerSymbol = 214 + ScattersmithMarkerSymbol214 ScattersmithMarkerSymbol = "214" + ScattersmithMarkerSymbolHexagonDot ScattersmithMarkerSymbol = "hexagon-dot" + ScattersmithMarkerSymbolNumber314 ScattersmithMarkerSymbol = 314 + ScattersmithMarkerSymbol314 ScattersmithMarkerSymbol = "314" + ScattersmithMarkerSymbolHexagonOpenDot ScattersmithMarkerSymbol = "hexagon-open-dot" + ScattersmithMarkerSymbolNumber15 ScattersmithMarkerSymbol = 15 + ScattersmithMarkerSymbol15 ScattersmithMarkerSymbol = "15" + ScattersmithMarkerSymbolHexagon2 ScattersmithMarkerSymbol = "hexagon2" + ScattersmithMarkerSymbolNumber115 ScattersmithMarkerSymbol = 115 + ScattersmithMarkerSymbol115 ScattersmithMarkerSymbol = "115" + ScattersmithMarkerSymbolHexagon2Open ScattersmithMarkerSymbol = "hexagon2-open" + ScattersmithMarkerSymbolNumber215 ScattersmithMarkerSymbol = 215 + ScattersmithMarkerSymbol215 ScattersmithMarkerSymbol = "215" + ScattersmithMarkerSymbolHexagon2Dot ScattersmithMarkerSymbol = "hexagon2-dot" + ScattersmithMarkerSymbolNumber315 ScattersmithMarkerSymbol = 315 + ScattersmithMarkerSymbol315 ScattersmithMarkerSymbol = "315" + ScattersmithMarkerSymbolHexagon2OpenDot ScattersmithMarkerSymbol = "hexagon2-open-dot" + ScattersmithMarkerSymbolNumber16 ScattersmithMarkerSymbol = 16 + ScattersmithMarkerSymbol16 ScattersmithMarkerSymbol = "16" + ScattersmithMarkerSymbolOctagon ScattersmithMarkerSymbol = "octagon" + ScattersmithMarkerSymbolNumber116 ScattersmithMarkerSymbol = 116 + ScattersmithMarkerSymbol116 ScattersmithMarkerSymbol = "116" + ScattersmithMarkerSymbolOctagonOpen ScattersmithMarkerSymbol = "octagon-open" + ScattersmithMarkerSymbolNumber216 ScattersmithMarkerSymbol = 216 + ScattersmithMarkerSymbol216 ScattersmithMarkerSymbol = "216" + ScattersmithMarkerSymbolOctagonDot ScattersmithMarkerSymbol = "octagon-dot" + ScattersmithMarkerSymbolNumber316 ScattersmithMarkerSymbol = 316 + ScattersmithMarkerSymbol316 ScattersmithMarkerSymbol = "316" + ScattersmithMarkerSymbolOctagonOpenDot ScattersmithMarkerSymbol = "octagon-open-dot" + ScattersmithMarkerSymbolNumber17 ScattersmithMarkerSymbol = 17 + ScattersmithMarkerSymbol17 ScattersmithMarkerSymbol = "17" + ScattersmithMarkerSymbolStar ScattersmithMarkerSymbol = "star" + ScattersmithMarkerSymbolNumber117 ScattersmithMarkerSymbol = 117 + ScattersmithMarkerSymbol117 ScattersmithMarkerSymbol = "117" + ScattersmithMarkerSymbolStarOpen ScattersmithMarkerSymbol = "star-open" + ScattersmithMarkerSymbolNumber217 ScattersmithMarkerSymbol = 217 + ScattersmithMarkerSymbol217 ScattersmithMarkerSymbol = "217" + ScattersmithMarkerSymbolStarDot ScattersmithMarkerSymbol = "star-dot" + ScattersmithMarkerSymbolNumber317 ScattersmithMarkerSymbol = 317 + ScattersmithMarkerSymbol317 ScattersmithMarkerSymbol = "317" + ScattersmithMarkerSymbolStarOpenDot ScattersmithMarkerSymbol = "star-open-dot" + ScattersmithMarkerSymbolNumber18 ScattersmithMarkerSymbol = 18 + ScattersmithMarkerSymbol18 ScattersmithMarkerSymbol = "18" + ScattersmithMarkerSymbolHexagram ScattersmithMarkerSymbol = "hexagram" + ScattersmithMarkerSymbolNumber118 ScattersmithMarkerSymbol = 118 + ScattersmithMarkerSymbol118 ScattersmithMarkerSymbol = "118" + ScattersmithMarkerSymbolHexagramOpen ScattersmithMarkerSymbol = "hexagram-open" + ScattersmithMarkerSymbolNumber218 ScattersmithMarkerSymbol = 218 + ScattersmithMarkerSymbol218 ScattersmithMarkerSymbol = "218" + ScattersmithMarkerSymbolHexagramDot ScattersmithMarkerSymbol = "hexagram-dot" + ScattersmithMarkerSymbolNumber318 ScattersmithMarkerSymbol = 318 + ScattersmithMarkerSymbol318 ScattersmithMarkerSymbol = "318" + ScattersmithMarkerSymbolHexagramOpenDot ScattersmithMarkerSymbol = "hexagram-open-dot" + ScattersmithMarkerSymbolNumber19 ScattersmithMarkerSymbol = 19 + ScattersmithMarkerSymbol19 ScattersmithMarkerSymbol = "19" + ScattersmithMarkerSymbolStarTriangleUp ScattersmithMarkerSymbol = "star-triangle-up" + ScattersmithMarkerSymbolNumber119 ScattersmithMarkerSymbol = 119 + ScattersmithMarkerSymbol119 ScattersmithMarkerSymbol = "119" + ScattersmithMarkerSymbolStarTriangleUpOpen ScattersmithMarkerSymbol = "star-triangle-up-open" + ScattersmithMarkerSymbolNumber219 ScattersmithMarkerSymbol = 219 + ScattersmithMarkerSymbol219 ScattersmithMarkerSymbol = "219" + ScattersmithMarkerSymbolStarTriangleUpDot ScattersmithMarkerSymbol = "star-triangle-up-dot" + ScattersmithMarkerSymbolNumber319 ScattersmithMarkerSymbol = 319 + ScattersmithMarkerSymbol319 ScattersmithMarkerSymbol = "319" + ScattersmithMarkerSymbolStarTriangleUpOpenDot ScattersmithMarkerSymbol = "star-triangle-up-open-dot" + ScattersmithMarkerSymbolNumber20 ScattersmithMarkerSymbol = 20 + ScattersmithMarkerSymbol20 ScattersmithMarkerSymbol = "20" + ScattersmithMarkerSymbolStarTriangleDown ScattersmithMarkerSymbol = "star-triangle-down" + ScattersmithMarkerSymbolNumber120 ScattersmithMarkerSymbol = 120 + ScattersmithMarkerSymbol120 ScattersmithMarkerSymbol = "120" + ScattersmithMarkerSymbolStarTriangleDownOpen ScattersmithMarkerSymbol = "star-triangle-down-open" + ScattersmithMarkerSymbolNumber220 ScattersmithMarkerSymbol = 220 + ScattersmithMarkerSymbol220 ScattersmithMarkerSymbol = "220" + ScattersmithMarkerSymbolStarTriangleDownDot ScattersmithMarkerSymbol = "star-triangle-down-dot" + ScattersmithMarkerSymbolNumber320 ScattersmithMarkerSymbol = 320 + ScattersmithMarkerSymbol320 ScattersmithMarkerSymbol = "320" + ScattersmithMarkerSymbolStarTriangleDownOpenDot ScattersmithMarkerSymbol = "star-triangle-down-open-dot" + ScattersmithMarkerSymbolNumber21 ScattersmithMarkerSymbol = 21 + ScattersmithMarkerSymbol21 ScattersmithMarkerSymbol = "21" + ScattersmithMarkerSymbolStarSquare ScattersmithMarkerSymbol = "star-square" + ScattersmithMarkerSymbolNumber121 ScattersmithMarkerSymbol = 121 + ScattersmithMarkerSymbol121 ScattersmithMarkerSymbol = "121" + ScattersmithMarkerSymbolStarSquareOpen ScattersmithMarkerSymbol = "star-square-open" + ScattersmithMarkerSymbolNumber221 ScattersmithMarkerSymbol = 221 + ScattersmithMarkerSymbol221 ScattersmithMarkerSymbol = "221" + ScattersmithMarkerSymbolStarSquareDot ScattersmithMarkerSymbol = "star-square-dot" + ScattersmithMarkerSymbolNumber321 ScattersmithMarkerSymbol = 321 + ScattersmithMarkerSymbol321 ScattersmithMarkerSymbol = "321" + ScattersmithMarkerSymbolStarSquareOpenDot ScattersmithMarkerSymbol = "star-square-open-dot" + ScattersmithMarkerSymbolNumber22 ScattersmithMarkerSymbol = 22 + ScattersmithMarkerSymbol22 ScattersmithMarkerSymbol = "22" + ScattersmithMarkerSymbolStarDiamond ScattersmithMarkerSymbol = "star-diamond" + ScattersmithMarkerSymbolNumber122 ScattersmithMarkerSymbol = 122 + ScattersmithMarkerSymbol122 ScattersmithMarkerSymbol = "122" + ScattersmithMarkerSymbolStarDiamondOpen ScattersmithMarkerSymbol = "star-diamond-open" + ScattersmithMarkerSymbolNumber222 ScattersmithMarkerSymbol = 222 + ScattersmithMarkerSymbol222 ScattersmithMarkerSymbol = "222" + ScattersmithMarkerSymbolStarDiamondDot ScattersmithMarkerSymbol = "star-diamond-dot" + ScattersmithMarkerSymbolNumber322 ScattersmithMarkerSymbol = 322 + ScattersmithMarkerSymbol322 ScattersmithMarkerSymbol = "322" + ScattersmithMarkerSymbolStarDiamondOpenDot ScattersmithMarkerSymbol = "star-diamond-open-dot" + ScattersmithMarkerSymbolNumber23 ScattersmithMarkerSymbol = 23 + ScattersmithMarkerSymbol23 ScattersmithMarkerSymbol = "23" + ScattersmithMarkerSymbolDiamondTall ScattersmithMarkerSymbol = "diamond-tall" + ScattersmithMarkerSymbolNumber123 ScattersmithMarkerSymbol = 123 + ScattersmithMarkerSymbol123 ScattersmithMarkerSymbol = "123" + ScattersmithMarkerSymbolDiamondTallOpen ScattersmithMarkerSymbol = "diamond-tall-open" + ScattersmithMarkerSymbolNumber223 ScattersmithMarkerSymbol = 223 + ScattersmithMarkerSymbol223 ScattersmithMarkerSymbol = "223" + ScattersmithMarkerSymbolDiamondTallDot ScattersmithMarkerSymbol = "diamond-tall-dot" + ScattersmithMarkerSymbolNumber323 ScattersmithMarkerSymbol = 323 + ScattersmithMarkerSymbol323 ScattersmithMarkerSymbol = "323" + ScattersmithMarkerSymbolDiamondTallOpenDot ScattersmithMarkerSymbol = "diamond-tall-open-dot" + ScattersmithMarkerSymbolNumber24 ScattersmithMarkerSymbol = 24 + ScattersmithMarkerSymbol24 ScattersmithMarkerSymbol = "24" + ScattersmithMarkerSymbolDiamondWide ScattersmithMarkerSymbol = "diamond-wide" + ScattersmithMarkerSymbolNumber124 ScattersmithMarkerSymbol = 124 + ScattersmithMarkerSymbol124 ScattersmithMarkerSymbol = "124" + ScattersmithMarkerSymbolDiamondWideOpen ScattersmithMarkerSymbol = "diamond-wide-open" + ScattersmithMarkerSymbolNumber224 ScattersmithMarkerSymbol = 224 + ScattersmithMarkerSymbol224 ScattersmithMarkerSymbol = "224" + ScattersmithMarkerSymbolDiamondWideDot ScattersmithMarkerSymbol = "diamond-wide-dot" + ScattersmithMarkerSymbolNumber324 ScattersmithMarkerSymbol = 324 + ScattersmithMarkerSymbol324 ScattersmithMarkerSymbol = "324" + ScattersmithMarkerSymbolDiamondWideOpenDot ScattersmithMarkerSymbol = "diamond-wide-open-dot" + ScattersmithMarkerSymbolNumber25 ScattersmithMarkerSymbol = 25 + ScattersmithMarkerSymbol25 ScattersmithMarkerSymbol = "25" + ScattersmithMarkerSymbolHourglass ScattersmithMarkerSymbol = "hourglass" + ScattersmithMarkerSymbolNumber125 ScattersmithMarkerSymbol = 125 + ScattersmithMarkerSymbol125 ScattersmithMarkerSymbol = "125" + ScattersmithMarkerSymbolHourglassOpen ScattersmithMarkerSymbol = "hourglass-open" + ScattersmithMarkerSymbolNumber26 ScattersmithMarkerSymbol = 26 + ScattersmithMarkerSymbol26 ScattersmithMarkerSymbol = "26" + ScattersmithMarkerSymbolBowtie ScattersmithMarkerSymbol = "bowtie" + ScattersmithMarkerSymbolNumber126 ScattersmithMarkerSymbol = 126 + ScattersmithMarkerSymbol126 ScattersmithMarkerSymbol = "126" + ScattersmithMarkerSymbolBowtieOpen ScattersmithMarkerSymbol = "bowtie-open" + ScattersmithMarkerSymbolNumber27 ScattersmithMarkerSymbol = 27 + ScattersmithMarkerSymbol27 ScattersmithMarkerSymbol = "27" + ScattersmithMarkerSymbolCircleCross ScattersmithMarkerSymbol = "circle-cross" + ScattersmithMarkerSymbolNumber127 ScattersmithMarkerSymbol = 127 + ScattersmithMarkerSymbol127 ScattersmithMarkerSymbol = "127" + ScattersmithMarkerSymbolCircleCrossOpen ScattersmithMarkerSymbol = "circle-cross-open" + ScattersmithMarkerSymbolNumber28 ScattersmithMarkerSymbol = 28 + ScattersmithMarkerSymbol28 ScattersmithMarkerSymbol = "28" + ScattersmithMarkerSymbolCircleX ScattersmithMarkerSymbol = "circle-x" + ScattersmithMarkerSymbolNumber128 ScattersmithMarkerSymbol = 128 + ScattersmithMarkerSymbol128 ScattersmithMarkerSymbol = "128" + ScattersmithMarkerSymbolCircleXOpen ScattersmithMarkerSymbol = "circle-x-open" + ScattersmithMarkerSymbolNumber29 ScattersmithMarkerSymbol = 29 + ScattersmithMarkerSymbol29 ScattersmithMarkerSymbol = "29" + ScattersmithMarkerSymbolSquareCross ScattersmithMarkerSymbol = "square-cross" + ScattersmithMarkerSymbolNumber129 ScattersmithMarkerSymbol = 129 + ScattersmithMarkerSymbol129 ScattersmithMarkerSymbol = "129" + ScattersmithMarkerSymbolSquareCrossOpen ScattersmithMarkerSymbol = "square-cross-open" + ScattersmithMarkerSymbolNumber30 ScattersmithMarkerSymbol = 30 + ScattersmithMarkerSymbol30 ScattersmithMarkerSymbol = "30" + ScattersmithMarkerSymbolSquareX ScattersmithMarkerSymbol = "square-x" + ScattersmithMarkerSymbolNumber130 ScattersmithMarkerSymbol = 130 + ScattersmithMarkerSymbol130 ScattersmithMarkerSymbol = "130" + ScattersmithMarkerSymbolSquareXOpen ScattersmithMarkerSymbol = "square-x-open" + ScattersmithMarkerSymbolNumber31 ScattersmithMarkerSymbol = 31 + ScattersmithMarkerSymbol31 ScattersmithMarkerSymbol = "31" + ScattersmithMarkerSymbolDiamondCross ScattersmithMarkerSymbol = "diamond-cross" + ScattersmithMarkerSymbolNumber131 ScattersmithMarkerSymbol = 131 + ScattersmithMarkerSymbol131 ScattersmithMarkerSymbol = "131" + ScattersmithMarkerSymbolDiamondCrossOpen ScattersmithMarkerSymbol = "diamond-cross-open" + ScattersmithMarkerSymbolNumber32 ScattersmithMarkerSymbol = 32 + ScattersmithMarkerSymbol32 ScattersmithMarkerSymbol = "32" + ScattersmithMarkerSymbolDiamondX ScattersmithMarkerSymbol = "diamond-x" + ScattersmithMarkerSymbolNumber132 ScattersmithMarkerSymbol = 132 + ScattersmithMarkerSymbol132 ScattersmithMarkerSymbol = "132" + ScattersmithMarkerSymbolDiamondXOpen ScattersmithMarkerSymbol = "diamond-x-open" + ScattersmithMarkerSymbolNumber33 ScattersmithMarkerSymbol = 33 + ScattersmithMarkerSymbol33 ScattersmithMarkerSymbol = "33" + ScattersmithMarkerSymbolCrossThin ScattersmithMarkerSymbol = "cross-thin" + ScattersmithMarkerSymbolNumber133 ScattersmithMarkerSymbol = 133 + ScattersmithMarkerSymbol133 ScattersmithMarkerSymbol = "133" + ScattersmithMarkerSymbolCrossThinOpen ScattersmithMarkerSymbol = "cross-thin-open" + ScattersmithMarkerSymbolNumber34 ScattersmithMarkerSymbol = 34 + ScattersmithMarkerSymbol34 ScattersmithMarkerSymbol = "34" + ScattersmithMarkerSymbolXThin ScattersmithMarkerSymbol = "x-thin" + ScattersmithMarkerSymbolNumber134 ScattersmithMarkerSymbol = 134 + ScattersmithMarkerSymbol134 ScattersmithMarkerSymbol = "134" + ScattersmithMarkerSymbolXThinOpen ScattersmithMarkerSymbol = "x-thin-open" + ScattersmithMarkerSymbolNumber35 ScattersmithMarkerSymbol = 35 + ScattersmithMarkerSymbol35 ScattersmithMarkerSymbol = "35" + ScattersmithMarkerSymbolAsterisk ScattersmithMarkerSymbol = "asterisk" + ScattersmithMarkerSymbolNumber135 ScattersmithMarkerSymbol = 135 + ScattersmithMarkerSymbol135 ScattersmithMarkerSymbol = "135" + ScattersmithMarkerSymbolAsteriskOpen ScattersmithMarkerSymbol = "asterisk-open" + ScattersmithMarkerSymbolNumber36 ScattersmithMarkerSymbol = 36 + ScattersmithMarkerSymbol36 ScattersmithMarkerSymbol = "36" + ScattersmithMarkerSymbolHash ScattersmithMarkerSymbol = "hash" + ScattersmithMarkerSymbolNumber136 ScattersmithMarkerSymbol = 136 + ScattersmithMarkerSymbol136 ScattersmithMarkerSymbol = "136" + ScattersmithMarkerSymbolHashOpen ScattersmithMarkerSymbol = "hash-open" + ScattersmithMarkerSymbolNumber236 ScattersmithMarkerSymbol = 236 + ScattersmithMarkerSymbol236 ScattersmithMarkerSymbol = "236" + ScattersmithMarkerSymbolHashDot ScattersmithMarkerSymbol = "hash-dot" + ScattersmithMarkerSymbolNumber336 ScattersmithMarkerSymbol = 336 + ScattersmithMarkerSymbol336 ScattersmithMarkerSymbol = "336" + ScattersmithMarkerSymbolHashOpenDot ScattersmithMarkerSymbol = "hash-open-dot" + ScattersmithMarkerSymbolNumber37 ScattersmithMarkerSymbol = 37 + ScattersmithMarkerSymbol37 ScattersmithMarkerSymbol = "37" + ScattersmithMarkerSymbolYUp ScattersmithMarkerSymbol = "y-up" + ScattersmithMarkerSymbolNumber137 ScattersmithMarkerSymbol = 137 + ScattersmithMarkerSymbol137 ScattersmithMarkerSymbol = "137" + ScattersmithMarkerSymbolYUpOpen ScattersmithMarkerSymbol = "y-up-open" + ScattersmithMarkerSymbolNumber38 ScattersmithMarkerSymbol = 38 + ScattersmithMarkerSymbol38 ScattersmithMarkerSymbol = "38" + ScattersmithMarkerSymbolYDown ScattersmithMarkerSymbol = "y-down" + ScattersmithMarkerSymbolNumber138 ScattersmithMarkerSymbol = 138 + ScattersmithMarkerSymbol138 ScattersmithMarkerSymbol = "138" + ScattersmithMarkerSymbolYDownOpen ScattersmithMarkerSymbol = "y-down-open" + ScattersmithMarkerSymbolNumber39 ScattersmithMarkerSymbol = 39 + ScattersmithMarkerSymbol39 ScattersmithMarkerSymbol = "39" + ScattersmithMarkerSymbolYLeft ScattersmithMarkerSymbol = "y-left" + ScattersmithMarkerSymbolNumber139 ScattersmithMarkerSymbol = 139 + ScattersmithMarkerSymbol139 ScattersmithMarkerSymbol = "139" + ScattersmithMarkerSymbolYLeftOpen ScattersmithMarkerSymbol = "y-left-open" + ScattersmithMarkerSymbolNumber40 ScattersmithMarkerSymbol = 40 + ScattersmithMarkerSymbol40 ScattersmithMarkerSymbol = "40" + ScattersmithMarkerSymbolYRight ScattersmithMarkerSymbol = "y-right" + ScattersmithMarkerSymbolNumber140 ScattersmithMarkerSymbol = 140 + ScattersmithMarkerSymbol140 ScattersmithMarkerSymbol = "140" + ScattersmithMarkerSymbolYRightOpen ScattersmithMarkerSymbol = "y-right-open" + ScattersmithMarkerSymbolNumber41 ScattersmithMarkerSymbol = 41 + ScattersmithMarkerSymbol41 ScattersmithMarkerSymbol = "41" + ScattersmithMarkerSymbolLineEw ScattersmithMarkerSymbol = "line-ew" + ScattersmithMarkerSymbolNumber141 ScattersmithMarkerSymbol = 141 + ScattersmithMarkerSymbol141 ScattersmithMarkerSymbol = "141" + ScattersmithMarkerSymbolLineEwOpen ScattersmithMarkerSymbol = "line-ew-open" + ScattersmithMarkerSymbolNumber42 ScattersmithMarkerSymbol = 42 + ScattersmithMarkerSymbol42 ScattersmithMarkerSymbol = "42" + ScattersmithMarkerSymbolLineNs ScattersmithMarkerSymbol = "line-ns" + ScattersmithMarkerSymbolNumber142 ScattersmithMarkerSymbol = 142 + ScattersmithMarkerSymbol142 ScattersmithMarkerSymbol = "142" + ScattersmithMarkerSymbolLineNsOpen ScattersmithMarkerSymbol = "line-ns-open" + ScattersmithMarkerSymbolNumber43 ScattersmithMarkerSymbol = 43 + ScattersmithMarkerSymbol43 ScattersmithMarkerSymbol = "43" + ScattersmithMarkerSymbolLineNe ScattersmithMarkerSymbol = "line-ne" + ScattersmithMarkerSymbolNumber143 ScattersmithMarkerSymbol = 143 + ScattersmithMarkerSymbol143 ScattersmithMarkerSymbol = "143" + ScattersmithMarkerSymbolLineNeOpen ScattersmithMarkerSymbol = "line-ne-open" + ScattersmithMarkerSymbolNumber44 ScattersmithMarkerSymbol = 44 + ScattersmithMarkerSymbol44 ScattersmithMarkerSymbol = "44" + ScattersmithMarkerSymbolLineNw ScattersmithMarkerSymbol = "line-nw" + ScattersmithMarkerSymbolNumber144 ScattersmithMarkerSymbol = 144 + ScattersmithMarkerSymbol144 ScattersmithMarkerSymbol = "144" + ScattersmithMarkerSymbolLineNwOpen ScattersmithMarkerSymbol = "line-nw-open" + ScattersmithMarkerSymbolNumber45 ScattersmithMarkerSymbol = 45 + ScattersmithMarkerSymbol45 ScattersmithMarkerSymbol = "45" + ScattersmithMarkerSymbolArrowUp ScattersmithMarkerSymbol = "arrow-up" + ScattersmithMarkerSymbolNumber145 ScattersmithMarkerSymbol = 145 + ScattersmithMarkerSymbol145 ScattersmithMarkerSymbol = "145" + ScattersmithMarkerSymbolArrowUpOpen ScattersmithMarkerSymbol = "arrow-up-open" + ScattersmithMarkerSymbolNumber46 ScattersmithMarkerSymbol = 46 + ScattersmithMarkerSymbol46 ScattersmithMarkerSymbol = "46" + ScattersmithMarkerSymbolArrowDown ScattersmithMarkerSymbol = "arrow-down" + ScattersmithMarkerSymbolNumber146 ScattersmithMarkerSymbol = 146 + ScattersmithMarkerSymbol146 ScattersmithMarkerSymbol = "146" + ScattersmithMarkerSymbolArrowDownOpen ScattersmithMarkerSymbol = "arrow-down-open" + ScattersmithMarkerSymbolNumber47 ScattersmithMarkerSymbol = 47 + ScattersmithMarkerSymbol47 ScattersmithMarkerSymbol = "47" + ScattersmithMarkerSymbolArrowLeft ScattersmithMarkerSymbol = "arrow-left" + ScattersmithMarkerSymbolNumber147 ScattersmithMarkerSymbol = 147 + ScattersmithMarkerSymbol147 ScattersmithMarkerSymbol = "147" + ScattersmithMarkerSymbolArrowLeftOpen ScattersmithMarkerSymbol = "arrow-left-open" + ScattersmithMarkerSymbolNumber48 ScattersmithMarkerSymbol = 48 + ScattersmithMarkerSymbol48 ScattersmithMarkerSymbol = "48" + ScattersmithMarkerSymbolArrowRight ScattersmithMarkerSymbol = "arrow-right" + ScattersmithMarkerSymbolNumber148 ScattersmithMarkerSymbol = 148 + ScattersmithMarkerSymbol148 ScattersmithMarkerSymbol = "148" + ScattersmithMarkerSymbolArrowRightOpen ScattersmithMarkerSymbol = "arrow-right-open" + ScattersmithMarkerSymbolNumber49 ScattersmithMarkerSymbol = 49 + ScattersmithMarkerSymbol49 ScattersmithMarkerSymbol = "49" + ScattersmithMarkerSymbolArrowBarUp ScattersmithMarkerSymbol = "arrow-bar-up" + ScattersmithMarkerSymbolNumber149 ScattersmithMarkerSymbol = 149 + ScattersmithMarkerSymbol149 ScattersmithMarkerSymbol = "149" + ScattersmithMarkerSymbolArrowBarUpOpen ScattersmithMarkerSymbol = "arrow-bar-up-open" + ScattersmithMarkerSymbolNumber50 ScattersmithMarkerSymbol = 50 + ScattersmithMarkerSymbol50 ScattersmithMarkerSymbol = "50" + ScattersmithMarkerSymbolArrowBarDown ScattersmithMarkerSymbol = "arrow-bar-down" + ScattersmithMarkerSymbolNumber150 ScattersmithMarkerSymbol = 150 + ScattersmithMarkerSymbol150 ScattersmithMarkerSymbol = "150" + ScattersmithMarkerSymbolArrowBarDownOpen ScattersmithMarkerSymbol = "arrow-bar-down-open" + ScattersmithMarkerSymbolNumber51 ScattersmithMarkerSymbol = 51 + ScattersmithMarkerSymbol51 ScattersmithMarkerSymbol = "51" + ScattersmithMarkerSymbolArrowBarLeft ScattersmithMarkerSymbol = "arrow-bar-left" + ScattersmithMarkerSymbolNumber151 ScattersmithMarkerSymbol = 151 + ScattersmithMarkerSymbol151 ScattersmithMarkerSymbol = "151" + ScattersmithMarkerSymbolArrowBarLeftOpen ScattersmithMarkerSymbol = "arrow-bar-left-open" + ScattersmithMarkerSymbolNumber52 ScattersmithMarkerSymbol = 52 + ScattersmithMarkerSymbol52 ScattersmithMarkerSymbol = "52" + ScattersmithMarkerSymbolArrowBarRight ScattersmithMarkerSymbol = "arrow-bar-right" + ScattersmithMarkerSymbolNumber152 ScattersmithMarkerSymbol = 152 + ScattersmithMarkerSymbol152 ScattersmithMarkerSymbol = "152" + ScattersmithMarkerSymbolArrowBarRightOpen ScattersmithMarkerSymbol = "arrow-bar-right-open" + ScattersmithMarkerSymbolNumber53 ScattersmithMarkerSymbol = 53 + ScattersmithMarkerSymbol53 ScattersmithMarkerSymbol = "53" + ScattersmithMarkerSymbolArrow ScattersmithMarkerSymbol = "arrow" + ScattersmithMarkerSymbolNumber153 ScattersmithMarkerSymbol = 153 + ScattersmithMarkerSymbol153 ScattersmithMarkerSymbol = "153" + ScattersmithMarkerSymbolArrowOpen ScattersmithMarkerSymbol = "arrow-open" + ScattersmithMarkerSymbolNumber54 ScattersmithMarkerSymbol = 54 + ScattersmithMarkerSymbol54 ScattersmithMarkerSymbol = "54" + ScattersmithMarkerSymbolArrowWide ScattersmithMarkerSymbol = "arrow-wide" + ScattersmithMarkerSymbolNumber154 ScattersmithMarkerSymbol = 154 + ScattersmithMarkerSymbol154 ScattersmithMarkerSymbol = "154" + ScattersmithMarkerSymbolArrowWideOpen ScattersmithMarkerSymbol = "arrow-wide-open" +) + +// ScattersmithTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. +type ScattersmithTextposition string + +const ( + ScattersmithTextpositionTopLeft ScattersmithTextposition = "top left" + ScattersmithTextpositionTopCenter ScattersmithTextposition = "top center" + ScattersmithTextpositionTopRight ScattersmithTextposition = "top right" + ScattersmithTextpositionMiddleLeft ScattersmithTextposition = "middle left" + ScattersmithTextpositionMiddleCenter ScattersmithTextposition = "middle center" + ScattersmithTextpositionMiddleRight ScattersmithTextposition = "middle right" + ScattersmithTextpositionBottomLeft ScattersmithTextposition = "bottom left" + ScattersmithTextpositionBottomCenter ScattersmithTextposition = "bottom center" + ScattersmithTextpositionBottomRight ScattersmithTextposition = "bottom right" +) + +// ScattersmithVisible 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). +type ScattersmithVisible interface{} + +var ( + ScattersmithVisibleTrue ScattersmithVisible = true + ScattersmithVisibleFalse ScattersmithVisible = false + ScattersmithVisibleLegendonly ScattersmithVisible = "legendonly" +) + +// ScattersmithHoverinfo 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. +type ScattersmithHoverinfo string + +const ( + // Flags + ScattersmithHoverinfoReal ScattersmithHoverinfo = "real" + ScattersmithHoverinfoImag ScattersmithHoverinfo = "imag" + ScattersmithHoverinfoText ScattersmithHoverinfo = "text" + ScattersmithHoverinfoName ScattersmithHoverinfo = "name" + + // Extra + ScattersmithHoverinfoAll ScattersmithHoverinfo = "all" + ScattersmithHoverinfoNone ScattersmithHoverinfo = "none" + ScattersmithHoverinfoSkip ScattersmithHoverinfo = "skip" +) + +// ScattersmithHoveron 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*. +type ScattersmithHoveron string + +const ( + // Flags + ScattersmithHoveronPoints ScattersmithHoveron = "points" + ScattersmithHoveronFills ScattersmithHoveron = "fills" + + // Extra + +) + +// ScattersmithMode 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*. +type ScattersmithMode string + +const ( + // Flags + ScattersmithModeLines ScattersmithMode = "lines" + ScattersmithModeMarkers ScattersmithMode = "markers" + ScattersmithModeText ScattersmithMode = "text" + + // Extra + ScattersmithModeNone ScattersmithMode = "none" +) diff --git a/graph_objects/scatterternary_gen.go b/generated/v2.19.0/graph_objects/scatterternary_gen.go similarity index 84% rename from graph_objects/scatterternary_gen.go rename to generated/v2.19.0/graph_objects/scatterternary_gen.go index 2bd435d..8aaf063 100644 --- a/graph_objects/scatterternary_gen.go +++ b/generated/v2.19.0/graph_objects/scatterternary_gen.go @@ -24,7 +24,7 @@ type Scatterternary struct { // Asrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for a . + // Sets the source reference on Chart Studio Cloud for `a`. Asrc String `json:"asrc,omitempty"` // B @@ -36,7 +36,7 @@ type Scatterternary struct { // Bsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for b . + // Sets the source reference on Chart Studio Cloud for `b`. Bsrc String `json:"bsrc,omitempty"` // C @@ -60,7 +60,7 @@ type Scatterternary struct { // Csrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for c . + // Sets the source reference on Chart Studio Cloud for `c`. Csrc String `json:"csrc,omitempty"` // Customdata @@ -72,7 +72,7 @@ type Scatterternary struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Fill @@ -96,7 +96,7 @@ type Scatterternary struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -112,13 +112,13 @@ type Scatterternary struct { // Hovertemplate // arrayOK: true // 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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + // 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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. Hovertemplate String `json:"hovertemplate,omitempty"` // Hovertemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertemplate . + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` // Hovertext @@ -130,7 +130,7 @@ type Scatterternary struct { // Hovertextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertext . + // Sets the source reference on Chart Studio Cloud for `hovertext`. Hovertextsrc String `json:"hovertextsrc,omitempty"` // Ids @@ -142,7 +142,7 @@ type Scatterternary struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` // Legendgroup @@ -151,6 +151,22 @@ type Scatterternary struct { // Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items. Legendgroup String `json:"legendgroup,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *ScatterternaryLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Line // role: Object Line *ScatterternaryLine `json:"line,omitempty"` @@ -168,7 +184,7 @@ type Scatterternary struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Mode @@ -240,25 +256,25 @@ type Scatterternary struct { // Textpositionsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for textposition . + // Sets the source reference on Chart Studio Cloud for `textposition`. Textpositionsrc String `json:"textpositionsrc,omitempty"` // Textsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for text . + // Sets the source reference on Chart Studio Cloud for `text`. Textsrc String `json:"textsrc,omitempty"` // Texttemplate // arrayOK: true // 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-3.x-api-reference/blob/master/Formatting.md#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#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. variables `a`, `b`, `c` and `text`. + // 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. variables `a`, `b`, `c` and `text`. Texttemplate String `json:"texttemplate,omitempty"` // Texttemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for texttemplate . + // Sets the source reference on Chart Studio Cloud for `texttemplate`. Texttemplatesrc String `json:"texttemplatesrc,omitempty"` // Transforms @@ -302,7 +318,7 @@ type ScatterternaryHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -314,7 +330,7 @@ type ScatterternaryHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -326,7 +342,7 @@ type ScatterternaryHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -342,7 +358,7 @@ type ScatterternaryHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -354,7 +370,7 @@ type ScatterternaryHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -366,7 +382,7 @@ type ScatterternaryHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -382,13 +398,61 @@ type ScatterternaryHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } +// ScatterternaryLegendgrouptitleFont Sets this legend group's title font. +type ScatterternaryLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScatterternaryLegendgrouptitle +type ScatterternaryLegendgrouptitle struct { + + // Font + // role: Object + Font *ScatterternaryLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // ScatterternaryLine type ScatterternaryLine struct { + // Backoff + // arrayOK: true + // type: number + // 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*. + Backoff float64 `json:"backoff,omitempty"` + + // Backoffsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `backoff`. + Backoffsrc String `json:"backoffsrc,omitempty"` + // Color // arrayOK: false // type: color @@ -472,9 +536,9 @@ type ScatterternaryMarkerColorbarTitle struct { Font *ScatterternaryMarkerColorbarTitleFont `json:"font,omitempty"` // Side - // default: top + // default: %!s() // type: enumerated - // Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. Side ScatterternaryMarkerColorbarTitleSide `json:"side,omitempty"` // Text @@ -517,6 +581,12 @@ type ScatterternaryMarkerColorbar struct { // 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. Exponentformat ScatterternaryMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Len // arrayOK: false // type: number @@ -541,6 +611,12 @@ type ScatterternaryMarkerColorbar struct { // 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*. Nticks int64 `json:"nticks,omitempty"` + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ScatterternaryMarkerColorbarOrientation `json:"orientation,omitempty"` + // Outlinecolor // arrayOK: false // type: color @@ -620,7 +696,7 @@ type ScatterternaryMarkerColorbar struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -629,12 +705,24 @@ type ScatterternaryMarkerColorbar struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ScatterternaryMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + // Ticklabelposition // default: outside // type: enumerated - // Determines where tick labels are drawn. + // 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*. Ticklabelposition ScatterternaryMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -674,7 +762,7 @@ type ScatterternaryMarkerColorbar struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -686,7 +774,7 @@ type ScatterternaryMarkerColorbar struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -702,13 +790,13 @@ type ScatterternaryMarkerColorbar struct { // X // arrayOK: false // type: number - // Sets the x position of the color bar (in plot fraction). + // Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. X float64 `json:"x,omitempty"` // Xanchor - // default: left + // default: %!s() // type: enumerated - // Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. + // 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*. Xanchor ScatterternaryMarkerColorbarXanchor `json:"xanchor,omitempty"` // Xpad @@ -720,13 +808,13 @@ type ScatterternaryMarkerColorbar struct { // Y // arrayOK: false // type: number - // Sets the y position of the color bar (in plot fraction). + // Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. Y float64 `json:"y,omitempty"` // Yanchor - // default: middle + // default: %!s() // type: enumerated - // Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. + // 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*. Yanchor ScatterternaryMarkerColorbarYanchor `json:"yanchor,omitempty"` // Ypad @@ -748,7 +836,7 @@ type ScatterternaryMarkerGradient struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Type @@ -760,7 +848,7 @@ type ScatterternaryMarkerGradient struct { // Typesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for type . + // Sets the source reference on Chart Studio Cloud for `type`. Typesrc String `json:"typesrc,omitempty"` } @@ -770,37 +858,37 @@ type ScatterternaryMarkerLine struct { // Autocolorscale // arrayOK: false // type: boolean - // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Cauto // arrayOK: false // type: boolean - // 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. + // 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. Cauto Bool `json:"cauto,omitempty"` // Cmax // arrayOK: false // 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. + // 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. Cmax float64 `json:"cmax,omitempty"` // Cmid // arrayOK: false // 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`. + // 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`. Cmid float64 `json:"cmid,omitempty"` // Cmin // arrayOK: false // 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. + // 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. Cmin float64 `json:"cmin,omitempty"` // Color // arrayOK: true // type: color - // Sets themarker.linecolor. 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. + // 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. Color Color `json:"color,omitempty"` // Coloraxis @@ -812,19 +900,19 @@ type ScatterternaryMarkerLine struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Reversescale // arrayOK: false // 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. + // 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. Reversescale Bool `json:"reversescale,omitempty"` // Width @@ -836,47 +924,65 @@ type ScatterternaryMarkerLine struct { // Widthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for width . + // Sets the source reference on Chart Studio Cloud for `width`. Widthsrc String `json:"widthsrc,omitempty"` } // ScatterternaryMarker type ScatterternaryMarker struct { + // Angle + // arrayOK: true + // type: angle + // Sets the marker angle in respect to `angleref`. + Angle float64 `json:"angle,omitempty"` + + // Angleref + // default: up + // type: enumerated + // 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. + Angleref ScatterternaryMarkerAngleref `json:"angleref,omitempty"` + + // Anglesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `angle`. + Anglesrc String `json:"anglesrc,omitempty"` + // Autocolorscale // arrayOK: false // type: boolean - // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Cauto // arrayOK: false // type: boolean - // 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. + // 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. Cauto Bool `json:"cauto,omitempty"` // Cmax // arrayOK: false // 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. + // 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. Cmax float64 `json:"cmax,omitempty"` // Cmid // arrayOK: false // 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`. + // 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`. Cmid float64 `json:"cmid,omitempty"` // Cmin // arrayOK: false // 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. + // 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. Cmin float64 `json:"cmin,omitempty"` // Color // arrayOK: true // type: color - // Sets themarkercolor. 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. + // 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. Color Color `json:"color,omitempty"` // Coloraxis @@ -892,13 +998,13 @@ type ScatterternaryMarker struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Gradient @@ -924,19 +1030,19 @@ type ScatterternaryMarker struct { // Opacitysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for opacity . + // Sets the source reference on Chart Studio Cloud for `opacity`. Opacitysrc String `json:"opacitysrc,omitempty"` // Reversescale // arrayOK: false // 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. + // 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. Reversescale Bool `json:"reversescale,omitempty"` // Showscale // arrayOK: false // 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. + // 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. Showscale Bool `json:"showscale,omitempty"` // Size @@ -966,9 +1072,21 @@ type ScatterternaryMarker struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` + // Standoff + // arrayOK: true + // type: number + // 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. + Standoff float64 `json:"standoff,omitempty"` + + // Standoffsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `standoff`. + Standoffsrc String `json:"standoffsrc,omitempty"` + // Symbol // default: circle // type: enumerated @@ -978,7 +1096,7 @@ type ScatterternaryMarker struct { // Symbolsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for symbol . + // Sets the source reference on Chart Studio Cloud for `symbol`. Symbolsrc String `json:"symbolsrc,omitempty"` } @@ -1054,7 +1172,7 @@ type ScatterternaryTextfont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -1066,7 +1184,7 @@ type ScatterternaryTextfont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -1078,7 +1196,7 @@ type ScatterternaryTextfont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -1152,6 +1270,14 @@ const ( ScatterternaryLineShapeSpline ScatterternaryLineShape = "spline" ) +// ScatterternaryMarkerAngleref 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. +type ScatterternaryMarkerAngleref string + +const ( + ScatterternaryMarkerAnglerefPrevious ScatterternaryMarkerAngleref = "previous" + ScatterternaryMarkerAnglerefUp ScatterternaryMarkerAngleref = "up" +) + // ScatterternaryMarkerColorbarExponentformat 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. type ScatterternaryMarkerColorbarExponentformat string @@ -1160,7 +1286,7 @@ const ( ScatterternaryMarkerColorbarExponentformatE1 ScatterternaryMarkerColorbarExponentformat = "e" ScatterternaryMarkerColorbarExponentformatE2 ScatterternaryMarkerColorbarExponentformat = "E" ScatterternaryMarkerColorbarExponentformatPower ScatterternaryMarkerColorbarExponentformat = "power" - ScatterternaryMarkerColorbarExponentformatSi ScatterternaryMarkerColorbarExponentformat = "SI" + ScatterternaryMarkerColorbarExponentformatSI ScatterternaryMarkerColorbarExponentformat = "SI" ScatterternaryMarkerColorbarExponentformatB ScatterternaryMarkerColorbarExponentformat = "B" ) @@ -1172,6 +1298,14 @@ const ( ScatterternaryMarkerColorbarLenmodePixels ScatterternaryMarkerColorbarLenmode = "pixels" ) +// ScatterternaryMarkerColorbarOrientation Sets the orientation of the colorbar. +type ScatterternaryMarkerColorbarOrientation string + +const ( + ScatterternaryMarkerColorbarOrientationH ScatterternaryMarkerColorbarOrientation = "h" + ScatterternaryMarkerColorbarOrientationV ScatterternaryMarkerColorbarOrientation = "v" +) + // ScatterternaryMarkerColorbarShowexponent 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. type ScatterternaryMarkerColorbarShowexponent string @@ -1210,7 +1344,16 @@ const ( ScatterternaryMarkerColorbarThicknessmodePixels ScatterternaryMarkerColorbarThicknessmode = "pixels" ) -// ScatterternaryMarkerColorbarTicklabelposition Determines where tick labels are drawn. +// ScatterternaryMarkerColorbarTicklabeloverflow 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*. +type ScatterternaryMarkerColorbarTicklabeloverflow string + +const ( + ScatterternaryMarkerColorbarTicklabeloverflowAllow ScatterternaryMarkerColorbarTicklabeloverflow = "allow" + ScatterternaryMarkerColorbarTicklabeloverflowHidePastDiv ScatterternaryMarkerColorbarTicklabeloverflow = "hide past div" + ScatterternaryMarkerColorbarTicklabeloverflowHidePastDomain ScatterternaryMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// ScatterternaryMarkerColorbarTicklabelposition 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*. type ScatterternaryMarkerColorbarTicklabelposition string const ( @@ -1218,6 +1361,10 @@ const ( ScatterternaryMarkerColorbarTicklabelpositionInside ScatterternaryMarkerColorbarTicklabelposition = "inside" ScatterternaryMarkerColorbarTicklabelpositionOutsideTop ScatterternaryMarkerColorbarTicklabelposition = "outside top" ScatterternaryMarkerColorbarTicklabelpositionInsideTop ScatterternaryMarkerColorbarTicklabelposition = "inside top" + ScatterternaryMarkerColorbarTicklabelpositionOutsideLeft ScatterternaryMarkerColorbarTicklabelposition = "outside left" + ScatterternaryMarkerColorbarTicklabelpositionInsideLeft ScatterternaryMarkerColorbarTicklabelposition = "inside left" + ScatterternaryMarkerColorbarTicklabelpositionOutsideRight ScatterternaryMarkerColorbarTicklabelposition = "outside right" + ScatterternaryMarkerColorbarTicklabelpositionInsideRight ScatterternaryMarkerColorbarTicklabelposition = "inside right" ScatterternaryMarkerColorbarTicklabelpositionOutsideBottom ScatterternaryMarkerColorbarTicklabelposition = "outside bottom" ScatterternaryMarkerColorbarTicklabelpositionInsideBottom ScatterternaryMarkerColorbarTicklabelposition = "inside bottom" ) @@ -1240,7 +1387,7 @@ const ( ScatterternaryMarkerColorbarTicksEmpty ScatterternaryMarkerColorbarTicks = "" ) -// ScatterternaryMarkerColorbarTitleSide Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. +// ScatterternaryMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. type ScatterternaryMarkerColorbarTitleSide string const ( @@ -1249,7 +1396,7 @@ const ( ScatterternaryMarkerColorbarTitleSideBottom ScatterternaryMarkerColorbarTitleSide = "bottom" ) -// ScatterternaryMarkerColorbarXanchor Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. +// ScatterternaryMarkerColorbarXanchor 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*. type ScatterternaryMarkerColorbarXanchor string const ( @@ -1258,7 +1405,7 @@ const ( ScatterternaryMarkerColorbarXanchorRight ScatterternaryMarkerColorbarXanchor = "right" ) -// ScatterternaryMarkerColorbarYanchor Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. +// ScatterternaryMarkerColorbarYanchor 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*. type ScatterternaryMarkerColorbarYanchor string const ( @@ -1763,6 +1910,18 @@ var ( ScatterternaryMarkerSymbolNumber152 ScatterternaryMarkerSymbol = 152 ScatterternaryMarkerSymbol152 ScatterternaryMarkerSymbol = "152" ScatterternaryMarkerSymbolArrowBarRightOpen ScatterternaryMarkerSymbol = "arrow-bar-right-open" + ScatterternaryMarkerSymbolNumber53 ScatterternaryMarkerSymbol = 53 + ScatterternaryMarkerSymbol53 ScatterternaryMarkerSymbol = "53" + ScatterternaryMarkerSymbolArrow ScatterternaryMarkerSymbol = "arrow" + ScatterternaryMarkerSymbolNumber153 ScatterternaryMarkerSymbol = 153 + ScatterternaryMarkerSymbol153 ScatterternaryMarkerSymbol = "153" + ScatterternaryMarkerSymbolArrowOpen ScatterternaryMarkerSymbol = "arrow-open" + ScatterternaryMarkerSymbolNumber54 ScatterternaryMarkerSymbol = 54 + ScatterternaryMarkerSymbol54 ScatterternaryMarkerSymbol = "54" + ScatterternaryMarkerSymbolArrowWide ScatterternaryMarkerSymbol = "arrow-wide" + ScatterternaryMarkerSymbolNumber154 ScatterternaryMarkerSymbol = 154 + ScatterternaryMarkerSymbol154 ScatterternaryMarkerSymbol = "154" + ScatterternaryMarkerSymbolArrowWideOpen ScatterternaryMarkerSymbol = "arrow-wide-open" ) // ScatterternaryTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. diff --git a/graph_objects/splom_gen.go b/generated/v2.19.0/graph_objects/splom_gen.go similarity index 82% rename from graph_objects/splom_gen.go rename to generated/v2.19.0/graph_objects/splom_gen.go index 4a70853..42223f2 100644 --- a/graph_objects/splom_gen.go +++ b/generated/v2.19.0/graph_objects/splom_gen.go @@ -24,7 +24,7 @@ type Splom struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Diagonal @@ -46,7 +46,7 @@ type Splom struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -56,13 +56,13 @@ type Splom struct { // Hovertemplate // arrayOK: true // 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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + // 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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. Hovertemplate String `json:"hovertemplate,omitempty"` // Hovertemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertemplate . + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` // Hovertext @@ -74,7 +74,7 @@ type Splom struct { // Hovertextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertext . + // Sets the source reference on Chart Studio Cloud for `hovertext`. Hovertextsrc String `json:"hovertextsrc,omitempty"` // Ids @@ -86,7 +86,7 @@ type Splom struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` // Legendgroup @@ -95,6 +95,22 @@ type Splom struct { // Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items. Legendgroup String `json:"legendgroup,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *SplomLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Marker // role: Object Marker *SplomMarker `json:"marker,omitempty"` @@ -108,7 +124,7 @@ type Splom struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Name @@ -164,7 +180,7 @@ type Splom struct { // Textsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for text . + // Sets the source reference on Chart Studio Cloud for `text`. Textsrc String `json:"textsrc,omitempty"` // Transforms @@ -201,11 +217,23 @@ type Splom struct { // 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. Xaxes interface{} `json:"xaxes,omitempty"` + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + // Yaxes // arrayOK: false // type: info_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. Yaxes interface{} `json:"yaxes,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` } // SplomDiagonal @@ -230,7 +258,7 @@ type SplomHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -242,7 +270,7 @@ type SplomHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -254,7 +282,7 @@ type SplomHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -270,7 +298,7 @@ type SplomHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -282,7 +310,7 @@ type SplomHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -294,7 +322,7 @@ type SplomHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -310,10 +338,46 @@ type SplomHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } +// SplomLegendgrouptitleFont Sets this legend group's title font. +type SplomLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// SplomLegendgrouptitle +type SplomLegendgrouptitle struct { + + // Font + // role: Object + Font *SplomLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // SplomMarkerColorbarTickfont Sets the color bar's tick label font type SplomMarkerColorbarTickfont struct { @@ -366,9 +430,9 @@ type SplomMarkerColorbarTitle struct { Font *SplomMarkerColorbarTitleFont `json:"font,omitempty"` // Side - // default: top + // default: %!s() // type: enumerated - // Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. Side SplomMarkerColorbarTitleSide `json:"side,omitempty"` // Text @@ -411,6 +475,12 @@ type SplomMarkerColorbar struct { // 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. Exponentformat SplomMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Len // arrayOK: false // type: number @@ -435,6 +505,12 @@ type SplomMarkerColorbar struct { // 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*. Nticks int64 `json:"nticks,omitempty"` + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation SplomMarkerColorbarOrientation `json:"orientation,omitempty"` + // Outlinecolor // arrayOK: false // type: color @@ -514,7 +590,7 @@ type SplomMarkerColorbar struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -523,12 +599,24 @@ type SplomMarkerColorbar struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow SplomMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + // Ticklabelposition // default: outside // type: enumerated - // Determines where tick labels are drawn. + // 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*. Ticklabelposition SplomMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -568,7 +656,7 @@ type SplomMarkerColorbar struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -580,7 +668,7 @@ type SplomMarkerColorbar struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -596,13 +684,13 @@ type SplomMarkerColorbar struct { // X // arrayOK: false // type: number - // Sets the x position of the color bar (in plot fraction). + // Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. X float64 `json:"x,omitempty"` // Xanchor - // default: left + // default: %!s() // type: enumerated - // Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. + // 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*. Xanchor SplomMarkerColorbarXanchor `json:"xanchor,omitempty"` // Xpad @@ -614,13 +702,13 @@ type SplomMarkerColorbar struct { // Y // arrayOK: false // type: number - // Sets the y position of the color bar (in plot fraction). + // Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. Y float64 `json:"y,omitempty"` // Yanchor - // default: middle + // default: %!s() // type: enumerated - // Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. + // 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*. Yanchor SplomMarkerColorbarYanchor `json:"yanchor,omitempty"` // Ypad @@ -636,37 +724,37 @@ type SplomMarkerLine struct { // Autocolorscale // arrayOK: false // type: boolean - // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Cauto // arrayOK: false // type: boolean - // 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. + // 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. Cauto Bool `json:"cauto,omitempty"` // Cmax // arrayOK: false // 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. + // 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. Cmax float64 `json:"cmax,omitempty"` // Cmid // arrayOK: false // 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`. + // 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`. Cmid float64 `json:"cmid,omitempty"` // Cmin // arrayOK: false // 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. + // 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. Cmin float64 `json:"cmin,omitempty"` // Color // arrayOK: true // type: color - // Sets themarker.linecolor. 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. + // 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. Color Color `json:"color,omitempty"` // Coloraxis @@ -678,19 +766,19 @@ type SplomMarkerLine struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Reversescale // arrayOK: false // 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. + // 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. Reversescale Bool `json:"reversescale,omitempty"` // Width @@ -702,47 +790,59 @@ type SplomMarkerLine struct { // Widthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for width . + // Sets the source reference on Chart Studio Cloud for `width`. Widthsrc String `json:"widthsrc,omitempty"` } // SplomMarker type SplomMarker struct { + // Angle + // arrayOK: true + // type: angle + // Sets the marker angle in respect to `angleref`. + Angle float64 `json:"angle,omitempty"` + + // Anglesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `angle`. + Anglesrc String `json:"anglesrc,omitempty"` + // Autocolorscale // arrayOK: false // type: boolean - // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Cauto // arrayOK: false // type: boolean - // 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. + // 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. Cauto Bool `json:"cauto,omitempty"` // Cmax // arrayOK: false // 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. + // 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. Cmax float64 `json:"cmax,omitempty"` // Cmid // arrayOK: false // 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`. + // 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`. Cmid float64 `json:"cmid,omitempty"` // Cmin // arrayOK: false // 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. + // 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. Cmin float64 `json:"cmin,omitempty"` // Color // arrayOK: true // type: color - // Sets themarkercolor. 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. + // 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. Color Color `json:"color,omitempty"` // Coloraxis @@ -758,13 +858,13 @@ type SplomMarker struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Line @@ -780,19 +880,19 @@ type SplomMarker struct { // Opacitysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for opacity . + // Sets the source reference on Chart Studio Cloud for `opacity`. Opacitysrc String `json:"opacitysrc,omitempty"` // Reversescale // arrayOK: false // 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. + // 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. Reversescale Bool `json:"reversescale,omitempty"` // Showscale // arrayOK: false // 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. + // 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. Showscale Bool `json:"showscale,omitempty"` // Size @@ -822,7 +922,7 @@ type SplomMarker struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` // Symbol @@ -834,7 +934,7 @@ type SplomMarker struct { // Symbolsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for symbol . + // Sets the source reference on Chart Studio Cloud for `symbol`. Symbolsrc String `json:"symbolsrc,omitempty"` } @@ -931,7 +1031,7 @@ const ( SplomMarkerColorbarExponentformatE1 SplomMarkerColorbarExponentformat = "e" SplomMarkerColorbarExponentformatE2 SplomMarkerColorbarExponentformat = "E" SplomMarkerColorbarExponentformatPower SplomMarkerColorbarExponentformat = "power" - SplomMarkerColorbarExponentformatSi SplomMarkerColorbarExponentformat = "SI" + SplomMarkerColorbarExponentformatSI SplomMarkerColorbarExponentformat = "SI" SplomMarkerColorbarExponentformatB SplomMarkerColorbarExponentformat = "B" ) @@ -943,6 +1043,14 @@ const ( SplomMarkerColorbarLenmodePixels SplomMarkerColorbarLenmode = "pixels" ) +// SplomMarkerColorbarOrientation Sets the orientation of the colorbar. +type SplomMarkerColorbarOrientation string + +const ( + SplomMarkerColorbarOrientationH SplomMarkerColorbarOrientation = "h" + SplomMarkerColorbarOrientationV SplomMarkerColorbarOrientation = "v" +) + // SplomMarkerColorbarShowexponent 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. type SplomMarkerColorbarShowexponent string @@ -981,7 +1089,16 @@ const ( SplomMarkerColorbarThicknessmodePixels SplomMarkerColorbarThicknessmode = "pixels" ) -// SplomMarkerColorbarTicklabelposition Determines where tick labels are drawn. +// SplomMarkerColorbarTicklabeloverflow 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*. +type SplomMarkerColorbarTicklabeloverflow string + +const ( + SplomMarkerColorbarTicklabeloverflowAllow SplomMarkerColorbarTicklabeloverflow = "allow" + SplomMarkerColorbarTicklabeloverflowHidePastDiv SplomMarkerColorbarTicklabeloverflow = "hide past div" + SplomMarkerColorbarTicklabeloverflowHidePastDomain SplomMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// SplomMarkerColorbarTicklabelposition 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*. type SplomMarkerColorbarTicklabelposition string const ( @@ -989,6 +1106,10 @@ const ( SplomMarkerColorbarTicklabelpositionInside SplomMarkerColorbarTicklabelposition = "inside" SplomMarkerColorbarTicklabelpositionOutsideTop SplomMarkerColorbarTicklabelposition = "outside top" SplomMarkerColorbarTicklabelpositionInsideTop SplomMarkerColorbarTicklabelposition = "inside top" + SplomMarkerColorbarTicklabelpositionOutsideLeft SplomMarkerColorbarTicklabelposition = "outside left" + SplomMarkerColorbarTicklabelpositionInsideLeft SplomMarkerColorbarTicklabelposition = "inside left" + SplomMarkerColorbarTicklabelpositionOutsideRight SplomMarkerColorbarTicklabelposition = "outside right" + SplomMarkerColorbarTicklabelpositionInsideRight SplomMarkerColorbarTicklabelposition = "inside right" SplomMarkerColorbarTicklabelpositionOutsideBottom SplomMarkerColorbarTicklabelposition = "outside bottom" SplomMarkerColorbarTicklabelpositionInsideBottom SplomMarkerColorbarTicklabelposition = "inside bottom" ) @@ -1011,7 +1132,7 @@ const ( SplomMarkerColorbarTicksEmpty SplomMarkerColorbarTicks = "" ) -// SplomMarkerColorbarTitleSide Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. +// SplomMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. type SplomMarkerColorbarTitleSide string const ( @@ -1020,7 +1141,7 @@ const ( SplomMarkerColorbarTitleSideBottom SplomMarkerColorbarTitleSide = "bottom" ) -// SplomMarkerColorbarXanchor Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. +// SplomMarkerColorbarXanchor 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*. type SplomMarkerColorbarXanchor string const ( @@ -1029,7 +1150,7 @@ const ( SplomMarkerColorbarXanchorRight SplomMarkerColorbarXanchor = "right" ) -// SplomMarkerColorbarYanchor Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. +// SplomMarkerColorbarYanchor 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*. type SplomMarkerColorbarYanchor string const ( @@ -1524,6 +1645,18 @@ var ( SplomMarkerSymbolNumber152 SplomMarkerSymbol = 152 SplomMarkerSymbol152 SplomMarkerSymbol = "152" SplomMarkerSymbolArrowBarRightOpen SplomMarkerSymbol = "arrow-bar-right-open" + SplomMarkerSymbolNumber53 SplomMarkerSymbol = 53 + SplomMarkerSymbol53 SplomMarkerSymbol = "53" + SplomMarkerSymbolArrow SplomMarkerSymbol = "arrow" + SplomMarkerSymbolNumber153 SplomMarkerSymbol = 153 + SplomMarkerSymbol153 SplomMarkerSymbol = "153" + SplomMarkerSymbolArrowOpen SplomMarkerSymbol = "arrow-open" + SplomMarkerSymbolNumber54 SplomMarkerSymbol = 54 + SplomMarkerSymbol54 SplomMarkerSymbol = "54" + SplomMarkerSymbolArrowWide SplomMarkerSymbol = "arrow-wide" + SplomMarkerSymbolNumber154 SplomMarkerSymbol = 154 + SplomMarkerSymbol154 SplomMarkerSymbol = "154" + SplomMarkerSymbolArrowWideOpen SplomMarkerSymbol = "arrow-wide-open" ) // SplomVisible 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). diff --git a/graph_objects/streamtube_gen.go b/generated/v2.19.0/graph_objects/streamtube_gen.go similarity index 74% rename from graph_objects/streamtube_gen.go rename to generated/v2.19.0/graph_objects/streamtube_gen.go index a10686d..46ec61a 100644 --- a/graph_objects/streamtube_gen.go +++ b/generated/v2.19.0/graph_objects/streamtube_gen.go @@ -18,13 +18,13 @@ type Streamtube struct { // Autocolorscale // arrayOK: false // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Cauto // arrayOK: false // type: boolean - // 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. + // 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. Cauto Bool `json:"cauto,omitempty"` // Cmax @@ -58,7 +58,7 @@ type Streamtube struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Customdata @@ -70,7 +70,7 @@ type Streamtube struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Hoverinfo @@ -82,7 +82,7 @@ type Streamtube struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -92,13 +92,13 @@ type Streamtube struct { // Hovertemplate // arrayOK: true // 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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `tubex`, `tubey`, `tubez`, `tubeu`, `tubev`, `tubew`, `norm` and `divergence`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + // 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 `tubex`, `tubey`, `tubez`, `tubeu`, `tubev`, `tubew`, `norm` and `divergence`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. Hovertemplate String `json:"hovertemplate,omitempty"` // Hovertemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertemplate . + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` // Hovertext @@ -116,7 +116,7 @@ type Streamtube struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` // Legendgroup @@ -125,6 +125,22 @@ type Streamtube struct { // Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items. Legendgroup String `json:"legendgroup,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *StreamtubeLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Lighting // role: Object Lighting *StreamtubeLighting `json:"lighting,omitempty"` @@ -148,7 +164,7 @@ type Streamtube struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Name @@ -213,6 +229,12 @@ type Streamtube struct { // Sets the x components of the vector field. U interface{} `json:"u,omitempty"` + // Uhoverformat + // arrayOK: false + // 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. + Uhoverformat String `json:"uhoverformat,omitempty"` + // Uid // arrayOK: false // type: string @@ -228,7 +250,7 @@ type Streamtube struct { // Usrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for u . + // Sets the source reference on Chart Studio Cloud for `u`. Usrc String `json:"usrc,omitempty"` // V @@ -237,6 +259,12 @@ type Streamtube struct { // Sets the y components of the vector field. V interface{} `json:"v,omitempty"` + // Vhoverformat + // arrayOK: false + // 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. + Vhoverformat String `json:"vhoverformat,omitempty"` + // Visible // default: %!s(bool=true) // type: enumerated @@ -246,7 +274,7 @@ type Streamtube struct { // Vsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for v . + // Sets the source reference on Chart Studio Cloud for `v`. Vsrc String `json:"vsrc,omitempty"` // W @@ -255,10 +283,16 @@ type Streamtube struct { // Sets the z components of the vector field. W interface{} `json:"w,omitempty"` + // Whoverformat + // arrayOK: false + // 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. + Whoverformat String `json:"whoverformat,omitempty"` + // Wsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for w . + // Sets the source reference on Chart Studio Cloud for `w`. Wsrc String `json:"wsrc,omitempty"` // X @@ -267,10 +301,16 @@ type Streamtube struct { // Sets the x coordinates of the vector field. X interface{} `json:"x,omitempty"` + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + // Xsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for x . + // Sets the source reference on Chart Studio Cloud for `x`. Xsrc String `json:"xsrc,omitempty"` // Y @@ -279,10 +319,16 @@ type Streamtube struct { // Sets the y coordinates of the vector field. Y interface{} `json:"y,omitempty"` + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + // Ysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for y . + // Sets the source reference on Chart Studio Cloud for `y`. Ysrc String `json:"ysrc,omitempty"` // Z @@ -291,10 +337,16 @@ type Streamtube struct { // Sets the z coordinates of the vector field. Z interface{} `json:"z,omitempty"` + // Zhoverformat + // arrayOK: false + // 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`. + Zhoverformat String `json:"zhoverformat,omitempty"` + // Zsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for z . + // Sets the source reference on Chart Studio Cloud for `z`. Zsrc String `json:"zsrc,omitempty"` } @@ -350,9 +402,9 @@ type StreamtubeColorbarTitle struct { Font *StreamtubeColorbarTitleFont `json:"font,omitempty"` // Side - // default: top + // default: %!s() // type: enumerated - // Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. Side StreamtubeColorbarTitleSide `json:"side,omitempty"` // Text @@ -395,6 +447,12 @@ type StreamtubeColorbar struct { // 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. Exponentformat StreamtubeColorbarExponentformat `json:"exponentformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Len // arrayOK: false // type: number @@ -419,6 +477,12 @@ type StreamtubeColorbar struct { // 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*. Nticks int64 `json:"nticks,omitempty"` + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation StreamtubeColorbarOrientation `json:"orientation,omitempty"` + // Outlinecolor // arrayOK: false // type: color @@ -498,7 +562,7 @@ type StreamtubeColorbar struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -507,12 +571,24 @@ type StreamtubeColorbar struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow StreamtubeColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + // Ticklabelposition // default: outside // type: enumerated - // Determines where tick labels are drawn. + // 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*. Ticklabelposition StreamtubeColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -552,7 +628,7 @@ type StreamtubeColorbar struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -564,7 +640,7 @@ type StreamtubeColorbar struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -580,13 +656,13 @@ type StreamtubeColorbar struct { // X // arrayOK: false // type: number - // Sets the x position of the color bar (in plot fraction). + // Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. X float64 `json:"x,omitempty"` // Xanchor - // default: left + // default: %!s() // type: enumerated - // Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. + // 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*. Xanchor StreamtubeColorbarXanchor `json:"xanchor,omitempty"` // Xpad @@ -598,13 +674,13 @@ type StreamtubeColorbar struct { // Y // arrayOK: false // type: number - // Sets the y position of the color bar (in plot fraction). + // Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. Y float64 `json:"y,omitempty"` // Yanchor - // default: middle + // default: %!s() // type: enumerated - // Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. + // 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*. Yanchor StreamtubeColorbarYanchor `json:"yanchor,omitempty"` // Ypad @@ -626,7 +702,7 @@ type StreamtubeHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -638,7 +714,7 @@ type StreamtubeHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -650,7 +726,7 @@ type StreamtubeHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -666,7 +742,7 @@ type StreamtubeHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -678,7 +754,7 @@ type StreamtubeHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -690,7 +766,7 @@ type StreamtubeHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -706,10 +782,46 @@ type StreamtubeHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } +// StreamtubeLegendgrouptitleFont Sets this legend group's title font. +type StreamtubeLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// StreamtubeLegendgrouptitle +type StreamtubeLegendgrouptitle struct { + + // Font + // role: Object + Font *StreamtubeLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // StreamtubeLighting type StreamtubeLighting struct { @@ -790,7 +902,7 @@ type StreamtubeStarts struct { // Xsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for x . + // Sets the source reference on Chart Studio Cloud for `x`. Xsrc String `json:"xsrc,omitempty"` // Y @@ -802,7 +914,7 @@ type StreamtubeStarts struct { // Ysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for y . + // Sets the source reference on Chart Studio Cloud for `y`. Ysrc String `json:"ysrc,omitempty"` // Z @@ -814,7 +926,7 @@ type StreamtubeStarts struct { // Zsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for z . + // Sets the source reference on Chart Studio Cloud for `z`. Zsrc String `json:"zsrc,omitempty"` } @@ -842,7 +954,7 @@ const ( StreamtubeColorbarExponentformatE1 StreamtubeColorbarExponentformat = "e" StreamtubeColorbarExponentformatE2 StreamtubeColorbarExponentformat = "E" StreamtubeColorbarExponentformatPower StreamtubeColorbarExponentformat = "power" - StreamtubeColorbarExponentformatSi StreamtubeColorbarExponentformat = "SI" + StreamtubeColorbarExponentformatSI StreamtubeColorbarExponentformat = "SI" StreamtubeColorbarExponentformatB StreamtubeColorbarExponentformat = "B" ) @@ -854,6 +966,14 @@ const ( StreamtubeColorbarLenmodePixels StreamtubeColorbarLenmode = "pixels" ) +// StreamtubeColorbarOrientation Sets the orientation of the colorbar. +type StreamtubeColorbarOrientation string + +const ( + StreamtubeColorbarOrientationH StreamtubeColorbarOrientation = "h" + StreamtubeColorbarOrientationV StreamtubeColorbarOrientation = "v" +) + // StreamtubeColorbarShowexponent 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. type StreamtubeColorbarShowexponent string @@ -892,7 +1012,16 @@ const ( StreamtubeColorbarThicknessmodePixels StreamtubeColorbarThicknessmode = "pixels" ) -// StreamtubeColorbarTicklabelposition Determines where tick labels are drawn. +// StreamtubeColorbarTicklabeloverflow 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*. +type StreamtubeColorbarTicklabeloverflow string + +const ( + StreamtubeColorbarTicklabeloverflowAllow StreamtubeColorbarTicklabeloverflow = "allow" + StreamtubeColorbarTicklabeloverflowHidePastDiv StreamtubeColorbarTicklabeloverflow = "hide past div" + StreamtubeColorbarTicklabeloverflowHidePastDomain StreamtubeColorbarTicklabeloverflow = "hide past domain" +) + +// StreamtubeColorbarTicklabelposition 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*. type StreamtubeColorbarTicklabelposition string const ( @@ -900,6 +1029,10 @@ const ( StreamtubeColorbarTicklabelpositionInside StreamtubeColorbarTicklabelposition = "inside" StreamtubeColorbarTicklabelpositionOutsideTop StreamtubeColorbarTicklabelposition = "outside top" StreamtubeColorbarTicklabelpositionInsideTop StreamtubeColorbarTicklabelposition = "inside top" + StreamtubeColorbarTicklabelpositionOutsideLeft StreamtubeColorbarTicklabelposition = "outside left" + StreamtubeColorbarTicklabelpositionInsideLeft StreamtubeColorbarTicklabelposition = "inside left" + StreamtubeColorbarTicklabelpositionOutsideRight StreamtubeColorbarTicklabelposition = "outside right" + StreamtubeColorbarTicklabelpositionInsideRight StreamtubeColorbarTicklabelposition = "inside right" StreamtubeColorbarTicklabelpositionOutsideBottom StreamtubeColorbarTicklabelposition = "outside bottom" StreamtubeColorbarTicklabelpositionInsideBottom StreamtubeColorbarTicklabelposition = "inside bottom" ) @@ -922,7 +1055,7 @@ const ( StreamtubeColorbarTicksEmpty StreamtubeColorbarTicks = "" ) -// StreamtubeColorbarTitleSide Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. +// StreamtubeColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. type StreamtubeColorbarTitleSide string const ( @@ -931,7 +1064,7 @@ const ( StreamtubeColorbarTitleSideBottom StreamtubeColorbarTitleSide = "bottom" ) -// StreamtubeColorbarXanchor Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. +// StreamtubeColorbarXanchor 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*. type StreamtubeColorbarXanchor string const ( @@ -940,7 +1073,7 @@ const ( StreamtubeColorbarXanchorRight StreamtubeColorbarXanchor = "right" ) -// StreamtubeColorbarYanchor Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. +// StreamtubeColorbarYanchor 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*. type StreamtubeColorbarYanchor string const ( diff --git a/graph_objects/sunburst_gen.go b/generated/v2.19.0/graph_objects/sunburst_gen.go similarity index 78% rename from graph_objects/sunburst_gen.go rename to generated/v2.19.0/graph_objects/sunburst_gen.go index 3bf6b0c..f0baf10 100644 --- a/graph_objects/sunburst_gen.go +++ b/generated/v2.19.0/graph_objects/sunburst_gen.go @@ -36,7 +36,7 @@ type Sunburst struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Domain @@ -52,7 +52,7 @@ type Sunburst struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -62,13 +62,13 @@ type Sunburst struct { // Hovertemplate // arrayOK: true // 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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry` and `percentParent`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + // 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 `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry` and `percentParent`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. Hovertemplate String `json:"hovertemplate,omitempty"` // Hovertemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertemplate . + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` // Hovertext @@ -80,7 +80,7 @@ type Sunburst struct { // Hovertextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertext . + // Sets the source reference on Chart Studio Cloud for `hovertext`. Hovertextsrc String `json:"hovertextsrc,omitempty"` // Ids @@ -92,7 +92,7 @@ type Sunburst struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` // Insidetextfont @@ -114,13 +114,29 @@ type Sunburst struct { // Labelssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for labels . + // Sets the source reference on Chart Studio Cloud for `labels`. Labelssrc String `json:"labelssrc,omitempty"` // Leaf // role: Object Leaf *SunburstLeaf `json:"leaf,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *SunburstLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Level // arrayOK: false // type: any @@ -146,7 +162,7 @@ type Sunburst struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Name @@ -174,7 +190,7 @@ type Sunburst struct { // Parentssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for parents . + // Sets the source reference on Chart Studio Cloud for `parents`. Parentssrc String `json:"parentssrc,omitempty"` // Root @@ -216,19 +232,19 @@ type Sunburst struct { // Textsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for text . + // Sets the source reference on Chart Studio Cloud for `text`. Textsrc String `json:"textsrc,omitempty"` // Texttemplate // arrayOK: true // 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-3.x-api-reference/blob/master/Formatting.md#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#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. variables `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry`, `percentParent`, `label` and `value`. + // 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. variables `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry`, `percentParent`, `label` and `value`. Texttemplate String `json:"texttemplate,omitempty"` // Texttemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for texttemplate . + // Sets the source reference on Chart Studio Cloud for `texttemplate`. Texttemplatesrc String `json:"texttemplatesrc,omitempty"` // Transforms @@ -258,7 +274,7 @@ type Sunburst struct { // Valuessrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for values . + // Sets the source reference on Chart Studio Cloud for `values`. Valuessrc String `json:"valuessrc,omitempty"` // Visible @@ -308,7 +324,7 @@ type SunburstHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -320,7 +336,7 @@ type SunburstHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -332,7 +348,7 @@ type SunburstHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -348,7 +364,7 @@ type SunburstHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -360,7 +376,7 @@ type SunburstHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -372,7 +388,7 @@ type SunburstHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -388,7 +404,7 @@ type SunburstHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } @@ -404,7 +420,7 @@ type SunburstInsidetextfont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -416,7 +432,7 @@ type SunburstInsidetextfont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -428,7 +444,7 @@ type SunburstInsidetextfont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -442,6 +458,42 @@ type SunburstLeaf struct { Opacity float64 `json:"opacity,omitempty"` } +// SunburstLegendgrouptitleFont Sets this legend group's title font. +type SunburstLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// SunburstLegendgrouptitle +type SunburstLegendgrouptitle struct { + + // Font + // role: Object + Font *SunburstLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // SunburstMarkerColorbarTickfont Sets the color bar's tick label font type SunburstMarkerColorbarTickfont struct { @@ -494,9 +546,9 @@ type SunburstMarkerColorbarTitle struct { Font *SunburstMarkerColorbarTitleFont `json:"font,omitempty"` // Side - // default: top + // default: %!s() // type: enumerated - // Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. Side SunburstMarkerColorbarTitleSide `json:"side,omitempty"` // Text @@ -539,6 +591,12 @@ type SunburstMarkerColorbar struct { // 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. Exponentformat SunburstMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Len // arrayOK: false // type: number @@ -563,6 +621,12 @@ type SunburstMarkerColorbar struct { // 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*. Nticks int64 `json:"nticks,omitempty"` + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation SunburstMarkerColorbarOrientation `json:"orientation,omitempty"` + // Outlinecolor // arrayOK: false // type: color @@ -642,7 +706,7 @@ type SunburstMarkerColorbar struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -651,12 +715,24 @@ type SunburstMarkerColorbar struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow SunburstMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + // Ticklabelposition // default: outside // type: enumerated - // Determines where tick labels are drawn. + // 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*. Ticklabelposition SunburstMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -696,7 +772,7 @@ type SunburstMarkerColorbar struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -708,7 +784,7 @@ type SunburstMarkerColorbar struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -724,13 +800,13 @@ type SunburstMarkerColorbar struct { // X // arrayOK: false // type: number - // Sets the x position of the color bar (in plot fraction). + // Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. X float64 `json:"x,omitempty"` // Xanchor - // default: left + // default: %!s() // type: enumerated - // Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. + // 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*. Xanchor SunburstMarkerColorbarXanchor `json:"xanchor,omitempty"` // Xpad @@ -742,13 +818,13 @@ type SunburstMarkerColorbar struct { // Y // arrayOK: false // type: number - // Sets the y position of the color bar (in plot fraction). + // Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. Y float64 `json:"y,omitempty"` // Yanchor - // default: middle + // default: %!s() // type: enumerated - // Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. + // 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*. Yanchor SunburstMarkerColorbarYanchor `json:"yanchor,omitempty"` // Ypad @@ -770,7 +846,7 @@ type SunburstMarkerLine struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Width @@ -782,7 +858,7 @@ type SunburstMarkerLine struct { // Widthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for width . + // Sets the source reference on Chart Studio Cloud for `width`. Widthsrc String `json:"widthsrc,omitempty"` } @@ -792,31 +868,31 @@ type SunburstMarker struct { // Autocolorscale // arrayOK: false // type: boolean - // Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if colorsis 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Cauto // arrayOK: false // type: boolean - // 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 colorsis set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user. + // 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. Cauto Bool `json:"cauto,omitempty"` // Cmax // arrayOK: false // type: number - // Sets the upper bound of the color domain. Has an effect only if colorsis set to a numerical array. Value should have the same units as colors and if set, `marker.cmin` must be set as well. + // 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. Cmax float64 `json:"cmax,omitempty"` // Cmid // arrayOK: false // 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 colorsis set to a numerical array. Value should have the same units as colors. Has no effect when `marker.cauto` is `false`. + // 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`. Cmid float64 `json:"cmid,omitempty"` // Cmin // arrayOK: false // type: number - // Sets the lower bound of the color domain. Has an effect only if colorsis set to a numerical array. Value should have the same units as colors and if set, `marker.cmax` must be set as well. + // 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. Cmin float64 `json:"cmin,omitempty"` // Coloraxis @@ -838,13 +914,13 @@ type SunburstMarker struct { // Colorscale // default: %!s() // type: colorscale - // Sets the colorscale. Has an effect only if colorsis 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Colorssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for colors . + // Sets the source reference on Chart Studio Cloud for `colors`. Colorssrc String `json:"colorssrc,omitempty"` // Line @@ -854,13 +930,13 @@ type SunburstMarker struct { // Reversescale // arrayOK: false // type: boolean - // Reverses the color mapping if true. Has an effect only if colorsis 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. + // 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. Reversescale Bool `json:"reversescale,omitempty"` // Showscale // arrayOK: false // type: boolean - // Determines whether or not a colorbar is displayed for this trace. Has an effect only if colorsis set to a numerical array. + // Determines whether or not a colorbar is displayed for this trace. Has an effect only if colors is set to a numerical array. Showscale Bool `json:"showscale,omitempty"` } @@ -876,7 +952,7 @@ type SunburstOutsidetextfont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -888,7 +964,7 @@ type SunburstOutsidetextfont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -900,7 +976,7 @@ type SunburstOutsidetextfont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -910,7 +986,7 @@ type SunburstRoot struct { // Color // arrayOK: false // type: color - // sets the color of the root node for a sunburst or a treemap trace. this has no effect when a colorscale is used to set the markers. + // 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. Color Color `json:"color,omitempty"` } @@ -942,7 +1018,7 @@ type SunburstTextfont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -954,7 +1030,7 @@ type SunburstTextfont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -966,7 +1042,7 @@ type SunburstTextfont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -1005,7 +1081,7 @@ const ( SunburstMarkerColorbarExponentformatE1 SunburstMarkerColorbarExponentformat = "e" SunburstMarkerColorbarExponentformatE2 SunburstMarkerColorbarExponentformat = "E" SunburstMarkerColorbarExponentformatPower SunburstMarkerColorbarExponentformat = "power" - SunburstMarkerColorbarExponentformatSi SunburstMarkerColorbarExponentformat = "SI" + SunburstMarkerColorbarExponentformatSI SunburstMarkerColorbarExponentformat = "SI" SunburstMarkerColorbarExponentformatB SunburstMarkerColorbarExponentformat = "B" ) @@ -1017,6 +1093,14 @@ const ( SunburstMarkerColorbarLenmodePixels SunburstMarkerColorbarLenmode = "pixels" ) +// SunburstMarkerColorbarOrientation Sets the orientation of the colorbar. +type SunburstMarkerColorbarOrientation string + +const ( + SunburstMarkerColorbarOrientationH SunburstMarkerColorbarOrientation = "h" + SunburstMarkerColorbarOrientationV SunburstMarkerColorbarOrientation = "v" +) + // SunburstMarkerColorbarShowexponent 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. type SunburstMarkerColorbarShowexponent string @@ -1055,7 +1139,16 @@ const ( SunburstMarkerColorbarThicknessmodePixels SunburstMarkerColorbarThicknessmode = "pixels" ) -// SunburstMarkerColorbarTicklabelposition Determines where tick labels are drawn. +// SunburstMarkerColorbarTicklabeloverflow 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*. +type SunburstMarkerColorbarTicklabeloverflow string + +const ( + SunburstMarkerColorbarTicklabeloverflowAllow SunburstMarkerColorbarTicklabeloverflow = "allow" + SunburstMarkerColorbarTicklabeloverflowHidePastDiv SunburstMarkerColorbarTicklabeloverflow = "hide past div" + SunburstMarkerColorbarTicklabeloverflowHidePastDomain SunburstMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// SunburstMarkerColorbarTicklabelposition 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*. type SunburstMarkerColorbarTicklabelposition string const ( @@ -1063,6 +1156,10 @@ const ( SunburstMarkerColorbarTicklabelpositionInside SunburstMarkerColorbarTicklabelposition = "inside" SunburstMarkerColorbarTicklabelpositionOutsideTop SunburstMarkerColorbarTicklabelposition = "outside top" SunburstMarkerColorbarTicklabelpositionInsideTop SunburstMarkerColorbarTicklabelposition = "inside top" + SunburstMarkerColorbarTicklabelpositionOutsideLeft SunburstMarkerColorbarTicklabelposition = "outside left" + SunburstMarkerColorbarTicklabelpositionInsideLeft SunburstMarkerColorbarTicklabelposition = "inside left" + SunburstMarkerColorbarTicklabelpositionOutsideRight SunburstMarkerColorbarTicklabelposition = "outside right" + SunburstMarkerColorbarTicklabelpositionInsideRight SunburstMarkerColorbarTicklabelposition = "inside right" SunburstMarkerColorbarTicklabelpositionOutsideBottom SunburstMarkerColorbarTicklabelposition = "outside bottom" SunburstMarkerColorbarTicklabelpositionInsideBottom SunburstMarkerColorbarTicklabelposition = "inside bottom" ) @@ -1085,7 +1182,7 @@ const ( SunburstMarkerColorbarTicksEmpty SunburstMarkerColorbarTicks = "" ) -// SunburstMarkerColorbarTitleSide Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. +// SunburstMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. type SunburstMarkerColorbarTitleSide string const ( @@ -1094,7 +1191,7 @@ const ( SunburstMarkerColorbarTitleSideBottom SunburstMarkerColorbarTitleSide = "bottom" ) -// SunburstMarkerColorbarXanchor Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. +// SunburstMarkerColorbarXanchor 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*. type SunburstMarkerColorbarXanchor string const ( @@ -1103,7 +1200,7 @@ const ( SunburstMarkerColorbarXanchorRight SunburstMarkerColorbarXanchor = "right" ) -// SunburstMarkerColorbarYanchor Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. +// SunburstMarkerColorbarYanchor 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*. type SunburstMarkerColorbarYanchor string const ( diff --git a/graph_objects/surface_gen.go b/generated/v2.19.0/graph_objects/surface_gen.go similarity index 80% rename from graph_objects/surface_gen.go rename to generated/v2.19.0/graph_objects/surface_gen.go index d5fdfbe..a7f4dcb 100644 --- a/graph_objects/surface_gen.go +++ b/generated/v2.19.0/graph_objects/surface_gen.go @@ -18,13 +18,13 @@ type Surface struct { // Autocolorscale // arrayOK: false // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Cauto // arrayOK: false // type: boolean - // 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. + // 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. Cauto Bool `json:"cauto,omitempty"` // Cmax @@ -58,7 +58,7 @@ type Surface struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Connectgaps @@ -80,7 +80,7 @@ type Surface struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Hidesurface @@ -98,7 +98,7 @@ type Surface struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -108,13 +108,13 @@ type Surface struct { // Hovertemplate // arrayOK: true // 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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + // 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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. Hovertemplate String `json:"hovertemplate,omitempty"` // Hovertemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertemplate . + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` // Hovertext @@ -126,7 +126,7 @@ type Surface struct { // Hovertextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertext . + // Sets the source reference on Chart Studio Cloud for `hovertext`. Hovertextsrc String `json:"hovertextsrc,omitempty"` // Ids @@ -138,7 +138,7 @@ type Surface struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` // Legendgroup @@ -147,6 +147,22 @@ type Surface struct { // Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items. Legendgroup String `json:"legendgroup,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *SurfaceLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Lighting // role: Object Lighting *SurfaceLighting `json:"lighting,omitempty"` @@ -164,7 +180,7 @@ type Surface struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Name @@ -222,7 +238,7 @@ type Surface struct { // Surfacecolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for surfacecolor . + // Sets the source reference on Chart Studio Cloud for `surfacecolor`. Surfacecolorsrc String `json:"surfacecolorsrc,omitempty"` // Text @@ -234,7 +250,7 @@ type Surface struct { // Textsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for text . + // Sets the source reference on Chart Studio Cloud for `text`. Textsrc String `json:"textsrc,omitempty"` // Uid @@ -267,10 +283,16 @@ type Surface struct { // Sets the calendar system to use with `x` date data. Xcalendar SurfaceXcalendar `json:"xcalendar,omitempty"` + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + // Xsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for x . + // Sets the source reference on Chart Studio Cloud for `x`. Xsrc String `json:"xsrc,omitempty"` // Y @@ -285,10 +307,16 @@ type Surface struct { // Sets the calendar system to use with `y` date data. Ycalendar SurfaceYcalendar `json:"ycalendar,omitempty"` + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + // Ysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for y . + // Sets the source reference on Chart Studio Cloud for `y`. Ysrc String `json:"ysrc,omitempty"` // Z @@ -303,10 +331,16 @@ type Surface struct { // Sets the calendar system to use with `z` date data. Zcalendar SurfaceZcalendar `json:"zcalendar,omitempty"` + // Zhoverformat + // arrayOK: false + // 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`. + Zhoverformat String `json:"zhoverformat,omitempty"` + // Zsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for z . + // Sets the source reference on Chart Studio Cloud for `z`. Zsrc String `json:"zsrc,omitempty"` } @@ -362,9 +396,9 @@ type SurfaceColorbarTitle struct { Font *SurfaceColorbarTitleFont `json:"font,omitempty"` // Side - // default: top + // default: %!s() // type: enumerated - // Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. Side SurfaceColorbarTitleSide `json:"side,omitempty"` // Text @@ -407,6 +441,12 @@ type SurfaceColorbar struct { // 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. Exponentformat SurfaceColorbarExponentformat `json:"exponentformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Len // arrayOK: false // type: number @@ -431,6 +471,12 @@ type SurfaceColorbar struct { // 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*. Nticks int64 `json:"nticks,omitempty"` + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation SurfaceColorbarOrientation `json:"orientation,omitempty"` + // Outlinecolor // arrayOK: false // type: color @@ -510,7 +556,7 @@ type SurfaceColorbar struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -519,12 +565,24 @@ type SurfaceColorbar struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow SurfaceColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + // Ticklabelposition // default: outside // type: enumerated - // Determines where tick labels are drawn. + // 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*. Ticklabelposition SurfaceColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -564,7 +622,7 @@ type SurfaceColorbar struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -576,7 +634,7 @@ type SurfaceColorbar struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -592,13 +650,13 @@ type SurfaceColorbar struct { // X // arrayOK: false // type: number - // Sets the x position of the color bar (in plot fraction). + // Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. X float64 `json:"x,omitempty"` // Xanchor - // default: left + // default: %!s() // type: enumerated - // Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. + // 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*. Xanchor SurfaceColorbarXanchor `json:"xanchor,omitempty"` // Xpad @@ -610,13 +668,13 @@ type SurfaceColorbar struct { // Y // arrayOK: false // type: number - // Sets the y position of the color bar (in plot fraction). + // Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. Y float64 `json:"y,omitempty"` // Yanchor - // default: middle + // default: %!s() // type: enumerated - // Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. + // 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*. Yanchor SurfaceColorbarYanchor `json:"yanchor,omitempty"` // Ypad @@ -924,7 +982,7 @@ type SurfaceHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -936,7 +994,7 @@ type SurfaceHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -948,7 +1006,7 @@ type SurfaceHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -964,7 +1022,7 @@ type SurfaceHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -976,7 +1034,7 @@ type SurfaceHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -988,7 +1046,7 @@ type SurfaceHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -1004,10 +1062,46 @@ type SurfaceHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } +// SurfaceLegendgrouptitleFont Sets this legend group's title font. +type SurfaceLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// SurfaceLegendgrouptitle +type SurfaceLegendgrouptitle struct { + + // Font + // role: Object + Font *SurfaceLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // SurfaceLighting type SurfaceLighting struct { @@ -1088,7 +1182,7 @@ const ( SurfaceColorbarExponentformatE1 SurfaceColorbarExponentformat = "e" SurfaceColorbarExponentformatE2 SurfaceColorbarExponentformat = "E" SurfaceColorbarExponentformatPower SurfaceColorbarExponentformat = "power" - SurfaceColorbarExponentformatSi SurfaceColorbarExponentformat = "SI" + SurfaceColorbarExponentformatSI SurfaceColorbarExponentformat = "SI" SurfaceColorbarExponentformatB SurfaceColorbarExponentformat = "B" ) @@ -1100,6 +1194,14 @@ const ( SurfaceColorbarLenmodePixels SurfaceColorbarLenmode = "pixels" ) +// SurfaceColorbarOrientation Sets the orientation of the colorbar. +type SurfaceColorbarOrientation string + +const ( + SurfaceColorbarOrientationH SurfaceColorbarOrientation = "h" + SurfaceColorbarOrientationV SurfaceColorbarOrientation = "v" +) + // SurfaceColorbarShowexponent 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. type SurfaceColorbarShowexponent string @@ -1138,7 +1240,16 @@ const ( SurfaceColorbarThicknessmodePixels SurfaceColorbarThicknessmode = "pixels" ) -// SurfaceColorbarTicklabelposition Determines where tick labels are drawn. +// SurfaceColorbarTicklabeloverflow 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*. +type SurfaceColorbarTicklabeloverflow string + +const ( + SurfaceColorbarTicklabeloverflowAllow SurfaceColorbarTicklabeloverflow = "allow" + SurfaceColorbarTicklabeloverflowHidePastDiv SurfaceColorbarTicklabeloverflow = "hide past div" + SurfaceColorbarTicklabeloverflowHidePastDomain SurfaceColorbarTicklabeloverflow = "hide past domain" +) + +// SurfaceColorbarTicklabelposition 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*. type SurfaceColorbarTicklabelposition string const ( @@ -1146,6 +1257,10 @@ const ( SurfaceColorbarTicklabelpositionInside SurfaceColorbarTicklabelposition = "inside" SurfaceColorbarTicklabelpositionOutsideTop SurfaceColorbarTicklabelposition = "outside top" SurfaceColorbarTicklabelpositionInsideTop SurfaceColorbarTicklabelposition = "inside top" + SurfaceColorbarTicklabelpositionOutsideLeft SurfaceColorbarTicklabelposition = "outside left" + SurfaceColorbarTicklabelpositionInsideLeft SurfaceColorbarTicklabelposition = "inside left" + SurfaceColorbarTicklabelpositionOutsideRight SurfaceColorbarTicklabelposition = "outside right" + SurfaceColorbarTicklabelpositionInsideRight SurfaceColorbarTicklabelposition = "inside right" SurfaceColorbarTicklabelpositionOutsideBottom SurfaceColorbarTicklabelposition = "outside bottom" SurfaceColorbarTicklabelpositionInsideBottom SurfaceColorbarTicklabelposition = "inside bottom" ) @@ -1168,7 +1283,7 @@ const ( SurfaceColorbarTicksEmpty SurfaceColorbarTicks = "" ) -// SurfaceColorbarTitleSide Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. +// SurfaceColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. type SurfaceColorbarTitleSide string const ( @@ -1177,7 +1292,7 @@ const ( SurfaceColorbarTitleSideBottom SurfaceColorbarTitleSide = "bottom" ) -// SurfaceColorbarXanchor Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. +// SurfaceColorbarXanchor 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*. type SurfaceColorbarXanchor string const ( @@ -1186,7 +1301,7 @@ const ( SurfaceColorbarXanchorRight SurfaceColorbarXanchor = "right" ) -// SurfaceColorbarYanchor Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. +// SurfaceColorbarYanchor 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*. type SurfaceColorbarYanchor string const ( @@ -1217,19 +1332,19 @@ var ( type SurfaceXcalendar string const ( - SurfaceXcalendarGregorian SurfaceXcalendar = "gregorian" SurfaceXcalendarChinese SurfaceXcalendar = "chinese" SurfaceXcalendarCoptic SurfaceXcalendar = "coptic" SurfaceXcalendarDiscworld SurfaceXcalendar = "discworld" SurfaceXcalendarEthiopian SurfaceXcalendar = "ethiopian" + SurfaceXcalendarGregorian SurfaceXcalendar = "gregorian" SurfaceXcalendarHebrew SurfaceXcalendar = "hebrew" SurfaceXcalendarIslamic SurfaceXcalendar = "islamic" + SurfaceXcalendarJalali SurfaceXcalendar = "jalali" SurfaceXcalendarJulian SurfaceXcalendar = "julian" SurfaceXcalendarMayan SurfaceXcalendar = "mayan" SurfaceXcalendarNanakshahi SurfaceXcalendar = "nanakshahi" SurfaceXcalendarNepali SurfaceXcalendar = "nepali" SurfaceXcalendarPersian SurfaceXcalendar = "persian" - SurfaceXcalendarJalali SurfaceXcalendar = "jalali" SurfaceXcalendarTaiwan SurfaceXcalendar = "taiwan" SurfaceXcalendarThai SurfaceXcalendar = "thai" SurfaceXcalendarUmmalqura SurfaceXcalendar = "ummalqura" @@ -1239,19 +1354,19 @@ const ( type SurfaceYcalendar string const ( - SurfaceYcalendarGregorian SurfaceYcalendar = "gregorian" SurfaceYcalendarChinese SurfaceYcalendar = "chinese" SurfaceYcalendarCoptic SurfaceYcalendar = "coptic" SurfaceYcalendarDiscworld SurfaceYcalendar = "discworld" SurfaceYcalendarEthiopian SurfaceYcalendar = "ethiopian" + SurfaceYcalendarGregorian SurfaceYcalendar = "gregorian" SurfaceYcalendarHebrew SurfaceYcalendar = "hebrew" SurfaceYcalendarIslamic SurfaceYcalendar = "islamic" + SurfaceYcalendarJalali SurfaceYcalendar = "jalali" SurfaceYcalendarJulian SurfaceYcalendar = "julian" SurfaceYcalendarMayan SurfaceYcalendar = "mayan" SurfaceYcalendarNanakshahi SurfaceYcalendar = "nanakshahi" SurfaceYcalendarNepali SurfaceYcalendar = "nepali" SurfaceYcalendarPersian SurfaceYcalendar = "persian" - SurfaceYcalendarJalali SurfaceYcalendar = "jalali" SurfaceYcalendarTaiwan SurfaceYcalendar = "taiwan" SurfaceYcalendarThai SurfaceYcalendar = "thai" SurfaceYcalendarUmmalqura SurfaceYcalendar = "ummalqura" @@ -1261,19 +1376,19 @@ const ( type SurfaceZcalendar string const ( - SurfaceZcalendarGregorian SurfaceZcalendar = "gregorian" SurfaceZcalendarChinese SurfaceZcalendar = "chinese" SurfaceZcalendarCoptic SurfaceZcalendar = "coptic" SurfaceZcalendarDiscworld SurfaceZcalendar = "discworld" SurfaceZcalendarEthiopian SurfaceZcalendar = "ethiopian" + SurfaceZcalendarGregorian SurfaceZcalendar = "gregorian" SurfaceZcalendarHebrew SurfaceZcalendar = "hebrew" SurfaceZcalendarIslamic SurfaceZcalendar = "islamic" + SurfaceZcalendarJalali SurfaceZcalendar = "jalali" SurfaceZcalendarJulian SurfaceZcalendar = "julian" SurfaceZcalendarMayan SurfaceZcalendar = "mayan" SurfaceZcalendarNanakshahi SurfaceZcalendar = "nanakshahi" SurfaceZcalendarNepali SurfaceZcalendar = "nepali" SurfaceZcalendarPersian SurfaceZcalendar = "persian" - SurfaceZcalendarJalali SurfaceZcalendar = "jalali" SurfaceZcalendarTaiwan SurfaceZcalendar = "taiwan" SurfaceZcalendarThai SurfaceZcalendar = "thai" SurfaceZcalendarUmmalqura SurfaceZcalendar = "ummalqura" diff --git a/graph_objects/table_gen.go b/generated/v2.19.0/graph_objects/table_gen.go similarity index 80% rename from graph_objects/table_gen.go rename to generated/v2.19.0/graph_objects/table_gen.go index c7074d5..5ca9bd4 100644 --- a/graph_objects/table_gen.go +++ b/generated/v2.19.0/graph_objects/table_gen.go @@ -28,7 +28,7 @@ type Table struct { // Columnordersrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for columnorder . + // Sets the source reference on Chart Studio Cloud for `columnorder`. Columnordersrc String `json:"columnordersrc,omitempty"` // Columnwidth @@ -40,7 +40,7 @@ type Table struct { // Columnwidthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for columnwidth . + // Sets the source reference on Chart Studio Cloud for `columnwidth`. Columnwidthsrc String `json:"columnwidthsrc,omitempty"` // Customdata @@ -52,7 +52,7 @@ type Table struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Domain @@ -72,7 +72,7 @@ type Table struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -88,9 +88,25 @@ type Table struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *TableLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Meta // arrayOK: true // type: any @@ -100,7 +116,7 @@ type Table struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Name @@ -144,7 +160,7 @@ type TableCellsFill struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` } @@ -160,7 +176,7 @@ type TableCellsFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -172,7 +188,7 @@ type TableCellsFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -184,7 +200,7 @@ type TableCellsFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -200,7 +216,7 @@ type TableCellsLine struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Width @@ -212,7 +228,7 @@ type TableCellsLine struct { // Widthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for width . + // Sets the source reference on Chart Studio Cloud for `width`. Widthsrc String `json:"widthsrc,omitempty"` } @@ -228,7 +244,7 @@ type TableCells struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Fill @@ -242,13 +258,13 @@ type TableCells struct { // Format // arrayOK: false // type: data_array - // Sets the cell value formatting rule using d3 formatting mini-language which is similar to those of Python. See https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format + // 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. Format interface{} `json:"format,omitempty"` // Formatsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for format . + // Sets the source reference on Chart Studio Cloud for `format`. Formatsrc String `json:"formatsrc,omitempty"` // Height @@ -270,7 +286,7 @@ type TableCells struct { // Prefixsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for prefix . + // Sets the source reference on Chart Studio Cloud for `prefix`. Prefixsrc String `json:"prefixsrc,omitempty"` // Suffix @@ -282,7 +298,7 @@ type TableCells struct { // Suffixsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for suffix . + // Sets the source reference on Chart Studio Cloud for `suffix`. Suffixsrc String `json:"suffixsrc,omitempty"` // Values @@ -294,7 +310,7 @@ type TableCells struct { // Valuessrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for values . + // Sets the source reference on Chart Studio Cloud for `values`. Valuessrc String `json:"valuessrc,omitempty"` } @@ -338,7 +354,7 @@ type TableHeaderFill struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` } @@ -354,7 +370,7 @@ type TableHeaderFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -366,7 +382,7 @@ type TableHeaderFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -378,7 +394,7 @@ type TableHeaderFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -394,7 +410,7 @@ type TableHeaderLine struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Width @@ -406,7 +422,7 @@ type TableHeaderLine struct { // Widthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for width . + // Sets the source reference on Chart Studio Cloud for `width`. Widthsrc String `json:"widthsrc,omitempty"` } @@ -422,7 +438,7 @@ type TableHeader struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Fill @@ -436,13 +452,13 @@ type TableHeader struct { // Format // arrayOK: false // type: data_array - // Sets the cell value formatting rule using d3 formatting mini-language which is similar to those of Python. See https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format + // 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. Format interface{} `json:"format,omitempty"` // Formatsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for format . + // Sets the source reference on Chart Studio Cloud for `format`. Formatsrc String `json:"formatsrc,omitempty"` // Height @@ -464,7 +480,7 @@ type TableHeader struct { // Prefixsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for prefix . + // Sets the source reference on Chart Studio Cloud for `prefix`. Prefixsrc String `json:"prefixsrc,omitempty"` // Suffix @@ -476,7 +492,7 @@ type TableHeader struct { // Suffixsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for suffix . + // Sets the source reference on Chart Studio Cloud for `suffix`. Suffixsrc String `json:"suffixsrc,omitempty"` // Values @@ -488,7 +504,7 @@ type TableHeader struct { // Valuessrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for values . + // Sets the source reference on Chart Studio Cloud for `values`. Valuessrc String `json:"valuessrc,omitempty"` } @@ -504,7 +520,7 @@ type TableHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -516,7 +532,7 @@ type TableHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -528,7 +544,7 @@ type TableHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -544,7 +560,7 @@ type TableHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -556,7 +572,7 @@ type TableHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -568,7 +584,7 @@ type TableHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -584,10 +600,46 @@ type TableHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } +// TableLegendgrouptitleFont Sets this legend group's title font. +type TableLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// TableLegendgrouptitle +type TableLegendgrouptitle struct { + + // Font + // role: Object + Font *TableLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // TableStream type TableStream struct { diff --git a/graph_objects/treemap_gen.go b/generated/v2.19.0/graph_objects/treemap_gen.go similarity index 80% rename from graph_objects/treemap_gen.go rename to generated/v2.19.0/graph_objects/treemap_gen.go index 0bb8e72..6e959d8 100644 --- a/graph_objects/treemap_gen.go +++ b/generated/v2.19.0/graph_objects/treemap_gen.go @@ -36,7 +36,7 @@ type Treemap struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Domain @@ -52,7 +52,7 @@ type Treemap struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -62,13 +62,13 @@ type Treemap struct { // Hovertemplate // arrayOK: true // 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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry` and `percentParent`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + // 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 `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry` and `percentParent`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. Hovertemplate String `json:"hovertemplate,omitempty"` // Hovertemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertemplate . + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` // Hovertext @@ -80,7 +80,7 @@ type Treemap struct { // Hovertextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertext . + // Sets the source reference on Chart Studio Cloud for `hovertext`. Hovertextsrc String `json:"hovertextsrc,omitempty"` // Ids @@ -92,7 +92,7 @@ type Treemap struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` // Insidetextfont @@ -108,9 +108,25 @@ type Treemap struct { // Labelssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for labels . + // Sets the source reference on Chart Studio Cloud for `labels`. Labelssrc String `json:"labelssrc,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *TreemapLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Level // arrayOK: false // type: any @@ -136,7 +152,7 @@ type Treemap struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Name @@ -164,7 +180,7 @@ type Treemap struct { // Parentssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for parents . + // Sets the source reference on Chart Studio Cloud for `parents`. Parentssrc String `json:"parentssrc,omitempty"` // Pathbar @@ -210,19 +226,19 @@ type Treemap struct { // Textsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for text . + // Sets the source reference on Chart Studio Cloud for `text`. Textsrc String `json:"textsrc,omitempty"` // Texttemplate // arrayOK: true // 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-3.x-api-reference/blob/master/Formatting.md#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#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. variables `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry`, `percentParent`, `label` and `value`. + // 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. variables `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry`, `percentParent`, `label` and `value`. Texttemplate String `json:"texttemplate,omitempty"` // Texttemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for texttemplate . + // Sets the source reference on Chart Studio Cloud for `texttemplate`. Texttemplatesrc String `json:"texttemplatesrc,omitempty"` // Tiling @@ -256,7 +272,7 @@ type Treemap struct { // Valuessrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for values . + // Sets the source reference on Chart Studio Cloud for `values`. Valuessrc String `json:"valuessrc,omitempty"` // Visible @@ -306,7 +322,7 @@ type TreemapHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -318,7 +334,7 @@ type TreemapHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -330,7 +346,7 @@ type TreemapHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -346,7 +362,7 @@ type TreemapHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -358,7 +374,7 @@ type TreemapHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -370,7 +386,7 @@ type TreemapHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -386,7 +402,7 @@ type TreemapHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } @@ -402,7 +418,7 @@ type TreemapInsidetextfont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -414,7 +430,7 @@ type TreemapInsidetextfont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -426,10 +442,46 @@ type TreemapInsidetextfont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } +// TreemapLegendgrouptitleFont Sets this legend group's title font. +type TreemapLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// TreemapLegendgrouptitle +type TreemapLegendgrouptitle struct { + + // Font + // role: Object + Font *TreemapLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // TreemapMarkerColorbarTickfont Sets the color bar's tick label font type TreemapMarkerColorbarTickfont struct { @@ -482,9 +534,9 @@ type TreemapMarkerColorbarTitle struct { Font *TreemapMarkerColorbarTitleFont `json:"font,omitempty"` // Side - // default: top + // default: %!s() // type: enumerated - // Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. Side TreemapMarkerColorbarTitleSide `json:"side,omitempty"` // Text @@ -527,6 +579,12 @@ type TreemapMarkerColorbar struct { // 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. Exponentformat TreemapMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Len // arrayOK: false // type: number @@ -551,6 +609,12 @@ type TreemapMarkerColorbar struct { // 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*. Nticks int64 `json:"nticks,omitempty"` + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation TreemapMarkerColorbarOrientation `json:"orientation,omitempty"` + // Outlinecolor // arrayOK: false // type: color @@ -630,7 +694,7 @@ type TreemapMarkerColorbar struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -639,12 +703,24 @@ type TreemapMarkerColorbar struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow TreemapMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + // Ticklabelposition // default: outside // type: enumerated - // Determines where tick labels are drawn. + // 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*. Ticklabelposition TreemapMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -684,7 +760,7 @@ type TreemapMarkerColorbar struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -696,7 +772,7 @@ type TreemapMarkerColorbar struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -712,13 +788,13 @@ type TreemapMarkerColorbar struct { // X // arrayOK: false // type: number - // Sets the x position of the color bar (in plot fraction). + // Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. X float64 `json:"x,omitempty"` // Xanchor - // default: left + // default: %!s() // type: enumerated - // Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. + // 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*. Xanchor TreemapMarkerColorbarXanchor `json:"xanchor,omitempty"` // Xpad @@ -730,13 +806,13 @@ type TreemapMarkerColorbar struct { // Y // arrayOK: false // type: number - // Sets the y position of the color bar (in plot fraction). + // Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. Y float64 `json:"y,omitempty"` // Yanchor - // default: middle + // default: %!s() // type: enumerated - // Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. + // 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*. Yanchor TreemapMarkerColorbarYanchor `json:"yanchor,omitempty"` // Ypad @@ -758,7 +834,7 @@ type TreemapMarkerLine struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Width @@ -770,7 +846,7 @@ type TreemapMarkerLine struct { // Widthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for width . + // Sets the source reference on Chart Studio Cloud for `width`. Widthsrc String `json:"widthsrc,omitempty"` } @@ -808,31 +884,31 @@ type TreemapMarker struct { // Autocolorscale // arrayOK: false // type: boolean - // Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if colorsis 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Cauto // arrayOK: false // type: boolean - // 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 colorsis set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user. + // 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. Cauto Bool `json:"cauto,omitempty"` // Cmax // arrayOK: false // type: number - // Sets the upper bound of the color domain. Has an effect only if colorsis set to a numerical array. Value should have the same units as colors and if set, `marker.cmin` must be set as well. + // 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. Cmax float64 `json:"cmax,omitempty"` // Cmid // arrayOK: false // 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 colorsis set to a numerical array. Value should have the same units as colors. Has no effect when `marker.cauto` is `false`. + // 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`. Cmid float64 `json:"cmid,omitempty"` // Cmin // arrayOK: false // type: number - // Sets the lower bound of the color domain. Has an effect only if colorsis set to a numerical array. Value should have the same units as colors and if set, `marker.cmax` must be set as well. + // 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. Cmin float64 `json:"cmin,omitempty"` // Coloraxis @@ -854,15 +930,21 @@ type TreemapMarker struct { // Colorscale // default: %!s() // type: colorscale - // Sets the colorscale. Has an effect only if colorsis 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Colorssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for colors . + // Sets the source reference on Chart Studio Cloud for `colors`. Colorssrc String `json:"colorssrc,omitempty"` + // Cornerradius + // arrayOK: false + // type: number + // Sets the maximum rounding of corners (in px). + Cornerradius float64 `json:"cornerradius,omitempty"` + // Depthfade // default: %!s() // type: enumerated @@ -880,13 +962,13 @@ type TreemapMarker struct { // Reversescale // arrayOK: false // type: boolean - // Reverses the color mapping if true. Has an effect only if colorsis 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. + // 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. Reversescale Bool `json:"reversescale,omitempty"` // Showscale // arrayOK: false // type: boolean - // Determines whether or not a colorbar is displayed for this trace. Has an effect only if colorsis set to a numerical array. + // Determines whether or not a colorbar is displayed for this trace. Has an effect only if colors is set to a numerical array. Showscale Bool `json:"showscale,omitempty"` } @@ -902,7 +984,7 @@ type TreemapOutsidetextfont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -914,7 +996,7 @@ type TreemapOutsidetextfont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -926,7 +1008,7 @@ type TreemapOutsidetextfont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -942,7 +1024,7 @@ type TreemapPathbarTextfont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -954,7 +1036,7 @@ type TreemapPathbarTextfont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -966,7 +1048,7 @@ type TreemapPathbarTextfont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -1008,7 +1090,7 @@ type TreemapRoot struct { // Color // arrayOK: false // type: color - // sets the color of the root node for a sunburst or a treemap trace. this has no effect when a colorscale is used to set the markers. + // 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. Color Color `json:"color,omitempty"` } @@ -1040,7 +1122,7 @@ type TreemapTextfont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -1052,7 +1134,7 @@ type TreemapTextfont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -1064,7 +1146,7 @@ type TreemapTextfont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -1092,7 +1174,7 @@ type TreemapTiling struct { // Squarifyratio // arrayOK: false // type: number - // When using *squarify* `packing` algorithm, according to https://github.com/d3/d3-hierarchy/blob/master/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. + // 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. Squarifyratio float64 `json:"squarifyratio,omitempty"` } @@ -1121,7 +1203,7 @@ const ( TreemapMarkerColorbarExponentformatE1 TreemapMarkerColorbarExponentformat = "e" TreemapMarkerColorbarExponentformatE2 TreemapMarkerColorbarExponentformat = "E" TreemapMarkerColorbarExponentformatPower TreemapMarkerColorbarExponentformat = "power" - TreemapMarkerColorbarExponentformatSi TreemapMarkerColorbarExponentformat = "SI" + TreemapMarkerColorbarExponentformatSI TreemapMarkerColorbarExponentformat = "SI" TreemapMarkerColorbarExponentformatB TreemapMarkerColorbarExponentformat = "B" ) @@ -1133,6 +1215,14 @@ const ( TreemapMarkerColorbarLenmodePixels TreemapMarkerColorbarLenmode = "pixels" ) +// TreemapMarkerColorbarOrientation Sets the orientation of the colorbar. +type TreemapMarkerColorbarOrientation string + +const ( + TreemapMarkerColorbarOrientationH TreemapMarkerColorbarOrientation = "h" + TreemapMarkerColorbarOrientationV TreemapMarkerColorbarOrientation = "v" +) + // TreemapMarkerColorbarShowexponent 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. type TreemapMarkerColorbarShowexponent string @@ -1171,7 +1261,16 @@ const ( TreemapMarkerColorbarThicknessmodePixels TreemapMarkerColorbarThicknessmode = "pixels" ) -// TreemapMarkerColorbarTicklabelposition Determines where tick labels are drawn. +// TreemapMarkerColorbarTicklabeloverflow 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*. +type TreemapMarkerColorbarTicklabeloverflow string + +const ( + TreemapMarkerColorbarTicklabeloverflowAllow TreemapMarkerColorbarTicklabeloverflow = "allow" + TreemapMarkerColorbarTicklabeloverflowHidePastDiv TreemapMarkerColorbarTicklabeloverflow = "hide past div" + TreemapMarkerColorbarTicklabeloverflowHidePastDomain TreemapMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// TreemapMarkerColorbarTicklabelposition 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*. type TreemapMarkerColorbarTicklabelposition string const ( @@ -1179,6 +1278,10 @@ const ( TreemapMarkerColorbarTicklabelpositionInside TreemapMarkerColorbarTicklabelposition = "inside" TreemapMarkerColorbarTicklabelpositionOutsideTop TreemapMarkerColorbarTicklabelposition = "outside top" TreemapMarkerColorbarTicklabelpositionInsideTop TreemapMarkerColorbarTicklabelposition = "inside top" + TreemapMarkerColorbarTicklabelpositionOutsideLeft TreemapMarkerColorbarTicklabelposition = "outside left" + TreemapMarkerColorbarTicklabelpositionInsideLeft TreemapMarkerColorbarTicklabelposition = "inside left" + TreemapMarkerColorbarTicklabelpositionOutsideRight TreemapMarkerColorbarTicklabelposition = "outside right" + TreemapMarkerColorbarTicklabelpositionInsideRight TreemapMarkerColorbarTicklabelposition = "inside right" TreemapMarkerColorbarTicklabelpositionOutsideBottom TreemapMarkerColorbarTicklabelposition = "outside bottom" TreemapMarkerColorbarTicklabelpositionInsideBottom TreemapMarkerColorbarTicklabelposition = "inside bottom" ) @@ -1201,7 +1304,7 @@ const ( TreemapMarkerColorbarTicksEmpty TreemapMarkerColorbarTicks = "" ) -// TreemapMarkerColorbarTitleSide Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. +// TreemapMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. type TreemapMarkerColorbarTitleSide string const ( @@ -1210,7 +1313,7 @@ const ( TreemapMarkerColorbarTitleSideBottom TreemapMarkerColorbarTitleSide = "bottom" ) -// TreemapMarkerColorbarXanchor Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. +// TreemapMarkerColorbarXanchor 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*. type TreemapMarkerColorbarXanchor string const ( @@ -1219,7 +1322,7 @@ const ( TreemapMarkerColorbarXanchorRight TreemapMarkerColorbarXanchor = "right" ) -// TreemapMarkerColorbarYanchor Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. +// TreemapMarkerColorbarYanchor 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*. type TreemapMarkerColorbarYanchor string const ( diff --git a/graph_objects/unmarshal_gen.go b/generated/v2.19.0/graph_objects/unmarshal_gen.go similarity index 97% rename from graph_objects/unmarshal_gen.go rename to generated/v2.19.0/graph_objects/unmarshal_gen.go index 4f1268e..317396a 100644 --- a/graph_objects/unmarshal_gen.go +++ b/generated/v2.19.0/graph_objects/unmarshal_gen.go @@ -19,13 +19,6 @@ func UnmarshalTrace(data []byte) (Trace, error) { return nil, err } switch traceType.Type { - case TraceTypeArea: - trace := &Area{} - err = json.Unmarshal(data, trace) - if err != nil { - return nil, err - } - return trace, nil case TraceTypeBar: trace := &Bar{} err = json.Unmarshal(data, trace) @@ -152,6 +145,13 @@ func UnmarshalTrace(data []byte) (Trace, error) { return nil, err } return trace, nil + case TraceTypeIcicle: + trace := &Icicle{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil case TraceTypeImage: trace := &Image{} err = json.Unmarshal(data, trace) @@ -278,6 +278,13 @@ func UnmarshalTrace(data []byte) (Trace, error) { return nil, err } return trace, nil + case TraceTypeScattersmith: + trace := &Scattersmith{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil case TraceTypeScatterternary: trace := &Scatterternary{} err = json.Unmarshal(data, trace) diff --git a/graph_objects/violin_gen.go b/generated/v2.19.0/graph_objects/violin_gen.go similarity index 86% rename from graph_objects/violin_gen.go rename to generated/v2.19.0/graph_objects/violin_gen.go index 47f1f45..3565257 100644 --- a/graph_objects/violin_gen.go +++ b/generated/v2.19.0/graph_objects/violin_gen.go @@ -40,7 +40,7 @@ type Violin struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Fillcolor @@ -58,7 +58,7 @@ type Violin struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -74,13 +74,13 @@ type Violin struct { // Hovertemplate // arrayOK: true // 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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + // 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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. Hovertemplate String `json:"hovertemplate,omitempty"` // Hovertemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertemplate . + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` // Hovertext @@ -92,7 +92,7 @@ type Violin struct { // Hovertextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertext . + // Sets the source reference on Chart Studio Cloud for `hovertext`. Hovertextsrc String `json:"hovertextsrc,omitempty"` // Ids @@ -104,7 +104,7 @@ type Violin struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` // Jitter @@ -119,6 +119,22 @@ type Violin struct { // Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items. Legendgroup String `json:"legendgroup,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *ViolinLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Line // role: Object Line *ViolinLine `json:"line,omitempty"` @@ -140,7 +156,7 @@ type Violin struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Name @@ -179,6 +195,12 @@ type Violin struct { // 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*. Points ViolinPoints `json:"points,omitempty"` + // Quartilemethod + // default: linear + // type: enumerated + // 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. + Quartilemethod ViolinQuartilemethod `json:"quartilemethod,omitempty"` + // Scalegroup // arrayOK: false // type: string @@ -188,7 +210,7 @@ type Violin struct { // Scalemode // default: width // type: enumerated - // 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 makingup each violin. + // 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. Scalemode ViolinScalemode `json:"scalemode,omitempty"` // Selected @@ -238,7 +260,7 @@ type Violin struct { // Textsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for text . + // Sets the source reference on Chart Studio Cloud for `text`. Textsrc String `json:"textsrc,omitempty"` // Transforms @@ -293,10 +315,16 @@ type Violin struct { // 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. Xaxis String `json:"xaxis,omitempty"` + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + // Xsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for x . + // Sets the source reference on Chart Studio Cloud for `x`. Xsrc String `json:"xsrc,omitempty"` // Y @@ -317,10 +345,16 @@ type Violin struct { // 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. Yaxis String `json:"yaxis,omitempty"` + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + // Ysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for y . + // Sets the source reference on Chart Studio Cloud for `y`. Ysrc String `json:"ysrc,omitempty"` } @@ -378,7 +412,7 @@ type ViolinHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -390,7 +424,7 @@ type ViolinHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -402,7 +436,7 @@ type ViolinHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -418,7 +452,7 @@ type ViolinHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -430,7 +464,7 @@ type ViolinHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -442,7 +476,7 @@ type ViolinHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -458,10 +492,46 @@ type ViolinHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } +// ViolinLegendgrouptitleFont Sets this legend group's title font. +type ViolinLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ViolinLegendgrouptitle +type ViolinLegendgrouptitle struct { + + // Font + // role: Object + Font *ViolinLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // ViolinLine type ViolinLine struct { @@ -484,7 +554,7 @@ type ViolinMarkerLine struct { // Color // arrayOK: false // type: color - // Sets themarker.linecolor. 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. + // 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. Color Color `json:"color,omitempty"` // Outliercolor @@ -509,10 +579,16 @@ type ViolinMarkerLine struct { // ViolinMarker type ViolinMarker struct { + // Angle + // arrayOK: false + // type: angle + // Sets the marker angle in respect to `angleref`. + Angle float64 `json:"angle,omitempty"` + // Color // arrayOK: false // type: color - // Sets themarkercolor. 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. + // 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. Color Color `json:"color,omitempty"` // Line @@ -1129,6 +1205,18 @@ var ( ViolinMarkerSymbolNumber152 ViolinMarkerSymbol = 152 ViolinMarkerSymbol152 ViolinMarkerSymbol = "152" ViolinMarkerSymbolArrowBarRightOpen ViolinMarkerSymbol = "arrow-bar-right-open" + ViolinMarkerSymbolNumber53 ViolinMarkerSymbol = 53 + ViolinMarkerSymbol53 ViolinMarkerSymbol = "53" + ViolinMarkerSymbolArrow ViolinMarkerSymbol = "arrow" + ViolinMarkerSymbolNumber153 ViolinMarkerSymbol = 153 + ViolinMarkerSymbol153 ViolinMarkerSymbol = "153" + ViolinMarkerSymbolArrowOpen ViolinMarkerSymbol = "arrow-open" + ViolinMarkerSymbolNumber54 ViolinMarkerSymbol = 54 + ViolinMarkerSymbol54 ViolinMarkerSymbol = "54" + ViolinMarkerSymbolArrowWide ViolinMarkerSymbol = "arrow-wide" + ViolinMarkerSymbolNumber154 ViolinMarkerSymbol = 154 + ViolinMarkerSymbol154 ViolinMarkerSymbol = "154" + ViolinMarkerSymbolArrowWideOpen ViolinMarkerSymbol = "arrow-wide-open" ) // ViolinOrientation Sets the orientation of the violin(s). If *v* (*h*), the distribution is visualized along the vertical (horizontal). @@ -1149,7 +1237,16 @@ var ( ViolinPointsFalse ViolinPoints = false ) -// ViolinScalemode 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 makingup each violin. +// ViolinQuartilemethod 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. +type ViolinQuartilemethod string + +const ( + ViolinQuartilemethodLinear ViolinQuartilemethod = "linear" + ViolinQuartilemethodExclusive ViolinQuartilemethod = "exclusive" + ViolinQuartilemethodInclusive ViolinQuartilemethod = "inclusive" +) + +// ViolinScalemode 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. type ViolinScalemode string const ( diff --git a/graph_objects/volume_gen.go b/generated/v2.19.0/graph_objects/volume_gen.go similarity index 78% rename from graph_objects/volume_gen.go rename to generated/v2.19.0/graph_objects/volume_gen.go index 248102f..954ed4b 100644 --- a/graph_objects/volume_gen.go +++ b/generated/v2.19.0/graph_objects/volume_gen.go @@ -18,7 +18,7 @@ type Volume struct { // Autocolorscale // arrayOK: false // 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. + // 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. Autocolorscale Bool `json:"autocolorscale,omitempty"` // Caps @@ -28,7 +28,7 @@ type Volume struct { // Cauto // arrayOK: false // type: boolean - // 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. + // 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. Cauto Bool `json:"cauto,omitempty"` // Cmax @@ -62,7 +62,7 @@ type Volume struct { // Colorscale // default: %!s() // 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis. + // 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. Colorscale ColorScale `json:"colorscale,omitempty"` // Contour @@ -78,7 +78,7 @@ type Volume struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Flatshading @@ -96,7 +96,7 @@ type Volume struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -106,13 +106,13 @@ type Volume struct { // Hovertemplate // arrayOK: true // 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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + // 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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. Hovertemplate String `json:"hovertemplate,omitempty"` // Hovertemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertemplate . + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` // Hovertext @@ -124,7 +124,7 @@ type Volume struct { // Hovertextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertext . + // Sets the source reference on Chart Studio Cloud for `hovertext`. Hovertextsrc String `json:"hovertextsrc,omitempty"` // Ids @@ -136,7 +136,7 @@ type Volume struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` // Isomax @@ -157,6 +157,22 @@ type Volume struct { // Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items. Legendgroup String `json:"legendgroup,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *VolumeLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Lighting // role: Object Lighting *VolumeLighting `json:"lighting,omitempty"` @@ -174,7 +190,7 @@ type Volume struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Name @@ -244,7 +260,7 @@ type Volume struct { // Textsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for text . + // Sets the source reference on Chart Studio Cloud for `text`. Textsrc String `json:"textsrc,omitempty"` // Uid @@ -265,10 +281,16 @@ type Volume struct { // Sets the 4th dimension (value) of the vertices. Value interface{} `json:"value,omitempty"` + // Valuehoverformat + // arrayOK: false + // 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. + Valuehoverformat String `json:"valuehoverformat,omitempty"` + // Valuesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for value . + // Sets the source reference on Chart Studio Cloud for `value`. Valuesrc String `json:"valuesrc,omitempty"` // Visible @@ -283,10 +305,16 @@ type Volume struct { // Sets the X coordinates of the vertices on X axis. X interface{} `json:"x,omitempty"` + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + // Xsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for x . + // Sets the source reference on Chart Studio Cloud for `x`. Xsrc String `json:"xsrc,omitempty"` // Y @@ -295,10 +323,16 @@ type Volume struct { // Sets the Y coordinates of the vertices on Y axis. Y interface{} `json:"y,omitempty"` + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + // Ysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for y . + // Sets the source reference on Chart Studio Cloud for `y`. Ysrc String `json:"ysrc,omitempty"` // Z @@ -307,10 +341,16 @@ type Volume struct { // Sets the Z coordinates of the vertices on Z axis. Z interface{} `json:"z,omitempty"` + // Zhoverformat + // arrayOK: false + // 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`. + Zhoverformat String `json:"zhoverformat,omitempty"` + // Zsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for z . + // Sets the source reference on Chart Studio Cloud for `z`. Zsrc String `json:"zsrc,omitempty"` } @@ -430,9 +470,9 @@ type VolumeColorbarTitle struct { Font *VolumeColorbarTitleFont `json:"font,omitempty"` // Side - // default: top + // default: %!s() // type: enumerated - // Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. Side VolumeColorbarTitleSide `json:"side,omitempty"` // Text @@ -475,6 +515,12 @@ type VolumeColorbar struct { // 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. Exponentformat VolumeColorbarExponentformat `json:"exponentformat,omitempty"` + // Labelalias + // arrayOK: false + // type: any + // 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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax. + Labelalias interface{} `json:"labelalias,omitempty"` + // Len // arrayOK: false // type: number @@ -499,6 +545,12 @@ type VolumeColorbar struct { // 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*. Nticks int64 `json:"nticks,omitempty"` + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation VolumeColorbarOrientation `json:"orientation,omitempty"` + // Outlinecolor // arrayOK: false // type: color @@ -578,7 +630,7 @@ type VolumeColorbar struct { // Tickformat // arrayOK: false // 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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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* + // 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* Tickformat String `json:"tickformat,omitempty"` // Tickformatstops @@ -587,12 +639,24 @@ type VolumeColorbar struct { // just raise an issue before you start so we do not overlap Tickformatstops interface{} `json:"tickformatstops,omitempty"` + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow VolumeColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + // Ticklabelposition // default: outside // type: enumerated - // Determines where tick labels are drawn. + // 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*. Ticklabelposition VolumeColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + // Ticklen // arrayOK: false // type: number @@ -632,7 +696,7 @@ type VolumeColorbar struct { // Ticktextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ticktext . + // Sets the source reference on Chart Studio Cloud for `ticktext`. Ticktextsrc String `json:"ticktextsrc,omitempty"` // Tickvals @@ -644,7 +708,7 @@ type VolumeColorbar struct { // Tickvalssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for tickvals . + // Sets the source reference on Chart Studio Cloud for `tickvals`. Tickvalssrc String `json:"tickvalssrc,omitempty"` // Tickwidth @@ -660,13 +724,13 @@ type VolumeColorbar struct { // X // arrayOK: false // type: number - // Sets the x position of the color bar (in plot fraction). + // Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. X float64 `json:"x,omitempty"` // Xanchor - // default: left + // default: %!s() // type: enumerated - // Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. + // 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*. Xanchor VolumeColorbarXanchor `json:"xanchor,omitempty"` // Xpad @@ -678,13 +742,13 @@ type VolumeColorbar struct { // Y // arrayOK: false // type: number - // Sets the y position of the color bar (in plot fraction). + // Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. Y float64 `json:"y,omitempty"` // Yanchor - // default: middle + // default: %!s() // type: enumerated - // Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. + // 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*. Yanchor VolumeColorbarYanchor `json:"yanchor,omitempty"` // Ypad @@ -728,7 +792,7 @@ type VolumeHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -740,7 +804,7 @@ type VolumeHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -752,7 +816,7 @@ type VolumeHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -768,7 +832,7 @@ type VolumeHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -780,7 +844,7 @@ type VolumeHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -792,7 +856,7 @@ type VolumeHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -808,10 +872,46 @@ type VolumeHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } +// VolumeLegendgrouptitleFont Sets this legend group's title font. +type VolumeLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// VolumeLegendgrouptitle +type VolumeLegendgrouptitle struct { + + // Font + // role: Object + Font *VolumeLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // VolumeLighting type VolumeLighting struct { @@ -898,7 +998,7 @@ type VolumeSlicesX struct { // Locationssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for locations . + // Sets the source reference on Chart Studio Cloud for `locations`. Locationssrc String `json:"locationssrc,omitempty"` // Show @@ -926,7 +1026,7 @@ type VolumeSlicesY struct { // Locationssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for locations . + // Sets the source reference on Chart Studio Cloud for `locations`. Locationssrc String `json:"locationssrc,omitempty"` // Show @@ -954,7 +1054,7 @@ type VolumeSlicesZ struct { // Locationssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for locations . + // Sets the source reference on Chart Studio Cloud for `locations`. Locationssrc String `json:"locationssrc,omitempty"` // Show @@ -1048,7 +1148,7 @@ const ( VolumeColorbarExponentformatE1 VolumeColorbarExponentformat = "e" VolumeColorbarExponentformatE2 VolumeColorbarExponentformat = "E" VolumeColorbarExponentformatPower VolumeColorbarExponentformat = "power" - VolumeColorbarExponentformatSi VolumeColorbarExponentformat = "SI" + VolumeColorbarExponentformatSI VolumeColorbarExponentformat = "SI" VolumeColorbarExponentformatB VolumeColorbarExponentformat = "B" ) @@ -1060,6 +1160,14 @@ const ( VolumeColorbarLenmodePixels VolumeColorbarLenmode = "pixels" ) +// VolumeColorbarOrientation Sets the orientation of the colorbar. +type VolumeColorbarOrientation string + +const ( + VolumeColorbarOrientationH VolumeColorbarOrientation = "h" + VolumeColorbarOrientationV VolumeColorbarOrientation = "v" +) + // VolumeColorbarShowexponent 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. type VolumeColorbarShowexponent string @@ -1098,7 +1206,16 @@ const ( VolumeColorbarThicknessmodePixels VolumeColorbarThicknessmode = "pixels" ) -// VolumeColorbarTicklabelposition Determines where tick labels are drawn. +// VolumeColorbarTicklabeloverflow 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*. +type VolumeColorbarTicklabeloverflow string + +const ( + VolumeColorbarTicklabeloverflowAllow VolumeColorbarTicklabeloverflow = "allow" + VolumeColorbarTicklabeloverflowHidePastDiv VolumeColorbarTicklabeloverflow = "hide past div" + VolumeColorbarTicklabeloverflowHidePastDomain VolumeColorbarTicklabeloverflow = "hide past domain" +) + +// VolumeColorbarTicklabelposition 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*. type VolumeColorbarTicklabelposition string const ( @@ -1106,6 +1223,10 @@ const ( VolumeColorbarTicklabelpositionInside VolumeColorbarTicklabelposition = "inside" VolumeColorbarTicklabelpositionOutsideTop VolumeColorbarTicklabelposition = "outside top" VolumeColorbarTicklabelpositionInsideTop VolumeColorbarTicklabelposition = "inside top" + VolumeColorbarTicklabelpositionOutsideLeft VolumeColorbarTicklabelposition = "outside left" + VolumeColorbarTicklabelpositionInsideLeft VolumeColorbarTicklabelposition = "inside left" + VolumeColorbarTicklabelpositionOutsideRight VolumeColorbarTicklabelposition = "outside right" + VolumeColorbarTicklabelpositionInsideRight VolumeColorbarTicklabelposition = "inside right" VolumeColorbarTicklabelpositionOutsideBottom VolumeColorbarTicklabelposition = "outside bottom" VolumeColorbarTicklabelpositionInsideBottom VolumeColorbarTicklabelposition = "inside bottom" ) @@ -1128,7 +1249,7 @@ const ( VolumeColorbarTicksEmpty VolumeColorbarTicks = "" ) -// VolumeColorbarTitleSide Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute. +// VolumeColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. type VolumeColorbarTitleSide string const ( @@ -1137,7 +1258,7 @@ const ( VolumeColorbarTitleSideBottom VolumeColorbarTitleSide = "bottom" ) -// VolumeColorbarXanchor Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. +// VolumeColorbarXanchor 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*. type VolumeColorbarXanchor string const ( @@ -1146,7 +1267,7 @@ const ( VolumeColorbarXanchorRight VolumeColorbarXanchor = "right" ) -// VolumeColorbarYanchor Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. +// VolumeColorbarYanchor 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*. type VolumeColorbarYanchor string const ( diff --git a/graph_objects/waterfall_gen.go b/generated/v2.19.0/graph_objects/waterfall_gen.go similarity index 81% rename from graph_objects/waterfall_gen.go rename to generated/v2.19.0/graph_objects/waterfall_gen.go index 692bbbc..8404930 100644 --- a/graph_objects/waterfall_gen.go +++ b/generated/v2.19.0/graph_objects/waterfall_gen.go @@ -52,7 +52,7 @@ type Waterfall struct { // Customdatasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for customdata . + // Sets the source reference on Chart Studio Cloud for `customdata`. Customdatasrc String `json:"customdatasrc,omitempty"` // Decreasing @@ -80,7 +80,7 @@ type Waterfall struct { // Hoverinfosrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. Hoverinfosrc String `json:"hoverinfosrc,omitempty"` // Hoverlabel @@ -90,13 +90,13 @@ type Waterfall struct { // Hovertemplate // arrayOK: true // 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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `initial`, `delta` and `final`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + // 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 `initial`, `delta` and `final`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. Hovertemplate String `json:"hovertemplate,omitempty"` // Hovertemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertemplate . + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` // Hovertext @@ -108,7 +108,7 @@ type Waterfall struct { // Hovertextsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for hovertext . + // Sets the source reference on Chart Studio Cloud for `hovertext`. Hovertextsrc String `json:"hovertextsrc,omitempty"` // Ids @@ -120,7 +120,7 @@ type Waterfall struct { // Idssrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for ids . + // Sets the source reference on Chart Studio Cloud for `ids`. Idssrc String `json:"idssrc,omitempty"` // Increasing @@ -143,6 +143,22 @@ type Waterfall struct { // Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items. Legendgroup String `json:"legendgroup,omitempty"` + // Legendgrouptitle + // role: Object + Legendgrouptitle *WaterfallLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + // Measure // arrayOK: false // type: data_array @@ -152,7 +168,7 @@ type Waterfall struct { // Measuresrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for measure . + // Sets the source reference on Chart Studio Cloud for `measure`. Measuresrc String `json:"measuresrc,omitempty"` // Meta @@ -164,7 +180,7 @@ type Waterfall struct { // Metasrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for meta . + // Sets the source reference on Chart Studio Cloud for `meta`. Metasrc String `json:"metasrc,omitempty"` // Name @@ -188,7 +204,7 @@ type Waterfall struct { // Offsetsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for offset . + // Sets the source reference on Chart Studio Cloud for `offset`. Offsetsrc String `json:"offsetsrc,omitempty"` // Opacity @@ -246,33 +262,33 @@ type Waterfall struct { Textinfo WaterfallTextinfo `json:"textinfo,omitempty"` // Textposition - // default: none + // default: auto // type: enumerated - // 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. + // 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. Textposition WaterfallTextposition `json:"textposition,omitempty"` // Textpositionsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for textposition . + // Sets the source reference on Chart Studio Cloud for `textposition`. Textpositionsrc String `json:"textpositionsrc,omitempty"` // Textsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for text . + // Sets the source reference on Chart Studio Cloud for `text`. Textsrc String `json:"textsrc,omitempty"` // Texttemplate // arrayOK: true // 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-3.x-api-reference/blob/master/Formatting.md#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#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. variables `initial`, `delta`, `final` and `label`. + // 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. variables `initial`, `delta`, `final` and `label`. Texttemplate String `json:"texttemplate,omitempty"` // Texttemplatesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for texttemplate . + // Sets the source reference on Chart Studio Cloud for `texttemplate`. Texttemplatesrc String `json:"texttemplatesrc,omitempty"` // Totals @@ -312,7 +328,7 @@ type Waterfall struct { // Widthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for width . + // Sets the source reference on Chart Studio Cloud for `width`. Widthsrc String `json:"widthsrc,omitempty"` // X @@ -333,6 +349,12 @@ type Waterfall struct { // 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. Xaxis String `json:"xaxis,omitempty"` + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + // Xperiod // arrayOK: false // type: any @@ -354,7 +376,7 @@ type Waterfall struct { // Xsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for x . + // Sets the source reference on Chart Studio Cloud for `x`. Xsrc String `json:"xsrc,omitempty"` // Y @@ -375,6 +397,12 @@ type Waterfall struct { // 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. Yaxis String `json:"yaxis,omitempty"` + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + // Yperiod // arrayOK: false // type: any @@ -396,7 +424,7 @@ type Waterfall struct { // Ysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for y . + // Sets the source reference on Chart Studio Cloud for `y`. Ysrc String `json:"ysrc,omitempty"` } @@ -492,7 +520,7 @@ type WaterfallHoverlabelFont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -504,7 +532,7 @@ type WaterfallHoverlabelFont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -516,7 +544,7 @@ type WaterfallHoverlabelFont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -532,7 +560,7 @@ type WaterfallHoverlabel struct { // Alignsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for align . + // Sets the source reference on Chart Studio Cloud for `align`. Alignsrc String `json:"alignsrc,omitempty"` // Bgcolor @@ -544,7 +572,7 @@ type WaterfallHoverlabel struct { // Bgcolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . + // Sets the source reference on Chart Studio Cloud for `bgcolor`. Bgcolorsrc String `json:"bgcolorsrc,omitempty"` // Bordercolor @@ -556,7 +584,7 @@ type WaterfallHoverlabel struct { // Bordercolorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . + // Sets the source reference on Chart Studio Cloud for `bordercolor`. Bordercolorsrc String `json:"bordercolorsrc,omitempty"` // Font @@ -572,7 +600,7 @@ type WaterfallHoverlabel struct { // Namelengthsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for namelength . + // Sets the source reference on Chart Studio Cloud for `namelength`. Namelengthsrc String `json:"namelengthsrc,omitempty"` } @@ -626,7 +654,7 @@ type WaterfallInsidetextfont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -638,7 +666,7 @@ type WaterfallInsidetextfont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -650,10 +678,46 @@ type WaterfallInsidetextfont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } +// WaterfallLegendgrouptitleFont Sets this legend group's title font. +type WaterfallLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// WaterfallLegendgrouptitle +type WaterfallLegendgrouptitle struct { + + // Font + // role: Object + Font *WaterfallLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + // WaterfallOutsidetextfont Sets the font used for `text` lying outside the bar. type WaterfallOutsidetextfont struct { @@ -666,7 +730,7 @@ type WaterfallOutsidetextfont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -678,7 +742,7 @@ type WaterfallOutsidetextfont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -690,7 +754,7 @@ type WaterfallOutsidetextfont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -722,7 +786,7 @@ type WaterfallTextfont struct { // Colorsrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for color . + // Sets the source reference on Chart Studio Cloud for `color`. Colorsrc String `json:"colorsrc,omitempty"` // Family @@ -734,7 +798,7 @@ type WaterfallTextfont struct { // Familysrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for family . + // Sets the source reference on Chart Studio Cloud for `family`. Familysrc String `json:"familysrc,omitempty"` // Size @@ -746,7 +810,7 @@ type WaterfallTextfont struct { // Sizesrc // arrayOK: false // type: string - // Sets the source reference on Chart Studio Cloud for size . + // Sets the source reference on Chart Studio Cloud for `size`. Sizesrc String `json:"sizesrc,omitempty"` } @@ -832,7 +896,7 @@ const ( WaterfallOrientationH WaterfallOrientation = "h" ) -// WaterfallTextposition 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. +// WaterfallTextposition 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. type WaterfallTextposition string const ( diff --git a/offline/plot.go b/generated/v2.19.0/offline/plot_gen.go similarity index 92% rename from offline/plot.go rename to generated/v2.19.0/offline/plot_gen.go index 8a1b4e1..fe04f23 100644 --- a/offline/plot.go +++ b/generated/v2.19.0/offline/plot_gen.go @@ -9,7 +9,8 @@ import ( "os" "text/template" - grob "github.com/MetalBlueberry/go-plotly/graph_objects" + grob "github.com/MetalBlueberry/go-plotly/generated/v2.19.0/graph_objects" + "github.com/pkg/browser" ) @@ -80,13 +81,13 @@ func computeOptions(def Options, opt ...Options) Options { var baseHtml = ` - + - +
- + ` diff --git a/generated/v2.29.1/graph_objects/bar_gen.go b/generated/v2.29.1/graph_objects/bar_gen.go new file mode 100644 index 0000000..51a8d03 --- /dev/null +++ b/generated/v2.29.1/graph_objects/bar_gen.go @@ -0,0 +1,1897 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeBar TraceType = "bar" + +func (trace *Bar) GetType() TraceType { + return TraceTypeBar +} + +// Bar 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. +type Bar struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Alignmentgroup + // arrayOK: false + // 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. + Alignmentgroup String `json:"alignmentgroup,omitempty"` + + // Base + // arrayOK: true + // type: any + // 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. + Base interface{} `json:"base,omitempty"` + + // Basesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `base`. + Basesrc String `json:"basesrc,omitempty"` + + // Cliponaxis + // arrayOK: false + // type: boolean + // 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*. + Cliponaxis Bool `json:"cliponaxis,omitempty"` + + // Constraintext + // default: both + // type: enumerated + // Constrain the size of text inside or outside a bar to be no larger than the bar itself. + Constraintext BarConstraintext `json:"constraintext,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Dx + // arrayOK: false + // type: number + // Sets the x coordinate step. See `x0` for more info. + Dx float64 `json:"dx,omitempty"` + + // Dy + // arrayOK: false + // type: number + // Sets the y coordinate step. See `y0` for more info. + Dy float64 `json:"dy,omitempty"` + + // ErrorX + // role: Object + ErrorX *BarErrorX `json:"error_x,omitempty"` + + // ErrorY + // role: Object + ErrorY *BarErrorY `json:"error_y,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo BarHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *BarHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Finally, the template string has access to variables `value` and `label`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Insidetextanchor + // default: end + // type: enumerated + // Determines if texts are kept at center or start/end points in `textposition` *inside* mode. + Insidetextanchor BarInsidetextanchor `json:"insidetextanchor,omitempty"` + + // Insidetextfont + // role: Object + Insidetextfont *BarInsidetextfont `json:"insidetextfont,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *BarLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Marker + // role: Object + Marker *BarMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Offset + // arrayOK: true + // 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. + Offset float64 `json:"offset,omitempty"` + + // Offsetgroup + // arrayOK: false + // 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. + Offsetgroup String `json:"offsetgroup,omitempty"` + + // Offsetsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `offset`. + Offsetsrc String `json:"offsetsrc,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Orientation + // default: %!s() + // type: enumerated + // Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal). + Orientation BarOrientation `json:"orientation,omitempty"` + + // Outsidetextfont + // role: Object + Outsidetextfont *BarOutsidetextfont `json:"outsidetextfont,omitempty"` + + // Selected + // role: Object + Selected *BarSelected `json:"selected,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Stream + // role: Object + Stream *BarStream `json:"stream,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textangle + // arrayOK: false + // 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. + Textangle float64 `json:"textangle,omitempty"` + + // Textfont + // role: Object + Textfont *BarTextfont `json:"textfont,omitempty"` + + // Textposition + // default: auto + // type: enumerated + // 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. + Textposition BarTextposition `json:"textposition,omitempty"` + + // Textpositionsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `textposition`. + Textpositionsrc String `json:"textpositionsrc,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: true + // 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 `value` and `label`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Texttemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `texttemplate`. + Texttemplatesrc String `json:"texttemplatesrc,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Unselected + // role: Object + Unselected *BarUnselected `json:"unselected,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible BarVisible `json:"visible,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the bar width (in position axis units). + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the x coordinates. + X interface{} `json:"x,omitempty"` + + // X0 + // arrayOK: false + // type: any + // Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step. + X0 interface{} `json:"x0,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Xcalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `x` date data. + Xcalendar BarXcalendar `json:"xcalendar,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xperiod + // arrayOK: false + // type: any + // Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer. + Xperiod interface{} `json:"xperiod,omitempty"` + + // Xperiod0 + // arrayOK: false + // type: any + // 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. + Xperiod0 interface{} `json:"xperiod0,omitempty"` + + // Xperiodalignment + // default: middle + // type: enumerated + // Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. + Xperiodalignment BarXperiodalignment `json:"xperiodalignment,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the y coordinates. + Y interface{} `json:"y,omitempty"` + + // Y0 + // arrayOK: false + // type: any + // Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step. + Y0 interface{} `json:"y0,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` + + // Ycalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `y` date data. + Ycalendar BarYcalendar `json:"ycalendar,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Yperiod + // arrayOK: false + // type: any + // Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the y axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer. + Yperiod interface{} `json:"yperiod,omitempty"` + + // Yperiod0 + // arrayOK: false + // type: any + // 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. + Yperiod0 interface{} `json:"yperiod0,omitempty"` + + // Yperiodalignment + // default: middle + // type: enumerated + // Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis. + Yperiodalignment BarYperiodalignment `json:"yperiodalignment,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` +} + +// BarErrorX +type BarErrorX struct { + + // Array + // arrayOK: false + // type: data_array + // Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data. + Array interface{} `json:"array,omitempty"` + + // Arrayminus + // arrayOK: false + // 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. + Arrayminus interface{} `json:"arrayminus,omitempty"` + + // Arrayminussrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `arrayminus`. + Arrayminussrc String `json:"arrayminussrc,omitempty"` + + // Arraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `array`. + Arraysrc String `json:"arraysrc,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the stoke color of the error bars. + Color Color `json:"color,omitempty"` + + // CopyYstyle + // arrayOK: false + // type: boolean + // + CopyYstyle Bool `json:"copy_ystyle,omitempty"` + + // Symmetric + // arrayOK: false + // 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. + Symmetric Bool `json:"symmetric,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness (in px) of the error bars. + Thickness float64 `json:"thickness,omitempty"` + + // Traceref + // arrayOK: false + // type: integer + // + Traceref int64 `json:"traceref,omitempty"` + + // Tracerefminus + // arrayOK: false + // type: integer + // + Tracerefminus int64 `json:"tracerefminus,omitempty"` + + // Type + // default: %!s() + // type: enumerated + // 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`. + Type BarErrorXType `json:"type,omitempty"` + + // Value + // arrayOK: false + // type: number + // 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. + Value float64 `json:"value,omitempty"` + + // Valueminus + // arrayOK: false + // type: number + // 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 + Valueminus float64 `json:"valueminus,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Determines whether or not this set of error bars is visible. + Visible Bool `json:"visible,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of the cross-bar at both ends of the error bars. + Width float64 `json:"width,omitempty"` +} + +// BarErrorY +type BarErrorY struct { + + // Array + // arrayOK: false + // type: data_array + // Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data. + Array interface{} `json:"array,omitempty"` + + // Arrayminus + // arrayOK: false + // 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. + Arrayminus interface{} `json:"arrayminus,omitempty"` + + // Arrayminussrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `arrayminus`. + Arrayminussrc String `json:"arrayminussrc,omitempty"` + + // Arraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `array`. + Arraysrc String `json:"arraysrc,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the stoke color of the error bars. + Color Color `json:"color,omitempty"` + + // Symmetric + // arrayOK: false + // 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. + Symmetric Bool `json:"symmetric,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness (in px) of the error bars. + Thickness float64 `json:"thickness,omitempty"` + + // Traceref + // arrayOK: false + // type: integer + // + Traceref int64 `json:"traceref,omitempty"` + + // Tracerefminus + // arrayOK: false + // type: integer + // + Tracerefminus int64 `json:"tracerefminus,omitempty"` + + // Type + // default: %!s() + // type: enumerated + // 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`. + Type BarErrorYType `json:"type,omitempty"` + + // Value + // arrayOK: false + // type: number + // 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. + Value float64 `json:"value,omitempty"` + + // Valueminus + // arrayOK: false + // type: number + // 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 + Valueminus float64 `json:"valueminus,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Determines whether or not this set of error bars is visible. + Visible Bool `json:"visible,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of the cross-bar at both ends of the error bars. + Width float64 `json:"width,omitempty"` +} + +// BarHoverlabelFont Sets the font used in hover labels. +type BarHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// BarHoverlabel +type BarHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align BarHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *BarHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// BarInsidetextfont Sets the font used for `text` lying inside the bar. +type BarInsidetextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// BarLegendgrouptitleFont Sets this legend group's title font. +type BarLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// BarLegendgrouptitle +type BarLegendgrouptitle struct { + + // Font + // role: Object + Font *BarLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// BarMarkerColorbarTickfont Sets the color bar's tick label font +type BarMarkerColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// BarMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type BarMarkerColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// BarMarkerColorbarTitle +type BarMarkerColorbarTitle struct { + + // Font + // role: Object + Font *BarMarkerColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side BarMarkerColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// BarMarkerColorbar +type BarMarkerColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat BarMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode BarMarkerColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation BarMarkerColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent BarMarkerColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix BarMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix BarMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode BarMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *BarMarkerColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow BarMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition BarMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode BarMarkerColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks BarMarkerColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *BarMarkerColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor BarMarkerColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref BarMarkerColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor BarMarkerColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref BarMarkerColorbarYref `json:"yref,omitempty"` +} + +// BarMarkerLine +type BarMarkerLine struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the lines bounding the marker points. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// BarMarkerPattern Sets the pattern within the marker. +type BarMarkerPattern struct { + + // Bgcolor + // arrayOK: true + // type: color + // 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. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Fgcolor + // arrayOK: true + // type: color + // 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`. + Fgcolor Color `json:"fgcolor,omitempty"` + + // Fgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `fgcolor`. + Fgcolorsrc String `json:"fgcolorsrc,omitempty"` + + // Fgopacity + // arrayOK: false + // type: number + // Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1. + Fgopacity float64 `json:"fgopacity,omitempty"` + + // Fillmode + // default: replace + // type: enumerated + // Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. + Fillmode BarMarkerPatternFillmode `json:"fillmode,omitempty"` + + // Shape + // default: + // type: enumerated + // Sets the shape of the pattern fill. By default, no pattern is used for filling the area. + Shape BarMarkerPatternShape `json:"shape,omitempty"` + + // Shapesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `shape`. + Shapesrc String `json:"shapesrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Solidity + // arrayOK: true + // type: number + // 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. + Solidity float64 `json:"solidity,omitempty"` + + // Soliditysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `solidity`. + Soliditysrc String `json:"soliditysrc,omitempty"` +} + +// BarMarker +type BarMarker struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *BarMarkerColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Cornerradius + // arrayOK: false + // type: any + // 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. + Cornerradius interface{} `json:"cornerradius,omitempty"` + + // Line + // role: Object + Line *BarMarkerLine `json:"line,omitempty"` + + // Opacity + // arrayOK: true + // type: number + // Sets the opacity of the bars. + Opacity float64 `json:"opacity,omitempty"` + + // Opacitysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `opacity`. + Opacitysrc String `json:"opacitysrc,omitempty"` + + // Pattern + // role: Object + Pattern *BarMarkerPattern `json:"pattern,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` +} + +// BarOutsidetextfont Sets the font used for `text` lying outside the bar. +type BarOutsidetextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// BarSelectedMarker +type BarSelectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of selected points. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of selected points. + Opacity float64 `json:"opacity,omitempty"` +} + +// BarSelectedTextfont +type BarSelectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of selected points. + Color Color `json:"color,omitempty"` +} + +// BarSelected +type BarSelected struct { + + // Marker + // role: Object + Marker *BarSelectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *BarSelectedTextfont `json:"textfont,omitempty"` +} + +// BarStream +type BarStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// BarTextfont Sets the font used for `text`. +type BarTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// BarUnselectedMarker +type BarUnselectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of unselected points, applied only when a selection exists. + Opacity float64 `json:"opacity,omitempty"` +} + +// BarUnselectedTextfont +type BarUnselectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` +} + +// BarUnselected +type BarUnselected struct { + + // Marker + // role: Object + Marker *BarUnselectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *BarUnselectedTextfont `json:"textfont,omitempty"` +} + +// BarConstraintext Constrain the size of text inside or outside a bar to be no larger than the bar itself. +type BarConstraintext string + +const ( + BarConstraintextInside BarConstraintext = "inside" + BarConstraintextOutside BarConstraintext = "outside" + BarConstraintextBoth BarConstraintext = "both" + BarConstraintextNone BarConstraintext = "none" +) + +// BarErrorXType 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`. +type BarErrorXType string + +const ( + BarErrorXTypePercent BarErrorXType = "percent" + BarErrorXTypeConstant BarErrorXType = "constant" + BarErrorXTypeSqrt BarErrorXType = "sqrt" + BarErrorXTypeData BarErrorXType = "data" +) + +// BarErrorYType 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`. +type BarErrorYType string + +const ( + BarErrorYTypePercent BarErrorYType = "percent" + BarErrorYTypeConstant BarErrorYType = "constant" + BarErrorYTypeSqrt BarErrorYType = "sqrt" + BarErrorYTypeData BarErrorYType = "data" +) + +// BarHoverlabelAlign 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 +type BarHoverlabelAlign string + +const ( + BarHoverlabelAlignLeft BarHoverlabelAlign = "left" + BarHoverlabelAlignRight BarHoverlabelAlign = "right" + BarHoverlabelAlignAuto BarHoverlabelAlign = "auto" +) + +// BarInsidetextanchor Determines if texts are kept at center or start/end points in `textposition` *inside* mode. +type BarInsidetextanchor string + +const ( + BarInsidetextanchorEnd BarInsidetextanchor = "end" + BarInsidetextanchorMiddle BarInsidetextanchor = "middle" + BarInsidetextanchorStart BarInsidetextanchor = "start" +) + +// BarMarkerColorbarExponentformat 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. +type BarMarkerColorbarExponentformat string + +const ( + BarMarkerColorbarExponentformatNone BarMarkerColorbarExponentformat = "none" + BarMarkerColorbarExponentformatE1 BarMarkerColorbarExponentformat = "e" + BarMarkerColorbarExponentformatE2 BarMarkerColorbarExponentformat = "E" + BarMarkerColorbarExponentformatPower BarMarkerColorbarExponentformat = "power" + BarMarkerColorbarExponentformatSI BarMarkerColorbarExponentformat = "SI" + BarMarkerColorbarExponentformatB BarMarkerColorbarExponentformat = "B" +) + +// BarMarkerColorbarLenmode 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. +type BarMarkerColorbarLenmode string + +const ( + BarMarkerColorbarLenmodeFraction BarMarkerColorbarLenmode = "fraction" + BarMarkerColorbarLenmodePixels BarMarkerColorbarLenmode = "pixels" +) + +// BarMarkerColorbarOrientation Sets the orientation of the colorbar. +type BarMarkerColorbarOrientation string + +const ( + BarMarkerColorbarOrientationH BarMarkerColorbarOrientation = "h" + BarMarkerColorbarOrientationV BarMarkerColorbarOrientation = "v" +) + +// BarMarkerColorbarShowexponent 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. +type BarMarkerColorbarShowexponent string + +const ( + BarMarkerColorbarShowexponentAll BarMarkerColorbarShowexponent = "all" + BarMarkerColorbarShowexponentFirst BarMarkerColorbarShowexponent = "first" + BarMarkerColorbarShowexponentLast BarMarkerColorbarShowexponent = "last" + BarMarkerColorbarShowexponentNone BarMarkerColorbarShowexponent = "none" +) + +// BarMarkerColorbarShowtickprefix 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. +type BarMarkerColorbarShowtickprefix string + +const ( + BarMarkerColorbarShowtickprefixAll BarMarkerColorbarShowtickprefix = "all" + BarMarkerColorbarShowtickprefixFirst BarMarkerColorbarShowtickprefix = "first" + BarMarkerColorbarShowtickprefixLast BarMarkerColorbarShowtickprefix = "last" + BarMarkerColorbarShowtickprefixNone BarMarkerColorbarShowtickprefix = "none" +) + +// BarMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type BarMarkerColorbarShowticksuffix string + +const ( + BarMarkerColorbarShowticksuffixAll BarMarkerColorbarShowticksuffix = "all" + BarMarkerColorbarShowticksuffixFirst BarMarkerColorbarShowticksuffix = "first" + BarMarkerColorbarShowticksuffixLast BarMarkerColorbarShowticksuffix = "last" + BarMarkerColorbarShowticksuffixNone BarMarkerColorbarShowticksuffix = "none" +) + +// BarMarkerColorbarThicknessmode 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. +type BarMarkerColorbarThicknessmode string + +const ( + BarMarkerColorbarThicknessmodeFraction BarMarkerColorbarThicknessmode = "fraction" + BarMarkerColorbarThicknessmodePixels BarMarkerColorbarThicknessmode = "pixels" +) + +// BarMarkerColorbarTicklabeloverflow 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*. +type BarMarkerColorbarTicklabeloverflow string + +const ( + BarMarkerColorbarTicklabeloverflowAllow BarMarkerColorbarTicklabeloverflow = "allow" + BarMarkerColorbarTicklabeloverflowHidePastDiv BarMarkerColorbarTicklabeloverflow = "hide past div" + BarMarkerColorbarTicklabeloverflowHidePastDomain BarMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// BarMarkerColorbarTicklabelposition 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*. +type BarMarkerColorbarTicklabelposition string + +const ( + BarMarkerColorbarTicklabelpositionOutside BarMarkerColorbarTicklabelposition = "outside" + BarMarkerColorbarTicklabelpositionInside BarMarkerColorbarTicklabelposition = "inside" + BarMarkerColorbarTicklabelpositionOutsideTop BarMarkerColorbarTicklabelposition = "outside top" + BarMarkerColorbarTicklabelpositionInsideTop BarMarkerColorbarTicklabelposition = "inside top" + BarMarkerColorbarTicklabelpositionOutsideLeft BarMarkerColorbarTicklabelposition = "outside left" + BarMarkerColorbarTicklabelpositionInsideLeft BarMarkerColorbarTicklabelposition = "inside left" + BarMarkerColorbarTicklabelpositionOutsideRight BarMarkerColorbarTicklabelposition = "outside right" + BarMarkerColorbarTicklabelpositionInsideRight BarMarkerColorbarTicklabelposition = "inside right" + BarMarkerColorbarTicklabelpositionOutsideBottom BarMarkerColorbarTicklabelposition = "outside bottom" + BarMarkerColorbarTicklabelpositionInsideBottom BarMarkerColorbarTicklabelposition = "inside bottom" +) + +// BarMarkerColorbarTickmode 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). +type BarMarkerColorbarTickmode string + +const ( + BarMarkerColorbarTickmodeAuto BarMarkerColorbarTickmode = "auto" + BarMarkerColorbarTickmodeLinear BarMarkerColorbarTickmode = "linear" + BarMarkerColorbarTickmodeArray BarMarkerColorbarTickmode = "array" +) + +// BarMarkerColorbarTicks 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. +type BarMarkerColorbarTicks string + +const ( + BarMarkerColorbarTicksOutside BarMarkerColorbarTicks = "outside" + BarMarkerColorbarTicksInside BarMarkerColorbarTicks = "inside" + BarMarkerColorbarTicksEmpty BarMarkerColorbarTicks = "" +) + +// BarMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type BarMarkerColorbarTitleSide string + +const ( + BarMarkerColorbarTitleSideRight BarMarkerColorbarTitleSide = "right" + BarMarkerColorbarTitleSideTop BarMarkerColorbarTitleSide = "top" + BarMarkerColorbarTitleSideBottom BarMarkerColorbarTitleSide = "bottom" +) + +// BarMarkerColorbarXanchor 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*. +type BarMarkerColorbarXanchor string + +const ( + BarMarkerColorbarXanchorLeft BarMarkerColorbarXanchor = "left" + BarMarkerColorbarXanchorCenter BarMarkerColorbarXanchor = "center" + BarMarkerColorbarXanchorRight BarMarkerColorbarXanchor = "right" +) + +// BarMarkerColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type BarMarkerColorbarXref string + +const ( + BarMarkerColorbarXrefContainer BarMarkerColorbarXref = "container" + BarMarkerColorbarXrefPaper BarMarkerColorbarXref = "paper" +) + +// BarMarkerColorbarYanchor 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*. +type BarMarkerColorbarYanchor string + +const ( + BarMarkerColorbarYanchorTop BarMarkerColorbarYanchor = "top" + BarMarkerColorbarYanchorMiddle BarMarkerColorbarYanchor = "middle" + BarMarkerColorbarYanchorBottom BarMarkerColorbarYanchor = "bottom" +) + +// BarMarkerColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type BarMarkerColorbarYref string + +const ( + BarMarkerColorbarYrefContainer BarMarkerColorbarYref = "container" + BarMarkerColorbarYrefPaper BarMarkerColorbarYref = "paper" +) + +// BarMarkerPatternFillmode Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. +type BarMarkerPatternFillmode string + +const ( + BarMarkerPatternFillmodeReplace BarMarkerPatternFillmode = "replace" + BarMarkerPatternFillmodeOverlay BarMarkerPatternFillmode = "overlay" +) + +// BarMarkerPatternShape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. +type BarMarkerPatternShape string + +const ( + BarMarkerPatternShapeEmpty BarMarkerPatternShape = "" + BarMarkerPatternShapeSlash BarMarkerPatternShape = "/" + BarMarkerPatternShapeDoublebackslash BarMarkerPatternShape = "\\" + BarMarkerPatternShapeX BarMarkerPatternShape = "x" + BarMarkerPatternShapeHyphenHyphen BarMarkerPatternShape = "-" + BarMarkerPatternShapeOr BarMarkerPatternShape = "|" + BarMarkerPatternShapePlus BarMarkerPatternShape = "+" + BarMarkerPatternShapeDot BarMarkerPatternShape = "." +) + +// BarOrientation Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal). +type BarOrientation string + +const ( + BarOrientationV BarOrientation = "v" + BarOrientationH BarOrientation = "h" +) + +// BarTextposition 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. +type BarTextposition string + +const ( + BarTextpositionInside BarTextposition = "inside" + BarTextpositionOutside BarTextposition = "outside" + BarTextpositionAuto BarTextposition = "auto" + BarTextpositionNone BarTextposition = "none" +) + +// BarVisible 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). +type BarVisible interface{} + +var ( + BarVisibleTrue BarVisible = true + BarVisibleFalse BarVisible = false + BarVisibleLegendonly BarVisible = "legendonly" +) + +// BarXcalendar Sets the calendar system to use with `x` date data. +type BarXcalendar string + +const ( + BarXcalendarChinese BarXcalendar = "chinese" + BarXcalendarCoptic BarXcalendar = "coptic" + BarXcalendarDiscworld BarXcalendar = "discworld" + BarXcalendarEthiopian BarXcalendar = "ethiopian" + BarXcalendarGregorian BarXcalendar = "gregorian" + BarXcalendarHebrew BarXcalendar = "hebrew" + BarXcalendarIslamic BarXcalendar = "islamic" + BarXcalendarJalali BarXcalendar = "jalali" + BarXcalendarJulian BarXcalendar = "julian" + BarXcalendarMayan BarXcalendar = "mayan" + BarXcalendarNanakshahi BarXcalendar = "nanakshahi" + BarXcalendarNepali BarXcalendar = "nepali" + BarXcalendarPersian BarXcalendar = "persian" + BarXcalendarTaiwan BarXcalendar = "taiwan" + BarXcalendarThai BarXcalendar = "thai" + BarXcalendarUmmalqura BarXcalendar = "ummalqura" +) + +// BarXperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. +type BarXperiodalignment string + +const ( + BarXperiodalignmentStart BarXperiodalignment = "start" + BarXperiodalignmentMiddle BarXperiodalignment = "middle" + BarXperiodalignmentEnd BarXperiodalignment = "end" +) + +// BarYcalendar Sets the calendar system to use with `y` date data. +type BarYcalendar string + +const ( + BarYcalendarChinese BarYcalendar = "chinese" + BarYcalendarCoptic BarYcalendar = "coptic" + BarYcalendarDiscworld BarYcalendar = "discworld" + BarYcalendarEthiopian BarYcalendar = "ethiopian" + BarYcalendarGregorian BarYcalendar = "gregorian" + BarYcalendarHebrew BarYcalendar = "hebrew" + BarYcalendarIslamic BarYcalendar = "islamic" + BarYcalendarJalali BarYcalendar = "jalali" + BarYcalendarJulian BarYcalendar = "julian" + BarYcalendarMayan BarYcalendar = "mayan" + BarYcalendarNanakshahi BarYcalendar = "nanakshahi" + BarYcalendarNepali BarYcalendar = "nepali" + BarYcalendarPersian BarYcalendar = "persian" + BarYcalendarTaiwan BarYcalendar = "taiwan" + BarYcalendarThai BarYcalendar = "thai" + BarYcalendarUmmalqura BarYcalendar = "ummalqura" +) + +// BarYperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis. +type BarYperiodalignment string + +const ( + BarYperiodalignmentStart BarYperiodalignment = "start" + BarYperiodalignmentMiddle BarYperiodalignment = "middle" + BarYperiodalignmentEnd BarYperiodalignment = "end" +) + +// BarHoverinfo 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. +type BarHoverinfo string + +const ( + // Flags + BarHoverinfoX BarHoverinfo = "x" + BarHoverinfoY BarHoverinfo = "y" + BarHoverinfoZ BarHoverinfo = "z" + BarHoverinfoText BarHoverinfo = "text" + BarHoverinfoName BarHoverinfo = "name" + + // Extra + BarHoverinfoAll BarHoverinfo = "all" + BarHoverinfoNone BarHoverinfo = "none" + BarHoverinfoSkip BarHoverinfo = "skip" +) diff --git a/generated/v2.29.1/graph_objects/barpolar_gen.go b/generated/v2.29.1/graph_objects/barpolar_gen.go new file mode 100644 index 0000000..cdbde3f --- /dev/null +++ b/generated/v2.29.1/graph_objects/barpolar_gen.go @@ -0,0 +1,1332 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeBarpolar TraceType = "barpolar" + +func (trace *Barpolar) GetType() TraceType { + return TraceTypeBarpolar +} + +// Barpolar The data visualized by the radial span of the bars is set in `r` +type Barpolar struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Base + // arrayOK: true + // type: any + // 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. + Base interface{} `json:"base,omitempty"` + + // Basesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `base`. + Basesrc String `json:"basesrc,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Dr + // arrayOK: false + // type: number + // Sets the r coordinate step. + Dr float64 `json:"dr,omitempty"` + + // Dtheta + // arrayOK: false + // 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. + Dtheta float64 `json:"dtheta,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo BarpolarHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *BarpolarHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // Same as `text`. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *BarpolarLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Marker + // role: Object + Marker *BarpolarMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Offset + // arrayOK: true + // type: number + // Shifts the angular position where the bar is drawn (in *thetatunit* units). + Offset float64 `json:"offset,omitempty"` + + // Offsetsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `offset`. + Offsetsrc String `json:"offsetsrc,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // R + // arrayOK: false + // type: data_array + // Sets the radial coordinates + R interface{} `json:"r,omitempty"` + + // R0 + // arrayOK: false + // type: any + // Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step. + R0 interface{} `json:"r0,omitempty"` + + // Rsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `r`. + Rsrc String `json:"rsrc,omitempty"` + + // Selected + // role: Object + Selected *BarpolarSelected `json:"selected,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Stream + // role: Object + Stream *BarpolarStream `json:"stream,omitempty"` + + // Subplot + // arrayOK: false + // type: subplotid + // 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. + Subplot String `json:"subplot,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Theta + // arrayOK: false + // type: data_array + // Sets the angular coordinates + Theta interface{} `json:"theta,omitempty"` + + // Theta0 + // arrayOK: false + // type: any + // Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step. + Theta0 interface{} `json:"theta0,omitempty"` + + // Thetasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `theta`. + Thetasrc String `json:"thetasrc,omitempty"` + + // Thetaunit + // default: degrees + // type: enumerated + // Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes. + Thetaunit BarpolarThetaunit `json:"thetaunit,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Unselected + // role: Object + Unselected *BarpolarUnselected `json:"unselected,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible BarpolarVisible `json:"visible,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the bar angular width (in *thetaunit* units). + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// BarpolarHoverlabelFont Sets the font used in hover labels. +type BarpolarHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// BarpolarHoverlabel +type BarpolarHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align BarpolarHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *BarpolarHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// BarpolarLegendgrouptitleFont Sets this legend group's title font. +type BarpolarLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// BarpolarLegendgrouptitle +type BarpolarLegendgrouptitle struct { + + // Font + // role: Object + Font *BarpolarLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// BarpolarMarkerColorbarTickfont Sets the color bar's tick label font +type BarpolarMarkerColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// BarpolarMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type BarpolarMarkerColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// BarpolarMarkerColorbarTitle +type BarpolarMarkerColorbarTitle struct { + + // Font + // role: Object + Font *BarpolarMarkerColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side BarpolarMarkerColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// BarpolarMarkerColorbar +type BarpolarMarkerColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat BarpolarMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode BarpolarMarkerColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation BarpolarMarkerColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent BarpolarMarkerColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix BarpolarMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix BarpolarMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode BarpolarMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *BarpolarMarkerColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow BarpolarMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition BarpolarMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode BarpolarMarkerColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks BarpolarMarkerColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *BarpolarMarkerColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor BarpolarMarkerColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref BarpolarMarkerColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor BarpolarMarkerColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref BarpolarMarkerColorbarYref `json:"yref,omitempty"` +} + +// BarpolarMarkerLine +type BarpolarMarkerLine struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the lines bounding the marker points. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// BarpolarMarkerPattern Sets the pattern within the marker. +type BarpolarMarkerPattern struct { + + // Bgcolor + // arrayOK: true + // type: color + // 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. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Fgcolor + // arrayOK: true + // type: color + // 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`. + Fgcolor Color `json:"fgcolor,omitempty"` + + // Fgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `fgcolor`. + Fgcolorsrc String `json:"fgcolorsrc,omitempty"` + + // Fgopacity + // arrayOK: false + // type: number + // Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1. + Fgopacity float64 `json:"fgopacity,omitempty"` + + // Fillmode + // default: replace + // type: enumerated + // Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. + Fillmode BarpolarMarkerPatternFillmode `json:"fillmode,omitempty"` + + // Shape + // default: + // type: enumerated + // Sets the shape of the pattern fill. By default, no pattern is used for filling the area. + Shape BarpolarMarkerPatternShape `json:"shape,omitempty"` + + // Shapesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `shape`. + Shapesrc String `json:"shapesrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Solidity + // arrayOK: true + // type: number + // 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. + Solidity float64 `json:"solidity,omitempty"` + + // Soliditysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `solidity`. + Soliditysrc String `json:"soliditysrc,omitempty"` +} + +// BarpolarMarker +type BarpolarMarker struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *BarpolarMarkerColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Line + // role: Object + Line *BarpolarMarkerLine `json:"line,omitempty"` + + // Opacity + // arrayOK: true + // type: number + // Sets the opacity of the bars. + Opacity float64 `json:"opacity,omitempty"` + + // Opacitysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `opacity`. + Opacitysrc String `json:"opacitysrc,omitempty"` + + // Pattern + // role: Object + Pattern *BarpolarMarkerPattern `json:"pattern,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` +} + +// BarpolarSelectedMarker +type BarpolarSelectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of selected points. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of selected points. + Opacity float64 `json:"opacity,omitempty"` +} + +// BarpolarSelectedTextfont +type BarpolarSelectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of selected points. + Color Color `json:"color,omitempty"` +} + +// BarpolarSelected +type BarpolarSelected struct { + + // Marker + // role: Object + Marker *BarpolarSelectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *BarpolarSelectedTextfont `json:"textfont,omitempty"` +} + +// BarpolarStream +type BarpolarStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// BarpolarUnselectedMarker +type BarpolarUnselectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of unselected points, applied only when a selection exists. + Opacity float64 `json:"opacity,omitempty"` +} + +// BarpolarUnselectedTextfont +type BarpolarUnselectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` +} + +// BarpolarUnselected +type BarpolarUnselected struct { + + // Marker + // role: Object + Marker *BarpolarUnselectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *BarpolarUnselectedTextfont `json:"textfont,omitempty"` +} + +// BarpolarHoverlabelAlign 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 +type BarpolarHoverlabelAlign string + +const ( + BarpolarHoverlabelAlignLeft BarpolarHoverlabelAlign = "left" + BarpolarHoverlabelAlignRight BarpolarHoverlabelAlign = "right" + BarpolarHoverlabelAlignAuto BarpolarHoverlabelAlign = "auto" +) + +// BarpolarMarkerColorbarExponentformat 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. +type BarpolarMarkerColorbarExponentformat string + +const ( + BarpolarMarkerColorbarExponentformatNone BarpolarMarkerColorbarExponentformat = "none" + BarpolarMarkerColorbarExponentformatE1 BarpolarMarkerColorbarExponentformat = "e" + BarpolarMarkerColorbarExponentformatE2 BarpolarMarkerColorbarExponentformat = "E" + BarpolarMarkerColorbarExponentformatPower BarpolarMarkerColorbarExponentformat = "power" + BarpolarMarkerColorbarExponentformatSI BarpolarMarkerColorbarExponentformat = "SI" + BarpolarMarkerColorbarExponentformatB BarpolarMarkerColorbarExponentformat = "B" +) + +// BarpolarMarkerColorbarLenmode 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. +type BarpolarMarkerColorbarLenmode string + +const ( + BarpolarMarkerColorbarLenmodeFraction BarpolarMarkerColorbarLenmode = "fraction" + BarpolarMarkerColorbarLenmodePixels BarpolarMarkerColorbarLenmode = "pixels" +) + +// BarpolarMarkerColorbarOrientation Sets the orientation of the colorbar. +type BarpolarMarkerColorbarOrientation string + +const ( + BarpolarMarkerColorbarOrientationH BarpolarMarkerColorbarOrientation = "h" + BarpolarMarkerColorbarOrientationV BarpolarMarkerColorbarOrientation = "v" +) + +// BarpolarMarkerColorbarShowexponent 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. +type BarpolarMarkerColorbarShowexponent string + +const ( + BarpolarMarkerColorbarShowexponentAll BarpolarMarkerColorbarShowexponent = "all" + BarpolarMarkerColorbarShowexponentFirst BarpolarMarkerColorbarShowexponent = "first" + BarpolarMarkerColorbarShowexponentLast BarpolarMarkerColorbarShowexponent = "last" + BarpolarMarkerColorbarShowexponentNone BarpolarMarkerColorbarShowexponent = "none" +) + +// BarpolarMarkerColorbarShowtickprefix 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. +type BarpolarMarkerColorbarShowtickprefix string + +const ( + BarpolarMarkerColorbarShowtickprefixAll BarpolarMarkerColorbarShowtickprefix = "all" + BarpolarMarkerColorbarShowtickprefixFirst BarpolarMarkerColorbarShowtickprefix = "first" + BarpolarMarkerColorbarShowtickprefixLast BarpolarMarkerColorbarShowtickprefix = "last" + BarpolarMarkerColorbarShowtickprefixNone BarpolarMarkerColorbarShowtickprefix = "none" +) + +// BarpolarMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type BarpolarMarkerColorbarShowticksuffix string + +const ( + BarpolarMarkerColorbarShowticksuffixAll BarpolarMarkerColorbarShowticksuffix = "all" + BarpolarMarkerColorbarShowticksuffixFirst BarpolarMarkerColorbarShowticksuffix = "first" + BarpolarMarkerColorbarShowticksuffixLast BarpolarMarkerColorbarShowticksuffix = "last" + BarpolarMarkerColorbarShowticksuffixNone BarpolarMarkerColorbarShowticksuffix = "none" +) + +// BarpolarMarkerColorbarThicknessmode 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. +type BarpolarMarkerColorbarThicknessmode string + +const ( + BarpolarMarkerColorbarThicknessmodeFraction BarpolarMarkerColorbarThicknessmode = "fraction" + BarpolarMarkerColorbarThicknessmodePixels BarpolarMarkerColorbarThicknessmode = "pixels" +) + +// BarpolarMarkerColorbarTicklabeloverflow 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*. +type BarpolarMarkerColorbarTicklabeloverflow string + +const ( + BarpolarMarkerColorbarTicklabeloverflowAllow BarpolarMarkerColorbarTicklabeloverflow = "allow" + BarpolarMarkerColorbarTicklabeloverflowHidePastDiv BarpolarMarkerColorbarTicklabeloverflow = "hide past div" + BarpolarMarkerColorbarTicklabeloverflowHidePastDomain BarpolarMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// BarpolarMarkerColorbarTicklabelposition 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*. +type BarpolarMarkerColorbarTicklabelposition string + +const ( + BarpolarMarkerColorbarTicklabelpositionOutside BarpolarMarkerColorbarTicklabelposition = "outside" + BarpolarMarkerColorbarTicklabelpositionInside BarpolarMarkerColorbarTicklabelposition = "inside" + BarpolarMarkerColorbarTicklabelpositionOutsideTop BarpolarMarkerColorbarTicklabelposition = "outside top" + BarpolarMarkerColorbarTicklabelpositionInsideTop BarpolarMarkerColorbarTicklabelposition = "inside top" + BarpolarMarkerColorbarTicklabelpositionOutsideLeft BarpolarMarkerColorbarTicklabelposition = "outside left" + BarpolarMarkerColorbarTicklabelpositionInsideLeft BarpolarMarkerColorbarTicklabelposition = "inside left" + BarpolarMarkerColorbarTicklabelpositionOutsideRight BarpolarMarkerColorbarTicklabelposition = "outside right" + BarpolarMarkerColorbarTicklabelpositionInsideRight BarpolarMarkerColorbarTicklabelposition = "inside right" + BarpolarMarkerColorbarTicklabelpositionOutsideBottom BarpolarMarkerColorbarTicklabelposition = "outside bottom" + BarpolarMarkerColorbarTicklabelpositionInsideBottom BarpolarMarkerColorbarTicklabelposition = "inside bottom" +) + +// BarpolarMarkerColorbarTickmode 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). +type BarpolarMarkerColorbarTickmode string + +const ( + BarpolarMarkerColorbarTickmodeAuto BarpolarMarkerColorbarTickmode = "auto" + BarpolarMarkerColorbarTickmodeLinear BarpolarMarkerColorbarTickmode = "linear" + BarpolarMarkerColorbarTickmodeArray BarpolarMarkerColorbarTickmode = "array" +) + +// BarpolarMarkerColorbarTicks 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. +type BarpolarMarkerColorbarTicks string + +const ( + BarpolarMarkerColorbarTicksOutside BarpolarMarkerColorbarTicks = "outside" + BarpolarMarkerColorbarTicksInside BarpolarMarkerColorbarTicks = "inside" + BarpolarMarkerColorbarTicksEmpty BarpolarMarkerColorbarTicks = "" +) + +// BarpolarMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type BarpolarMarkerColorbarTitleSide string + +const ( + BarpolarMarkerColorbarTitleSideRight BarpolarMarkerColorbarTitleSide = "right" + BarpolarMarkerColorbarTitleSideTop BarpolarMarkerColorbarTitleSide = "top" + BarpolarMarkerColorbarTitleSideBottom BarpolarMarkerColorbarTitleSide = "bottom" +) + +// BarpolarMarkerColorbarXanchor 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*. +type BarpolarMarkerColorbarXanchor string + +const ( + BarpolarMarkerColorbarXanchorLeft BarpolarMarkerColorbarXanchor = "left" + BarpolarMarkerColorbarXanchorCenter BarpolarMarkerColorbarXanchor = "center" + BarpolarMarkerColorbarXanchorRight BarpolarMarkerColorbarXanchor = "right" +) + +// BarpolarMarkerColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type BarpolarMarkerColorbarXref string + +const ( + BarpolarMarkerColorbarXrefContainer BarpolarMarkerColorbarXref = "container" + BarpolarMarkerColorbarXrefPaper BarpolarMarkerColorbarXref = "paper" +) + +// BarpolarMarkerColorbarYanchor 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*. +type BarpolarMarkerColorbarYanchor string + +const ( + BarpolarMarkerColorbarYanchorTop BarpolarMarkerColorbarYanchor = "top" + BarpolarMarkerColorbarYanchorMiddle BarpolarMarkerColorbarYanchor = "middle" + BarpolarMarkerColorbarYanchorBottom BarpolarMarkerColorbarYanchor = "bottom" +) + +// BarpolarMarkerColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type BarpolarMarkerColorbarYref string + +const ( + BarpolarMarkerColorbarYrefContainer BarpolarMarkerColorbarYref = "container" + BarpolarMarkerColorbarYrefPaper BarpolarMarkerColorbarYref = "paper" +) + +// BarpolarMarkerPatternFillmode Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. +type BarpolarMarkerPatternFillmode string + +const ( + BarpolarMarkerPatternFillmodeReplace BarpolarMarkerPatternFillmode = "replace" + BarpolarMarkerPatternFillmodeOverlay BarpolarMarkerPatternFillmode = "overlay" +) + +// BarpolarMarkerPatternShape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. +type BarpolarMarkerPatternShape string + +const ( + BarpolarMarkerPatternShapeEmpty BarpolarMarkerPatternShape = "" + BarpolarMarkerPatternShapeSlash BarpolarMarkerPatternShape = "/" + BarpolarMarkerPatternShapeDoublebackslash BarpolarMarkerPatternShape = "\\" + BarpolarMarkerPatternShapeX BarpolarMarkerPatternShape = "x" + BarpolarMarkerPatternShapeHyphenHyphen BarpolarMarkerPatternShape = "-" + BarpolarMarkerPatternShapeOr BarpolarMarkerPatternShape = "|" + BarpolarMarkerPatternShapePlus BarpolarMarkerPatternShape = "+" + BarpolarMarkerPatternShapeDot BarpolarMarkerPatternShape = "." +) + +// BarpolarThetaunit Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes. +type BarpolarThetaunit string + +const ( + BarpolarThetaunitRadians BarpolarThetaunit = "radians" + BarpolarThetaunitDegrees BarpolarThetaunit = "degrees" + BarpolarThetaunitGradians BarpolarThetaunit = "gradians" +) + +// BarpolarVisible 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). +type BarpolarVisible interface{} + +var ( + BarpolarVisibleTrue BarpolarVisible = true + BarpolarVisibleFalse BarpolarVisible = false + BarpolarVisibleLegendonly BarpolarVisible = "legendonly" +) + +// BarpolarHoverinfo 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. +type BarpolarHoverinfo string + +const ( + // Flags + BarpolarHoverinfoR BarpolarHoverinfo = "r" + BarpolarHoverinfoTheta BarpolarHoverinfo = "theta" + BarpolarHoverinfoText BarpolarHoverinfo = "text" + BarpolarHoverinfoName BarpolarHoverinfo = "name" + + // Extra + BarpolarHoverinfoAll BarpolarHoverinfo = "all" + BarpolarHoverinfoNone BarpolarHoverinfo = "none" + BarpolarHoverinfoSkip BarpolarHoverinfo = "skip" +) diff --git a/generated/v2.29.1/graph_objects/box_gen.go b/generated/v2.29.1/graph_objects/box_gen.go new file mode 100644 index 0000000..af65638 --- /dev/null +++ b/generated/v2.29.1/graph_objects/box_gen.go @@ -0,0 +1,1460 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeBox TraceType = "box" + +func (trace *Box) GetType() TraceType { + return TraceTypeBox +} + +// Box 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. +type Box struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Alignmentgroup + // arrayOK: false + // 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. + Alignmentgroup String `json:"alignmentgroup,omitempty"` + + // Boxmean + // default: %!s() + // type: enumerated + // 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*. + Boxmean BoxBoxmean `json:"boxmean,omitempty"` + + // Boxpoints + // default: %!s() + // type: enumerated + // 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*. + Boxpoints BoxBoxpoints `json:"boxpoints,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Dx + // arrayOK: false + // type: number + // Sets the x coordinate step for multi-box traces set using q1/median/q3. + Dx float64 `json:"dx,omitempty"` + + // Dy + // arrayOK: false + // type: number + // Sets the y coordinate step for multi-box traces set using q1/median/q3. + Dy float64 `json:"dy,omitempty"` + + // Fillcolor + // arrayOK: false + // 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. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo BoxHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *BoxHoverlabel `json:"hoverlabel,omitempty"` + + // Hoveron + // default: boxes+points + // type: flaglist + // Do the hover effects highlight individual boxes or sample points or both? + Hoveron BoxHoveron `json:"hoveron,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // Same as `text`. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Jitter + // arrayOK: false + // type: number + // 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). + Jitter float64 `json:"jitter,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *BoxLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *BoxLine `json:"line,omitempty"` + + // Lowerfence + // arrayOK: false + // 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. + Lowerfence interface{} `json:"lowerfence,omitempty"` + + // Lowerfencesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `lowerfence`. + Lowerfencesrc String `json:"lowerfencesrc,omitempty"` + + // Marker + // role: Object + Marker *BoxMarker `json:"marker,omitempty"` + + // Mean + // arrayOK: false + // 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. + Mean interface{} `json:"mean,omitempty"` + + // Meansrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `mean`. + Meansrc String `json:"meansrc,omitempty"` + + // Median + // arrayOK: false + // type: data_array + // Sets the median values. There should be as many items as the number of boxes desired. + Median interface{} `json:"median,omitempty"` + + // Mediansrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `median`. + Mediansrc String `json:"mediansrc,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // 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 + Name String `json:"name,omitempty"` + + // Notched + // arrayOK: false + // 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. + Notched Bool `json:"notched,omitempty"` + + // Notchspan + // arrayOK: false + // 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. + Notchspan interface{} `json:"notchspan,omitempty"` + + // Notchspansrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `notchspan`. + Notchspansrc String `json:"notchspansrc,omitempty"` + + // Notchwidth + // arrayOK: false + // type: number + // Sets the width of the notches relative to the box' width. For example, with 0, the notches are as wide as the box(es). + Notchwidth float64 `json:"notchwidth,omitempty"` + + // Offsetgroup + // arrayOK: false + // 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. + Offsetgroup String `json:"offsetgroup,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Orientation + // default: %!s() + // type: enumerated + // Sets the orientation of the box(es). If *v* (*h*), the distribution is visualized along the vertical (horizontal). + Orientation BoxOrientation `json:"orientation,omitempty"` + + // Pointpos + // arrayOK: false + // type: number + // 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 + Pointpos float64 `json:"pointpos,omitempty"` + + // Q1 + // arrayOK: false + // type: data_array + // Sets the Quartile 1 values. There should be as many items as the number of boxes desired. + Q1 interface{} `json:"q1,omitempty"` + + // Q1src + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `q1`. + Q1src String `json:"q1src,omitempty"` + + // Q3 + // arrayOK: false + // type: data_array + // Sets the Quartile 3 values. There should be as many items as the number of boxes desired. + Q3 interface{} `json:"q3,omitempty"` + + // Q3src + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `q3`. + Q3src String `json:"q3src,omitempty"` + + // Quartilemethod + // default: linear + // type: enumerated + // 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. + Quartilemethod BoxQuartilemethod `json:"quartilemethod,omitempty"` + + // Sd + // arrayOK: false + // 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. + Sd interface{} `json:"sd,omitempty"` + + // Sdmultiple + // arrayOK: false + // type: number + // Scales the box size when sizemode=sd Allowing boxes to be drawn across any stddev range For example 1-stddev, 3-stddev, 5-stddev + Sdmultiple float64 `json:"sdmultiple,omitempty"` + + // Sdsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `sd`. + Sdsrc String `json:"sdsrc,omitempty"` + + // Selected + // role: Object + Selected *BoxSelected `json:"selected,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Showwhiskers + // arrayOK: false + // type: boolean + // Determines whether or not whiskers are visible. Defaults to true for `sizemode` *quartiles*, false for *sd*. + Showwhiskers Bool `json:"showwhiskers,omitempty"` + + // Sizemode + // default: quartiles + // type: enumerated + // 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 + Sizemode BoxSizemode `json:"sizemode,omitempty"` + + // Stream + // role: Object + Stream *BoxStream `json:"stream,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Unselected + // role: Object + Unselected *BoxUnselected `json:"unselected,omitempty"` + + // Upperfence + // arrayOK: false + // 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. + Upperfence interface{} `json:"upperfence,omitempty"` + + // Upperfencesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `upperfence`. + Upperfencesrc String `json:"upperfencesrc,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible BoxVisible `json:"visible,omitempty"` + + // Whiskerwidth + // arrayOK: false + // type: number + // Sets the width of the whiskers relative to the box' width. For example, with 1, the whiskers are as wide as the box(es). + Whiskerwidth float64 `json:"whiskerwidth,omitempty"` + + // Width + // arrayOK: false + // 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. + Width float64 `json:"width,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the x sample data or coordinates. See overview for more info. + X interface{} `json:"x,omitempty"` + + // X0 + // arrayOK: false + // type: any + // 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. + X0 interface{} `json:"x0,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Xcalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `x` date data. + Xcalendar BoxXcalendar `json:"xcalendar,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xperiod + // arrayOK: false + // type: any + // Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer. + Xperiod interface{} `json:"xperiod,omitempty"` + + // Xperiod0 + // arrayOK: false + // type: any + // 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. + Xperiod0 interface{} `json:"xperiod0,omitempty"` + + // Xperiodalignment + // default: middle + // type: enumerated + // Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. + Xperiodalignment BoxXperiodalignment `json:"xperiodalignment,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the y sample data or coordinates. See overview for more info. + Y interface{} `json:"y,omitempty"` + + // Y0 + // arrayOK: false + // type: any + // 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. + Y0 interface{} `json:"y0,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` + + // Ycalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `y` date data. + Ycalendar BoxYcalendar `json:"ycalendar,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Yperiod + // arrayOK: false + // type: any + // Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the y axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer. + Yperiod interface{} `json:"yperiod,omitempty"` + + // Yperiod0 + // arrayOK: false + // type: any + // 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. + Yperiod0 interface{} `json:"yperiod0,omitempty"` + + // Yperiodalignment + // default: middle + // type: enumerated + // Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis. + Yperiodalignment BoxYperiodalignment `json:"yperiodalignment,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` +} + +// BoxHoverlabelFont Sets the font used in hover labels. +type BoxHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// BoxHoverlabel +type BoxHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align BoxHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *BoxHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// BoxLegendgrouptitleFont Sets this legend group's title font. +type BoxLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// BoxLegendgrouptitle +type BoxLegendgrouptitle struct { + + // Font + // role: Object + Font *BoxLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// BoxLine +type BoxLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the color of line bounding the box(es). + Color Color `json:"color,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of line bounding the box(es). + Width float64 `json:"width,omitempty"` +} + +// BoxMarkerLine +type BoxMarkerLine struct { + + // Color + // arrayOK: false + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Outliercolor + // arrayOK: false + // type: color + // Sets the border line color of the outlier sample points. Defaults to marker.color + Outliercolor Color `json:"outliercolor,omitempty"` + + // Outlierwidth + // arrayOK: false + // type: number + // Sets the border line width (in px) of the outlier sample points. + Outlierwidth float64 `json:"outlierwidth,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of the lines bounding the marker points. + Width float64 `json:"width,omitempty"` +} + +// BoxMarker +type BoxMarker struct { + + // Angle + // arrayOK: false + // type: angle + // Sets the marker angle in respect to `angleref`. + Angle float64 `json:"angle,omitempty"` + + // Color + // arrayOK: false + // 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. + Color Color `json:"color,omitempty"` + + // Line + // role: Object + Line *BoxMarkerLine `json:"line,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity. + Opacity float64 `json:"opacity,omitempty"` + + // Outliercolor + // arrayOK: false + // type: color + // Sets the color of the outlier sample points. + Outliercolor Color `json:"outliercolor,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size (in px). + Size float64 `json:"size,omitempty"` + + // Symbol + // default: circle + // type: enumerated + // 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. + Symbol BoxMarkerSymbol `json:"symbol,omitempty"` +} + +// BoxSelectedMarker +type BoxSelectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of selected points. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of selected points. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of selected points. + Size float64 `json:"size,omitempty"` +} + +// BoxSelected +type BoxSelected struct { + + // Marker + // role: Object + Marker *BoxSelectedMarker `json:"marker,omitempty"` +} + +// BoxStream +type BoxStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// BoxUnselectedMarker +type BoxUnselectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of unselected points, applied only when a selection exists. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of unselected points, applied only when a selection exists. + Size float64 `json:"size,omitempty"` +} + +// BoxUnselected +type BoxUnselected struct { + + // Marker + // role: Object + Marker *BoxUnselectedMarker `json:"marker,omitempty"` +} + +// BoxBoxmean 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*. +type BoxBoxmean interface{} + +var ( + BoxBoxmeanTrue BoxBoxmean = true + BoxBoxmeanSd BoxBoxmean = "sd" + BoxBoxmeanFalse BoxBoxmean = false +) + +// BoxBoxpoints 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*. +type BoxBoxpoints interface{} + +var ( + BoxBoxpointsAll BoxBoxpoints = "all" + BoxBoxpointsOutliers BoxBoxpoints = "outliers" + BoxBoxpointsSuspectedoutliers BoxBoxpoints = "suspectedoutliers" + BoxBoxpointsFalse BoxBoxpoints = false +) + +// BoxHoverlabelAlign 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 +type BoxHoverlabelAlign string + +const ( + BoxHoverlabelAlignLeft BoxHoverlabelAlign = "left" + BoxHoverlabelAlignRight BoxHoverlabelAlign = "right" + BoxHoverlabelAlignAuto BoxHoverlabelAlign = "auto" +) + +// BoxMarkerSymbol 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. +type BoxMarkerSymbol interface{} + +var ( + BoxMarkerSymbolNumber0 BoxMarkerSymbol = 0 + BoxMarkerSymbol0 BoxMarkerSymbol = "0" + BoxMarkerSymbolCircle BoxMarkerSymbol = "circle" + BoxMarkerSymbolNumber100 BoxMarkerSymbol = 100 + BoxMarkerSymbol100 BoxMarkerSymbol = "100" + BoxMarkerSymbolCircleOpen BoxMarkerSymbol = "circle-open" + BoxMarkerSymbolNumber200 BoxMarkerSymbol = 200 + BoxMarkerSymbol200 BoxMarkerSymbol = "200" + BoxMarkerSymbolCircleDot BoxMarkerSymbol = "circle-dot" + BoxMarkerSymbolNumber300 BoxMarkerSymbol = 300 + BoxMarkerSymbol300 BoxMarkerSymbol = "300" + BoxMarkerSymbolCircleOpenDot BoxMarkerSymbol = "circle-open-dot" + BoxMarkerSymbolNumber1 BoxMarkerSymbol = 1 + BoxMarkerSymbol1 BoxMarkerSymbol = "1" + BoxMarkerSymbolSquare BoxMarkerSymbol = "square" + BoxMarkerSymbolNumber101 BoxMarkerSymbol = 101 + BoxMarkerSymbol101 BoxMarkerSymbol = "101" + BoxMarkerSymbolSquareOpen BoxMarkerSymbol = "square-open" + BoxMarkerSymbolNumber201 BoxMarkerSymbol = 201 + BoxMarkerSymbol201 BoxMarkerSymbol = "201" + BoxMarkerSymbolSquareDot BoxMarkerSymbol = "square-dot" + BoxMarkerSymbolNumber301 BoxMarkerSymbol = 301 + BoxMarkerSymbol301 BoxMarkerSymbol = "301" + BoxMarkerSymbolSquareOpenDot BoxMarkerSymbol = "square-open-dot" + BoxMarkerSymbolNumber2 BoxMarkerSymbol = 2 + BoxMarkerSymbol2 BoxMarkerSymbol = "2" + BoxMarkerSymbolDiamond BoxMarkerSymbol = "diamond" + BoxMarkerSymbolNumber102 BoxMarkerSymbol = 102 + BoxMarkerSymbol102 BoxMarkerSymbol = "102" + BoxMarkerSymbolDiamondOpen BoxMarkerSymbol = "diamond-open" + BoxMarkerSymbolNumber202 BoxMarkerSymbol = 202 + BoxMarkerSymbol202 BoxMarkerSymbol = "202" + BoxMarkerSymbolDiamondDot BoxMarkerSymbol = "diamond-dot" + BoxMarkerSymbolNumber302 BoxMarkerSymbol = 302 + BoxMarkerSymbol302 BoxMarkerSymbol = "302" + BoxMarkerSymbolDiamondOpenDot BoxMarkerSymbol = "diamond-open-dot" + BoxMarkerSymbolNumber3 BoxMarkerSymbol = 3 + BoxMarkerSymbol3 BoxMarkerSymbol = "3" + BoxMarkerSymbolCross BoxMarkerSymbol = "cross" + BoxMarkerSymbolNumber103 BoxMarkerSymbol = 103 + BoxMarkerSymbol103 BoxMarkerSymbol = "103" + BoxMarkerSymbolCrossOpen BoxMarkerSymbol = "cross-open" + BoxMarkerSymbolNumber203 BoxMarkerSymbol = 203 + BoxMarkerSymbol203 BoxMarkerSymbol = "203" + BoxMarkerSymbolCrossDot BoxMarkerSymbol = "cross-dot" + BoxMarkerSymbolNumber303 BoxMarkerSymbol = 303 + BoxMarkerSymbol303 BoxMarkerSymbol = "303" + BoxMarkerSymbolCrossOpenDot BoxMarkerSymbol = "cross-open-dot" + BoxMarkerSymbolNumber4 BoxMarkerSymbol = 4 + BoxMarkerSymbol4 BoxMarkerSymbol = "4" + BoxMarkerSymbolX BoxMarkerSymbol = "x" + BoxMarkerSymbolNumber104 BoxMarkerSymbol = 104 + BoxMarkerSymbol104 BoxMarkerSymbol = "104" + BoxMarkerSymbolXOpen BoxMarkerSymbol = "x-open" + BoxMarkerSymbolNumber204 BoxMarkerSymbol = 204 + BoxMarkerSymbol204 BoxMarkerSymbol = "204" + BoxMarkerSymbolXDot BoxMarkerSymbol = "x-dot" + BoxMarkerSymbolNumber304 BoxMarkerSymbol = 304 + BoxMarkerSymbol304 BoxMarkerSymbol = "304" + BoxMarkerSymbolXOpenDot BoxMarkerSymbol = "x-open-dot" + BoxMarkerSymbolNumber5 BoxMarkerSymbol = 5 + BoxMarkerSymbol5 BoxMarkerSymbol = "5" + BoxMarkerSymbolTriangleUp BoxMarkerSymbol = "triangle-up" + BoxMarkerSymbolNumber105 BoxMarkerSymbol = 105 + BoxMarkerSymbol105 BoxMarkerSymbol = "105" + BoxMarkerSymbolTriangleUpOpen BoxMarkerSymbol = "triangle-up-open" + BoxMarkerSymbolNumber205 BoxMarkerSymbol = 205 + BoxMarkerSymbol205 BoxMarkerSymbol = "205" + BoxMarkerSymbolTriangleUpDot BoxMarkerSymbol = "triangle-up-dot" + BoxMarkerSymbolNumber305 BoxMarkerSymbol = 305 + BoxMarkerSymbol305 BoxMarkerSymbol = "305" + BoxMarkerSymbolTriangleUpOpenDot BoxMarkerSymbol = "triangle-up-open-dot" + BoxMarkerSymbolNumber6 BoxMarkerSymbol = 6 + BoxMarkerSymbol6 BoxMarkerSymbol = "6" + BoxMarkerSymbolTriangleDown BoxMarkerSymbol = "triangle-down" + BoxMarkerSymbolNumber106 BoxMarkerSymbol = 106 + BoxMarkerSymbol106 BoxMarkerSymbol = "106" + BoxMarkerSymbolTriangleDownOpen BoxMarkerSymbol = "triangle-down-open" + BoxMarkerSymbolNumber206 BoxMarkerSymbol = 206 + BoxMarkerSymbol206 BoxMarkerSymbol = "206" + BoxMarkerSymbolTriangleDownDot BoxMarkerSymbol = "triangle-down-dot" + BoxMarkerSymbolNumber306 BoxMarkerSymbol = 306 + BoxMarkerSymbol306 BoxMarkerSymbol = "306" + BoxMarkerSymbolTriangleDownOpenDot BoxMarkerSymbol = "triangle-down-open-dot" + BoxMarkerSymbolNumber7 BoxMarkerSymbol = 7 + BoxMarkerSymbol7 BoxMarkerSymbol = "7" + BoxMarkerSymbolTriangleLeft BoxMarkerSymbol = "triangle-left" + BoxMarkerSymbolNumber107 BoxMarkerSymbol = 107 + BoxMarkerSymbol107 BoxMarkerSymbol = "107" + BoxMarkerSymbolTriangleLeftOpen BoxMarkerSymbol = "triangle-left-open" + BoxMarkerSymbolNumber207 BoxMarkerSymbol = 207 + BoxMarkerSymbol207 BoxMarkerSymbol = "207" + BoxMarkerSymbolTriangleLeftDot BoxMarkerSymbol = "triangle-left-dot" + BoxMarkerSymbolNumber307 BoxMarkerSymbol = 307 + BoxMarkerSymbol307 BoxMarkerSymbol = "307" + BoxMarkerSymbolTriangleLeftOpenDot BoxMarkerSymbol = "triangle-left-open-dot" + BoxMarkerSymbolNumber8 BoxMarkerSymbol = 8 + BoxMarkerSymbol8 BoxMarkerSymbol = "8" + BoxMarkerSymbolTriangleRight BoxMarkerSymbol = "triangle-right" + BoxMarkerSymbolNumber108 BoxMarkerSymbol = 108 + BoxMarkerSymbol108 BoxMarkerSymbol = "108" + BoxMarkerSymbolTriangleRightOpen BoxMarkerSymbol = "triangle-right-open" + BoxMarkerSymbolNumber208 BoxMarkerSymbol = 208 + BoxMarkerSymbol208 BoxMarkerSymbol = "208" + BoxMarkerSymbolTriangleRightDot BoxMarkerSymbol = "triangle-right-dot" + BoxMarkerSymbolNumber308 BoxMarkerSymbol = 308 + BoxMarkerSymbol308 BoxMarkerSymbol = "308" + BoxMarkerSymbolTriangleRightOpenDot BoxMarkerSymbol = "triangle-right-open-dot" + BoxMarkerSymbolNumber9 BoxMarkerSymbol = 9 + BoxMarkerSymbol9 BoxMarkerSymbol = "9" + BoxMarkerSymbolTriangleNe BoxMarkerSymbol = "triangle-ne" + BoxMarkerSymbolNumber109 BoxMarkerSymbol = 109 + BoxMarkerSymbol109 BoxMarkerSymbol = "109" + BoxMarkerSymbolTriangleNeOpen BoxMarkerSymbol = "triangle-ne-open" + BoxMarkerSymbolNumber209 BoxMarkerSymbol = 209 + BoxMarkerSymbol209 BoxMarkerSymbol = "209" + BoxMarkerSymbolTriangleNeDot BoxMarkerSymbol = "triangle-ne-dot" + BoxMarkerSymbolNumber309 BoxMarkerSymbol = 309 + BoxMarkerSymbol309 BoxMarkerSymbol = "309" + BoxMarkerSymbolTriangleNeOpenDot BoxMarkerSymbol = "triangle-ne-open-dot" + BoxMarkerSymbolNumber10 BoxMarkerSymbol = 10 + BoxMarkerSymbol10 BoxMarkerSymbol = "10" + BoxMarkerSymbolTriangleSe BoxMarkerSymbol = "triangle-se" + BoxMarkerSymbolNumber110 BoxMarkerSymbol = 110 + BoxMarkerSymbol110 BoxMarkerSymbol = "110" + BoxMarkerSymbolTriangleSeOpen BoxMarkerSymbol = "triangle-se-open" + BoxMarkerSymbolNumber210 BoxMarkerSymbol = 210 + BoxMarkerSymbol210 BoxMarkerSymbol = "210" + BoxMarkerSymbolTriangleSeDot BoxMarkerSymbol = "triangle-se-dot" + BoxMarkerSymbolNumber310 BoxMarkerSymbol = 310 + BoxMarkerSymbol310 BoxMarkerSymbol = "310" + BoxMarkerSymbolTriangleSeOpenDot BoxMarkerSymbol = "triangle-se-open-dot" + BoxMarkerSymbolNumber11 BoxMarkerSymbol = 11 + BoxMarkerSymbol11 BoxMarkerSymbol = "11" + BoxMarkerSymbolTriangleSw BoxMarkerSymbol = "triangle-sw" + BoxMarkerSymbolNumber111 BoxMarkerSymbol = 111 + BoxMarkerSymbol111 BoxMarkerSymbol = "111" + BoxMarkerSymbolTriangleSwOpen BoxMarkerSymbol = "triangle-sw-open" + BoxMarkerSymbolNumber211 BoxMarkerSymbol = 211 + BoxMarkerSymbol211 BoxMarkerSymbol = "211" + BoxMarkerSymbolTriangleSwDot BoxMarkerSymbol = "triangle-sw-dot" + BoxMarkerSymbolNumber311 BoxMarkerSymbol = 311 + BoxMarkerSymbol311 BoxMarkerSymbol = "311" + BoxMarkerSymbolTriangleSwOpenDot BoxMarkerSymbol = "triangle-sw-open-dot" + BoxMarkerSymbolNumber12 BoxMarkerSymbol = 12 + BoxMarkerSymbol12 BoxMarkerSymbol = "12" + BoxMarkerSymbolTriangleNw BoxMarkerSymbol = "triangle-nw" + BoxMarkerSymbolNumber112 BoxMarkerSymbol = 112 + BoxMarkerSymbol112 BoxMarkerSymbol = "112" + BoxMarkerSymbolTriangleNwOpen BoxMarkerSymbol = "triangle-nw-open" + BoxMarkerSymbolNumber212 BoxMarkerSymbol = 212 + BoxMarkerSymbol212 BoxMarkerSymbol = "212" + BoxMarkerSymbolTriangleNwDot BoxMarkerSymbol = "triangle-nw-dot" + BoxMarkerSymbolNumber312 BoxMarkerSymbol = 312 + BoxMarkerSymbol312 BoxMarkerSymbol = "312" + BoxMarkerSymbolTriangleNwOpenDot BoxMarkerSymbol = "triangle-nw-open-dot" + BoxMarkerSymbolNumber13 BoxMarkerSymbol = 13 + BoxMarkerSymbol13 BoxMarkerSymbol = "13" + BoxMarkerSymbolPentagon BoxMarkerSymbol = "pentagon" + BoxMarkerSymbolNumber113 BoxMarkerSymbol = 113 + BoxMarkerSymbol113 BoxMarkerSymbol = "113" + BoxMarkerSymbolPentagonOpen BoxMarkerSymbol = "pentagon-open" + BoxMarkerSymbolNumber213 BoxMarkerSymbol = 213 + BoxMarkerSymbol213 BoxMarkerSymbol = "213" + BoxMarkerSymbolPentagonDot BoxMarkerSymbol = "pentagon-dot" + BoxMarkerSymbolNumber313 BoxMarkerSymbol = 313 + BoxMarkerSymbol313 BoxMarkerSymbol = "313" + BoxMarkerSymbolPentagonOpenDot BoxMarkerSymbol = "pentagon-open-dot" + BoxMarkerSymbolNumber14 BoxMarkerSymbol = 14 + BoxMarkerSymbol14 BoxMarkerSymbol = "14" + BoxMarkerSymbolHexagon BoxMarkerSymbol = "hexagon" + BoxMarkerSymbolNumber114 BoxMarkerSymbol = 114 + BoxMarkerSymbol114 BoxMarkerSymbol = "114" + BoxMarkerSymbolHexagonOpen BoxMarkerSymbol = "hexagon-open" + BoxMarkerSymbolNumber214 BoxMarkerSymbol = 214 + BoxMarkerSymbol214 BoxMarkerSymbol = "214" + BoxMarkerSymbolHexagonDot BoxMarkerSymbol = "hexagon-dot" + BoxMarkerSymbolNumber314 BoxMarkerSymbol = 314 + BoxMarkerSymbol314 BoxMarkerSymbol = "314" + BoxMarkerSymbolHexagonOpenDot BoxMarkerSymbol = "hexagon-open-dot" + BoxMarkerSymbolNumber15 BoxMarkerSymbol = 15 + BoxMarkerSymbol15 BoxMarkerSymbol = "15" + BoxMarkerSymbolHexagon2 BoxMarkerSymbol = "hexagon2" + BoxMarkerSymbolNumber115 BoxMarkerSymbol = 115 + BoxMarkerSymbol115 BoxMarkerSymbol = "115" + BoxMarkerSymbolHexagon2Open BoxMarkerSymbol = "hexagon2-open" + BoxMarkerSymbolNumber215 BoxMarkerSymbol = 215 + BoxMarkerSymbol215 BoxMarkerSymbol = "215" + BoxMarkerSymbolHexagon2Dot BoxMarkerSymbol = "hexagon2-dot" + BoxMarkerSymbolNumber315 BoxMarkerSymbol = 315 + BoxMarkerSymbol315 BoxMarkerSymbol = "315" + BoxMarkerSymbolHexagon2OpenDot BoxMarkerSymbol = "hexagon2-open-dot" + BoxMarkerSymbolNumber16 BoxMarkerSymbol = 16 + BoxMarkerSymbol16 BoxMarkerSymbol = "16" + BoxMarkerSymbolOctagon BoxMarkerSymbol = "octagon" + BoxMarkerSymbolNumber116 BoxMarkerSymbol = 116 + BoxMarkerSymbol116 BoxMarkerSymbol = "116" + BoxMarkerSymbolOctagonOpen BoxMarkerSymbol = "octagon-open" + BoxMarkerSymbolNumber216 BoxMarkerSymbol = 216 + BoxMarkerSymbol216 BoxMarkerSymbol = "216" + BoxMarkerSymbolOctagonDot BoxMarkerSymbol = "octagon-dot" + BoxMarkerSymbolNumber316 BoxMarkerSymbol = 316 + BoxMarkerSymbol316 BoxMarkerSymbol = "316" + BoxMarkerSymbolOctagonOpenDot BoxMarkerSymbol = "octagon-open-dot" + BoxMarkerSymbolNumber17 BoxMarkerSymbol = 17 + BoxMarkerSymbol17 BoxMarkerSymbol = "17" + BoxMarkerSymbolStar BoxMarkerSymbol = "star" + BoxMarkerSymbolNumber117 BoxMarkerSymbol = 117 + BoxMarkerSymbol117 BoxMarkerSymbol = "117" + BoxMarkerSymbolStarOpen BoxMarkerSymbol = "star-open" + BoxMarkerSymbolNumber217 BoxMarkerSymbol = 217 + BoxMarkerSymbol217 BoxMarkerSymbol = "217" + BoxMarkerSymbolStarDot BoxMarkerSymbol = "star-dot" + BoxMarkerSymbolNumber317 BoxMarkerSymbol = 317 + BoxMarkerSymbol317 BoxMarkerSymbol = "317" + BoxMarkerSymbolStarOpenDot BoxMarkerSymbol = "star-open-dot" + BoxMarkerSymbolNumber18 BoxMarkerSymbol = 18 + BoxMarkerSymbol18 BoxMarkerSymbol = "18" + BoxMarkerSymbolHexagram BoxMarkerSymbol = "hexagram" + BoxMarkerSymbolNumber118 BoxMarkerSymbol = 118 + BoxMarkerSymbol118 BoxMarkerSymbol = "118" + BoxMarkerSymbolHexagramOpen BoxMarkerSymbol = "hexagram-open" + BoxMarkerSymbolNumber218 BoxMarkerSymbol = 218 + BoxMarkerSymbol218 BoxMarkerSymbol = "218" + BoxMarkerSymbolHexagramDot BoxMarkerSymbol = "hexagram-dot" + BoxMarkerSymbolNumber318 BoxMarkerSymbol = 318 + BoxMarkerSymbol318 BoxMarkerSymbol = "318" + BoxMarkerSymbolHexagramOpenDot BoxMarkerSymbol = "hexagram-open-dot" + BoxMarkerSymbolNumber19 BoxMarkerSymbol = 19 + BoxMarkerSymbol19 BoxMarkerSymbol = "19" + BoxMarkerSymbolStarTriangleUp BoxMarkerSymbol = "star-triangle-up" + BoxMarkerSymbolNumber119 BoxMarkerSymbol = 119 + BoxMarkerSymbol119 BoxMarkerSymbol = "119" + BoxMarkerSymbolStarTriangleUpOpen BoxMarkerSymbol = "star-triangle-up-open" + BoxMarkerSymbolNumber219 BoxMarkerSymbol = 219 + BoxMarkerSymbol219 BoxMarkerSymbol = "219" + BoxMarkerSymbolStarTriangleUpDot BoxMarkerSymbol = "star-triangle-up-dot" + BoxMarkerSymbolNumber319 BoxMarkerSymbol = 319 + BoxMarkerSymbol319 BoxMarkerSymbol = "319" + BoxMarkerSymbolStarTriangleUpOpenDot BoxMarkerSymbol = "star-triangle-up-open-dot" + BoxMarkerSymbolNumber20 BoxMarkerSymbol = 20 + BoxMarkerSymbol20 BoxMarkerSymbol = "20" + BoxMarkerSymbolStarTriangleDown BoxMarkerSymbol = "star-triangle-down" + BoxMarkerSymbolNumber120 BoxMarkerSymbol = 120 + BoxMarkerSymbol120 BoxMarkerSymbol = "120" + BoxMarkerSymbolStarTriangleDownOpen BoxMarkerSymbol = "star-triangle-down-open" + BoxMarkerSymbolNumber220 BoxMarkerSymbol = 220 + BoxMarkerSymbol220 BoxMarkerSymbol = "220" + BoxMarkerSymbolStarTriangleDownDot BoxMarkerSymbol = "star-triangle-down-dot" + BoxMarkerSymbolNumber320 BoxMarkerSymbol = 320 + BoxMarkerSymbol320 BoxMarkerSymbol = "320" + BoxMarkerSymbolStarTriangleDownOpenDot BoxMarkerSymbol = "star-triangle-down-open-dot" + BoxMarkerSymbolNumber21 BoxMarkerSymbol = 21 + BoxMarkerSymbol21 BoxMarkerSymbol = "21" + BoxMarkerSymbolStarSquare BoxMarkerSymbol = "star-square" + BoxMarkerSymbolNumber121 BoxMarkerSymbol = 121 + BoxMarkerSymbol121 BoxMarkerSymbol = "121" + BoxMarkerSymbolStarSquareOpen BoxMarkerSymbol = "star-square-open" + BoxMarkerSymbolNumber221 BoxMarkerSymbol = 221 + BoxMarkerSymbol221 BoxMarkerSymbol = "221" + BoxMarkerSymbolStarSquareDot BoxMarkerSymbol = "star-square-dot" + BoxMarkerSymbolNumber321 BoxMarkerSymbol = 321 + BoxMarkerSymbol321 BoxMarkerSymbol = "321" + BoxMarkerSymbolStarSquareOpenDot BoxMarkerSymbol = "star-square-open-dot" + BoxMarkerSymbolNumber22 BoxMarkerSymbol = 22 + BoxMarkerSymbol22 BoxMarkerSymbol = "22" + BoxMarkerSymbolStarDiamond BoxMarkerSymbol = "star-diamond" + BoxMarkerSymbolNumber122 BoxMarkerSymbol = 122 + BoxMarkerSymbol122 BoxMarkerSymbol = "122" + BoxMarkerSymbolStarDiamondOpen BoxMarkerSymbol = "star-diamond-open" + BoxMarkerSymbolNumber222 BoxMarkerSymbol = 222 + BoxMarkerSymbol222 BoxMarkerSymbol = "222" + BoxMarkerSymbolStarDiamondDot BoxMarkerSymbol = "star-diamond-dot" + BoxMarkerSymbolNumber322 BoxMarkerSymbol = 322 + BoxMarkerSymbol322 BoxMarkerSymbol = "322" + BoxMarkerSymbolStarDiamondOpenDot BoxMarkerSymbol = "star-diamond-open-dot" + BoxMarkerSymbolNumber23 BoxMarkerSymbol = 23 + BoxMarkerSymbol23 BoxMarkerSymbol = "23" + BoxMarkerSymbolDiamondTall BoxMarkerSymbol = "diamond-tall" + BoxMarkerSymbolNumber123 BoxMarkerSymbol = 123 + BoxMarkerSymbol123 BoxMarkerSymbol = "123" + BoxMarkerSymbolDiamondTallOpen BoxMarkerSymbol = "diamond-tall-open" + BoxMarkerSymbolNumber223 BoxMarkerSymbol = 223 + BoxMarkerSymbol223 BoxMarkerSymbol = "223" + BoxMarkerSymbolDiamondTallDot BoxMarkerSymbol = "diamond-tall-dot" + BoxMarkerSymbolNumber323 BoxMarkerSymbol = 323 + BoxMarkerSymbol323 BoxMarkerSymbol = "323" + BoxMarkerSymbolDiamondTallOpenDot BoxMarkerSymbol = "diamond-tall-open-dot" + BoxMarkerSymbolNumber24 BoxMarkerSymbol = 24 + BoxMarkerSymbol24 BoxMarkerSymbol = "24" + BoxMarkerSymbolDiamondWide BoxMarkerSymbol = "diamond-wide" + BoxMarkerSymbolNumber124 BoxMarkerSymbol = 124 + BoxMarkerSymbol124 BoxMarkerSymbol = "124" + BoxMarkerSymbolDiamondWideOpen BoxMarkerSymbol = "diamond-wide-open" + BoxMarkerSymbolNumber224 BoxMarkerSymbol = 224 + BoxMarkerSymbol224 BoxMarkerSymbol = "224" + BoxMarkerSymbolDiamondWideDot BoxMarkerSymbol = "diamond-wide-dot" + BoxMarkerSymbolNumber324 BoxMarkerSymbol = 324 + BoxMarkerSymbol324 BoxMarkerSymbol = "324" + BoxMarkerSymbolDiamondWideOpenDot BoxMarkerSymbol = "diamond-wide-open-dot" + BoxMarkerSymbolNumber25 BoxMarkerSymbol = 25 + BoxMarkerSymbol25 BoxMarkerSymbol = "25" + BoxMarkerSymbolHourglass BoxMarkerSymbol = "hourglass" + BoxMarkerSymbolNumber125 BoxMarkerSymbol = 125 + BoxMarkerSymbol125 BoxMarkerSymbol = "125" + BoxMarkerSymbolHourglassOpen BoxMarkerSymbol = "hourglass-open" + BoxMarkerSymbolNumber26 BoxMarkerSymbol = 26 + BoxMarkerSymbol26 BoxMarkerSymbol = "26" + BoxMarkerSymbolBowtie BoxMarkerSymbol = "bowtie" + BoxMarkerSymbolNumber126 BoxMarkerSymbol = 126 + BoxMarkerSymbol126 BoxMarkerSymbol = "126" + BoxMarkerSymbolBowtieOpen BoxMarkerSymbol = "bowtie-open" + BoxMarkerSymbolNumber27 BoxMarkerSymbol = 27 + BoxMarkerSymbol27 BoxMarkerSymbol = "27" + BoxMarkerSymbolCircleCross BoxMarkerSymbol = "circle-cross" + BoxMarkerSymbolNumber127 BoxMarkerSymbol = 127 + BoxMarkerSymbol127 BoxMarkerSymbol = "127" + BoxMarkerSymbolCircleCrossOpen BoxMarkerSymbol = "circle-cross-open" + BoxMarkerSymbolNumber28 BoxMarkerSymbol = 28 + BoxMarkerSymbol28 BoxMarkerSymbol = "28" + BoxMarkerSymbolCircleX BoxMarkerSymbol = "circle-x" + BoxMarkerSymbolNumber128 BoxMarkerSymbol = 128 + BoxMarkerSymbol128 BoxMarkerSymbol = "128" + BoxMarkerSymbolCircleXOpen BoxMarkerSymbol = "circle-x-open" + BoxMarkerSymbolNumber29 BoxMarkerSymbol = 29 + BoxMarkerSymbol29 BoxMarkerSymbol = "29" + BoxMarkerSymbolSquareCross BoxMarkerSymbol = "square-cross" + BoxMarkerSymbolNumber129 BoxMarkerSymbol = 129 + BoxMarkerSymbol129 BoxMarkerSymbol = "129" + BoxMarkerSymbolSquareCrossOpen BoxMarkerSymbol = "square-cross-open" + BoxMarkerSymbolNumber30 BoxMarkerSymbol = 30 + BoxMarkerSymbol30 BoxMarkerSymbol = "30" + BoxMarkerSymbolSquareX BoxMarkerSymbol = "square-x" + BoxMarkerSymbolNumber130 BoxMarkerSymbol = 130 + BoxMarkerSymbol130 BoxMarkerSymbol = "130" + BoxMarkerSymbolSquareXOpen BoxMarkerSymbol = "square-x-open" + BoxMarkerSymbolNumber31 BoxMarkerSymbol = 31 + BoxMarkerSymbol31 BoxMarkerSymbol = "31" + BoxMarkerSymbolDiamondCross BoxMarkerSymbol = "diamond-cross" + BoxMarkerSymbolNumber131 BoxMarkerSymbol = 131 + BoxMarkerSymbol131 BoxMarkerSymbol = "131" + BoxMarkerSymbolDiamondCrossOpen BoxMarkerSymbol = "diamond-cross-open" + BoxMarkerSymbolNumber32 BoxMarkerSymbol = 32 + BoxMarkerSymbol32 BoxMarkerSymbol = "32" + BoxMarkerSymbolDiamondX BoxMarkerSymbol = "diamond-x" + BoxMarkerSymbolNumber132 BoxMarkerSymbol = 132 + BoxMarkerSymbol132 BoxMarkerSymbol = "132" + BoxMarkerSymbolDiamondXOpen BoxMarkerSymbol = "diamond-x-open" + BoxMarkerSymbolNumber33 BoxMarkerSymbol = 33 + BoxMarkerSymbol33 BoxMarkerSymbol = "33" + BoxMarkerSymbolCrossThin BoxMarkerSymbol = "cross-thin" + BoxMarkerSymbolNumber133 BoxMarkerSymbol = 133 + BoxMarkerSymbol133 BoxMarkerSymbol = "133" + BoxMarkerSymbolCrossThinOpen BoxMarkerSymbol = "cross-thin-open" + BoxMarkerSymbolNumber34 BoxMarkerSymbol = 34 + BoxMarkerSymbol34 BoxMarkerSymbol = "34" + BoxMarkerSymbolXThin BoxMarkerSymbol = "x-thin" + BoxMarkerSymbolNumber134 BoxMarkerSymbol = 134 + BoxMarkerSymbol134 BoxMarkerSymbol = "134" + BoxMarkerSymbolXThinOpen BoxMarkerSymbol = "x-thin-open" + BoxMarkerSymbolNumber35 BoxMarkerSymbol = 35 + BoxMarkerSymbol35 BoxMarkerSymbol = "35" + BoxMarkerSymbolAsterisk BoxMarkerSymbol = "asterisk" + BoxMarkerSymbolNumber135 BoxMarkerSymbol = 135 + BoxMarkerSymbol135 BoxMarkerSymbol = "135" + BoxMarkerSymbolAsteriskOpen BoxMarkerSymbol = "asterisk-open" + BoxMarkerSymbolNumber36 BoxMarkerSymbol = 36 + BoxMarkerSymbol36 BoxMarkerSymbol = "36" + BoxMarkerSymbolHash BoxMarkerSymbol = "hash" + BoxMarkerSymbolNumber136 BoxMarkerSymbol = 136 + BoxMarkerSymbol136 BoxMarkerSymbol = "136" + BoxMarkerSymbolHashOpen BoxMarkerSymbol = "hash-open" + BoxMarkerSymbolNumber236 BoxMarkerSymbol = 236 + BoxMarkerSymbol236 BoxMarkerSymbol = "236" + BoxMarkerSymbolHashDot BoxMarkerSymbol = "hash-dot" + BoxMarkerSymbolNumber336 BoxMarkerSymbol = 336 + BoxMarkerSymbol336 BoxMarkerSymbol = "336" + BoxMarkerSymbolHashOpenDot BoxMarkerSymbol = "hash-open-dot" + BoxMarkerSymbolNumber37 BoxMarkerSymbol = 37 + BoxMarkerSymbol37 BoxMarkerSymbol = "37" + BoxMarkerSymbolYUp BoxMarkerSymbol = "y-up" + BoxMarkerSymbolNumber137 BoxMarkerSymbol = 137 + BoxMarkerSymbol137 BoxMarkerSymbol = "137" + BoxMarkerSymbolYUpOpen BoxMarkerSymbol = "y-up-open" + BoxMarkerSymbolNumber38 BoxMarkerSymbol = 38 + BoxMarkerSymbol38 BoxMarkerSymbol = "38" + BoxMarkerSymbolYDown BoxMarkerSymbol = "y-down" + BoxMarkerSymbolNumber138 BoxMarkerSymbol = 138 + BoxMarkerSymbol138 BoxMarkerSymbol = "138" + BoxMarkerSymbolYDownOpen BoxMarkerSymbol = "y-down-open" + BoxMarkerSymbolNumber39 BoxMarkerSymbol = 39 + BoxMarkerSymbol39 BoxMarkerSymbol = "39" + BoxMarkerSymbolYLeft BoxMarkerSymbol = "y-left" + BoxMarkerSymbolNumber139 BoxMarkerSymbol = 139 + BoxMarkerSymbol139 BoxMarkerSymbol = "139" + BoxMarkerSymbolYLeftOpen BoxMarkerSymbol = "y-left-open" + BoxMarkerSymbolNumber40 BoxMarkerSymbol = 40 + BoxMarkerSymbol40 BoxMarkerSymbol = "40" + BoxMarkerSymbolYRight BoxMarkerSymbol = "y-right" + BoxMarkerSymbolNumber140 BoxMarkerSymbol = 140 + BoxMarkerSymbol140 BoxMarkerSymbol = "140" + BoxMarkerSymbolYRightOpen BoxMarkerSymbol = "y-right-open" + BoxMarkerSymbolNumber41 BoxMarkerSymbol = 41 + BoxMarkerSymbol41 BoxMarkerSymbol = "41" + BoxMarkerSymbolLineEw BoxMarkerSymbol = "line-ew" + BoxMarkerSymbolNumber141 BoxMarkerSymbol = 141 + BoxMarkerSymbol141 BoxMarkerSymbol = "141" + BoxMarkerSymbolLineEwOpen BoxMarkerSymbol = "line-ew-open" + BoxMarkerSymbolNumber42 BoxMarkerSymbol = 42 + BoxMarkerSymbol42 BoxMarkerSymbol = "42" + BoxMarkerSymbolLineNs BoxMarkerSymbol = "line-ns" + BoxMarkerSymbolNumber142 BoxMarkerSymbol = 142 + BoxMarkerSymbol142 BoxMarkerSymbol = "142" + BoxMarkerSymbolLineNsOpen BoxMarkerSymbol = "line-ns-open" + BoxMarkerSymbolNumber43 BoxMarkerSymbol = 43 + BoxMarkerSymbol43 BoxMarkerSymbol = "43" + BoxMarkerSymbolLineNe BoxMarkerSymbol = "line-ne" + BoxMarkerSymbolNumber143 BoxMarkerSymbol = 143 + BoxMarkerSymbol143 BoxMarkerSymbol = "143" + BoxMarkerSymbolLineNeOpen BoxMarkerSymbol = "line-ne-open" + BoxMarkerSymbolNumber44 BoxMarkerSymbol = 44 + BoxMarkerSymbol44 BoxMarkerSymbol = "44" + BoxMarkerSymbolLineNw BoxMarkerSymbol = "line-nw" + BoxMarkerSymbolNumber144 BoxMarkerSymbol = 144 + BoxMarkerSymbol144 BoxMarkerSymbol = "144" + BoxMarkerSymbolLineNwOpen BoxMarkerSymbol = "line-nw-open" + BoxMarkerSymbolNumber45 BoxMarkerSymbol = 45 + BoxMarkerSymbol45 BoxMarkerSymbol = "45" + BoxMarkerSymbolArrowUp BoxMarkerSymbol = "arrow-up" + BoxMarkerSymbolNumber145 BoxMarkerSymbol = 145 + BoxMarkerSymbol145 BoxMarkerSymbol = "145" + BoxMarkerSymbolArrowUpOpen BoxMarkerSymbol = "arrow-up-open" + BoxMarkerSymbolNumber46 BoxMarkerSymbol = 46 + BoxMarkerSymbol46 BoxMarkerSymbol = "46" + BoxMarkerSymbolArrowDown BoxMarkerSymbol = "arrow-down" + BoxMarkerSymbolNumber146 BoxMarkerSymbol = 146 + BoxMarkerSymbol146 BoxMarkerSymbol = "146" + BoxMarkerSymbolArrowDownOpen BoxMarkerSymbol = "arrow-down-open" + BoxMarkerSymbolNumber47 BoxMarkerSymbol = 47 + BoxMarkerSymbol47 BoxMarkerSymbol = "47" + BoxMarkerSymbolArrowLeft BoxMarkerSymbol = "arrow-left" + BoxMarkerSymbolNumber147 BoxMarkerSymbol = 147 + BoxMarkerSymbol147 BoxMarkerSymbol = "147" + BoxMarkerSymbolArrowLeftOpen BoxMarkerSymbol = "arrow-left-open" + BoxMarkerSymbolNumber48 BoxMarkerSymbol = 48 + BoxMarkerSymbol48 BoxMarkerSymbol = "48" + BoxMarkerSymbolArrowRight BoxMarkerSymbol = "arrow-right" + BoxMarkerSymbolNumber148 BoxMarkerSymbol = 148 + BoxMarkerSymbol148 BoxMarkerSymbol = "148" + BoxMarkerSymbolArrowRightOpen BoxMarkerSymbol = "arrow-right-open" + BoxMarkerSymbolNumber49 BoxMarkerSymbol = 49 + BoxMarkerSymbol49 BoxMarkerSymbol = "49" + BoxMarkerSymbolArrowBarUp BoxMarkerSymbol = "arrow-bar-up" + BoxMarkerSymbolNumber149 BoxMarkerSymbol = 149 + BoxMarkerSymbol149 BoxMarkerSymbol = "149" + BoxMarkerSymbolArrowBarUpOpen BoxMarkerSymbol = "arrow-bar-up-open" + BoxMarkerSymbolNumber50 BoxMarkerSymbol = 50 + BoxMarkerSymbol50 BoxMarkerSymbol = "50" + BoxMarkerSymbolArrowBarDown BoxMarkerSymbol = "arrow-bar-down" + BoxMarkerSymbolNumber150 BoxMarkerSymbol = 150 + BoxMarkerSymbol150 BoxMarkerSymbol = "150" + BoxMarkerSymbolArrowBarDownOpen BoxMarkerSymbol = "arrow-bar-down-open" + BoxMarkerSymbolNumber51 BoxMarkerSymbol = 51 + BoxMarkerSymbol51 BoxMarkerSymbol = "51" + BoxMarkerSymbolArrowBarLeft BoxMarkerSymbol = "arrow-bar-left" + BoxMarkerSymbolNumber151 BoxMarkerSymbol = 151 + BoxMarkerSymbol151 BoxMarkerSymbol = "151" + BoxMarkerSymbolArrowBarLeftOpen BoxMarkerSymbol = "arrow-bar-left-open" + BoxMarkerSymbolNumber52 BoxMarkerSymbol = 52 + BoxMarkerSymbol52 BoxMarkerSymbol = "52" + BoxMarkerSymbolArrowBarRight BoxMarkerSymbol = "arrow-bar-right" + BoxMarkerSymbolNumber152 BoxMarkerSymbol = 152 + BoxMarkerSymbol152 BoxMarkerSymbol = "152" + BoxMarkerSymbolArrowBarRightOpen BoxMarkerSymbol = "arrow-bar-right-open" + BoxMarkerSymbolNumber53 BoxMarkerSymbol = 53 + BoxMarkerSymbol53 BoxMarkerSymbol = "53" + BoxMarkerSymbolArrow BoxMarkerSymbol = "arrow" + BoxMarkerSymbolNumber153 BoxMarkerSymbol = 153 + BoxMarkerSymbol153 BoxMarkerSymbol = "153" + BoxMarkerSymbolArrowOpen BoxMarkerSymbol = "arrow-open" + BoxMarkerSymbolNumber54 BoxMarkerSymbol = 54 + BoxMarkerSymbol54 BoxMarkerSymbol = "54" + BoxMarkerSymbolArrowWide BoxMarkerSymbol = "arrow-wide" + BoxMarkerSymbolNumber154 BoxMarkerSymbol = 154 + BoxMarkerSymbol154 BoxMarkerSymbol = "154" + BoxMarkerSymbolArrowWideOpen BoxMarkerSymbol = "arrow-wide-open" +) + +// BoxOrientation Sets the orientation of the box(es). If *v* (*h*), the distribution is visualized along the vertical (horizontal). +type BoxOrientation string + +const ( + BoxOrientationV BoxOrientation = "v" + BoxOrientationH BoxOrientation = "h" +) + +// BoxQuartilemethod 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. +type BoxQuartilemethod string + +const ( + BoxQuartilemethodLinear BoxQuartilemethod = "linear" + BoxQuartilemethodExclusive BoxQuartilemethod = "exclusive" + BoxQuartilemethodInclusive BoxQuartilemethod = "inclusive" +) + +// BoxSizemode 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 +type BoxSizemode string + +const ( + BoxSizemodeQuartiles BoxSizemode = "quartiles" + BoxSizemodeSd BoxSizemode = "sd" +) + +// BoxVisible 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). +type BoxVisible interface{} + +var ( + BoxVisibleTrue BoxVisible = true + BoxVisibleFalse BoxVisible = false + BoxVisibleLegendonly BoxVisible = "legendonly" +) + +// BoxXcalendar Sets the calendar system to use with `x` date data. +type BoxXcalendar string + +const ( + BoxXcalendarChinese BoxXcalendar = "chinese" + BoxXcalendarCoptic BoxXcalendar = "coptic" + BoxXcalendarDiscworld BoxXcalendar = "discworld" + BoxXcalendarEthiopian BoxXcalendar = "ethiopian" + BoxXcalendarGregorian BoxXcalendar = "gregorian" + BoxXcalendarHebrew BoxXcalendar = "hebrew" + BoxXcalendarIslamic BoxXcalendar = "islamic" + BoxXcalendarJalali BoxXcalendar = "jalali" + BoxXcalendarJulian BoxXcalendar = "julian" + BoxXcalendarMayan BoxXcalendar = "mayan" + BoxXcalendarNanakshahi BoxXcalendar = "nanakshahi" + BoxXcalendarNepali BoxXcalendar = "nepali" + BoxXcalendarPersian BoxXcalendar = "persian" + BoxXcalendarTaiwan BoxXcalendar = "taiwan" + BoxXcalendarThai BoxXcalendar = "thai" + BoxXcalendarUmmalqura BoxXcalendar = "ummalqura" +) + +// BoxXperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. +type BoxXperiodalignment string + +const ( + BoxXperiodalignmentStart BoxXperiodalignment = "start" + BoxXperiodalignmentMiddle BoxXperiodalignment = "middle" + BoxXperiodalignmentEnd BoxXperiodalignment = "end" +) + +// BoxYcalendar Sets the calendar system to use with `y` date data. +type BoxYcalendar string + +const ( + BoxYcalendarChinese BoxYcalendar = "chinese" + BoxYcalendarCoptic BoxYcalendar = "coptic" + BoxYcalendarDiscworld BoxYcalendar = "discworld" + BoxYcalendarEthiopian BoxYcalendar = "ethiopian" + BoxYcalendarGregorian BoxYcalendar = "gregorian" + BoxYcalendarHebrew BoxYcalendar = "hebrew" + BoxYcalendarIslamic BoxYcalendar = "islamic" + BoxYcalendarJalali BoxYcalendar = "jalali" + BoxYcalendarJulian BoxYcalendar = "julian" + BoxYcalendarMayan BoxYcalendar = "mayan" + BoxYcalendarNanakshahi BoxYcalendar = "nanakshahi" + BoxYcalendarNepali BoxYcalendar = "nepali" + BoxYcalendarPersian BoxYcalendar = "persian" + BoxYcalendarTaiwan BoxYcalendar = "taiwan" + BoxYcalendarThai BoxYcalendar = "thai" + BoxYcalendarUmmalqura BoxYcalendar = "ummalqura" +) + +// BoxYperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis. +type BoxYperiodalignment string + +const ( + BoxYperiodalignmentStart BoxYperiodalignment = "start" + BoxYperiodalignmentMiddle BoxYperiodalignment = "middle" + BoxYperiodalignmentEnd BoxYperiodalignment = "end" +) + +// BoxHoverinfo 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. +type BoxHoverinfo string + +const ( + // Flags + BoxHoverinfoX BoxHoverinfo = "x" + BoxHoverinfoY BoxHoverinfo = "y" + BoxHoverinfoZ BoxHoverinfo = "z" + BoxHoverinfoText BoxHoverinfo = "text" + BoxHoverinfoName BoxHoverinfo = "name" + + // Extra + BoxHoverinfoAll BoxHoverinfo = "all" + BoxHoverinfoNone BoxHoverinfo = "none" + BoxHoverinfoSkip BoxHoverinfo = "skip" +) + +// BoxHoveron Do the hover effects highlight individual boxes or sample points or both? +type BoxHoveron string + +const ( + // Flags + BoxHoveronBoxes BoxHoveron = "boxes" + BoxHoveronPoints BoxHoveron = "points" + + // Extra + +) diff --git a/generated/v2.29.1/graph_objects/candlestick_gen.go b/generated/v2.29.1/graph_objects/candlestick_gen.go new file mode 100644 index 0000000..cb40dd9 --- /dev/null +++ b/generated/v2.29.1/graph_objects/candlestick_gen.go @@ -0,0 +1,589 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeCandlestick TraceType = "candlestick" + +func (trace *Candlestick) GetType() TraceType { + return TraceTypeCandlestick +} + +// Candlestick 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. +type Candlestick struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Close + // arrayOK: false + // type: data_array + // Sets the close values. + Close interface{} `json:"close,omitempty"` + + // Closesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `close`. + Closesrc String `json:"closesrc,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Decreasing + // role: Object + Decreasing *CandlestickDecreasing `json:"decreasing,omitempty"` + + // High + // arrayOK: false + // type: data_array + // Sets the high values. + High interface{} `json:"high,omitempty"` + + // Highsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `high`. + Highsrc String `json:"highsrc,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo CandlestickHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *CandlestickHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // Same as `text`. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Increasing + // role: Object + Increasing *CandlestickIncreasing `json:"increasing,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *CandlestickLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *CandlestickLine `json:"line,omitempty"` + + // Low + // arrayOK: false + // type: data_array + // Sets the low values. + Low interface{} `json:"low,omitempty"` + + // Lowsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `low`. + Lowsrc String `json:"lowsrc,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Open + // arrayOK: false + // type: data_array + // Sets the open values. + Open interface{} `json:"open,omitempty"` + + // Opensrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `open`. + Opensrc String `json:"opensrc,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Stream + // role: Object + Stream *CandlestickStream `json:"stream,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible CandlestickVisible `json:"visible,omitempty"` + + // Whiskerwidth + // arrayOK: false + // type: number + // Sets the width of the whiskers relative to the box' width. For example, with 1, the whiskers are as wide as the box(es). + Whiskerwidth float64 `json:"whiskerwidth,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the x coordinates. If absent, linear coordinate will be generated. + X interface{} `json:"x,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Xcalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `x` date data. + Xcalendar CandlestickXcalendar `json:"xcalendar,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xperiod + // arrayOK: false + // type: any + // Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer. + Xperiod interface{} `json:"xperiod,omitempty"` + + // Xperiod0 + // arrayOK: false + // type: any + // 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. + Xperiod0 interface{} `json:"xperiod0,omitempty"` + + // Xperiodalignment + // default: middle + // type: enumerated + // Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. + Xperiodalignment CandlestickXperiodalignment `json:"xperiodalignment,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` +} + +// CandlestickDecreasingLine +type CandlestickDecreasingLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the color of line bounding the box(es). + Color Color `json:"color,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of line bounding the box(es). + Width float64 `json:"width,omitempty"` +} + +// CandlestickDecreasing +type CandlestickDecreasing struct { + + // Fillcolor + // arrayOK: false + // 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. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Line + // role: Object + Line *CandlestickDecreasingLine `json:"line,omitempty"` +} + +// CandlestickHoverlabelFont Sets the font used in hover labels. +type CandlestickHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// CandlestickHoverlabel +type CandlestickHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align CandlestickHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *CandlestickHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` + + // Split + // arrayOK: false + // type: boolean + // Show hover information (open, close, high, low) in separate labels. + Split Bool `json:"split,omitempty"` +} + +// CandlestickIncreasingLine +type CandlestickIncreasingLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the color of line bounding the box(es). + Color Color `json:"color,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of line bounding the box(es). + Width float64 `json:"width,omitempty"` +} + +// CandlestickIncreasing +type CandlestickIncreasing struct { + + // Fillcolor + // arrayOK: false + // 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. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Line + // role: Object + Line *CandlestickIncreasingLine `json:"line,omitempty"` +} + +// CandlestickLegendgrouptitleFont Sets this legend group's title font. +type CandlestickLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// CandlestickLegendgrouptitle +type CandlestickLegendgrouptitle struct { + + // Font + // role: Object + Font *CandlestickLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// CandlestickLine +type CandlestickLine struct { + + // Width + // arrayOK: false + // type: number + // 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`. + Width float64 `json:"width,omitempty"` +} + +// CandlestickStream +type CandlestickStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// CandlestickHoverlabelAlign 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 +type CandlestickHoverlabelAlign string + +const ( + CandlestickHoverlabelAlignLeft CandlestickHoverlabelAlign = "left" + CandlestickHoverlabelAlignRight CandlestickHoverlabelAlign = "right" + CandlestickHoverlabelAlignAuto CandlestickHoverlabelAlign = "auto" +) + +// CandlestickVisible 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). +type CandlestickVisible interface{} + +var ( + CandlestickVisibleTrue CandlestickVisible = true + CandlestickVisibleFalse CandlestickVisible = false + CandlestickVisibleLegendonly CandlestickVisible = "legendonly" +) + +// CandlestickXcalendar Sets the calendar system to use with `x` date data. +type CandlestickXcalendar string + +const ( + CandlestickXcalendarChinese CandlestickXcalendar = "chinese" + CandlestickXcalendarCoptic CandlestickXcalendar = "coptic" + CandlestickXcalendarDiscworld CandlestickXcalendar = "discworld" + CandlestickXcalendarEthiopian CandlestickXcalendar = "ethiopian" + CandlestickXcalendarGregorian CandlestickXcalendar = "gregorian" + CandlestickXcalendarHebrew CandlestickXcalendar = "hebrew" + CandlestickXcalendarIslamic CandlestickXcalendar = "islamic" + CandlestickXcalendarJalali CandlestickXcalendar = "jalali" + CandlestickXcalendarJulian CandlestickXcalendar = "julian" + CandlestickXcalendarMayan CandlestickXcalendar = "mayan" + CandlestickXcalendarNanakshahi CandlestickXcalendar = "nanakshahi" + CandlestickXcalendarNepali CandlestickXcalendar = "nepali" + CandlestickXcalendarPersian CandlestickXcalendar = "persian" + CandlestickXcalendarTaiwan CandlestickXcalendar = "taiwan" + CandlestickXcalendarThai CandlestickXcalendar = "thai" + CandlestickXcalendarUmmalqura CandlestickXcalendar = "ummalqura" +) + +// CandlestickXperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. +type CandlestickXperiodalignment string + +const ( + CandlestickXperiodalignmentStart CandlestickXperiodalignment = "start" + CandlestickXperiodalignmentMiddle CandlestickXperiodalignment = "middle" + CandlestickXperiodalignmentEnd CandlestickXperiodalignment = "end" +) + +// CandlestickHoverinfo 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. +type CandlestickHoverinfo string + +const ( + // Flags + CandlestickHoverinfoX CandlestickHoverinfo = "x" + CandlestickHoverinfoY CandlestickHoverinfo = "y" + CandlestickHoverinfoZ CandlestickHoverinfo = "z" + CandlestickHoverinfoText CandlestickHoverinfo = "text" + CandlestickHoverinfoName CandlestickHoverinfo = "name" + + // Extra + CandlestickHoverinfoAll CandlestickHoverinfo = "all" + CandlestickHoverinfoNone CandlestickHoverinfo = "none" + CandlestickHoverinfoSkip CandlestickHoverinfo = "skip" +) diff --git a/generated/v2.29.1/graph_objects/carpet_gen.go b/generated/v2.29.1/graph_objects/carpet_gen.go new file mode 100644 index 0000000..27f9f60 --- /dev/null +++ b/generated/v2.29.1/graph_objects/carpet_gen.go @@ -0,0 +1,1346 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeCarpet TraceType = "carpet" + +func (trace *Carpet) GetType() TraceType { + return TraceTypeCarpet +} + +// Carpet 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`. +type Carpet struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // A + // arrayOK: false + // type: data_array + // An array containing values of the first parameter value + A interface{} `json:"a,omitempty"` + + // A0 + // arrayOK: false + // 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. + A0 float64 `json:"a0,omitempty"` + + // Aaxis + // role: Object + Aaxis *CarpetAaxis `json:"aaxis,omitempty"` + + // Asrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `a`. + Asrc String `json:"asrc,omitempty"` + + // B + // arrayOK: false + // type: data_array + // A two dimensional array of y coordinates at each carpet point. + B interface{} `json:"b,omitempty"` + + // B0 + // arrayOK: false + // 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. + B0 float64 `json:"b0,omitempty"` + + // Baxis + // role: Object + Baxis *CarpetBaxis `json:"baxis,omitempty"` + + // Bsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `b`. + Bsrc String `json:"bsrc,omitempty"` + + // Carpet + // arrayOK: false + // type: string + // An identifier for this carpet, so that `scattercarpet` and `contourcarpet` traces can specify a carpet plot on which they lie + Carpet String `json:"carpet,omitempty"` + + // Cheaterslope + // arrayOK: false + // type: number + // The shift applied to each successive row of data in creating a cheater plot. Only used if `x` is been omitted. + Cheaterslope float64 `json:"cheaterslope,omitempty"` + + // Color + // arrayOK: false + // 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. + Color Color `json:"color,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Da + // arrayOK: false + // type: number + // Sets the a coordinate step. See `a0` for more info. + Da float64 `json:"da,omitempty"` + + // Db + // arrayOK: false + // type: number + // Sets the b coordinate step. See `b0` for more info. + Db float64 `json:"db,omitempty"` + + // Font + // role: Object + Font *CarpetFont `json:"font,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *CarpetLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Stream + // role: Object + Stream *CarpetStream `json:"stream,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible CarpetVisible `json:"visible,omitempty"` + + // X + // arrayOK: false + // 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. + X interface{} `json:"x,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // A two dimensional array of y coordinates at each carpet point. + Y interface{} `json:"y,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` +} + +// CarpetAaxisTickfont Sets the tick font. +type CarpetAaxisTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// CarpetAaxisTitleFont Sets this axis' title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type CarpetAaxisTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// CarpetAaxisTitle +type CarpetAaxisTitle struct { + + // Font + // role: Object + Font *CarpetAaxisTitleFont `json:"font,omitempty"` + + // Offset + // arrayOK: false + // type: number + // An additional amount by which to offset the title from the tick labels, given in pixels. Note that this used to be set by the now deprecated `titleoffset` attribute. + Offset float64 `json:"offset,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// CarpetAaxis +type CarpetAaxis struct { + + // Arraydtick + // arrayOK: false + // type: integer + // The stride between grid lines along the axis + Arraydtick int64 `json:"arraydtick,omitempty"` + + // Arraytick0 + // arrayOK: false + // type: integer + // The starting index of grid lines along the axis + Arraytick0 int64 `json:"arraytick0,omitempty"` + + // Autorange + // default: %!s(bool=true) + // type: enumerated + // 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*. + Autorange CarpetAaxisAutorange `json:"autorange,omitempty"` + + // Autotypenumbers + // default: convert types + // type: enumerated + // 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. + Autotypenumbers CarpetAaxisAutotypenumbers `json:"autotypenumbers,omitempty"` + + // Categoryarray + // arrayOK: false + // 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`. + Categoryarray interface{} `json:"categoryarray,omitempty"` + + // Categoryarraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `categoryarray`. + Categoryarraysrc String `json:"categoryarraysrc,omitempty"` + + // Categoryorder + // default: trace + // type: enumerated + // 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`. + Categoryorder CarpetAaxisCategoryorder `json:"categoryorder,omitempty"` + + // Cheatertype + // default: value + // type: enumerated + // + Cheatertype CarpetAaxisCheatertype `json:"cheatertype,omitempty"` + + // Color + // arrayOK: false + // 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. + Color Color `json:"color,omitempty"` + + // Dtick + // arrayOK: false + // type: number + // The stride between grid lines along the axis + Dtick float64 `json:"dtick,omitempty"` + + // Endline + // arrayOK: false + // 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. + Endline Bool `json:"endline,omitempty"` + + // Endlinecolor + // arrayOK: false + // type: color + // Sets the line color of the end line. + Endlinecolor Color `json:"endlinecolor,omitempty"` + + // Endlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the end line. + Endlinewidth float64 `json:"endlinewidth,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat CarpetAaxisExponentformat `json:"exponentformat,omitempty"` + + // Fixedrange + // arrayOK: false + // type: boolean + // Determines whether or not this axis is zoom-able. If true, then zoom is disabled. + Fixedrange Bool `json:"fixedrange,omitempty"` + + // Gridcolor + // arrayOK: false + // type: color + // Sets the axis line color. + Gridcolor Color `json:"gridcolor,omitempty"` + + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Labelpadding + // arrayOK: false + // type: integer + // Extra padding between label and the axis + Labelpadding int64 `json:"labelpadding,omitempty"` + + // Labelprefix + // arrayOK: false + // type: string + // Sets a axis label prefix. + Labelprefix String `json:"labelprefix,omitempty"` + + // Labelsuffix + // arrayOK: false + // type: string + // Sets a axis label suffix. + Labelsuffix String `json:"labelsuffix,omitempty"` + + // Linecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Linecolor Color `json:"linecolor,omitempty"` + + // Linewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Linewidth float64 `json:"linewidth,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number + Minexponent float64 `json:"minexponent,omitempty"` + + // Minorgridcolor + // arrayOK: false + // type: color + // Sets the color of the grid lines. + Minorgridcolor Color `json:"minorgridcolor,omitempty"` + + // Minorgridcount + // arrayOK: false + // type: integer + // Sets the number of minor grid ticks per major grid tick + Minorgridcount int64 `json:"minorgridcount,omitempty"` + + // Minorgriddash + // arrayOK: false + // type: string + // 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*). + Minorgriddash String `json:"minorgriddash,omitempty"` + + // Minorgridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the grid lines. + Minorgridwidth float64 `json:"minorgridwidth,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Range + // arrayOK: false + // type: info_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. + Range interface{} `json:"range,omitempty"` + + // Rangemode + // default: normal + // type: enumerated + // 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. + Rangemode CarpetAaxisRangemode `json:"rangemode,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent CarpetAaxisShowexponent `json:"showexponent,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark. + Showgrid Bool `json:"showgrid,omitempty"` + + // Showline + // arrayOK: false + // type: boolean + // Determines whether or not a line bounding this axis is drawn. + Showline Bool `json:"showline,omitempty"` + + // Showticklabels + // default: start + // type: enumerated + // Determines whether axis labels are drawn on the low side, the high side, both, or neither side of the axis. + Showticklabels CarpetAaxisShowticklabels `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix CarpetAaxisShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix CarpetAaxisShowticksuffix `json:"showticksuffix,omitempty"` + + // Smoothing + // arrayOK: false + // type: number + // + Smoothing float64 `json:"smoothing,omitempty"` + + // Startline + // arrayOK: false + // 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. + Startline Bool `json:"startline,omitempty"` + + // Startlinecolor + // arrayOK: false + // type: color + // Sets the line color of the start line. + Startlinecolor Color `json:"startlinecolor,omitempty"` + + // Startlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the start line. + Startlinewidth float64 `json:"startlinewidth,omitempty"` + + // Tick0 + // arrayOK: false + // type: number + // The starting index of grid lines along the axis + Tick0 float64 `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickfont + // role: Object + Tickfont *CarpetAaxisTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Tickmode + // default: array + // type: enumerated + // + Tickmode CarpetAaxisTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Title + // role: Object + Title *CarpetAaxisTitle `json:"title,omitempty"` + + // Type + // default: - + // type: enumerated + // 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. + Type CarpetAaxisType `json:"type,omitempty"` +} + +// CarpetBaxisTickfont Sets the tick font. +type CarpetBaxisTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// CarpetBaxisTitleFont Sets this axis' title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type CarpetBaxisTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// CarpetBaxisTitle +type CarpetBaxisTitle struct { + + // Font + // role: Object + Font *CarpetBaxisTitleFont `json:"font,omitempty"` + + // Offset + // arrayOK: false + // type: number + // An additional amount by which to offset the title from the tick labels, given in pixels. Note that this used to be set by the now deprecated `titleoffset` attribute. + Offset float64 `json:"offset,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// CarpetBaxis +type CarpetBaxis struct { + + // Arraydtick + // arrayOK: false + // type: integer + // The stride between grid lines along the axis + Arraydtick int64 `json:"arraydtick,omitempty"` + + // Arraytick0 + // arrayOK: false + // type: integer + // The starting index of grid lines along the axis + Arraytick0 int64 `json:"arraytick0,omitempty"` + + // Autorange + // default: %!s(bool=true) + // type: enumerated + // 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*. + Autorange CarpetBaxisAutorange `json:"autorange,omitempty"` + + // Autotypenumbers + // default: convert types + // type: enumerated + // 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. + Autotypenumbers CarpetBaxisAutotypenumbers `json:"autotypenumbers,omitempty"` + + // Categoryarray + // arrayOK: false + // 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`. + Categoryarray interface{} `json:"categoryarray,omitempty"` + + // Categoryarraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `categoryarray`. + Categoryarraysrc String `json:"categoryarraysrc,omitempty"` + + // Categoryorder + // default: trace + // type: enumerated + // 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`. + Categoryorder CarpetBaxisCategoryorder `json:"categoryorder,omitempty"` + + // Cheatertype + // default: value + // type: enumerated + // + Cheatertype CarpetBaxisCheatertype `json:"cheatertype,omitempty"` + + // Color + // arrayOK: false + // 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. + Color Color `json:"color,omitempty"` + + // Dtick + // arrayOK: false + // type: number + // The stride between grid lines along the axis + Dtick float64 `json:"dtick,omitempty"` + + // Endline + // arrayOK: false + // 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. + Endline Bool `json:"endline,omitempty"` + + // Endlinecolor + // arrayOK: false + // type: color + // Sets the line color of the end line. + Endlinecolor Color `json:"endlinecolor,omitempty"` + + // Endlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the end line. + Endlinewidth float64 `json:"endlinewidth,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat CarpetBaxisExponentformat `json:"exponentformat,omitempty"` + + // Fixedrange + // arrayOK: false + // type: boolean + // Determines whether or not this axis is zoom-able. If true, then zoom is disabled. + Fixedrange Bool `json:"fixedrange,omitempty"` + + // Gridcolor + // arrayOK: false + // type: color + // Sets the axis line color. + Gridcolor Color `json:"gridcolor,omitempty"` + + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Labelpadding + // arrayOK: false + // type: integer + // Extra padding between label and the axis + Labelpadding int64 `json:"labelpadding,omitempty"` + + // Labelprefix + // arrayOK: false + // type: string + // Sets a axis label prefix. + Labelprefix String `json:"labelprefix,omitempty"` + + // Labelsuffix + // arrayOK: false + // type: string + // Sets a axis label suffix. + Labelsuffix String `json:"labelsuffix,omitempty"` + + // Linecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Linecolor Color `json:"linecolor,omitempty"` + + // Linewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Linewidth float64 `json:"linewidth,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number + Minexponent float64 `json:"minexponent,omitempty"` + + // Minorgridcolor + // arrayOK: false + // type: color + // Sets the color of the grid lines. + Minorgridcolor Color `json:"minorgridcolor,omitempty"` + + // Minorgridcount + // arrayOK: false + // type: integer + // Sets the number of minor grid ticks per major grid tick + Minorgridcount int64 `json:"minorgridcount,omitempty"` + + // Minorgriddash + // arrayOK: false + // type: string + // 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*). + Minorgriddash String `json:"minorgriddash,omitempty"` + + // Minorgridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the grid lines. + Minorgridwidth float64 `json:"minorgridwidth,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Range + // arrayOK: false + // type: info_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. + Range interface{} `json:"range,omitempty"` + + // Rangemode + // default: normal + // type: enumerated + // 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. + Rangemode CarpetBaxisRangemode `json:"rangemode,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent CarpetBaxisShowexponent `json:"showexponent,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark. + Showgrid Bool `json:"showgrid,omitempty"` + + // Showline + // arrayOK: false + // type: boolean + // Determines whether or not a line bounding this axis is drawn. + Showline Bool `json:"showline,omitempty"` + + // Showticklabels + // default: start + // type: enumerated + // Determines whether axis labels are drawn on the low side, the high side, both, or neither side of the axis. + Showticklabels CarpetBaxisShowticklabels `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix CarpetBaxisShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix CarpetBaxisShowticksuffix `json:"showticksuffix,omitempty"` + + // Smoothing + // arrayOK: false + // type: number + // + Smoothing float64 `json:"smoothing,omitempty"` + + // Startline + // arrayOK: false + // 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. + Startline Bool `json:"startline,omitempty"` + + // Startlinecolor + // arrayOK: false + // type: color + // Sets the line color of the start line. + Startlinecolor Color `json:"startlinecolor,omitempty"` + + // Startlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the start line. + Startlinewidth float64 `json:"startlinewidth,omitempty"` + + // Tick0 + // arrayOK: false + // type: number + // The starting index of grid lines along the axis + Tick0 float64 `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickfont + // role: Object + Tickfont *CarpetBaxisTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Tickmode + // default: array + // type: enumerated + // + Tickmode CarpetBaxisTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Title + // role: Object + Title *CarpetBaxisTitle `json:"title,omitempty"` + + // Type + // default: - + // type: enumerated + // 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. + Type CarpetBaxisType `json:"type,omitempty"` +} + +// CarpetFont The default font used for axis & tick labels on this carpet +type CarpetFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// CarpetLegendgrouptitleFont Sets this legend group's title font. +type CarpetLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// CarpetLegendgrouptitle +type CarpetLegendgrouptitle struct { + + // Font + // role: Object + Font *CarpetLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// CarpetStream +type CarpetStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// CarpetAaxisAutorange 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*. +type CarpetAaxisAutorange interface{} + +var ( + CarpetAaxisAutorangeTrue CarpetAaxisAutorange = true + CarpetAaxisAutorangeFalse CarpetAaxisAutorange = false + CarpetAaxisAutorangeReversed CarpetAaxisAutorange = "reversed" +) + +// CarpetAaxisAutotypenumbers 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. +type CarpetAaxisAutotypenumbers string + +const ( + CarpetAaxisAutotypenumbersConvertTypes CarpetAaxisAutotypenumbers = "convert types" + CarpetAaxisAutotypenumbersStrict CarpetAaxisAutotypenumbers = "strict" +) + +// CarpetAaxisCategoryorder 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`. +type CarpetAaxisCategoryorder string + +const ( + CarpetAaxisCategoryorderTrace CarpetAaxisCategoryorder = "trace" + CarpetAaxisCategoryorderCategoryAscending CarpetAaxisCategoryorder = "category ascending" + CarpetAaxisCategoryorderCategoryDescending CarpetAaxisCategoryorder = "category descending" + CarpetAaxisCategoryorderArray CarpetAaxisCategoryorder = "array" +) + +// CarpetAaxisCheatertype +type CarpetAaxisCheatertype string + +const ( + CarpetAaxisCheatertypeIndex CarpetAaxisCheatertype = "index" + CarpetAaxisCheatertypeValue CarpetAaxisCheatertype = "value" +) + +// CarpetAaxisExponentformat 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. +type CarpetAaxisExponentformat string + +const ( + CarpetAaxisExponentformatNone CarpetAaxisExponentformat = "none" + CarpetAaxisExponentformatE1 CarpetAaxisExponentformat = "e" + CarpetAaxisExponentformatE2 CarpetAaxisExponentformat = "E" + CarpetAaxisExponentformatPower CarpetAaxisExponentformat = "power" + CarpetAaxisExponentformatSI CarpetAaxisExponentformat = "SI" + CarpetAaxisExponentformatB CarpetAaxisExponentformat = "B" +) + +// CarpetAaxisRangemode 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. +type CarpetAaxisRangemode string + +const ( + CarpetAaxisRangemodeNormal CarpetAaxisRangemode = "normal" + CarpetAaxisRangemodeTozero CarpetAaxisRangemode = "tozero" + CarpetAaxisRangemodeNonnegative CarpetAaxisRangemode = "nonnegative" +) + +// CarpetAaxisShowexponent 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. +type CarpetAaxisShowexponent string + +const ( + CarpetAaxisShowexponentAll CarpetAaxisShowexponent = "all" + CarpetAaxisShowexponentFirst CarpetAaxisShowexponent = "first" + CarpetAaxisShowexponentLast CarpetAaxisShowexponent = "last" + CarpetAaxisShowexponentNone CarpetAaxisShowexponent = "none" +) + +// CarpetAaxisShowticklabels Determines whether axis labels are drawn on the low side, the high side, both, or neither side of the axis. +type CarpetAaxisShowticklabels string + +const ( + CarpetAaxisShowticklabelsStart CarpetAaxisShowticklabels = "start" + CarpetAaxisShowticklabelsEnd CarpetAaxisShowticklabels = "end" + CarpetAaxisShowticklabelsBoth CarpetAaxisShowticklabels = "both" + CarpetAaxisShowticklabelsNone CarpetAaxisShowticklabels = "none" +) + +// CarpetAaxisShowtickprefix 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. +type CarpetAaxisShowtickprefix string + +const ( + CarpetAaxisShowtickprefixAll CarpetAaxisShowtickprefix = "all" + CarpetAaxisShowtickprefixFirst CarpetAaxisShowtickprefix = "first" + CarpetAaxisShowtickprefixLast CarpetAaxisShowtickprefix = "last" + CarpetAaxisShowtickprefixNone CarpetAaxisShowtickprefix = "none" +) + +// CarpetAaxisShowticksuffix Same as `showtickprefix` but for tick suffixes. +type CarpetAaxisShowticksuffix string + +const ( + CarpetAaxisShowticksuffixAll CarpetAaxisShowticksuffix = "all" + CarpetAaxisShowticksuffixFirst CarpetAaxisShowticksuffix = "first" + CarpetAaxisShowticksuffixLast CarpetAaxisShowticksuffix = "last" + CarpetAaxisShowticksuffixNone CarpetAaxisShowticksuffix = "none" +) + +// CarpetAaxisTickmode +type CarpetAaxisTickmode string + +const ( + CarpetAaxisTickmodeLinear CarpetAaxisTickmode = "linear" + CarpetAaxisTickmodeArray CarpetAaxisTickmode = "array" +) + +// CarpetAaxisType 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. +type CarpetAaxisType string + +const ( + CarpetAaxisTypeHyphenHyphen CarpetAaxisType = "-" + CarpetAaxisTypeLinear CarpetAaxisType = "linear" + CarpetAaxisTypeDate CarpetAaxisType = "date" + CarpetAaxisTypeCategory CarpetAaxisType = "category" +) + +// CarpetBaxisAutorange 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*. +type CarpetBaxisAutorange interface{} + +var ( + CarpetBaxisAutorangeTrue CarpetBaxisAutorange = true + CarpetBaxisAutorangeFalse CarpetBaxisAutorange = false + CarpetBaxisAutorangeReversed CarpetBaxisAutorange = "reversed" +) + +// CarpetBaxisAutotypenumbers 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. +type CarpetBaxisAutotypenumbers string + +const ( + CarpetBaxisAutotypenumbersConvertTypes CarpetBaxisAutotypenumbers = "convert types" + CarpetBaxisAutotypenumbersStrict CarpetBaxisAutotypenumbers = "strict" +) + +// CarpetBaxisCategoryorder 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`. +type CarpetBaxisCategoryorder string + +const ( + CarpetBaxisCategoryorderTrace CarpetBaxisCategoryorder = "trace" + CarpetBaxisCategoryorderCategoryAscending CarpetBaxisCategoryorder = "category ascending" + CarpetBaxisCategoryorderCategoryDescending CarpetBaxisCategoryorder = "category descending" + CarpetBaxisCategoryorderArray CarpetBaxisCategoryorder = "array" +) + +// CarpetBaxisCheatertype +type CarpetBaxisCheatertype string + +const ( + CarpetBaxisCheatertypeIndex CarpetBaxisCheatertype = "index" + CarpetBaxisCheatertypeValue CarpetBaxisCheatertype = "value" +) + +// CarpetBaxisExponentformat 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. +type CarpetBaxisExponentformat string + +const ( + CarpetBaxisExponentformatNone CarpetBaxisExponentformat = "none" + CarpetBaxisExponentformatE1 CarpetBaxisExponentformat = "e" + CarpetBaxisExponentformatE2 CarpetBaxisExponentformat = "E" + CarpetBaxisExponentformatPower CarpetBaxisExponentformat = "power" + CarpetBaxisExponentformatSI CarpetBaxisExponentformat = "SI" + CarpetBaxisExponentformatB CarpetBaxisExponentformat = "B" +) + +// CarpetBaxisRangemode 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. +type CarpetBaxisRangemode string + +const ( + CarpetBaxisRangemodeNormal CarpetBaxisRangemode = "normal" + CarpetBaxisRangemodeTozero CarpetBaxisRangemode = "tozero" + CarpetBaxisRangemodeNonnegative CarpetBaxisRangemode = "nonnegative" +) + +// CarpetBaxisShowexponent 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. +type CarpetBaxisShowexponent string + +const ( + CarpetBaxisShowexponentAll CarpetBaxisShowexponent = "all" + CarpetBaxisShowexponentFirst CarpetBaxisShowexponent = "first" + CarpetBaxisShowexponentLast CarpetBaxisShowexponent = "last" + CarpetBaxisShowexponentNone CarpetBaxisShowexponent = "none" +) + +// CarpetBaxisShowticklabels Determines whether axis labels are drawn on the low side, the high side, both, or neither side of the axis. +type CarpetBaxisShowticklabels string + +const ( + CarpetBaxisShowticklabelsStart CarpetBaxisShowticklabels = "start" + CarpetBaxisShowticklabelsEnd CarpetBaxisShowticklabels = "end" + CarpetBaxisShowticklabelsBoth CarpetBaxisShowticklabels = "both" + CarpetBaxisShowticklabelsNone CarpetBaxisShowticklabels = "none" +) + +// CarpetBaxisShowtickprefix 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. +type CarpetBaxisShowtickprefix string + +const ( + CarpetBaxisShowtickprefixAll CarpetBaxisShowtickprefix = "all" + CarpetBaxisShowtickprefixFirst CarpetBaxisShowtickprefix = "first" + CarpetBaxisShowtickprefixLast CarpetBaxisShowtickprefix = "last" + CarpetBaxisShowtickprefixNone CarpetBaxisShowtickprefix = "none" +) + +// CarpetBaxisShowticksuffix Same as `showtickprefix` but for tick suffixes. +type CarpetBaxisShowticksuffix string + +const ( + CarpetBaxisShowticksuffixAll CarpetBaxisShowticksuffix = "all" + CarpetBaxisShowticksuffixFirst CarpetBaxisShowticksuffix = "first" + CarpetBaxisShowticksuffixLast CarpetBaxisShowticksuffix = "last" + CarpetBaxisShowticksuffixNone CarpetBaxisShowticksuffix = "none" +) + +// CarpetBaxisTickmode +type CarpetBaxisTickmode string + +const ( + CarpetBaxisTickmodeLinear CarpetBaxisTickmode = "linear" + CarpetBaxisTickmodeArray CarpetBaxisTickmode = "array" +) + +// CarpetBaxisType 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. +type CarpetBaxisType string + +const ( + CarpetBaxisTypeHyphenHyphen CarpetBaxisType = "-" + CarpetBaxisTypeLinear CarpetBaxisType = "linear" + CarpetBaxisTypeDate CarpetBaxisType = "date" + CarpetBaxisTypeCategory CarpetBaxisType = "category" +) + +// CarpetVisible 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). +type CarpetVisible interface{} + +var ( + CarpetVisibleTrue CarpetVisible = true + CarpetVisibleFalse CarpetVisible = false + CarpetVisibleLegendonly CarpetVisible = "legendonly" +) diff --git a/generated/v2.29.1/graph_objects/choropleth_gen.go b/generated/v2.29.1/graph_objects/choropleth_gen.go new file mode 100644 index 0000000..6420f68 --- /dev/null +++ b/generated/v2.29.1/graph_objects/choropleth_gen.go @@ -0,0 +1,1077 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeChoropleth TraceType = "choropleth" + +func (trace *Choropleth) GetType() TraceType { + return TraceTypeChoropleth +} + +// Choropleth 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`. +type Choropleth struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Autocolorscale + // arrayOK: false + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *ChoroplethColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Featureidkey + // arrayOK: false + // type: string + // 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*. + Featureidkey String `json:"featureidkey,omitempty"` + + // Geo + // arrayOK: false + // type: subplotid + // 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. + Geo String `json:"geo,omitempty"` + + // Geojson + // arrayOK: false + // type: any + // 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*. + Geojson interface{} `json:"geojson,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo ChoroplethHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *ChoroplethHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // Same as `text`. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *ChoroplethLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Locationmode + // default: ISO-3 + // type: enumerated + // 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. + Locationmode ChoroplethLocationmode `json:"locationmode,omitempty"` + + // Locations + // arrayOK: false + // type: data_array + // Sets the coordinates via location IDs or names. See `locationmode` for more info. + Locations interface{} `json:"locations,omitempty"` + + // Locationssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `locations`. + Locationssrc String `json:"locationssrc,omitempty"` + + // Marker + // role: Object + Marker *ChoroplethMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Selected + // role: Object + Selected *ChoroplethSelected `json:"selected,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Showscale + // arrayOK: false + // type: boolean + // Determines whether or not a colorbar is displayed for this trace. + Showscale Bool `json:"showscale,omitempty"` + + // Stream + // role: Object + Stream *ChoroplethStream `json:"stream,omitempty"` + + // Text + // arrayOK: true + // type: string + // Sets the text elements associated with each location. + Text String `json:"text,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Unselected + // role: Object + Unselected *ChoroplethUnselected `json:"unselected,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible ChoroplethVisible `json:"visible,omitempty"` + + // Z + // arrayOK: false + // type: data_array + // Sets the color values. + Z interface{} `json:"z,omitempty"` + + // Zauto + // arrayOK: false + // type: boolean + // 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. + Zauto Bool `json:"zauto,omitempty"` + + // Zmax + // arrayOK: false + // 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. + Zmax float64 `json:"zmax,omitempty"` + + // Zmid + // arrayOK: false + // 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`. + Zmid float64 `json:"zmid,omitempty"` + + // Zmin + // arrayOK: false + // 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. + Zmin float64 `json:"zmin,omitempty"` + + // Zsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `z`. + Zsrc String `json:"zsrc,omitempty"` +} + +// ChoroplethColorbarTickfont Sets the color bar's tick label font +type ChoroplethColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ChoroplethColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type ChoroplethColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ChoroplethColorbarTitle +type ChoroplethColorbarTitle struct { + + // Font + // role: Object + Font *ChoroplethColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side ChoroplethColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// ChoroplethColorbar +type ChoroplethColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat ChoroplethColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode ChoroplethColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ChoroplethColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent ChoroplethColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix ChoroplethColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix ChoroplethColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode ChoroplethColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *ChoroplethColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ChoroplethColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition ChoroplethColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode ChoroplethColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks ChoroplethColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *ChoroplethColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor ChoroplethColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref ChoroplethColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor ChoroplethColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref ChoroplethColorbarYref `json:"yref,omitempty"` +} + +// ChoroplethHoverlabelFont Sets the font used in hover labels. +type ChoroplethHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ChoroplethHoverlabel +type ChoroplethHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align ChoroplethHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *ChoroplethHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// ChoroplethLegendgrouptitleFont Sets this legend group's title font. +type ChoroplethLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ChoroplethLegendgrouptitle +type ChoroplethLegendgrouptitle struct { + + // Font + // role: Object + Font *ChoroplethLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// ChoroplethMarkerLine +type ChoroplethMarkerLine struct { + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the lines bounding the marker points. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// ChoroplethMarker +type ChoroplethMarker struct { + + // Line + // role: Object + Line *ChoroplethMarkerLine `json:"line,omitempty"` + + // Opacity + // arrayOK: true + // type: number + // Sets the opacity of the locations. + Opacity float64 `json:"opacity,omitempty"` + + // Opacitysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `opacity`. + Opacitysrc String `json:"opacitysrc,omitempty"` +} + +// ChoroplethSelectedMarker +type ChoroplethSelectedMarker struct { + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of selected points. + Opacity float64 `json:"opacity,omitempty"` +} + +// ChoroplethSelected +type ChoroplethSelected struct { + + // Marker + // role: Object + Marker *ChoroplethSelectedMarker `json:"marker,omitempty"` +} + +// ChoroplethStream +type ChoroplethStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// ChoroplethUnselectedMarker +type ChoroplethUnselectedMarker struct { + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of unselected points, applied only when a selection exists. + Opacity float64 `json:"opacity,omitempty"` +} + +// ChoroplethUnselected +type ChoroplethUnselected struct { + + // Marker + // role: Object + Marker *ChoroplethUnselectedMarker `json:"marker,omitempty"` +} + +// ChoroplethColorbarExponentformat 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. +type ChoroplethColorbarExponentformat string + +const ( + ChoroplethColorbarExponentformatNone ChoroplethColorbarExponentformat = "none" + ChoroplethColorbarExponentformatE1 ChoroplethColorbarExponentformat = "e" + ChoroplethColorbarExponentformatE2 ChoroplethColorbarExponentformat = "E" + ChoroplethColorbarExponentformatPower ChoroplethColorbarExponentformat = "power" + ChoroplethColorbarExponentformatSI ChoroplethColorbarExponentformat = "SI" + ChoroplethColorbarExponentformatB ChoroplethColorbarExponentformat = "B" +) + +// ChoroplethColorbarLenmode 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. +type ChoroplethColorbarLenmode string + +const ( + ChoroplethColorbarLenmodeFraction ChoroplethColorbarLenmode = "fraction" + ChoroplethColorbarLenmodePixels ChoroplethColorbarLenmode = "pixels" +) + +// ChoroplethColorbarOrientation Sets the orientation of the colorbar. +type ChoroplethColorbarOrientation string + +const ( + ChoroplethColorbarOrientationH ChoroplethColorbarOrientation = "h" + ChoroplethColorbarOrientationV ChoroplethColorbarOrientation = "v" +) + +// ChoroplethColorbarShowexponent 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. +type ChoroplethColorbarShowexponent string + +const ( + ChoroplethColorbarShowexponentAll ChoroplethColorbarShowexponent = "all" + ChoroplethColorbarShowexponentFirst ChoroplethColorbarShowexponent = "first" + ChoroplethColorbarShowexponentLast ChoroplethColorbarShowexponent = "last" + ChoroplethColorbarShowexponentNone ChoroplethColorbarShowexponent = "none" +) + +// ChoroplethColorbarShowtickprefix 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. +type ChoroplethColorbarShowtickprefix string + +const ( + ChoroplethColorbarShowtickprefixAll ChoroplethColorbarShowtickprefix = "all" + ChoroplethColorbarShowtickprefixFirst ChoroplethColorbarShowtickprefix = "first" + ChoroplethColorbarShowtickprefixLast ChoroplethColorbarShowtickprefix = "last" + ChoroplethColorbarShowtickprefixNone ChoroplethColorbarShowtickprefix = "none" +) + +// ChoroplethColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type ChoroplethColorbarShowticksuffix string + +const ( + ChoroplethColorbarShowticksuffixAll ChoroplethColorbarShowticksuffix = "all" + ChoroplethColorbarShowticksuffixFirst ChoroplethColorbarShowticksuffix = "first" + ChoroplethColorbarShowticksuffixLast ChoroplethColorbarShowticksuffix = "last" + ChoroplethColorbarShowticksuffixNone ChoroplethColorbarShowticksuffix = "none" +) + +// ChoroplethColorbarThicknessmode 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. +type ChoroplethColorbarThicknessmode string + +const ( + ChoroplethColorbarThicknessmodeFraction ChoroplethColorbarThicknessmode = "fraction" + ChoroplethColorbarThicknessmodePixels ChoroplethColorbarThicknessmode = "pixels" +) + +// ChoroplethColorbarTicklabeloverflow 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*. +type ChoroplethColorbarTicklabeloverflow string + +const ( + ChoroplethColorbarTicklabeloverflowAllow ChoroplethColorbarTicklabeloverflow = "allow" + ChoroplethColorbarTicklabeloverflowHidePastDiv ChoroplethColorbarTicklabeloverflow = "hide past div" + ChoroplethColorbarTicklabeloverflowHidePastDomain ChoroplethColorbarTicklabeloverflow = "hide past domain" +) + +// ChoroplethColorbarTicklabelposition 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*. +type ChoroplethColorbarTicklabelposition string + +const ( + ChoroplethColorbarTicklabelpositionOutside ChoroplethColorbarTicklabelposition = "outside" + ChoroplethColorbarTicklabelpositionInside ChoroplethColorbarTicklabelposition = "inside" + ChoroplethColorbarTicklabelpositionOutsideTop ChoroplethColorbarTicklabelposition = "outside top" + ChoroplethColorbarTicklabelpositionInsideTop ChoroplethColorbarTicklabelposition = "inside top" + ChoroplethColorbarTicklabelpositionOutsideLeft ChoroplethColorbarTicklabelposition = "outside left" + ChoroplethColorbarTicklabelpositionInsideLeft ChoroplethColorbarTicklabelposition = "inside left" + ChoroplethColorbarTicklabelpositionOutsideRight ChoroplethColorbarTicklabelposition = "outside right" + ChoroplethColorbarTicklabelpositionInsideRight ChoroplethColorbarTicklabelposition = "inside right" + ChoroplethColorbarTicklabelpositionOutsideBottom ChoroplethColorbarTicklabelposition = "outside bottom" + ChoroplethColorbarTicklabelpositionInsideBottom ChoroplethColorbarTicklabelposition = "inside bottom" +) + +// ChoroplethColorbarTickmode 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). +type ChoroplethColorbarTickmode string + +const ( + ChoroplethColorbarTickmodeAuto ChoroplethColorbarTickmode = "auto" + ChoroplethColorbarTickmodeLinear ChoroplethColorbarTickmode = "linear" + ChoroplethColorbarTickmodeArray ChoroplethColorbarTickmode = "array" +) + +// ChoroplethColorbarTicks 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. +type ChoroplethColorbarTicks string + +const ( + ChoroplethColorbarTicksOutside ChoroplethColorbarTicks = "outside" + ChoroplethColorbarTicksInside ChoroplethColorbarTicks = "inside" + ChoroplethColorbarTicksEmpty ChoroplethColorbarTicks = "" +) + +// ChoroplethColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type ChoroplethColorbarTitleSide string + +const ( + ChoroplethColorbarTitleSideRight ChoroplethColorbarTitleSide = "right" + ChoroplethColorbarTitleSideTop ChoroplethColorbarTitleSide = "top" + ChoroplethColorbarTitleSideBottom ChoroplethColorbarTitleSide = "bottom" +) + +// ChoroplethColorbarXanchor 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*. +type ChoroplethColorbarXanchor string + +const ( + ChoroplethColorbarXanchorLeft ChoroplethColorbarXanchor = "left" + ChoroplethColorbarXanchorCenter ChoroplethColorbarXanchor = "center" + ChoroplethColorbarXanchorRight ChoroplethColorbarXanchor = "right" +) + +// ChoroplethColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type ChoroplethColorbarXref string + +const ( + ChoroplethColorbarXrefContainer ChoroplethColorbarXref = "container" + ChoroplethColorbarXrefPaper ChoroplethColorbarXref = "paper" +) + +// ChoroplethColorbarYanchor 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*. +type ChoroplethColorbarYanchor string + +const ( + ChoroplethColorbarYanchorTop ChoroplethColorbarYanchor = "top" + ChoroplethColorbarYanchorMiddle ChoroplethColorbarYanchor = "middle" + ChoroplethColorbarYanchorBottom ChoroplethColorbarYanchor = "bottom" +) + +// ChoroplethColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type ChoroplethColorbarYref string + +const ( + ChoroplethColorbarYrefContainer ChoroplethColorbarYref = "container" + ChoroplethColorbarYrefPaper ChoroplethColorbarYref = "paper" +) + +// ChoroplethHoverlabelAlign 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 +type ChoroplethHoverlabelAlign string + +const ( + ChoroplethHoverlabelAlignLeft ChoroplethHoverlabelAlign = "left" + ChoroplethHoverlabelAlignRight ChoroplethHoverlabelAlign = "right" + ChoroplethHoverlabelAlignAuto ChoroplethHoverlabelAlign = "auto" +) + +// ChoroplethLocationmode 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. +type ChoroplethLocationmode string + +const ( + ChoroplethLocationmodeISO3 ChoroplethLocationmode = "ISO-3" + ChoroplethLocationmodeUSAStates ChoroplethLocationmode = "USA-states" + ChoroplethLocationmodeCountryNames ChoroplethLocationmode = "country names" + ChoroplethLocationmodeGeojsonId ChoroplethLocationmode = "geojson-id" +) + +// ChoroplethVisible 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). +type ChoroplethVisible interface{} + +var ( + ChoroplethVisibleTrue ChoroplethVisible = true + ChoroplethVisibleFalse ChoroplethVisible = false + ChoroplethVisibleLegendonly ChoroplethVisible = "legendonly" +) + +// ChoroplethHoverinfo 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. +type ChoroplethHoverinfo string + +const ( + // Flags + ChoroplethHoverinfoLocation ChoroplethHoverinfo = "location" + ChoroplethHoverinfoZ ChoroplethHoverinfo = "z" + ChoroplethHoverinfoText ChoroplethHoverinfo = "text" + ChoroplethHoverinfoName ChoroplethHoverinfo = "name" + + // Extra + ChoroplethHoverinfoAll ChoroplethHoverinfo = "all" + ChoroplethHoverinfoNone ChoroplethHoverinfo = "none" + ChoroplethHoverinfoSkip ChoroplethHoverinfo = "skip" +) diff --git a/generated/v2.29.1/graph_objects/choroplethmapbox_gen.go b/generated/v2.29.1/graph_objects/choroplethmapbox_gen.go new file mode 100644 index 0000000..0202c45 --- /dev/null +++ b/generated/v2.29.1/graph_objects/choroplethmapbox_gen.go @@ -0,0 +1,1067 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeChoroplethmapbox TraceType = "choroplethmapbox" + +func (trace *Choroplethmapbox) GetType() TraceType { + return TraceTypeChoroplethmapbox +} + +// Choroplethmapbox 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`. +type Choroplethmapbox struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Autocolorscale + // arrayOK: false + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Below + // arrayOK: false + // 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. + Below String `json:"below,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *ChoroplethmapboxColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Featureidkey + // arrayOK: false + // type: string + // 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*. + Featureidkey String `json:"featureidkey,omitempty"` + + // Geojson + // arrayOK: false + // type: any + // 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*. + Geojson interface{} `json:"geojson,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo ChoroplethmapboxHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *ChoroplethmapboxHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Finally, the template string has access to variable `properties` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // Same as `text`. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *ChoroplethmapboxLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Locations + // arrayOK: false + // type: data_array + // Sets which features found in *geojson* to plot using their feature `id` field. + Locations interface{} `json:"locations,omitempty"` + + // Locationssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `locations`. + Locationssrc String `json:"locationssrc,omitempty"` + + // Marker + // role: Object + Marker *ChoroplethmapboxMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Selected + // role: Object + Selected *ChoroplethmapboxSelected `json:"selected,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Showscale + // arrayOK: false + // type: boolean + // Determines whether or not a colorbar is displayed for this trace. + Showscale Bool `json:"showscale,omitempty"` + + // Stream + // role: Object + Stream *ChoroplethmapboxStream `json:"stream,omitempty"` + + // Subplot + // arrayOK: false + // type: subplotid + // 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. + Subplot String `json:"subplot,omitempty"` + + // Text + // arrayOK: true + // type: string + // Sets the text elements associated with each location. + Text String `json:"text,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Unselected + // role: Object + Unselected *ChoroplethmapboxUnselected `json:"unselected,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible ChoroplethmapboxVisible `json:"visible,omitempty"` + + // Z + // arrayOK: false + // type: data_array + // Sets the color values. + Z interface{} `json:"z,omitempty"` + + // Zauto + // arrayOK: false + // type: boolean + // 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. + Zauto Bool `json:"zauto,omitempty"` + + // Zmax + // arrayOK: false + // 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. + Zmax float64 `json:"zmax,omitempty"` + + // Zmid + // arrayOK: false + // 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`. + Zmid float64 `json:"zmid,omitempty"` + + // Zmin + // arrayOK: false + // 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. + Zmin float64 `json:"zmin,omitempty"` + + // Zsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `z`. + Zsrc String `json:"zsrc,omitempty"` +} + +// ChoroplethmapboxColorbarTickfont Sets the color bar's tick label font +type ChoroplethmapboxColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ChoroplethmapboxColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type ChoroplethmapboxColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ChoroplethmapboxColorbarTitle +type ChoroplethmapboxColorbarTitle struct { + + // Font + // role: Object + Font *ChoroplethmapboxColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side ChoroplethmapboxColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// ChoroplethmapboxColorbar +type ChoroplethmapboxColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat ChoroplethmapboxColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode ChoroplethmapboxColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ChoroplethmapboxColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent ChoroplethmapboxColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix ChoroplethmapboxColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix ChoroplethmapboxColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode ChoroplethmapboxColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *ChoroplethmapboxColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ChoroplethmapboxColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition ChoroplethmapboxColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode ChoroplethmapboxColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks ChoroplethmapboxColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *ChoroplethmapboxColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor ChoroplethmapboxColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref ChoroplethmapboxColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor ChoroplethmapboxColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref ChoroplethmapboxColorbarYref `json:"yref,omitempty"` +} + +// ChoroplethmapboxHoverlabelFont Sets the font used in hover labels. +type ChoroplethmapboxHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ChoroplethmapboxHoverlabel +type ChoroplethmapboxHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align ChoroplethmapboxHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *ChoroplethmapboxHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// ChoroplethmapboxLegendgrouptitleFont Sets this legend group's title font. +type ChoroplethmapboxLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ChoroplethmapboxLegendgrouptitle +type ChoroplethmapboxLegendgrouptitle struct { + + // Font + // role: Object + Font *ChoroplethmapboxLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// ChoroplethmapboxMarkerLine +type ChoroplethmapboxMarkerLine struct { + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the lines bounding the marker points. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// ChoroplethmapboxMarker +type ChoroplethmapboxMarker struct { + + // Line + // role: Object + Line *ChoroplethmapboxMarkerLine `json:"line,omitempty"` + + // Opacity + // arrayOK: true + // type: number + // Sets the opacity of the locations. + Opacity float64 `json:"opacity,omitempty"` + + // Opacitysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `opacity`. + Opacitysrc String `json:"opacitysrc,omitempty"` +} + +// ChoroplethmapboxSelectedMarker +type ChoroplethmapboxSelectedMarker struct { + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of selected points. + Opacity float64 `json:"opacity,omitempty"` +} + +// ChoroplethmapboxSelected +type ChoroplethmapboxSelected struct { + + // Marker + // role: Object + Marker *ChoroplethmapboxSelectedMarker `json:"marker,omitempty"` +} + +// ChoroplethmapboxStream +type ChoroplethmapboxStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// ChoroplethmapboxUnselectedMarker +type ChoroplethmapboxUnselectedMarker struct { + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of unselected points, applied only when a selection exists. + Opacity float64 `json:"opacity,omitempty"` +} + +// ChoroplethmapboxUnselected +type ChoroplethmapboxUnselected struct { + + // Marker + // role: Object + Marker *ChoroplethmapboxUnselectedMarker `json:"marker,omitempty"` +} + +// ChoroplethmapboxColorbarExponentformat 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. +type ChoroplethmapboxColorbarExponentformat string + +const ( + ChoroplethmapboxColorbarExponentformatNone ChoroplethmapboxColorbarExponentformat = "none" + ChoroplethmapboxColorbarExponentformatE1 ChoroplethmapboxColorbarExponentformat = "e" + ChoroplethmapboxColorbarExponentformatE2 ChoroplethmapboxColorbarExponentformat = "E" + ChoroplethmapboxColorbarExponentformatPower ChoroplethmapboxColorbarExponentformat = "power" + ChoroplethmapboxColorbarExponentformatSI ChoroplethmapboxColorbarExponentformat = "SI" + ChoroplethmapboxColorbarExponentformatB ChoroplethmapboxColorbarExponentformat = "B" +) + +// ChoroplethmapboxColorbarLenmode 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. +type ChoroplethmapboxColorbarLenmode string + +const ( + ChoroplethmapboxColorbarLenmodeFraction ChoroplethmapboxColorbarLenmode = "fraction" + ChoroplethmapboxColorbarLenmodePixels ChoroplethmapboxColorbarLenmode = "pixels" +) + +// ChoroplethmapboxColorbarOrientation Sets the orientation of the colorbar. +type ChoroplethmapboxColorbarOrientation string + +const ( + ChoroplethmapboxColorbarOrientationH ChoroplethmapboxColorbarOrientation = "h" + ChoroplethmapboxColorbarOrientationV ChoroplethmapboxColorbarOrientation = "v" +) + +// ChoroplethmapboxColorbarShowexponent 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. +type ChoroplethmapboxColorbarShowexponent string + +const ( + ChoroplethmapboxColorbarShowexponentAll ChoroplethmapboxColorbarShowexponent = "all" + ChoroplethmapboxColorbarShowexponentFirst ChoroplethmapboxColorbarShowexponent = "first" + ChoroplethmapboxColorbarShowexponentLast ChoroplethmapboxColorbarShowexponent = "last" + ChoroplethmapboxColorbarShowexponentNone ChoroplethmapboxColorbarShowexponent = "none" +) + +// ChoroplethmapboxColorbarShowtickprefix 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. +type ChoroplethmapboxColorbarShowtickprefix string + +const ( + ChoroplethmapboxColorbarShowtickprefixAll ChoroplethmapboxColorbarShowtickprefix = "all" + ChoroplethmapboxColorbarShowtickprefixFirst ChoroplethmapboxColorbarShowtickprefix = "first" + ChoroplethmapboxColorbarShowtickprefixLast ChoroplethmapboxColorbarShowtickprefix = "last" + ChoroplethmapboxColorbarShowtickprefixNone ChoroplethmapboxColorbarShowtickprefix = "none" +) + +// ChoroplethmapboxColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type ChoroplethmapboxColorbarShowticksuffix string + +const ( + ChoroplethmapboxColorbarShowticksuffixAll ChoroplethmapboxColorbarShowticksuffix = "all" + ChoroplethmapboxColorbarShowticksuffixFirst ChoroplethmapboxColorbarShowticksuffix = "first" + ChoroplethmapboxColorbarShowticksuffixLast ChoroplethmapboxColorbarShowticksuffix = "last" + ChoroplethmapboxColorbarShowticksuffixNone ChoroplethmapboxColorbarShowticksuffix = "none" +) + +// ChoroplethmapboxColorbarThicknessmode 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. +type ChoroplethmapboxColorbarThicknessmode string + +const ( + ChoroplethmapboxColorbarThicknessmodeFraction ChoroplethmapboxColorbarThicknessmode = "fraction" + ChoroplethmapboxColorbarThicknessmodePixels ChoroplethmapboxColorbarThicknessmode = "pixels" +) + +// ChoroplethmapboxColorbarTicklabeloverflow 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*. +type ChoroplethmapboxColorbarTicklabeloverflow string + +const ( + ChoroplethmapboxColorbarTicklabeloverflowAllow ChoroplethmapboxColorbarTicklabeloverflow = "allow" + ChoroplethmapboxColorbarTicklabeloverflowHidePastDiv ChoroplethmapboxColorbarTicklabeloverflow = "hide past div" + ChoroplethmapboxColorbarTicklabeloverflowHidePastDomain ChoroplethmapboxColorbarTicklabeloverflow = "hide past domain" +) + +// ChoroplethmapboxColorbarTicklabelposition 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*. +type ChoroplethmapboxColorbarTicklabelposition string + +const ( + ChoroplethmapboxColorbarTicklabelpositionOutside ChoroplethmapboxColorbarTicklabelposition = "outside" + ChoroplethmapboxColorbarTicklabelpositionInside ChoroplethmapboxColorbarTicklabelposition = "inside" + ChoroplethmapboxColorbarTicklabelpositionOutsideTop ChoroplethmapboxColorbarTicklabelposition = "outside top" + ChoroplethmapboxColorbarTicklabelpositionInsideTop ChoroplethmapboxColorbarTicklabelposition = "inside top" + ChoroplethmapboxColorbarTicklabelpositionOutsideLeft ChoroplethmapboxColorbarTicklabelposition = "outside left" + ChoroplethmapboxColorbarTicklabelpositionInsideLeft ChoroplethmapboxColorbarTicklabelposition = "inside left" + ChoroplethmapboxColorbarTicklabelpositionOutsideRight ChoroplethmapboxColorbarTicklabelposition = "outside right" + ChoroplethmapboxColorbarTicklabelpositionInsideRight ChoroplethmapboxColorbarTicklabelposition = "inside right" + ChoroplethmapboxColorbarTicklabelpositionOutsideBottom ChoroplethmapboxColorbarTicklabelposition = "outside bottom" + ChoroplethmapboxColorbarTicklabelpositionInsideBottom ChoroplethmapboxColorbarTicklabelposition = "inside bottom" +) + +// ChoroplethmapboxColorbarTickmode 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). +type ChoroplethmapboxColorbarTickmode string + +const ( + ChoroplethmapboxColorbarTickmodeAuto ChoroplethmapboxColorbarTickmode = "auto" + ChoroplethmapboxColorbarTickmodeLinear ChoroplethmapboxColorbarTickmode = "linear" + ChoroplethmapboxColorbarTickmodeArray ChoroplethmapboxColorbarTickmode = "array" +) + +// ChoroplethmapboxColorbarTicks 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. +type ChoroplethmapboxColorbarTicks string + +const ( + ChoroplethmapboxColorbarTicksOutside ChoroplethmapboxColorbarTicks = "outside" + ChoroplethmapboxColorbarTicksInside ChoroplethmapboxColorbarTicks = "inside" + ChoroplethmapboxColorbarTicksEmpty ChoroplethmapboxColorbarTicks = "" +) + +// ChoroplethmapboxColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type ChoroplethmapboxColorbarTitleSide string + +const ( + ChoroplethmapboxColorbarTitleSideRight ChoroplethmapboxColorbarTitleSide = "right" + ChoroplethmapboxColorbarTitleSideTop ChoroplethmapboxColorbarTitleSide = "top" + ChoroplethmapboxColorbarTitleSideBottom ChoroplethmapboxColorbarTitleSide = "bottom" +) + +// ChoroplethmapboxColorbarXanchor 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*. +type ChoroplethmapboxColorbarXanchor string + +const ( + ChoroplethmapboxColorbarXanchorLeft ChoroplethmapboxColorbarXanchor = "left" + ChoroplethmapboxColorbarXanchorCenter ChoroplethmapboxColorbarXanchor = "center" + ChoroplethmapboxColorbarXanchorRight ChoroplethmapboxColorbarXanchor = "right" +) + +// ChoroplethmapboxColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type ChoroplethmapboxColorbarXref string + +const ( + ChoroplethmapboxColorbarXrefContainer ChoroplethmapboxColorbarXref = "container" + ChoroplethmapboxColorbarXrefPaper ChoroplethmapboxColorbarXref = "paper" +) + +// ChoroplethmapboxColorbarYanchor 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*. +type ChoroplethmapboxColorbarYanchor string + +const ( + ChoroplethmapboxColorbarYanchorTop ChoroplethmapboxColorbarYanchor = "top" + ChoroplethmapboxColorbarYanchorMiddle ChoroplethmapboxColorbarYanchor = "middle" + ChoroplethmapboxColorbarYanchorBottom ChoroplethmapboxColorbarYanchor = "bottom" +) + +// ChoroplethmapboxColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type ChoroplethmapboxColorbarYref string + +const ( + ChoroplethmapboxColorbarYrefContainer ChoroplethmapboxColorbarYref = "container" + ChoroplethmapboxColorbarYrefPaper ChoroplethmapboxColorbarYref = "paper" +) + +// ChoroplethmapboxHoverlabelAlign 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 +type ChoroplethmapboxHoverlabelAlign string + +const ( + ChoroplethmapboxHoverlabelAlignLeft ChoroplethmapboxHoverlabelAlign = "left" + ChoroplethmapboxHoverlabelAlignRight ChoroplethmapboxHoverlabelAlign = "right" + ChoroplethmapboxHoverlabelAlignAuto ChoroplethmapboxHoverlabelAlign = "auto" +) + +// ChoroplethmapboxVisible 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). +type ChoroplethmapboxVisible interface{} + +var ( + ChoroplethmapboxVisibleTrue ChoroplethmapboxVisible = true + ChoroplethmapboxVisibleFalse ChoroplethmapboxVisible = false + ChoroplethmapboxVisibleLegendonly ChoroplethmapboxVisible = "legendonly" +) + +// ChoroplethmapboxHoverinfo 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. +type ChoroplethmapboxHoverinfo string + +const ( + // Flags + ChoroplethmapboxHoverinfoLocation ChoroplethmapboxHoverinfo = "location" + ChoroplethmapboxHoverinfoZ ChoroplethmapboxHoverinfo = "z" + ChoroplethmapboxHoverinfoText ChoroplethmapboxHoverinfo = "text" + ChoroplethmapboxHoverinfoName ChoroplethmapboxHoverinfo = "name" + + // Extra + ChoroplethmapboxHoverinfoAll ChoroplethmapboxHoverinfo = "all" + ChoroplethmapboxHoverinfoNone ChoroplethmapboxHoverinfo = "none" + ChoroplethmapboxHoverinfoSkip ChoroplethmapboxHoverinfo = "skip" +) diff --git a/generated/v2.29.1/graph_objects/cone_gen.go b/generated/v2.29.1/graph_objects/cone_gen.go new file mode 100644 index 0000000..afc4cd5 --- /dev/null +++ b/generated/v2.29.1/graph_objects/cone_gen.go @@ -0,0 +1,1148 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeCone TraceType = "cone" + +func (trace *Cone) GetType() TraceType { + return TraceTypeCone +} + +// Cone 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`. +type Cone struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Anchor + // default: cm + // type: enumerated + // 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. + Anchor ConeAnchor `json:"anchor,omitempty"` + + // Autocolorscale + // arrayOK: false + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *ConeColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Hoverinfo + // default: x+y+z+norm+text+name + // type: flaglist + // 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. + Hoverinfo ConeHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *ConeHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Finally, the template string has access to variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // Same as `text`. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *ConeLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Lighting + // role: Object + Lighting *ConeLighting `json:"lighting,omitempty"` + + // Lightposition + // role: Object + Lightposition *ConeLightposition `json:"lightposition,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // 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. + Opacity float64 `json:"opacity,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Scene + // arrayOK: false + // type: subplotid + // 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. + Scene String `json:"scene,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Showscale + // arrayOK: false + // type: boolean + // Determines whether or not a colorbar is displayed for this trace. + Showscale Bool `json:"showscale,omitempty"` + + // Sizemode + // default: scaled + // type: enumerated + // 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). + Sizemode ConeSizemode `json:"sizemode,omitempty"` + + // Sizeref + // arrayOK: false + // 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 *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. + Sizeref float64 `json:"sizeref,omitempty"` + + // Stream + // role: Object + Stream *ConeStream `json:"stream,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // U + // arrayOK: false + // type: data_array + // Sets the x components of the vector field. + U interface{} `json:"u,omitempty"` + + // Uhoverformat + // arrayOK: false + // 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. + Uhoverformat String `json:"uhoverformat,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Usrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `u`. + Usrc String `json:"usrc,omitempty"` + + // V + // arrayOK: false + // type: data_array + // Sets the y components of the vector field. + V interface{} `json:"v,omitempty"` + + // Vhoverformat + // arrayOK: false + // 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. + Vhoverformat String `json:"vhoverformat,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible ConeVisible `json:"visible,omitempty"` + + // Vsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `v`. + Vsrc String `json:"vsrc,omitempty"` + + // W + // arrayOK: false + // type: data_array + // Sets the z components of the vector field. + W interface{} `json:"w,omitempty"` + + // Whoverformat + // arrayOK: false + // 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. + Whoverformat String `json:"whoverformat,omitempty"` + + // Wsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `w`. + Wsrc String `json:"wsrc,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the x coordinates of the vector field and of the displayed cones. + X interface{} `json:"x,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the y coordinates of the vector field and of the displayed cones. + Y interface{} `json:"y,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` + + // Z + // arrayOK: false + // type: data_array + // Sets the z coordinates of the vector field and of the displayed cones. + Z interface{} `json:"z,omitempty"` + + // Zhoverformat + // arrayOK: false + // 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`. + Zhoverformat String `json:"zhoverformat,omitempty"` + + // Zsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `z`. + Zsrc String `json:"zsrc,omitempty"` +} + +// ConeColorbarTickfont Sets the color bar's tick label font +type ConeColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ConeColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type ConeColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ConeColorbarTitle +type ConeColorbarTitle struct { + + // Font + // role: Object + Font *ConeColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side ConeColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// ConeColorbar +type ConeColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat ConeColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode ConeColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ConeColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent ConeColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix ConeColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix ConeColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode ConeColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *ConeColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ConeColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition ConeColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode ConeColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks ConeColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *ConeColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor ConeColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref ConeColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor ConeColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref ConeColorbarYref `json:"yref,omitempty"` +} + +// ConeHoverlabelFont Sets the font used in hover labels. +type ConeHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ConeHoverlabel +type ConeHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align ConeHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *ConeHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// ConeLegendgrouptitleFont Sets this legend group's title font. +type ConeLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ConeLegendgrouptitle +type ConeLegendgrouptitle struct { + + // Font + // role: Object + Font *ConeLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// ConeLighting +type ConeLighting struct { + + // Ambient + // arrayOK: false + // type: number + // Ambient light increases overall color visibility but can wash out the image. + Ambient float64 `json:"ambient,omitempty"` + + // Diffuse + // arrayOK: false + // type: number + // Represents the extent that incident rays are reflected in a range of angles. + Diffuse float64 `json:"diffuse,omitempty"` + + // Facenormalsepsilon + // arrayOK: false + // type: number + // Epsilon for face normals calculation avoids math issues arising from degenerate geometry. + Facenormalsepsilon float64 `json:"facenormalsepsilon,omitempty"` + + // Fresnel + // arrayOK: false + // type: number + // 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. + Fresnel float64 `json:"fresnel,omitempty"` + + // Roughness + // arrayOK: false + // type: number + // Alters specular reflection; the rougher the surface, the wider and less contrasty the shine. + Roughness float64 `json:"roughness,omitempty"` + + // Specular + // arrayOK: false + // type: number + // Represents the level that incident rays are reflected in a single direction, causing shine. + Specular float64 `json:"specular,omitempty"` + + // Vertexnormalsepsilon + // arrayOK: false + // type: number + // Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry. + Vertexnormalsepsilon float64 `json:"vertexnormalsepsilon,omitempty"` +} + +// ConeLightposition +type ConeLightposition struct { + + // X + // arrayOK: false + // type: number + // Numeric vector, representing the X coordinate for each vertex. + X float64 `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: number + // Numeric vector, representing the Y coordinate for each vertex. + Y float64 `json:"y,omitempty"` + + // Z + // arrayOK: false + // type: number + // Numeric vector, representing the Z coordinate for each vertex. + Z float64 `json:"z,omitempty"` +} + +// ConeStream +type ConeStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// ConeAnchor 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. +type ConeAnchor string + +const ( + ConeAnchorTip ConeAnchor = "tip" + ConeAnchorTail ConeAnchor = "tail" + ConeAnchorCm ConeAnchor = "cm" + ConeAnchorCenter ConeAnchor = "center" +) + +// ConeColorbarExponentformat 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. +type ConeColorbarExponentformat string + +const ( + ConeColorbarExponentformatNone ConeColorbarExponentformat = "none" + ConeColorbarExponentformatE1 ConeColorbarExponentformat = "e" + ConeColorbarExponentformatE2 ConeColorbarExponentformat = "E" + ConeColorbarExponentformatPower ConeColorbarExponentformat = "power" + ConeColorbarExponentformatSI ConeColorbarExponentformat = "SI" + ConeColorbarExponentformatB ConeColorbarExponentformat = "B" +) + +// ConeColorbarLenmode 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. +type ConeColorbarLenmode string + +const ( + ConeColorbarLenmodeFraction ConeColorbarLenmode = "fraction" + ConeColorbarLenmodePixels ConeColorbarLenmode = "pixels" +) + +// ConeColorbarOrientation Sets the orientation of the colorbar. +type ConeColorbarOrientation string + +const ( + ConeColorbarOrientationH ConeColorbarOrientation = "h" + ConeColorbarOrientationV ConeColorbarOrientation = "v" +) + +// ConeColorbarShowexponent 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. +type ConeColorbarShowexponent string + +const ( + ConeColorbarShowexponentAll ConeColorbarShowexponent = "all" + ConeColorbarShowexponentFirst ConeColorbarShowexponent = "first" + ConeColorbarShowexponentLast ConeColorbarShowexponent = "last" + ConeColorbarShowexponentNone ConeColorbarShowexponent = "none" +) + +// ConeColorbarShowtickprefix 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. +type ConeColorbarShowtickprefix string + +const ( + ConeColorbarShowtickprefixAll ConeColorbarShowtickprefix = "all" + ConeColorbarShowtickprefixFirst ConeColorbarShowtickprefix = "first" + ConeColorbarShowtickprefixLast ConeColorbarShowtickprefix = "last" + ConeColorbarShowtickprefixNone ConeColorbarShowtickprefix = "none" +) + +// ConeColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type ConeColorbarShowticksuffix string + +const ( + ConeColorbarShowticksuffixAll ConeColorbarShowticksuffix = "all" + ConeColorbarShowticksuffixFirst ConeColorbarShowticksuffix = "first" + ConeColorbarShowticksuffixLast ConeColorbarShowticksuffix = "last" + ConeColorbarShowticksuffixNone ConeColorbarShowticksuffix = "none" +) + +// ConeColorbarThicknessmode 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. +type ConeColorbarThicknessmode string + +const ( + ConeColorbarThicknessmodeFraction ConeColorbarThicknessmode = "fraction" + ConeColorbarThicknessmodePixels ConeColorbarThicknessmode = "pixels" +) + +// ConeColorbarTicklabeloverflow 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*. +type ConeColorbarTicklabeloverflow string + +const ( + ConeColorbarTicklabeloverflowAllow ConeColorbarTicklabeloverflow = "allow" + ConeColorbarTicklabeloverflowHidePastDiv ConeColorbarTicklabeloverflow = "hide past div" + ConeColorbarTicklabeloverflowHidePastDomain ConeColorbarTicklabeloverflow = "hide past domain" +) + +// ConeColorbarTicklabelposition 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*. +type ConeColorbarTicklabelposition string + +const ( + ConeColorbarTicklabelpositionOutside ConeColorbarTicklabelposition = "outside" + ConeColorbarTicklabelpositionInside ConeColorbarTicklabelposition = "inside" + ConeColorbarTicklabelpositionOutsideTop ConeColorbarTicklabelposition = "outside top" + ConeColorbarTicklabelpositionInsideTop ConeColorbarTicklabelposition = "inside top" + ConeColorbarTicklabelpositionOutsideLeft ConeColorbarTicklabelposition = "outside left" + ConeColorbarTicklabelpositionInsideLeft ConeColorbarTicklabelposition = "inside left" + ConeColorbarTicklabelpositionOutsideRight ConeColorbarTicklabelposition = "outside right" + ConeColorbarTicklabelpositionInsideRight ConeColorbarTicklabelposition = "inside right" + ConeColorbarTicklabelpositionOutsideBottom ConeColorbarTicklabelposition = "outside bottom" + ConeColorbarTicklabelpositionInsideBottom ConeColorbarTicklabelposition = "inside bottom" +) + +// ConeColorbarTickmode 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). +type ConeColorbarTickmode string + +const ( + ConeColorbarTickmodeAuto ConeColorbarTickmode = "auto" + ConeColorbarTickmodeLinear ConeColorbarTickmode = "linear" + ConeColorbarTickmodeArray ConeColorbarTickmode = "array" +) + +// ConeColorbarTicks 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. +type ConeColorbarTicks string + +const ( + ConeColorbarTicksOutside ConeColorbarTicks = "outside" + ConeColorbarTicksInside ConeColorbarTicks = "inside" + ConeColorbarTicksEmpty ConeColorbarTicks = "" +) + +// ConeColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type ConeColorbarTitleSide string + +const ( + ConeColorbarTitleSideRight ConeColorbarTitleSide = "right" + ConeColorbarTitleSideTop ConeColorbarTitleSide = "top" + ConeColorbarTitleSideBottom ConeColorbarTitleSide = "bottom" +) + +// ConeColorbarXanchor 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*. +type ConeColorbarXanchor string + +const ( + ConeColorbarXanchorLeft ConeColorbarXanchor = "left" + ConeColorbarXanchorCenter ConeColorbarXanchor = "center" + ConeColorbarXanchorRight ConeColorbarXanchor = "right" +) + +// ConeColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type ConeColorbarXref string + +const ( + ConeColorbarXrefContainer ConeColorbarXref = "container" + ConeColorbarXrefPaper ConeColorbarXref = "paper" +) + +// ConeColorbarYanchor 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*. +type ConeColorbarYanchor string + +const ( + ConeColorbarYanchorTop ConeColorbarYanchor = "top" + ConeColorbarYanchorMiddle ConeColorbarYanchor = "middle" + ConeColorbarYanchorBottom ConeColorbarYanchor = "bottom" +) + +// ConeColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type ConeColorbarYref string + +const ( + ConeColorbarYrefContainer ConeColorbarYref = "container" + ConeColorbarYrefPaper ConeColorbarYref = "paper" +) + +// ConeHoverlabelAlign 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 +type ConeHoverlabelAlign string + +const ( + ConeHoverlabelAlignLeft ConeHoverlabelAlign = "left" + ConeHoverlabelAlignRight ConeHoverlabelAlign = "right" + ConeHoverlabelAlignAuto ConeHoverlabelAlign = "auto" +) + +// ConeSizemode 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). +type ConeSizemode string + +const ( + ConeSizemodeScaled ConeSizemode = "scaled" + ConeSizemodeAbsolute ConeSizemode = "absolute" +) + +// ConeVisible 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). +type ConeVisible interface{} + +var ( + ConeVisibleTrue ConeVisible = true + ConeVisibleFalse ConeVisible = false + ConeVisibleLegendonly ConeVisible = "legendonly" +) + +// ConeHoverinfo 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. +type ConeHoverinfo string + +const ( + // Flags + ConeHoverinfoX ConeHoverinfo = "x" + ConeHoverinfoY ConeHoverinfo = "y" + ConeHoverinfoZ ConeHoverinfo = "z" + ConeHoverinfoU ConeHoverinfo = "u" + ConeHoverinfoV ConeHoverinfo = "v" + ConeHoverinfoW ConeHoverinfo = "w" + ConeHoverinfoNorm ConeHoverinfo = "norm" + ConeHoverinfoText ConeHoverinfo = "text" + ConeHoverinfoName ConeHoverinfo = "name" + + // Extra + ConeHoverinfoAll ConeHoverinfo = "all" + ConeHoverinfoNone ConeHoverinfo = "none" + ConeHoverinfoSkip ConeHoverinfo = "skip" +) diff --git a/generated/v2.29.1/graph_objects/config_gen.go b/generated/v2.29.1/graph_objects/config_gen.go new file mode 100644 index 0000000..4f14501 --- /dev/null +++ b/generated/v2.29.1/graph_objects/config_gen.go @@ -0,0 +1,335 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT.// Config Plot config options +type Config struct { + + // Autosizable + // arrayOK: false + // type: boolean + // Determines whether the graphs are plotted with respect to layout.autosize:true and infer its container size. + Autosizable Bool `json:"autosizable,omitempty"` + + // DisplayModeBar + // default: hover + // type: enumerated + // Determines the mode bar display mode. If *true*, the mode bar is always visible. If *false*, the mode bar is always hidden. If *hover*, the mode bar is visible while the mouse cursor is on the graph container. + DisplayModeBar ConfigDisplayModeBar `json:"displayModeBar,omitempty"` + + // Displaylogo + // arrayOK: false + // type: boolean + // Determines whether or not the plotly logo is displayed on the end of the mode bar. + Displaylogo Bool `json:"displaylogo,omitempty"` + + // DoubleClick + // default: reset+autosize + // type: enumerated + // Sets the double click interaction mode. Has an effect only in cartesian plots. If *false*, double click is disable. If *reset*, double click resets the axis ranges to their initial values. If *autosize*, double click set the axis ranges to their autorange values. If *reset+autosize*, the odd double clicks resets the axis ranges to their initial values and even double clicks set the axis ranges to their autorange values. + DoubleClick ConfigDoubleClick `json:"doubleClick,omitempty"` + + // DoubleClickDelay + // arrayOK: false + // type: number + // Sets the delay for registering a double-click in ms. This is the time interval (in ms) between first mousedown and 2nd mouseup to constitute a double-click. This setting propagates to all on-subplot double clicks (except for geo and mapbox) and on-legend double clicks. + DoubleClickDelay float64 `json:"doubleClickDelay,omitempty"` + + // EditSelection + // arrayOK: false + // type: boolean + // Enables moving selections. + EditSelection Bool `json:"editSelection,omitempty"` + + // Editable + // arrayOK: false + // type: boolean + // Determines whether the graph is editable or not. Sets all pieces of `edits` unless a separate `edits` config item overrides individual parts. + Editable Bool `json:"editable,omitempty"` + + // Edits + // role: Object + Edits *ConfigEdits `json:"edits,omitempty"` + + // FillFrame + // arrayOK: false + // type: boolean + // When `layout.autosize` is turned on, determines whether the graph fills the container (the default) or the screen (if set to *true*). + FillFrame Bool `json:"fillFrame,omitempty"` + + // FrameMargins + // arrayOK: false + // type: number + // When `layout.autosize` is turned on, set the frame margins in fraction of the graph size. + FrameMargins float64 `json:"frameMargins,omitempty"` + + // GlobalTransforms + // arrayOK: false + // type: any + // Set global transform to be applied to all traces with no specification needed + GlobalTransforms interface{} `json:"globalTransforms,omitempty"` + + // LinkText + // arrayOK: false + // type: string + // Sets the text appearing in the `showLink` link. + LinkText String `json:"linkText,omitempty"` + + // Locale + // arrayOK: false + // type: string + // Which localization should we use? Should be a string like 'en' or 'en-US'. + Locale String `json:"locale,omitempty"` + + // Locales + // arrayOK: false + // type: any + // Localization definitions Locales can be provided either here (specific to one chart) or globally by registering them as modules. Should be an object of objects {locale: {dictionary: {...}, format: {...}}} { da: { dictionary: {'Reset axes': 'Nulstil aksler', ...}, format: {months: [...], shortMonths: [...]} }, ... } All parts are optional. When looking for translation or format fields, we look first for an exact match in a config locale, then in a registered module. If those fail, we strip off any regionalization ('en-US' -> 'en') and try each (config, registry) again. The final fallback for translation is untranslated (which is US English) and for formats is the base English (the only consequence being the last fallback date format %x is DD/MM/YYYY instead of MM/DD/YYYY). Currently `grouping` and `currency` are ignored for our automatic number formatting, but can be used in custom formats. + Locales interface{} `json:"locales,omitempty"` + + // Logging + // arrayOK: false + // type: integer + // Turn all console logging on or off (errors will be thrown) This should ONLY be set via Plotly.setPlotConfig Available levels: 0: no logs 1: warnings and errors, but not informational messages 2: verbose logs + Logging int64 `json:"logging,omitempty"` + + // MapboxAccessToken + // arrayOK: false + // type: string + // Mapbox access token (required to plot mapbox trace types) If using an Mapbox Atlas server, set this option to '' so that plotly.js won't attempt to authenticate to the public Mapbox server. + MapboxAccessToken String `json:"mapboxAccessToken,omitempty"` + + // ModeBarButtons + // arrayOK: false + // type: any + // Define fully custom mode bar buttons as nested array, where the outer arrays represents button groups, and the inner arrays have buttons config objects or names of default buttons See ./components/modebar/buttons.js for more info. + ModeBarButtons interface{} `json:"modeBarButtons,omitempty"` + + // ModeBarButtonsToAdd + // arrayOK: false + // type: any + // Add mode bar button using config objects See ./components/modebar/buttons.js for list of arguments. To enable predefined modebar buttons e.g. shape drawing, hover and spikelines, simply provide their string name(s). This could include: *v1hovermode*, *hoverclosest*, *hovercompare*, *togglehover*, *togglespikelines*, *drawline*, *drawopenpath*, *drawclosedpath*, *drawcircle*, *drawrect* and *eraseshape*. Please note that these predefined buttons will only be shown if they are compatible with all trace types used in a graph. + ModeBarButtonsToAdd interface{} `json:"modeBarButtonsToAdd,omitempty"` + + // ModeBarButtonsToRemove + // arrayOK: false + // type: any + // Remove mode bar buttons by name. See ./components/modebar/buttons.js for the list of names. + ModeBarButtonsToRemove interface{} `json:"modeBarButtonsToRemove,omitempty"` + + // NotifyOnLogging + // arrayOK: false + // type: integer + // Set on-graph logging (notifier) level This should ONLY be set via Plotly.setPlotConfig Available levels: 0: no on-graph logs 1: warnings and errors, but not informational messages 2: verbose logs + NotifyOnLogging int64 `json:"notifyOnLogging,omitempty"` + + // PlotGlPixelRatio + // arrayOK: false + // type: number + // Set the pixel ratio during WebGL image export. This config option was formerly named `plot3dPixelRatio` which is now deprecated. + PlotGlPixelRatio float64 `json:"plotGlPixelRatio,omitempty"` + + // PlotlyServerURL + // arrayOK: false + // type: string + // When set it determines base URL for the 'Edit in Chart Studio' `showEditInChartStudio`/`showSendToCloud` mode bar button and the showLink/sendData on-graph link. To enable sending your data to Chart Studio Cloud, you need to set both `plotlyServerURL` to 'https://chart-studio.plotly.com' and also set `showSendToCloud` to true. + PlotlyServerURL String `json:"plotlyServerURL,omitempty"` + + // QueueLength + // arrayOK: false + // type: integer + // Sets the length of the undo/redo queue. + QueueLength int64 `json:"queueLength,omitempty"` + + // Responsive + // arrayOK: false + // type: boolean + // Determines whether to change the layout size when window is resized. In v3, this option will be removed and will always be true. + Responsive Bool `json:"responsive,omitempty"` + + // ScrollZoom + // default: gl3d+geo+mapbox + // type: flaglist + // Determines whether mouse wheel or two-finger scroll zooms is enable. Turned on by default for gl3d, geo and mapbox subplots (as these subplot types do not have zoombox via pan), but turned off by default for cartesian subplots. Set `scrollZoom` to *false* to disable scrolling for all subplots. + ScrollZoom ConfigScrollZoom `json:"scrollZoom,omitempty"` + + // SendData + // arrayOK: false + // type: boolean + // If *showLink* is true, does it contain data just link to a Chart Studio Cloud file? + SendData Bool `json:"sendData,omitempty"` + + // SetBackground + // arrayOK: false + // type: any + // Set function to add the background color (i.e. `layout.paper_color`) to a different container. This function take the graph div as first argument and the current background color as second argument. Alternatively, set to string *opaque* to ensure there is white behind it. + SetBackground interface{} `json:"setBackground,omitempty"` + + // ShowAxisDragHandles + // arrayOK: false + // type: boolean + // Set to *false* to omit cartesian axis pan/zoom drag handles. + ShowAxisDragHandles Bool `json:"showAxisDragHandles,omitempty"` + + // ShowAxisRangeEntryBoxes + // arrayOK: false + // type: boolean + // Set to *false* to omit direct range entry at the pan/zoom drag points, note that `showAxisDragHandles` must be enabled to have an effect. + ShowAxisRangeEntryBoxes Bool `json:"showAxisRangeEntryBoxes,omitempty"` + + // ShowEditInChartStudio + // arrayOK: false + // type: boolean + // Same as `showSendToCloud`, but use a pencil icon instead of a floppy-disk. Note that if both `showSendToCloud` and `showEditInChartStudio` are turned, only `showEditInChartStudio` will be honored. + ShowEditInChartStudio Bool `json:"showEditInChartStudio,omitempty"` + + // ShowLink + // arrayOK: false + // type: boolean + // Determines whether a link to Chart Studio Cloud is displayed at the bottom right corner of resulting graphs. Use with `sendData` and `linkText`. + ShowLink Bool `json:"showLink,omitempty"` + + // ShowSendToCloud + // arrayOK: false + // type: boolean + // Should we include a ModeBar button, labeled "Edit in Chart Studio", that sends this chart to chart-studio.plotly.com (formerly plot.ly) or another plotly server as specified by `plotlyServerURL` for editing, export, etc? Prior to version 1.43.0 this button was included by default, now it is opt-in using this flag. Note that this button can (depending on `plotlyServerURL` being set) send your data to an external server. However that server does not persist your data until you arrive at the Chart Studio and explicitly click "Save". + ShowSendToCloud Bool `json:"showSendToCloud,omitempty"` + + // ShowSources + // arrayOK: false + // type: any + // Adds a source-displaying function to show sources on the resulting graphs. + ShowSources interface{} `json:"showSources,omitempty"` + + // ShowTips + // arrayOK: false + // type: boolean + // Determines whether or not tips are shown while interacting with the resulting graphs. + ShowTips Bool `json:"showTips,omitempty"` + + // StaticPlot + // arrayOK: false + // type: boolean + // Determines whether the graphs are interactive or not. If *false*, no interactivity, for export or image generation. + StaticPlot Bool `json:"staticPlot,omitempty"` + + // ToImageButtonOptions + // arrayOK: false + // type: any + // Statically override options for toImage modebar button allowed keys are format, filename, width, height, scale see ../components/modebar/buttons.js + ToImageButtonOptions interface{} `json:"toImageButtonOptions,omitempty"` + + // TopojsonURL + // arrayOK: false + // type: string + // 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. + TopojsonURL String `json:"topojsonURL,omitempty"` + + // TypesetMath + // arrayOK: false + // type: boolean + // Determines whether math should be typeset or not, when MathJax (either v2 or v3) is present on the page. + TypesetMath Bool `json:"typesetMath,omitempty"` + + // Watermark + // arrayOK: false + // type: boolean + // watermark the images with the company's logo + Watermark Bool `json:"watermark,omitempty"` +} + +// ConfigEdits +type ConfigEdits struct { + + // AnnotationPosition + // arrayOK: false + // type: boolean + // Determines if the main anchor of the annotation is editable. The main anchor corresponds to the text (if no arrow) or the arrow (which drags the whole thing leaving the arrow length & direction unchanged). + AnnotationPosition Bool `json:"annotationPosition,omitempty"` + + // AnnotationTail + // arrayOK: false + // type: boolean + // Has only an effect for annotations with arrows. Enables changing the length and direction of the arrow. + AnnotationTail Bool `json:"annotationTail,omitempty"` + + // AnnotationText + // arrayOK: false + // type: boolean + // Enables editing annotation text. + AnnotationText Bool `json:"annotationText,omitempty"` + + // AxisTitleText + // arrayOK: false + // type: boolean + // Enables editing axis title text. + AxisTitleText Bool `json:"axisTitleText,omitempty"` + + // ColorbarPosition + // arrayOK: false + // type: boolean + // Enables moving colorbars. + ColorbarPosition Bool `json:"colorbarPosition,omitempty"` + + // ColorbarTitleText + // arrayOK: false + // type: boolean + // Enables editing colorbar title text. + ColorbarTitleText Bool `json:"colorbarTitleText,omitempty"` + + // LegendPosition + // arrayOK: false + // type: boolean + // Enables moving the legend. + LegendPosition Bool `json:"legendPosition,omitempty"` + + // LegendText + // arrayOK: false + // type: boolean + // Enables editing the trace name fields from the legend + LegendText Bool `json:"legendText,omitempty"` + + // ShapePosition + // arrayOK: false + // type: boolean + // Enables moving shapes. + ShapePosition Bool `json:"shapePosition,omitempty"` + + // TitleText + // arrayOK: false + // type: boolean + // Enables editing the global layout title. + TitleText Bool `json:"titleText,omitempty"` +} + +// ConfigDisplayModeBar Determines the mode bar display mode. If *true*, the mode bar is always visible. If *false*, the mode bar is always hidden. If *hover*, the mode bar is visible while the mouse cursor is on the graph container. +type ConfigDisplayModeBar interface{} + +var ( + ConfigDisplayModeBarHover ConfigDisplayModeBar = "hover" + ConfigDisplayModeBarTrue ConfigDisplayModeBar = true + ConfigDisplayModeBarFalse ConfigDisplayModeBar = false +) + +// ConfigDoubleClick Sets the double click interaction mode. Has an effect only in cartesian plots. If *false*, double click is disable. If *reset*, double click resets the axis ranges to their initial values. If *autosize*, double click set the axis ranges to their autorange values. If *reset+autosize*, the odd double clicks resets the axis ranges to their initial values and even double clicks set the axis ranges to their autorange values. +type ConfigDoubleClick interface{} + +var ( + ConfigDoubleClickFalse ConfigDoubleClick = false + ConfigDoubleClickReset ConfigDoubleClick = "reset" + ConfigDoubleClickAutosize ConfigDoubleClick = "autosize" + ConfigDoubleClickResetPlusautosize ConfigDoubleClick = "reset+autosize" +) + +// ConfigScrollZoom Determines whether mouse wheel or two-finger scroll zooms is enable. Turned on by default for gl3d, geo and mapbox subplots (as these subplot types do not have zoombox via pan), but turned off by default for cartesian subplots. Set `scrollZoom` to *false* to disable scrolling for all subplots. +type ConfigScrollZoom interface{} + +var ( + // Flags + ConfigScrollZoomCartesian ConfigScrollZoom = "cartesian" + ConfigScrollZoomGl3d ConfigScrollZoom = "gl3d" + ConfigScrollZoomGeo ConfigScrollZoom = "geo" + ConfigScrollZoomMapbox ConfigScrollZoom = "mapbox" + + // Extra + ConfigScrollZoomTrue ConfigScrollZoom = true + ConfigScrollZoomFalse ConfigScrollZoom = false +) diff --git a/generated/v2.29.1/graph_objects/contour_gen.go b/generated/v2.29.1/graph_objects/contour_gen.go new file mode 100644 index 0000000..0cad8e4 --- /dev/null +++ b/generated/v2.29.1/graph_objects/contour_gen.go @@ -0,0 +1,1383 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeContour TraceType = "contour" + +func (trace *Contour) GetType() TraceType { + return TraceTypeContour +} + +// Contour 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. +type Contour struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Autocolorscale + // arrayOK: false + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Autocontour + // arrayOK: false + // type: boolean + // 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`. + Autocontour Bool `json:"autocontour,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *ContourColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Connectgaps + // arrayOK: false + // 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. + Connectgaps Bool `json:"connectgaps,omitempty"` + + // Contours + // role: Object + Contours *ContourContours `json:"contours,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Dx + // arrayOK: false + // type: number + // Sets the x coordinate step. See `x0` for more info. + Dx float64 `json:"dx,omitempty"` + + // Dy + // arrayOK: false + // type: number + // Sets the y coordinate step. See `y0` for more info. + Dy float64 `json:"dy,omitempty"` + + // Fillcolor + // arrayOK: false + // 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. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo ContourHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *ContourHoverlabel `json:"hoverlabel,omitempty"` + + // Hoverongaps + // arrayOK: false + // type: boolean + // Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data have hover labels associated with them. + Hoverongaps Bool `json:"hoverongaps,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: false + // type: data_array + // Same as `text`. + Hovertext interface{} `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *ContourLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *ContourLine `json:"line,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Ncontours + // arrayOK: false + // type: integer + // 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. + Ncontours int64 `json:"ncontours,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Showscale + // arrayOK: false + // type: boolean + // Determines whether or not a colorbar is displayed for this trace. + Showscale Bool `json:"showscale,omitempty"` + + // Stream + // role: Object + Stream *ContourStream `json:"stream,omitempty"` + + // Text + // arrayOK: false + // type: data_array + // Sets the text elements associated with each z value. + Text interface{} `json:"text,omitempty"` + + // Textfont + // role: Object + Textfont *ContourTextfont `json:"textfont,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: false + // 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`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Transpose + // arrayOK: false + // type: boolean + // Transposes the z data. + Transpose Bool `json:"transpose,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible ContourVisible `json:"visible,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the x coordinates. + X interface{} `json:"x,omitempty"` + + // X0 + // arrayOK: false + // type: any + // Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step. + X0 interface{} `json:"x0,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Xcalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `x` date data. + Xcalendar ContourXcalendar `json:"xcalendar,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xperiod + // arrayOK: false + // type: any + // Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer. + Xperiod interface{} `json:"xperiod,omitempty"` + + // Xperiod0 + // arrayOK: false + // type: any + // 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. + Xperiod0 interface{} `json:"xperiod0,omitempty"` + + // Xperiodalignment + // default: middle + // type: enumerated + // Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. + Xperiodalignment ContourXperiodalignment `json:"xperiodalignment,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Xtype + // default: %!s() + // type: enumerated + // 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). + Xtype ContourXtype `json:"xtype,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the y coordinates. + Y interface{} `json:"y,omitempty"` + + // Y0 + // arrayOK: false + // type: any + // Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step. + Y0 interface{} `json:"y0,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` + + // Ycalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `y` date data. + Ycalendar ContourYcalendar `json:"ycalendar,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Yperiod + // arrayOK: false + // type: any + // Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the y axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer. + Yperiod interface{} `json:"yperiod,omitempty"` + + // Yperiod0 + // arrayOK: false + // type: any + // 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. + Yperiod0 interface{} `json:"yperiod0,omitempty"` + + // Yperiodalignment + // default: middle + // type: enumerated + // Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis. + Yperiodalignment ContourYperiodalignment `json:"yperiodalignment,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` + + // Ytype + // default: %!s() + // type: enumerated + // 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) + Ytype ContourYtype `json:"ytype,omitempty"` + + // Z + // arrayOK: false + // type: data_array + // Sets the z data. + Z interface{} `json:"z,omitempty"` + + // Zauto + // arrayOK: false + // type: boolean + // 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. + Zauto Bool `json:"zauto,omitempty"` + + // Zhoverformat + // arrayOK: false + // 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. + Zhoverformat String `json:"zhoverformat,omitempty"` + + // Zmax + // arrayOK: false + // 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. + Zmax float64 `json:"zmax,omitempty"` + + // Zmid + // arrayOK: false + // 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`. + Zmid float64 `json:"zmid,omitempty"` + + // Zmin + // arrayOK: false + // 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. + Zmin float64 `json:"zmin,omitempty"` + + // Zsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `z`. + Zsrc String `json:"zsrc,omitempty"` +} + +// ContourColorbarTickfont Sets the color bar's tick label font +type ContourColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ContourColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type ContourColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ContourColorbarTitle +type ContourColorbarTitle struct { + + // Font + // role: Object + Font *ContourColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side ContourColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// ContourColorbar +type ContourColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat ContourColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode ContourColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ContourColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent ContourColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix ContourColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix ContourColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode ContourColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *ContourColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ContourColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition ContourColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode ContourColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks ContourColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *ContourColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor ContourColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref ContourColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor ContourColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref ContourColorbarYref `json:"yref,omitempty"` +} + +// ContourContoursLabelfont 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`. +type ContourContoursLabelfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ContourContours +type ContourContours struct { + + // Coloring + // default: fill + // type: enumerated + // 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. + Coloring ContourContoursColoring `json:"coloring,omitempty"` + + // End + // arrayOK: false + // type: number + // Sets the end contour level value. Must be more than `contours.start` + End float64 `json:"end,omitempty"` + + // Labelfont + // role: Object + Labelfont *ContourContoursLabelfont `json:"labelfont,omitempty"` + + // Labelformat + // arrayOK: false + // 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. + Labelformat String `json:"labelformat,omitempty"` + + // Operation + // default: = + // type: enumerated + // 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. + Operation ContourContoursOperation `json:"operation,omitempty"` + + // Showlabels + // arrayOK: false + // type: boolean + // Determines whether to label the contour lines with their values. + Showlabels Bool `json:"showlabels,omitempty"` + + // Showlines + // arrayOK: false + // type: boolean + // Determines whether or not the contour lines are drawn. Has an effect only if `contours.coloring` is set to *fill*. + Showlines Bool `json:"showlines,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the step between each contour level. Must be positive. + Size float64 `json:"size,omitempty"` + + // Start + // arrayOK: false + // type: number + // Sets the starting contour level value. Must be less than `contours.end` + Start float64 `json:"start,omitempty"` + + // Type + // default: levels + // type: enumerated + // 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. + Type ContourContoursType `json:"type,omitempty"` + + // Value + // arrayOK: false + // type: any + // 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. + Value interface{} `json:"value,omitempty"` +} + +// ContourHoverlabelFont Sets the font used in hover labels. +type ContourHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ContourHoverlabel +type ContourHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align ContourHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *ContourHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// ContourLegendgrouptitleFont Sets this legend group's title font. +type ContourLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ContourLegendgrouptitle +type ContourLegendgrouptitle struct { + + // Font + // role: Object + Font *ContourLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// ContourLine +type ContourLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the color of the contour level. Has no effect if `contours.coloring` is set to *lines*. + Color Color `json:"color,omitempty"` + + // Dash + // arrayOK: false + // type: string + // 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*). + Dash String `json:"dash,omitempty"` + + // Smoothing + // arrayOK: false + // type: number + // Sets the amount of smoothing for the contour lines, where *0* corresponds to no smoothing. + Smoothing float64 `json:"smoothing,omitempty"` + + // Width + // arrayOK: false + // 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*. + Width float64 `json:"width,omitempty"` +} + +// ContourStream +type ContourStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// ContourTextfont For this trace it only has an effect if `coloring` is set to *heatmap*. Sets the text font. +type ContourTextfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ContourColorbarExponentformat 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. +type ContourColorbarExponentformat string + +const ( + ContourColorbarExponentformatNone ContourColorbarExponentformat = "none" + ContourColorbarExponentformatE1 ContourColorbarExponentformat = "e" + ContourColorbarExponentformatE2 ContourColorbarExponentformat = "E" + ContourColorbarExponentformatPower ContourColorbarExponentformat = "power" + ContourColorbarExponentformatSI ContourColorbarExponentformat = "SI" + ContourColorbarExponentformatB ContourColorbarExponentformat = "B" +) + +// ContourColorbarLenmode 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. +type ContourColorbarLenmode string + +const ( + ContourColorbarLenmodeFraction ContourColorbarLenmode = "fraction" + ContourColorbarLenmodePixels ContourColorbarLenmode = "pixels" +) + +// ContourColorbarOrientation Sets the orientation of the colorbar. +type ContourColorbarOrientation string + +const ( + ContourColorbarOrientationH ContourColorbarOrientation = "h" + ContourColorbarOrientationV ContourColorbarOrientation = "v" +) + +// ContourColorbarShowexponent 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. +type ContourColorbarShowexponent string + +const ( + ContourColorbarShowexponentAll ContourColorbarShowexponent = "all" + ContourColorbarShowexponentFirst ContourColorbarShowexponent = "first" + ContourColorbarShowexponentLast ContourColorbarShowexponent = "last" + ContourColorbarShowexponentNone ContourColorbarShowexponent = "none" +) + +// ContourColorbarShowtickprefix 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. +type ContourColorbarShowtickprefix string + +const ( + ContourColorbarShowtickprefixAll ContourColorbarShowtickprefix = "all" + ContourColorbarShowtickprefixFirst ContourColorbarShowtickprefix = "first" + ContourColorbarShowtickprefixLast ContourColorbarShowtickprefix = "last" + ContourColorbarShowtickprefixNone ContourColorbarShowtickprefix = "none" +) + +// ContourColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type ContourColorbarShowticksuffix string + +const ( + ContourColorbarShowticksuffixAll ContourColorbarShowticksuffix = "all" + ContourColorbarShowticksuffixFirst ContourColorbarShowticksuffix = "first" + ContourColorbarShowticksuffixLast ContourColorbarShowticksuffix = "last" + ContourColorbarShowticksuffixNone ContourColorbarShowticksuffix = "none" +) + +// ContourColorbarThicknessmode 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. +type ContourColorbarThicknessmode string + +const ( + ContourColorbarThicknessmodeFraction ContourColorbarThicknessmode = "fraction" + ContourColorbarThicknessmodePixels ContourColorbarThicknessmode = "pixels" +) + +// ContourColorbarTicklabeloverflow 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*. +type ContourColorbarTicklabeloverflow string + +const ( + ContourColorbarTicklabeloverflowAllow ContourColorbarTicklabeloverflow = "allow" + ContourColorbarTicklabeloverflowHidePastDiv ContourColorbarTicklabeloverflow = "hide past div" + ContourColorbarTicklabeloverflowHidePastDomain ContourColorbarTicklabeloverflow = "hide past domain" +) + +// ContourColorbarTicklabelposition 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*. +type ContourColorbarTicklabelposition string + +const ( + ContourColorbarTicklabelpositionOutside ContourColorbarTicklabelposition = "outside" + ContourColorbarTicklabelpositionInside ContourColorbarTicklabelposition = "inside" + ContourColorbarTicklabelpositionOutsideTop ContourColorbarTicklabelposition = "outside top" + ContourColorbarTicklabelpositionInsideTop ContourColorbarTicklabelposition = "inside top" + ContourColorbarTicklabelpositionOutsideLeft ContourColorbarTicklabelposition = "outside left" + ContourColorbarTicklabelpositionInsideLeft ContourColorbarTicklabelposition = "inside left" + ContourColorbarTicklabelpositionOutsideRight ContourColorbarTicklabelposition = "outside right" + ContourColorbarTicklabelpositionInsideRight ContourColorbarTicklabelposition = "inside right" + ContourColorbarTicklabelpositionOutsideBottom ContourColorbarTicklabelposition = "outside bottom" + ContourColorbarTicklabelpositionInsideBottom ContourColorbarTicklabelposition = "inside bottom" +) + +// ContourColorbarTickmode 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). +type ContourColorbarTickmode string + +const ( + ContourColorbarTickmodeAuto ContourColorbarTickmode = "auto" + ContourColorbarTickmodeLinear ContourColorbarTickmode = "linear" + ContourColorbarTickmodeArray ContourColorbarTickmode = "array" +) + +// ContourColorbarTicks 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. +type ContourColorbarTicks string + +const ( + ContourColorbarTicksOutside ContourColorbarTicks = "outside" + ContourColorbarTicksInside ContourColorbarTicks = "inside" + ContourColorbarTicksEmpty ContourColorbarTicks = "" +) + +// ContourColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type ContourColorbarTitleSide string + +const ( + ContourColorbarTitleSideRight ContourColorbarTitleSide = "right" + ContourColorbarTitleSideTop ContourColorbarTitleSide = "top" + ContourColorbarTitleSideBottom ContourColorbarTitleSide = "bottom" +) + +// ContourColorbarXanchor 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*. +type ContourColorbarXanchor string + +const ( + ContourColorbarXanchorLeft ContourColorbarXanchor = "left" + ContourColorbarXanchorCenter ContourColorbarXanchor = "center" + ContourColorbarXanchorRight ContourColorbarXanchor = "right" +) + +// ContourColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type ContourColorbarXref string + +const ( + ContourColorbarXrefContainer ContourColorbarXref = "container" + ContourColorbarXrefPaper ContourColorbarXref = "paper" +) + +// ContourColorbarYanchor 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*. +type ContourColorbarYanchor string + +const ( + ContourColorbarYanchorTop ContourColorbarYanchor = "top" + ContourColorbarYanchorMiddle ContourColorbarYanchor = "middle" + ContourColorbarYanchorBottom ContourColorbarYanchor = "bottom" +) + +// ContourColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type ContourColorbarYref string + +const ( + ContourColorbarYrefContainer ContourColorbarYref = "container" + ContourColorbarYrefPaper ContourColorbarYref = "paper" +) + +// ContourContoursColoring 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. +type ContourContoursColoring string + +const ( + ContourContoursColoringFill ContourContoursColoring = "fill" + ContourContoursColoringHeatmap ContourContoursColoring = "heatmap" + ContourContoursColoringLines ContourContoursColoring = "lines" + ContourContoursColoringNone ContourContoursColoring = "none" +) + +// ContourContoursOperation 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. +type ContourContoursOperation string + +const ( + ContourContoursOperationEq ContourContoursOperation = "=" + ContourContoursOperationLt ContourContoursOperation = "<" + ContourContoursOperationGtEq ContourContoursOperation = ">=" + ContourContoursOperationGt ContourContoursOperation = ">" + ContourContoursOperationLtEq ContourContoursOperation = "<=" + ContourContoursOperationLbracketRbracket ContourContoursOperation = "[]" + ContourContoursOperationLparRpar ContourContoursOperation = "()" + ContourContoursOperationLbracketRpar ContourContoursOperation = "[)" + ContourContoursOperationLparRbracket ContourContoursOperation = "(]" + ContourContoursOperationRbracketLbracket ContourContoursOperation = "][" + ContourContoursOperationRparLpar ContourContoursOperation = ")(" + ContourContoursOperationRbracketLpar ContourContoursOperation = "](" + ContourContoursOperationRparLbracket ContourContoursOperation = ")[" +) + +// ContourContoursType 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. +type ContourContoursType string + +const ( + ContourContoursTypeLevels ContourContoursType = "levels" + ContourContoursTypeConstraint ContourContoursType = "constraint" +) + +// ContourHoverlabelAlign 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 +type ContourHoverlabelAlign string + +const ( + ContourHoverlabelAlignLeft ContourHoverlabelAlign = "left" + ContourHoverlabelAlignRight ContourHoverlabelAlign = "right" + ContourHoverlabelAlignAuto ContourHoverlabelAlign = "auto" +) + +// ContourVisible 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). +type ContourVisible interface{} + +var ( + ContourVisibleTrue ContourVisible = true + ContourVisibleFalse ContourVisible = false + ContourVisibleLegendonly ContourVisible = "legendonly" +) + +// ContourXcalendar Sets the calendar system to use with `x` date data. +type ContourXcalendar string + +const ( + ContourXcalendarChinese ContourXcalendar = "chinese" + ContourXcalendarCoptic ContourXcalendar = "coptic" + ContourXcalendarDiscworld ContourXcalendar = "discworld" + ContourXcalendarEthiopian ContourXcalendar = "ethiopian" + ContourXcalendarGregorian ContourXcalendar = "gregorian" + ContourXcalendarHebrew ContourXcalendar = "hebrew" + ContourXcalendarIslamic ContourXcalendar = "islamic" + ContourXcalendarJalali ContourXcalendar = "jalali" + ContourXcalendarJulian ContourXcalendar = "julian" + ContourXcalendarMayan ContourXcalendar = "mayan" + ContourXcalendarNanakshahi ContourXcalendar = "nanakshahi" + ContourXcalendarNepali ContourXcalendar = "nepali" + ContourXcalendarPersian ContourXcalendar = "persian" + ContourXcalendarTaiwan ContourXcalendar = "taiwan" + ContourXcalendarThai ContourXcalendar = "thai" + ContourXcalendarUmmalqura ContourXcalendar = "ummalqura" +) + +// ContourXperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. +type ContourXperiodalignment string + +const ( + ContourXperiodalignmentStart ContourXperiodalignment = "start" + ContourXperiodalignmentMiddle ContourXperiodalignment = "middle" + ContourXperiodalignmentEnd ContourXperiodalignment = "end" +) + +// ContourXtype 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). +type ContourXtype string + +const ( + ContourXtypeArray ContourXtype = "array" + ContourXtypeScaled ContourXtype = "scaled" +) + +// ContourYcalendar Sets the calendar system to use with `y` date data. +type ContourYcalendar string + +const ( + ContourYcalendarChinese ContourYcalendar = "chinese" + ContourYcalendarCoptic ContourYcalendar = "coptic" + ContourYcalendarDiscworld ContourYcalendar = "discworld" + ContourYcalendarEthiopian ContourYcalendar = "ethiopian" + ContourYcalendarGregorian ContourYcalendar = "gregorian" + ContourYcalendarHebrew ContourYcalendar = "hebrew" + ContourYcalendarIslamic ContourYcalendar = "islamic" + ContourYcalendarJalali ContourYcalendar = "jalali" + ContourYcalendarJulian ContourYcalendar = "julian" + ContourYcalendarMayan ContourYcalendar = "mayan" + ContourYcalendarNanakshahi ContourYcalendar = "nanakshahi" + ContourYcalendarNepali ContourYcalendar = "nepali" + ContourYcalendarPersian ContourYcalendar = "persian" + ContourYcalendarTaiwan ContourYcalendar = "taiwan" + ContourYcalendarThai ContourYcalendar = "thai" + ContourYcalendarUmmalqura ContourYcalendar = "ummalqura" +) + +// ContourYperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis. +type ContourYperiodalignment string + +const ( + ContourYperiodalignmentStart ContourYperiodalignment = "start" + ContourYperiodalignmentMiddle ContourYperiodalignment = "middle" + ContourYperiodalignmentEnd ContourYperiodalignment = "end" +) + +// ContourYtype 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) +type ContourYtype string + +const ( + ContourYtypeArray ContourYtype = "array" + ContourYtypeScaled ContourYtype = "scaled" +) + +// ContourHoverinfo 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. +type ContourHoverinfo string + +const ( + // Flags + ContourHoverinfoX ContourHoverinfo = "x" + ContourHoverinfoY ContourHoverinfo = "y" + ContourHoverinfoZ ContourHoverinfo = "z" + ContourHoverinfoText ContourHoverinfo = "text" + ContourHoverinfoName ContourHoverinfo = "name" + + // Extra + ContourHoverinfoAll ContourHoverinfo = "all" + ContourHoverinfoNone ContourHoverinfo = "none" + ContourHoverinfoSkip ContourHoverinfo = "skip" +) diff --git a/generated/v2.29.1/graph_objects/contourcarpet_gen.go b/generated/v2.29.1/graph_objects/contourcarpet_gen.go new file mode 100644 index 0000000..28d112e --- /dev/null +++ b/generated/v2.29.1/graph_objects/contourcarpet_gen.go @@ -0,0 +1,1060 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeContourcarpet TraceType = "contourcarpet" + +func (trace *Contourcarpet) GetType() TraceType { + return TraceTypeContourcarpet +} + +// Contourcarpet 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. +type Contourcarpet struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // A + // arrayOK: false + // type: data_array + // Sets the x coordinates. + A interface{} `json:"a,omitempty"` + + // A0 + // arrayOK: false + // type: any + // Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step. + A0 interface{} `json:"a0,omitempty"` + + // Asrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `a`. + Asrc String `json:"asrc,omitempty"` + + // Atype + // default: %!s() + // type: enumerated + // 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). + Atype ContourcarpetAtype `json:"atype,omitempty"` + + // Autocolorscale + // arrayOK: false + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Autocontour + // arrayOK: false + // type: boolean + // 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`. + Autocontour Bool `json:"autocontour,omitempty"` + + // B + // arrayOK: false + // type: data_array + // Sets the y coordinates. + B interface{} `json:"b,omitempty"` + + // B0 + // arrayOK: false + // type: any + // Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step. + B0 interface{} `json:"b0,omitempty"` + + // Bsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `b`. + Bsrc String `json:"bsrc,omitempty"` + + // Btype + // default: %!s() + // type: enumerated + // 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) + Btype ContourcarpetBtype `json:"btype,omitempty"` + + // Carpet + // arrayOK: false + // type: string + // The `carpet` of the carpet axes on which this contour trace lies + Carpet String `json:"carpet,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *ContourcarpetColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Contours + // role: Object + Contours *ContourcarpetContours `json:"contours,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Da + // arrayOK: false + // type: number + // Sets the x coordinate step. See `x0` for more info. + Da float64 `json:"da,omitempty"` + + // Db + // arrayOK: false + // type: number + // Sets the y coordinate step. See `y0` for more info. + Db float64 `json:"db,omitempty"` + + // Fillcolor + // arrayOK: false + // 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. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Hovertext + // arrayOK: false + // type: data_array + // Same as `text`. + Hovertext interface{} `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *ContourcarpetLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *ContourcarpetLine `json:"line,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Ncontours + // arrayOK: false + // type: integer + // 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. + Ncontours int64 `json:"ncontours,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Showscale + // arrayOK: false + // type: boolean + // Determines whether or not a colorbar is displayed for this trace. + Showscale Bool `json:"showscale,omitempty"` + + // Stream + // role: Object + Stream *ContourcarpetStream `json:"stream,omitempty"` + + // Text + // arrayOK: false + // type: data_array + // Sets the text elements associated with each z value. + Text interface{} `json:"text,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Transpose + // arrayOK: false + // type: boolean + // Transposes the z data. + Transpose Bool `json:"transpose,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible ContourcarpetVisible `json:"visible,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` + + // Z + // arrayOK: false + // type: data_array + // Sets the z data. + Z interface{} `json:"z,omitempty"` + + // Zauto + // arrayOK: false + // type: boolean + // 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. + Zauto Bool `json:"zauto,omitempty"` + + // Zmax + // arrayOK: false + // 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. + Zmax float64 `json:"zmax,omitempty"` + + // Zmid + // arrayOK: false + // 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`. + Zmid float64 `json:"zmid,omitempty"` + + // Zmin + // arrayOK: false + // 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. + Zmin float64 `json:"zmin,omitempty"` + + // Zsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `z`. + Zsrc String `json:"zsrc,omitempty"` +} + +// ContourcarpetColorbarTickfont Sets the color bar's tick label font +type ContourcarpetColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ContourcarpetColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type ContourcarpetColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ContourcarpetColorbarTitle +type ContourcarpetColorbarTitle struct { + + // Font + // role: Object + Font *ContourcarpetColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side ContourcarpetColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// ContourcarpetColorbar +type ContourcarpetColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat ContourcarpetColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode ContourcarpetColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ContourcarpetColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent ContourcarpetColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix ContourcarpetColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix ContourcarpetColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode ContourcarpetColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *ContourcarpetColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ContourcarpetColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition ContourcarpetColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode ContourcarpetColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks ContourcarpetColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *ContourcarpetColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor ContourcarpetColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref ContourcarpetColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor ContourcarpetColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref ContourcarpetColorbarYref `json:"yref,omitempty"` +} + +// ContourcarpetContoursLabelfont 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`. +type ContourcarpetContoursLabelfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ContourcarpetContours +type ContourcarpetContours struct { + + // Coloring + // default: fill + // type: enumerated + // 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. + Coloring ContourcarpetContoursColoring `json:"coloring,omitempty"` + + // End + // arrayOK: false + // type: number + // Sets the end contour level value. Must be more than `contours.start` + End float64 `json:"end,omitempty"` + + // Labelfont + // role: Object + Labelfont *ContourcarpetContoursLabelfont `json:"labelfont,omitempty"` + + // Labelformat + // arrayOK: false + // 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. + Labelformat String `json:"labelformat,omitempty"` + + // Operation + // default: = + // type: enumerated + // 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. + Operation ContourcarpetContoursOperation `json:"operation,omitempty"` + + // Showlabels + // arrayOK: false + // type: boolean + // Determines whether to label the contour lines with their values. + Showlabels Bool `json:"showlabels,omitempty"` + + // Showlines + // arrayOK: false + // type: boolean + // Determines whether or not the contour lines are drawn. Has an effect only if `contours.coloring` is set to *fill*. + Showlines Bool `json:"showlines,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the step between each contour level. Must be positive. + Size float64 `json:"size,omitempty"` + + // Start + // arrayOK: false + // type: number + // Sets the starting contour level value. Must be less than `contours.end` + Start float64 `json:"start,omitempty"` + + // Type + // default: levels + // type: enumerated + // 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. + Type ContourcarpetContoursType `json:"type,omitempty"` + + // Value + // arrayOK: false + // type: any + // 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. + Value interface{} `json:"value,omitempty"` +} + +// ContourcarpetLegendgrouptitleFont Sets this legend group's title font. +type ContourcarpetLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ContourcarpetLegendgrouptitle +type ContourcarpetLegendgrouptitle struct { + + // Font + // role: Object + Font *ContourcarpetLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// ContourcarpetLine +type ContourcarpetLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the color of the contour level. Has no effect if `contours.coloring` is set to *lines*. + Color Color `json:"color,omitempty"` + + // Dash + // arrayOK: false + // type: string + // 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*). + Dash String `json:"dash,omitempty"` + + // Smoothing + // arrayOK: false + // type: number + // Sets the amount of smoothing for the contour lines, where *0* corresponds to no smoothing. + Smoothing float64 `json:"smoothing,omitempty"` + + // Width + // arrayOK: false + // 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*. + Width float64 `json:"width,omitempty"` +} + +// ContourcarpetStream +type ContourcarpetStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// ContourcarpetAtype 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). +type ContourcarpetAtype string + +const ( + ContourcarpetAtypeArray ContourcarpetAtype = "array" + ContourcarpetAtypeScaled ContourcarpetAtype = "scaled" +) + +// ContourcarpetBtype 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) +type ContourcarpetBtype string + +const ( + ContourcarpetBtypeArray ContourcarpetBtype = "array" + ContourcarpetBtypeScaled ContourcarpetBtype = "scaled" +) + +// ContourcarpetColorbarExponentformat 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. +type ContourcarpetColorbarExponentformat string + +const ( + ContourcarpetColorbarExponentformatNone ContourcarpetColorbarExponentformat = "none" + ContourcarpetColorbarExponentformatE1 ContourcarpetColorbarExponentformat = "e" + ContourcarpetColorbarExponentformatE2 ContourcarpetColorbarExponentformat = "E" + ContourcarpetColorbarExponentformatPower ContourcarpetColorbarExponentformat = "power" + ContourcarpetColorbarExponentformatSI ContourcarpetColorbarExponentformat = "SI" + ContourcarpetColorbarExponentformatB ContourcarpetColorbarExponentformat = "B" +) + +// ContourcarpetColorbarLenmode 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. +type ContourcarpetColorbarLenmode string + +const ( + ContourcarpetColorbarLenmodeFraction ContourcarpetColorbarLenmode = "fraction" + ContourcarpetColorbarLenmodePixels ContourcarpetColorbarLenmode = "pixels" +) + +// ContourcarpetColorbarOrientation Sets the orientation of the colorbar. +type ContourcarpetColorbarOrientation string + +const ( + ContourcarpetColorbarOrientationH ContourcarpetColorbarOrientation = "h" + ContourcarpetColorbarOrientationV ContourcarpetColorbarOrientation = "v" +) + +// ContourcarpetColorbarShowexponent 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. +type ContourcarpetColorbarShowexponent string + +const ( + ContourcarpetColorbarShowexponentAll ContourcarpetColorbarShowexponent = "all" + ContourcarpetColorbarShowexponentFirst ContourcarpetColorbarShowexponent = "first" + ContourcarpetColorbarShowexponentLast ContourcarpetColorbarShowexponent = "last" + ContourcarpetColorbarShowexponentNone ContourcarpetColorbarShowexponent = "none" +) + +// ContourcarpetColorbarShowtickprefix 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. +type ContourcarpetColorbarShowtickprefix string + +const ( + ContourcarpetColorbarShowtickprefixAll ContourcarpetColorbarShowtickprefix = "all" + ContourcarpetColorbarShowtickprefixFirst ContourcarpetColorbarShowtickprefix = "first" + ContourcarpetColorbarShowtickprefixLast ContourcarpetColorbarShowtickprefix = "last" + ContourcarpetColorbarShowtickprefixNone ContourcarpetColorbarShowtickprefix = "none" +) + +// ContourcarpetColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type ContourcarpetColorbarShowticksuffix string + +const ( + ContourcarpetColorbarShowticksuffixAll ContourcarpetColorbarShowticksuffix = "all" + ContourcarpetColorbarShowticksuffixFirst ContourcarpetColorbarShowticksuffix = "first" + ContourcarpetColorbarShowticksuffixLast ContourcarpetColorbarShowticksuffix = "last" + ContourcarpetColorbarShowticksuffixNone ContourcarpetColorbarShowticksuffix = "none" +) + +// ContourcarpetColorbarThicknessmode 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. +type ContourcarpetColorbarThicknessmode string + +const ( + ContourcarpetColorbarThicknessmodeFraction ContourcarpetColorbarThicknessmode = "fraction" + ContourcarpetColorbarThicknessmodePixels ContourcarpetColorbarThicknessmode = "pixels" +) + +// ContourcarpetColorbarTicklabeloverflow 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*. +type ContourcarpetColorbarTicklabeloverflow string + +const ( + ContourcarpetColorbarTicklabeloverflowAllow ContourcarpetColorbarTicklabeloverflow = "allow" + ContourcarpetColorbarTicklabeloverflowHidePastDiv ContourcarpetColorbarTicklabeloverflow = "hide past div" + ContourcarpetColorbarTicklabeloverflowHidePastDomain ContourcarpetColorbarTicklabeloverflow = "hide past domain" +) + +// ContourcarpetColorbarTicklabelposition 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*. +type ContourcarpetColorbarTicklabelposition string + +const ( + ContourcarpetColorbarTicklabelpositionOutside ContourcarpetColorbarTicklabelposition = "outside" + ContourcarpetColorbarTicklabelpositionInside ContourcarpetColorbarTicklabelposition = "inside" + ContourcarpetColorbarTicklabelpositionOutsideTop ContourcarpetColorbarTicklabelposition = "outside top" + ContourcarpetColorbarTicklabelpositionInsideTop ContourcarpetColorbarTicklabelposition = "inside top" + ContourcarpetColorbarTicklabelpositionOutsideLeft ContourcarpetColorbarTicklabelposition = "outside left" + ContourcarpetColorbarTicklabelpositionInsideLeft ContourcarpetColorbarTicklabelposition = "inside left" + ContourcarpetColorbarTicklabelpositionOutsideRight ContourcarpetColorbarTicklabelposition = "outside right" + ContourcarpetColorbarTicklabelpositionInsideRight ContourcarpetColorbarTicklabelposition = "inside right" + ContourcarpetColorbarTicklabelpositionOutsideBottom ContourcarpetColorbarTicklabelposition = "outside bottom" + ContourcarpetColorbarTicklabelpositionInsideBottom ContourcarpetColorbarTicklabelposition = "inside bottom" +) + +// ContourcarpetColorbarTickmode 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). +type ContourcarpetColorbarTickmode string + +const ( + ContourcarpetColorbarTickmodeAuto ContourcarpetColorbarTickmode = "auto" + ContourcarpetColorbarTickmodeLinear ContourcarpetColorbarTickmode = "linear" + ContourcarpetColorbarTickmodeArray ContourcarpetColorbarTickmode = "array" +) + +// ContourcarpetColorbarTicks 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. +type ContourcarpetColorbarTicks string + +const ( + ContourcarpetColorbarTicksOutside ContourcarpetColorbarTicks = "outside" + ContourcarpetColorbarTicksInside ContourcarpetColorbarTicks = "inside" + ContourcarpetColorbarTicksEmpty ContourcarpetColorbarTicks = "" +) + +// ContourcarpetColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type ContourcarpetColorbarTitleSide string + +const ( + ContourcarpetColorbarTitleSideRight ContourcarpetColorbarTitleSide = "right" + ContourcarpetColorbarTitleSideTop ContourcarpetColorbarTitleSide = "top" + ContourcarpetColorbarTitleSideBottom ContourcarpetColorbarTitleSide = "bottom" +) + +// ContourcarpetColorbarXanchor 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*. +type ContourcarpetColorbarXanchor string + +const ( + ContourcarpetColorbarXanchorLeft ContourcarpetColorbarXanchor = "left" + ContourcarpetColorbarXanchorCenter ContourcarpetColorbarXanchor = "center" + ContourcarpetColorbarXanchorRight ContourcarpetColorbarXanchor = "right" +) + +// ContourcarpetColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type ContourcarpetColorbarXref string + +const ( + ContourcarpetColorbarXrefContainer ContourcarpetColorbarXref = "container" + ContourcarpetColorbarXrefPaper ContourcarpetColorbarXref = "paper" +) + +// ContourcarpetColorbarYanchor 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*. +type ContourcarpetColorbarYanchor string + +const ( + ContourcarpetColorbarYanchorTop ContourcarpetColorbarYanchor = "top" + ContourcarpetColorbarYanchorMiddle ContourcarpetColorbarYanchor = "middle" + ContourcarpetColorbarYanchorBottom ContourcarpetColorbarYanchor = "bottom" +) + +// ContourcarpetColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type ContourcarpetColorbarYref string + +const ( + ContourcarpetColorbarYrefContainer ContourcarpetColorbarYref = "container" + ContourcarpetColorbarYrefPaper ContourcarpetColorbarYref = "paper" +) + +// ContourcarpetContoursColoring 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. +type ContourcarpetContoursColoring string + +const ( + ContourcarpetContoursColoringFill ContourcarpetContoursColoring = "fill" + ContourcarpetContoursColoringLines ContourcarpetContoursColoring = "lines" + ContourcarpetContoursColoringNone ContourcarpetContoursColoring = "none" +) + +// ContourcarpetContoursOperation 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. +type ContourcarpetContoursOperation string + +const ( + ContourcarpetContoursOperationEq ContourcarpetContoursOperation = "=" + ContourcarpetContoursOperationLt ContourcarpetContoursOperation = "<" + ContourcarpetContoursOperationGtEq ContourcarpetContoursOperation = ">=" + ContourcarpetContoursOperationGt ContourcarpetContoursOperation = ">" + ContourcarpetContoursOperationLtEq ContourcarpetContoursOperation = "<=" + ContourcarpetContoursOperationLbracketRbracket ContourcarpetContoursOperation = "[]" + ContourcarpetContoursOperationLparRpar ContourcarpetContoursOperation = "()" + ContourcarpetContoursOperationLbracketRpar ContourcarpetContoursOperation = "[)" + ContourcarpetContoursOperationLparRbracket ContourcarpetContoursOperation = "(]" + ContourcarpetContoursOperationRbracketLbracket ContourcarpetContoursOperation = "][" + ContourcarpetContoursOperationRparLpar ContourcarpetContoursOperation = ")(" + ContourcarpetContoursOperationRbracketLpar ContourcarpetContoursOperation = "](" + ContourcarpetContoursOperationRparLbracket ContourcarpetContoursOperation = ")[" +) + +// ContourcarpetContoursType 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. +type ContourcarpetContoursType string + +const ( + ContourcarpetContoursTypeLevels ContourcarpetContoursType = "levels" + ContourcarpetContoursTypeConstraint ContourcarpetContoursType = "constraint" +) + +// ContourcarpetVisible 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). +type ContourcarpetVisible interface{} + +var ( + ContourcarpetVisibleTrue ContourcarpetVisible = true + ContourcarpetVisibleFalse ContourcarpetVisible = false + ContourcarpetVisibleLegendonly ContourcarpetVisible = "legendonly" +) diff --git a/generated/v2.29.1/graph_objects/densitymapbox_gen.go b/generated/v2.29.1/graph_objects/densitymapbox_gen.go new file mode 100644 index 0000000..1a1a1e0 --- /dev/null +++ b/generated/v2.29.1/graph_objects/densitymapbox_gen.go @@ -0,0 +1,984 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeDensitymapbox TraceType = "densitymapbox" + +func (trace *Densitymapbox) GetType() TraceType { + return TraceTypeDensitymapbox +} + +// Densitymapbox Draws a bivariate kernel density estimation with a Gaussian kernel from `lon` and `lat` coordinates and optional `z` values using a colorscale. +type Densitymapbox struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Autocolorscale + // arrayOK: false + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Below + // arrayOK: false + // 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. + Below String `json:"below,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *DensitymapboxColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo DensitymapboxHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *DensitymapboxHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Lat + // arrayOK: false + // type: data_array + // Sets the latitude coordinates (in degrees North). + Lat interface{} `json:"lat,omitempty"` + + // Latsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `lat`. + Latsrc String `json:"latsrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *DensitymapboxLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Lon + // arrayOK: false + // type: data_array + // Sets the longitude coordinates (in degrees East). + Lon interface{} `json:"lon,omitempty"` + + // Lonsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `lon`. + Lonsrc String `json:"lonsrc,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Radius + // arrayOK: true + // type: number + // Sets the radius of influence of one `lon` / `lat` point in pixels. Increasing the value makes the densitymapbox trace smoother, but less detailed. + Radius float64 `json:"radius,omitempty"` + + // Radiussrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `radius`. + Radiussrc String `json:"radiussrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Showscale + // arrayOK: false + // type: boolean + // Determines whether or not a colorbar is displayed for this trace. + Showscale Bool `json:"showscale,omitempty"` + + // Stream + // role: Object + Stream *DensitymapboxStream `json:"stream,omitempty"` + + // Subplot + // arrayOK: false + // type: subplotid + // 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. + Subplot String `json:"subplot,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible DensitymapboxVisible `json:"visible,omitempty"` + + // Z + // arrayOK: false + // 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 + Z interface{} `json:"z,omitempty"` + + // Zauto + // arrayOK: false + // type: boolean + // 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. + Zauto Bool `json:"zauto,omitempty"` + + // Zmax + // arrayOK: false + // 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. + Zmax float64 `json:"zmax,omitempty"` + + // Zmid + // arrayOK: false + // 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`. + Zmid float64 `json:"zmid,omitempty"` + + // Zmin + // arrayOK: false + // 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. + Zmin float64 `json:"zmin,omitempty"` + + // Zsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `z`. + Zsrc String `json:"zsrc,omitempty"` +} + +// DensitymapboxColorbarTickfont Sets the color bar's tick label font +type DensitymapboxColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// DensitymapboxColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type DensitymapboxColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// DensitymapboxColorbarTitle +type DensitymapboxColorbarTitle struct { + + // Font + // role: Object + Font *DensitymapboxColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side DensitymapboxColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// DensitymapboxColorbar +type DensitymapboxColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat DensitymapboxColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode DensitymapboxColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation DensitymapboxColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent DensitymapboxColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix DensitymapboxColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix DensitymapboxColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode DensitymapboxColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *DensitymapboxColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow DensitymapboxColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition DensitymapboxColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode DensitymapboxColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks DensitymapboxColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *DensitymapboxColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor DensitymapboxColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref DensitymapboxColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor DensitymapboxColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref DensitymapboxColorbarYref `json:"yref,omitempty"` +} + +// DensitymapboxHoverlabelFont Sets the font used in hover labels. +type DensitymapboxHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// DensitymapboxHoverlabel +type DensitymapboxHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align DensitymapboxHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *DensitymapboxHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// DensitymapboxLegendgrouptitleFont Sets this legend group's title font. +type DensitymapboxLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// DensitymapboxLegendgrouptitle +type DensitymapboxLegendgrouptitle struct { + + // Font + // role: Object + Font *DensitymapboxLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// DensitymapboxStream +type DensitymapboxStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// DensitymapboxColorbarExponentformat 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. +type DensitymapboxColorbarExponentformat string + +const ( + DensitymapboxColorbarExponentformatNone DensitymapboxColorbarExponentformat = "none" + DensitymapboxColorbarExponentformatE1 DensitymapboxColorbarExponentformat = "e" + DensitymapboxColorbarExponentformatE2 DensitymapboxColorbarExponentformat = "E" + DensitymapboxColorbarExponentformatPower DensitymapboxColorbarExponentformat = "power" + DensitymapboxColorbarExponentformatSI DensitymapboxColorbarExponentformat = "SI" + DensitymapboxColorbarExponentformatB DensitymapboxColorbarExponentformat = "B" +) + +// DensitymapboxColorbarLenmode 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. +type DensitymapboxColorbarLenmode string + +const ( + DensitymapboxColorbarLenmodeFraction DensitymapboxColorbarLenmode = "fraction" + DensitymapboxColorbarLenmodePixels DensitymapboxColorbarLenmode = "pixels" +) + +// DensitymapboxColorbarOrientation Sets the orientation of the colorbar. +type DensitymapboxColorbarOrientation string + +const ( + DensitymapboxColorbarOrientationH DensitymapboxColorbarOrientation = "h" + DensitymapboxColorbarOrientationV DensitymapboxColorbarOrientation = "v" +) + +// DensitymapboxColorbarShowexponent 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. +type DensitymapboxColorbarShowexponent string + +const ( + DensitymapboxColorbarShowexponentAll DensitymapboxColorbarShowexponent = "all" + DensitymapboxColorbarShowexponentFirst DensitymapboxColorbarShowexponent = "first" + DensitymapboxColorbarShowexponentLast DensitymapboxColorbarShowexponent = "last" + DensitymapboxColorbarShowexponentNone DensitymapboxColorbarShowexponent = "none" +) + +// DensitymapboxColorbarShowtickprefix 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. +type DensitymapboxColorbarShowtickprefix string + +const ( + DensitymapboxColorbarShowtickprefixAll DensitymapboxColorbarShowtickprefix = "all" + DensitymapboxColorbarShowtickprefixFirst DensitymapboxColorbarShowtickprefix = "first" + DensitymapboxColorbarShowtickprefixLast DensitymapboxColorbarShowtickprefix = "last" + DensitymapboxColorbarShowtickprefixNone DensitymapboxColorbarShowtickprefix = "none" +) + +// DensitymapboxColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type DensitymapboxColorbarShowticksuffix string + +const ( + DensitymapboxColorbarShowticksuffixAll DensitymapboxColorbarShowticksuffix = "all" + DensitymapboxColorbarShowticksuffixFirst DensitymapboxColorbarShowticksuffix = "first" + DensitymapboxColorbarShowticksuffixLast DensitymapboxColorbarShowticksuffix = "last" + DensitymapboxColorbarShowticksuffixNone DensitymapboxColorbarShowticksuffix = "none" +) + +// DensitymapboxColorbarThicknessmode 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. +type DensitymapboxColorbarThicknessmode string + +const ( + DensitymapboxColorbarThicknessmodeFraction DensitymapboxColorbarThicknessmode = "fraction" + DensitymapboxColorbarThicknessmodePixels DensitymapboxColorbarThicknessmode = "pixels" +) + +// DensitymapboxColorbarTicklabeloverflow 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*. +type DensitymapboxColorbarTicklabeloverflow string + +const ( + DensitymapboxColorbarTicklabeloverflowAllow DensitymapboxColorbarTicklabeloverflow = "allow" + DensitymapboxColorbarTicklabeloverflowHidePastDiv DensitymapboxColorbarTicklabeloverflow = "hide past div" + DensitymapboxColorbarTicklabeloverflowHidePastDomain DensitymapboxColorbarTicklabeloverflow = "hide past domain" +) + +// DensitymapboxColorbarTicklabelposition 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*. +type DensitymapboxColorbarTicklabelposition string + +const ( + DensitymapboxColorbarTicklabelpositionOutside DensitymapboxColorbarTicklabelposition = "outside" + DensitymapboxColorbarTicklabelpositionInside DensitymapboxColorbarTicklabelposition = "inside" + DensitymapboxColorbarTicklabelpositionOutsideTop DensitymapboxColorbarTicklabelposition = "outside top" + DensitymapboxColorbarTicklabelpositionInsideTop DensitymapboxColorbarTicklabelposition = "inside top" + DensitymapboxColorbarTicklabelpositionOutsideLeft DensitymapboxColorbarTicklabelposition = "outside left" + DensitymapboxColorbarTicklabelpositionInsideLeft DensitymapboxColorbarTicklabelposition = "inside left" + DensitymapboxColorbarTicklabelpositionOutsideRight DensitymapboxColorbarTicklabelposition = "outside right" + DensitymapboxColorbarTicklabelpositionInsideRight DensitymapboxColorbarTicklabelposition = "inside right" + DensitymapboxColorbarTicklabelpositionOutsideBottom DensitymapboxColorbarTicklabelposition = "outside bottom" + DensitymapboxColorbarTicklabelpositionInsideBottom DensitymapboxColorbarTicklabelposition = "inside bottom" +) + +// DensitymapboxColorbarTickmode 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). +type DensitymapboxColorbarTickmode string + +const ( + DensitymapboxColorbarTickmodeAuto DensitymapboxColorbarTickmode = "auto" + DensitymapboxColorbarTickmodeLinear DensitymapboxColorbarTickmode = "linear" + DensitymapboxColorbarTickmodeArray DensitymapboxColorbarTickmode = "array" +) + +// DensitymapboxColorbarTicks 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. +type DensitymapboxColorbarTicks string + +const ( + DensitymapboxColorbarTicksOutside DensitymapboxColorbarTicks = "outside" + DensitymapboxColorbarTicksInside DensitymapboxColorbarTicks = "inside" + DensitymapboxColorbarTicksEmpty DensitymapboxColorbarTicks = "" +) + +// DensitymapboxColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type DensitymapboxColorbarTitleSide string + +const ( + DensitymapboxColorbarTitleSideRight DensitymapboxColorbarTitleSide = "right" + DensitymapboxColorbarTitleSideTop DensitymapboxColorbarTitleSide = "top" + DensitymapboxColorbarTitleSideBottom DensitymapboxColorbarTitleSide = "bottom" +) + +// DensitymapboxColorbarXanchor 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*. +type DensitymapboxColorbarXanchor string + +const ( + DensitymapboxColorbarXanchorLeft DensitymapboxColorbarXanchor = "left" + DensitymapboxColorbarXanchorCenter DensitymapboxColorbarXanchor = "center" + DensitymapboxColorbarXanchorRight DensitymapboxColorbarXanchor = "right" +) + +// DensitymapboxColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type DensitymapboxColorbarXref string + +const ( + DensitymapboxColorbarXrefContainer DensitymapboxColorbarXref = "container" + DensitymapboxColorbarXrefPaper DensitymapboxColorbarXref = "paper" +) + +// DensitymapboxColorbarYanchor 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*. +type DensitymapboxColorbarYanchor string + +const ( + DensitymapboxColorbarYanchorTop DensitymapboxColorbarYanchor = "top" + DensitymapboxColorbarYanchorMiddle DensitymapboxColorbarYanchor = "middle" + DensitymapboxColorbarYanchorBottom DensitymapboxColorbarYanchor = "bottom" +) + +// DensitymapboxColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type DensitymapboxColorbarYref string + +const ( + DensitymapboxColorbarYrefContainer DensitymapboxColorbarYref = "container" + DensitymapboxColorbarYrefPaper DensitymapboxColorbarYref = "paper" +) + +// DensitymapboxHoverlabelAlign 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 +type DensitymapboxHoverlabelAlign string + +const ( + DensitymapboxHoverlabelAlignLeft DensitymapboxHoverlabelAlign = "left" + DensitymapboxHoverlabelAlignRight DensitymapboxHoverlabelAlign = "right" + DensitymapboxHoverlabelAlignAuto DensitymapboxHoverlabelAlign = "auto" +) + +// DensitymapboxVisible 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). +type DensitymapboxVisible interface{} + +var ( + DensitymapboxVisibleTrue DensitymapboxVisible = true + DensitymapboxVisibleFalse DensitymapboxVisible = false + DensitymapboxVisibleLegendonly DensitymapboxVisible = "legendonly" +) + +// DensitymapboxHoverinfo 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. +type DensitymapboxHoverinfo string + +const ( + // Flags + DensitymapboxHoverinfoLon DensitymapboxHoverinfo = "lon" + DensitymapboxHoverinfoLat DensitymapboxHoverinfo = "lat" + DensitymapboxHoverinfoZ DensitymapboxHoverinfo = "z" + DensitymapboxHoverinfoText DensitymapboxHoverinfo = "text" + DensitymapboxHoverinfoName DensitymapboxHoverinfo = "name" + + // Extra + DensitymapboxHoverinfoAll DensitymapboxHoverinfo = "all" + DensitymapboxHoverinfoNone DensitymapboxHoverinfo = "none" + DensitymapboxHoverinfoSkip DensitymapboxHoverinfo = "skip" +) diff --git a/generated/v2.29.1/graph_objects/funnel_gen.go b/generated/v2.29.1/graph_objects/funnel_gen.go new file mode 100644 index 0000000..4433e6c --- /dev/null +++ b/generated/v2.29.1/graph_objects/funnel_gen.go @@ -0,0 +1,1485 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeFunnel TraceType = "funnel" + +func (trace *Funnel) GetType() TraceType { + return TraceTypeFunnel +} + +// Funnel 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. +type Funnel struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Alignmentgroup + // arrayOK: false + // 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. + Alignmentgroup String `json:"alignmentgroup,omitempty"` + + // Cliponaxis + // arrayOK: false + // type: boolean + // 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*. + Cliponaxis Bool `json:"cliponaxis,omitempty"` + + // Connector + // role: Object + Connector *FunnelConnector `json:"connector,omitempty"` + + // Constraintext + // default: both + // type: enumerated + // Constrain the size of text inside or outside a bar to be no larger than the bar itself. + Constraintext FunnelConstraintext `json:"constraintext,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Dx + // arrayOK: false + // type: number + // Sets the x coordinate step. See `x0` for more info. + Dx float64 `json:"dx,omitempty"` + + // Dy + // arrayOK: false + // type: number + // Sets the y coordinate step. See `y0` for more info. + Dy float64 `json:"dy,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo FunnelHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *FunnelHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Finally, the template string has access to variables `percentInitial`, `percentPrevious` and `percentTotal`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Insidetextanchor + // default: middle + // type: enumerated + // Determines if texts are kept at center or start/end points in `textposition` *inside* mode. + Insidetextanchor FunnelInsidetextanchor `json:"insidetextanchor,omitempty"` + + // Insidetextfont + // role: Object + Insidetextfont *FunnelInsidetextfont `json:"insidetextfont,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *FunnelLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Marker + // role: Object + Marker *FunnelMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Offset + // arrayOK: false + // 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. + Offset float64 `json:"offset,omitempty"` + + // Offsetgroup + // arrayOK: false + // 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. + Offsetgroup String `json:"offsetgroup,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Orientation + // default: %!s() + // type: enumerated + // 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*. + Orientation FunnelOrientation `json:"orientation,omitempty"` + + // Outsidetextfont + // role: Object + Outsidetextfont *FunnelOutsidetextfont `json:"outsidetextfont,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Stream + // role: Object + Stream *FunnelStream `json:"stream,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textangle + // arrayOK: false + // 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. + Textangle float64 `json:"textangle,omitempty"` + + // Textfont + // role: Object + Textfont *FunnelTextfont `json:"textfont,omitempty"` + + // Textinfo + // default: %!s() + // type: flaglist + // Determines which trace information appear on the graph. In the case of having multiple funnels, percentages & totals are computed separately (per trace). + Textinfo FunnelTextinfo `json:"textinfo,omitempty"` + + // Textposition + // default: auto + // type: enumerated + // 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. + Textposition FunnelTextposition `json:"textposition,omitempty"` + + // Textpositionsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `textposition`. + Textpositionsrc String `json:"textpositionsrc,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: true + // 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 `percentInitial`, `percentPrevious`, `percentTotal`, `label` and `value`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Texttemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `texttemplate`. + Texttemplatesrc String `json:"texttemplatesrc,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible FunnelVisible `json:"visible,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the bar width (in position axis units). + Width float64 `json:"width,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the x coordinates. + X interface{} `json:"x,omitempty"` + + // X0 + // arrayOK: false + // type: any + // Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step. + X0 interface{} `json:"x0,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xperiod + // arrayOK: false + // type: any + // Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer. + Xperiod interface{} `json:"xperiod,omitempty"` + + // Xperiod0 + // arrayOK: false + // type: any + // 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. + Xperiod0 interface{} `json:"xperiod0,omitempty"` + + // Xperiodalignment + // default: middle + // type: enumerated + // Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. + Xperiodalignment FunnelXperiodalignment `json:"xperiodalignment,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the y coordinates. + Y interface{} `json:"y,omitempty"` + + // Y0 + // arrayOK: false + // type: any + // Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step. + Y0 interface{} `json:"y0,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Yperiod + // arrayOK: false + // type: any + // Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the y axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer. + Yperiod interface{} `json:"yperiod,omitempty"` + + // Yperiod0 + // arrayOK: false + // type: any + // 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. + Yperiod0 interface{} `json:"yperiod0,omitempty"` + + // Yperiodalignment + // default: middle + // type: enumerated + // Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis. + Yperiodalignment FunnelYperiodalignment `json:"yperiodalignment,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` +} + +// FunnelConnectorLine +type FunnelConnectorLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the line color. + Color Color `json:"color,omitempty"` + + // Dash + // arrayOK: false + // type: string + // 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*). + Dash String `json:"dash,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width (in px). + Width float64 `json:"width,omitempty"` +} + +// FunnelConnector +type FunnelConnector struct { + + // Fillcolor + // arrayOK: false + // type: color + // Sets the fill color. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Line + // role: Object + Line *FunnelConnectorLine `json:"line,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Determines if connector regions and lines are drawn. + Visible Bool `json:"visible,omitempty"` +} + +// FunnelHoverlabelFont Sets the font used in hover labels. +type FunnelHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// FunnelHoverlabel +type FunnelHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align FunnelHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *FunnelHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// FunnelInsidetextfont Sets the font used for `text` lying inside the bar. +type FunnelInsidetextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// FunnelLegendgrouptitleFont Sets this legend group's title font. +type FunnelLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// FunnelLegendgrouptitle +type FunnelLegendgrouptitle struct { + + // Font + // role: Object + Font *FunnelLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// FunnelMarkerColorbarTickfont Sets the color bar's tick label font +type FunnelMarkerColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// FunnelMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type FunnelMarkerColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// FunnelMarkerColorbarTitle +type FunnelMarkerColorbarTitle struct { + + // Font + // role: Object + Font *FunnelMarkerColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side FunnelMarkerColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// FunnelMarkerColorbar +type FunnelMarkerColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat FunnelMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode FunnelMarkerColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation FunnelMarkerColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent FunnelMarkerColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix FunnelMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix FunnelMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode FunnelMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *FunnelMarkerColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow FunnelMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition FunnelMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode FunnelMarkerColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks FunnelMarkerColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *FunnelMarkerColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor FunnelMarkerColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref FunnelMarkerColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor FunnelMarkerColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref FunnelMarkerColorbarYref `json:"yref,omitempty"` +} + +// FunnelMarkerLine +type FunnelMarkerLine struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the lines bounding the marker points. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// FunnelMarker +type FunnelMarker struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *FunnelMarkerColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Line + // role: Object + Line *FunnelMarkerLine `json:"line,omitempty"` + + // Opacity + // arrayOK: true + // type: number + // Sets the opacity of the bars. + Opacity float64 `json:"opacity,omitempty"` + + // Opacitysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `opacity`. + Opacitysrc String `json:"opacitysrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` +} + +// FunnelOutsidetextfont Sets the font used for `text` lying outside the bar. +type FunnelOutsidetextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// FunnelStream +type FunnelStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// FunnelTextfont Sets the font used for `text`. +type FunnelTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// FunnelConstraintext Constrain the size of text inside or outside a bar to be no larger than the bar itself. +type FunnelConstraintext string + +const ( + FunnelConstraintextInside FunnelConstraintext = "inside" + FunnelConstraintextOutside FunnelConstraintext = "outside" + FunnelConstraintextBoth FunnelConstraintext = "both" + FunnelConstraintextNone FunnelConstraintext = "none" +) + +// FunnelHoverlabelAlign 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 +type FunnelHoverlabelAlign string + +const ( + FunnelHoverlabelAlignLeft FunnelHoverlabelAlign = "left" + FunnelHoverlabelAlignRight FunnelHoverlabelAlign = "right" + FunnelHoverlabelAlignAuto FunnelHoverlabelAlign = "auto" +) + +// FunnelInsidetextanchor Determines if texts are kept at center or start/end points in `textposition` *inside* mode. +type FunnelInsidetextanchor string + +const ( + FunnelInsidetextanchorEnd FunnelInsidetextanchor = "end" + FunnelInsidetextanchorMiddle FunnelInsidetextanchor = "middle" + FunnelInsidetextanchorStart FunnelInsidetextanchor = "start" +) + +// FunnelMarkerColorbarExponentformat 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. +type FunnelMarkerColorbarExponentformat string + +const ( + FunnelMarkerColorbarExponentformatNone FunnelMarkerColorbarExponentformat = "none" + FunnelMarkerColorbarExponentformatE1 FunnelMarkerColorbarExponentformat = "e" + FunnelMarkerColorbarExponentformatE2 FunnelMarkerColorbarExponentformat = "E" + FunnelMarkerColorbarExponentformatPower FunnelMarkerColorbarExponentformat = "power" + FunnelMarkerColorbarExponentformatSI FunnelMarkerColorbarExponentformat = "SI" + FunnelMarkerColorbarExponentformatB FunnelMarkerColorbarExponentformat = "B" +) + +// FunnelMarkerColorbarLenmode 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. +type FunnelMarkerColorbarLenmode string + +const ( + FunnelMarkerColorbarLenmodeFraction FunnelMarkerColorbarLenmode = "fraction" + FunnelMarkerColorbarLenmodePixels FunnelMarkerColorbarLenmode = "pixels" +) + +// FunnelMarkerColorbarOrientation Sets the orientation of the colorbar. +type FunnelMarkerColorbarOrientation string + +const ( + FunnelMarkerColorbarOrientationH FunnelMarkerColorbarOrientation = "h" + FunnelMarkerColorbarOrientationV FunnelMarkerColorbarOrientation = "v" +) + +// FunnelMarkerColorbarShowexponent 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. +type FunnelMarkerColorbarShowexponent string + +const ( + FunnelMarkerColorbarShowexponentAll FunnelMarkerColorbarShowexponent = "all" + FunnelMarkerColorbarShowexponentFirst FunnelMarkerColorbarShowexponent = "first" + FunnelMarkerColorbarShowexponentLast FunnelMarkerColorbarShowexponent = "last" + FunnelMarkerColorbarShowexponentNone FunnelMarkerColorbarShowexponent = "none" +) + +// FunnelMarkerColorbarShowtickprefix 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. +type FunnelMarkerColorbarShowtickprefix string + +const ( + FunnelMarkerColorbarShowtickprefixAll FunnelMarkerColorbarShowtickprefix = "all" + FunnelMarkerColorbarShowtickprefixFirst FunnelMarkerColorbarShowtickprefix = "first" + FunnelMarkerColorbarShowtickprefixLast FunnelMarkerColorbarShowtickprefix = "last" + FunnelMarkerColorbarShowtickprefixNone FunnelMarkerColorbarShowtickprefix = "none" +) + +// FunnelMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type FunnelMarkerColorbarShowticksuffix string + +const ( + FunnelMarkerColorbarShowticksuffixAll FunnelMarkerColorbarShowticksuffix = "all" + FunnelMarkerColorbarShowticksuffixFirst FunnelMarkerColorbarShowticksuffix = "first" + FunnelMarkerColorbarShowticksuffixLast FunnelMarkerColorbarShowticksuffix = "last" + FunnelMarkerColorbarShowticksuffixNone FunnelMarkerColorbarShowticksuffix = "none" +) + +// FunnelMarkerColorbarThicknessmode 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. +type FunnelMarkerColorbarThicknessmode string + +const ( + FunnelMarkerColorbarThicknessmodeFraction FunnelMarkerColorbarThicknessmode = "fraction" + FunnelMarkerColorbarThicknessmodePixels FunnelMarkerColorbarThicknessmode = "pixels" +) + +// FunnelMarkerColorbarTicklabeloverflow 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*. +type FunnelMarkerColorbarTicklabeloverflow string + +const ( + FunnelMarkerColorbarTicklabeloverflowAllow FunnelMarkerColorbarTicklabeloverflow = "allow" + FunnelMarkerColorbarTicklabeloverflowHidePastDiv FunnelMarkerColorbarTicklabeloverflow = "hide past div" + FunnelMarkerColorbarTicklabeloverflowHidePastDomain FunnelMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// FunnelMarkerColorbarTicklabelposition 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*. +type FunnelMarkerColorbarTicklabelposition string + +const ( + FunnelMarkerColorbarTicklabelpositionOutside FunnelMarkerColorbarTicklabelposition = "outside" + FunnelMarkerColorbarTicklabelpositionInside FunnelMarkerColorbarTicklabelposition = "inside" + FunnelMarkerColorbarTicklabelpositionOutsideTop FunnelMarkerColorbarTicklabelposition = "outside top" + FunnelMarkerColorbarTicklabelpositionInsideTop FunnelMarkerColorbarTicklabelposition = "inside top" + FunnelMarkerColorbarTicklabelpositionOutsideLeft FunnelMarkerColorbarTicklabelposition = "outside left" + FunnelMarkerColorbarTicklabelpositionInsideLeft FunnelMarkerColorbarTicklabelposition = "inside left" + FunnelMarkerColorbarTicklabelpositionOutsideRight FunnelMarkerColorbarTicklabelposition = "outside right" + FunnelMarkerColorbarTicklabelpositionInsideRight FunnelMarkerColorbarTicklabelposition = "inside right" + FunnelMarkerColorbarTicklabelpositionOutsideBottom FunnelMarkerColorbarTicklabelposition = "outside bottom" + FunnelMarkerColorbarTicklabelpositionInsideBottom FunnelMarkerColorbarTicklabelposition = "inside bottom" +) + +// FunnelMarkerColorbarTickmode 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). +type FunnelMarkerColorbarTickmode string + +const ( + FunnelMarkerColorbarTickmodeAuto FunnelMarkerColorbarTickmode = "auto" + FunnelMarkerColorbarTickmodeLinear FunnelMarkerColorbarTickmode = "linear" + FunnelMarkerColorbarTickmodeArray FunnelMarkerColorbarTickmode = "array" +) + +// FunnelMarkerColorbarTicks 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. +type FunnelMarkerColorbarTicks string + +const ( + FunnelMarkerColorbarTicksOutside FunnelMarkerColorbarTicks = "outside" + FunnelMarkerColorbarTicksInside FunnelMarkerColorbarTicks = "inside" + FunnelMarkerColorbarTicksEmpty FunnelMarkerColorbarTicks = "" +) + +// FunnelMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type FunnelMarkerColorbarTitleSide string + +const ( + FunnelMarkerColorbarTitleSideRight FunnelMarkerColorbarTitleSide = "right" + FunnelMarkerColorbarTitleSideTop FunnelMarkerColorbarTitleSide = "top" + FunnelMarkerColorbarTitleSideBottom FunnelMarkerColorbarTitleSide = "bottom" +) + +// FunnelMarkerColorbarXanchor 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*. +type FunnelMarkerColorbarXanchor string + +const ( + FunnelMarkerColorbarXanchorLeft FunnelMarkerColorbarXanchor = "left" + FunnelMarkerColorbarXanchorCenter FunnelMarkerColorbarXanchor = "center" + FunnelMarkerColorbarXanchorRight FunnelMarkerColorbarXanchor = "right" +) + +// FunnelMarkerColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type FunnelMarkerColorbarXref string + +const ( + FunnelMarkerColorbarXrefContainer FunnelMarkerColorbarXref = "container" + FunnelMarkerColorbarXrefPaper FunnelMarkerColorbarXref = "paper" +) + +// FunnelMarkerColorbarYanchor 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*. +type FunnelMarkerColorbarYanchor string + +const ( + FunnelMarkerColorbarYanchorTop FunnelMarkerColorbarYanchor = "top" + FunnelMarkerColorbarYanchorMiddle FunnelMarkerColorbarYanchor = "middle" + FunnelMarkerColorbarYanchorBottom FunnelMarkerColorbarYanchor = "bottom" +) + +// FunnelMarkerColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type FunnelMarkerColorbarYref string + +const ( + FunnelMarkerColorbarYrefContainer FunnelMarkerColorbarYref = "container" + FunnelMarkerColorbarYrefPaper FunnelMarkerColorbarYref = "paper" +) + +// FunnelOrientation 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*. +type FunnelOrientation string + +const ( + FunnelOrientationV FunnelOrientation = "v" + FunnelOrientationH FunnelOrientation = "h" +) + +// FunnelTextposition 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. +type FunnelTextposition string + +const ( + FunnelTextpositionInside FunnelTextposition = "inside" + FunnelTextpositionOutside FunnelTextposition = "outside" + FunnelTextpositionAuto FunnelTextposition = "auto" + FunnelTextpositionNone FunnelTextposition = "none" +) + +// FunnelVisible 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). +type FunnelVisible interface{} + +var ( + FunnelVisibleTrue FunnelVisible = true + FunnelVisibleFalse FunnelVisible = false + FunnelVisibleLegendonly FunnelVisible = "legendonly" +) + +// FunnelXperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. +type FunnelXperiodalignment string + +const ( + FunnelXperiodalignmentStart FunnelXperiodalignment = "start" + FunnelXperiodalignmentMiddle FunnelXperiodalignment = "middle" + FunnelXperiodalignmentEnd FunnelXperiodalignment = "end" +) + +// FunnelYperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis. +type FunnelYperiodalignment string + +const ( + FunnelYperiodalignmentStart FunnelYperiodalignment = "start" + FunnelYperiodalignmentMiddle FunnelYperiodalignment = "middle" + FunnelYperiodalignmentEnd FunnelYperiodalignment = "end" +) + +// FunnelHoverinfo 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. +type FunnelHoverinfo string + +const ( + // Flags + FunnelHoverinfoName FunnelHoverinfo = "name" + FunnelHoverinfoX FunnelHoverinfo = "x" + FunnelHoverinfoY FunnelHoverinfo = "y" + FunnelHoverinfoText FunnelHoverinfo = "text" + FunnelHoverinfoPercentInitial FunnelHoverinfo = "percent initial" + FunnelHoverinfoPercentPrevious FunnelHoverinfo = "percent previous" + FunnelHoverinfoPercentTotal FunnelHoverinfo = "percent total" + + // Extra + FunnelHoverinfoAll FunnelHoverinfo = "all" + FunnelHoverinfoNone FunnelHoverinfo = "none" + FunnelHoverinfoSkip FunnelHoverinfo = "skip" +) + +// FunnelTextinfo Determines which trace information appear on the graph. In the case of having multiple funnels, percentages & totals are computed separately (per trace). +type FunnelTextinfo string + +const ( + // Flags + FunnelTextinfoLabel FunnelTextinfo = "label" + FunnelTextinfoText FunnelTextinfo = "text" + FunnelTextinfoPercentInitial FunnelTextinfo = "percent initial" + FunnelTextinfoPercentPrevious FunnelTextinfo = "percent previous" + FunnelTextinfoPercentTotal FunnelTextinfo = "percent total" + FunnelTextinfoValue FunnelTextinfo = "value" + + // Extra + FunnelTextinfoNone FunnelTextinfo = "none" +) diff --git a/generated/v2.29.1/graph_objects/funnelarea_gen.go b/generated/v2.29.1/graph_objects/funnelarea_gen.go new file mode 100644 index 0000000..3bec04a --- /dev/null +++ b/generated/v2.29.1/graph_objects/funnelarea_gen.go @@ -0,0 +1,815 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeFunnelarea TraceType = "funnelarea" + +func (trace *Funnelarea) GetType() TraceType { + return TraceTypeFunnelarea +} + +// Funnelarea 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. +type Funnelarea struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Aspectratio + // arrayOK: false + // type: number + // Sets the ratio between height and width + Aspectratio float64 `json:"aspectratio,omitempty"` + + // Baseratio + // arrayOK: false + // type: number + // Sets the ratio between bottom length and maximum top length. + Baseratio float64 `json:"baseratio,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Dlabel + // arrayOK: false + // type: number + // Sets the label step. See `label0` for more info. + Dlabel float64 `json:"dlabel,omitempty"` + + // Domain + // role: Object + Domain *FunnelareaDomain `json:"domain,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo FunnelareaHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *FunnelareaHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Finally, the template string has access to variables `label`, `color`, `value`, `text` and `percent`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Insidetextfont + // role: Object + Insidetextfont *FunnelareaInsidetextfont `json:"insidetextfont,omitempty"` + + // Label0 + // arrayOK: false + // type: number + // Alternate to `labels`. Builds a numeric set of labels. Use with `dlabel` where `label0` is the starting label and `dlabel` the step. + Label0 float64 `json:"label0,omitempty"` + + // Labels + // arrayOK: false + // 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. + Labels interface{} `json:"labels,omitempty"` + + // Labelssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `labels`. + Labelssrc String `json:"labelssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *FunnelareaLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Marker + // role: Object + Marker *FunnelareaMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Scalegroup + // arrayOK: false + // 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. + Scalegroup String `json:"scalegroup,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Stream + // role: Object + Stream *FunnelareaStream `json:"stream,omitempty"` + + // Text + // arrayOK: false + // 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. + Text interface{} `json:"text,omitempty"` + + // Textfont + // role: Object + Textfont *FunnelareaTextfont `json:"textfont,omitempty"` + + // Textinfo + // default: %!s() + // type: flaglist + // Determines which trace information appear on the graph. + Textinfo FunnelareaTextinfo `json:"textinfo,omitempty"` + + // Textposition + // default: inside + // type: enumerated + // Specifies the location of the `textinfo`. + Textposition FunnelareaTextposition `json:"textposition,omitempty"` + + // Textpositionsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `textposition`. + Textpositionsrc String `json:"textpositionsrc,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: true + // 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`, `color`, `value`, `text` and `percent`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Texttemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `texttemplate`. + Texttemplatesrc String `json:"texttemplatesrc,omitempty"` + + // Title + // role: Object + Title *FunnelareaTitle `json:"title,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Values + // arrayOK: false + // type: data_array + // Sets the values of the sectors. If omitted, we count occurrences of each label. + Values interface{} `json:"values,omitempty"` + + // Valuessrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `values`. + Valuessrc String `json:"valuessrc,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible FunnelareaVisible `json:"visible,omitempty"` +} + +// FunnelareaDomain +type FunnelareaDomain struct { + + // Column + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this column in the grid for this funnelarea trace . + Column int64 `json:"column,omitempty"` + + // Row + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this row in the grid for this funnelarea trace . + Row int64 `json:"row,omitempty"` + + // X + // arrayOK: false + // type: info_array + // Sets the horizontal domain of this funnelarea trace (in plot fraction). + X interface{} `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: info_array + // Sets the vertical domain of this funnelarea trace (in plot fraction). + Y interface{} `json:"y,omitempty"` +} + +// FunnelareaHoverlabelFont Sets the font used in hover labels. +type FunnelareaHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// FunnelareaHoverlabel +type FunnelareaHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align FunnelareaHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *FunnelareaHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// FunnelareaInsidetextfont Sets the font used for `textinfo` lying inside the sector. +type FunnelareaInsidetextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// FunnelareaLegendgrouptitleFont Sets this legend group's title font. +type FunnelareaLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// FunnelareaLegendgrouptitle +type FunnelareaLegendgrouptitle struct { + + // Font + // role: Object + Font *FunnelareaLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// FunnelareaMarkerLine +type FunnelareaMarkerLine struct { + + // Color + // arrayOK: true + // type: color + // Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the line enclosing each sector. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// FunnelareaMarkerPattern Sets the pattern within the marker. +type FunnelareaMarkerPattern struct { + + // Bgcolor + // arrayOK: true + // type: color + // 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. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Fgcolor + // arrayOK: true + // type: color + // 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`. + Fgcolor Color `json:"fgcolor,omitempty"` + + // Fgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `fgcolor`. + Fgcolorsrc String `json:"fgcolorsrc,omitempty"` + + // Fgopacity + // arrayOK: false + // type: number + // Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1. + Fgopacity float64 `json:"fgopacity,omitempty"` + + // Fillmode + // default: replace + // type: enumerated + // Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. + Fillmode FunnelareaMarkerPatternFillmode `json:"fillmode,omitempty"` + + // Shape + // default: + // type: enumerated + // Sets the shape of the pattern fill. By default, no pattern is used for filling the area. + Shape FunnelareaMarkerPatternShape `json:"shape,omitempty"` + + // Shapesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `shape`. + Shapesrc String `json:"shapesrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Solidity + // arrayOK: true + // type: number + // 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. + Solidity float64 `json:"solidity,omitempty"` + + // Soliditysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `solidity`. + Soliditysrc String `json:"soliditysrc,omitempty"` +} + +// FunnelareaMarker +type FunnelareaMarker struct { + + // Colors + // arrayOK: false + // type: data_array + // Sets the color of each sector. If not specified, the default trace color set is used to pick the sector colors. + Colors interface{} `json:"colors,omitempty"` + + // Colorssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `colors`. + Colorssrc String `json:"colorssrc,omitempty"` + + // Line + // role: Object + Line *FunnelareaMarkerLine `json:"line,omitempty"` + + // Pattern + // role: Object + Pattern *FunnelareaMarkerPattern `json:"pattern,omitempty"` +} + +// FunnelareaStream +type FunnelareaStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// FunnelareaTextfont Sets the font used for `textinfo`. +type FunnelareaTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// FunnelareaTitleFont Sets the font used for `title`. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type FunnelareaTitleFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// FunnelareaTitle +type FunnelareaTitle struct { + + // Font + // role: Object + Font *FunnelareaTitleFont `json:"font,omitempty"` + + // Position + // default: top center + // type: enumerated + // Specifies the location of the `title`. Note that the title's position used to be set by the now deprecated `titleposition` attribute. + Position FunnelareaTitlePosition `json:"position,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the chart. If it is empty, no title is displayed. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// FunnelareaHoverlabelAlign 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 +type FunnelareaHoverlabelAlign string + +const ( + FunnelareaHoverlabelAlignLeft FunnelareaHoverlabelAlign = "left" + FunnelareaHoverlabelAlignRight FunnelareaHoverlabelAlign = "right" + FunnelareaHoverlabelAlignAuto FunnelareaHoverlabelAlign = "auto" +) + +// FunnelareaMarkerPatternFillmode Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. +type FunnelareaMarkerPatternFillmode string + +const ( + FunnelareaMarkerPatternFillmodeReplace FunnelareaMarkerPatternFillmode = "replace" + FunnelareaMarkerPatternFillmodeOverlay FunnelareaMarkerPatternFillmode = "overlay" +) + +// FunnelareaMarkerPatternShape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. +type FunnelareaMarkerPatternShape string + +const ( + FunnelareaMarkerPatternShapeEmpty FunnelareaMarkerPatternShape = "" + FunnelareaMarkerPatternShapeSlash FunnelareaMarkerPatternShape = "/" + FunnelareaMarkerPatternShapeDoublebackslash FunnelareaMarkerPatternShape = "\\" + FunnelareaMarkerPatternShapeX FunnelareaMarkerPatternShape = "x" + FunnelareaMarkerPatternShapeHyphenHyphen FunnelareaMarkerPatternShape = "-" + FunnelareaMarkerPatternShapeOr FunnelareaMarkerPatternShape = "|" + FunnelareaMarkerPatternShapePlus FunnelareaMarkerPatternShape = "+" + FunnelareaMarkerPatternShapeDot FunnelareaMarkerPatternShape = "." +) + +// FunnelareaTextposition Specifies the location of the `textinfo`. +type FunnelareaTextposition string + +const ( + FunnelareaTextpositionInside FunnelareaTextposition = "inside" + FunnelareaTextpositionNone FunnelareaTextposition = "none" +) + +// FunnelareaTitlePosition Specifies the location of the `title`. Note that the title's position used to be set by the now deprecated `titleposition` attribute. +type FunnelareaTitlePosition string + +const ( + FunnelareaTitlePositionTopLeft FunnelareaTitlePosition = "top left" + FunnelareaTitlePositionTopCenter FunnelareaTitlePosition = "top center" + FunnelareaTitlePositionTopRight FunnelareaTitlePosition = "top right" +) + +// FunnelareaVisible 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). +type FunnelareaVisible interface{} + +var ( + FunnelareaVisibleTrue FunnelareaVisible = true + FunnelareaVisibleFalse FunnelareaVisible = false + FunnelareaVisibleLegendonly FunnelareaVisible = "legendonly" +) + +// FunnelareaHoverinfo 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. +type FunnelareaHoverinfo string + +const ( + // Flags + FunnelareaHoverinfoLabel FunnelareaHoverinfo = "label" + FunnelareaHoverinfoText FunnelareaHoverinfo = "text" + FunnelareaHoverinfoValue FunnelareaHoverinfo = "value" + FunnelareaHoverinfoPercent FunnelareaHoverinfo = "percent" + FunnelareaHoverinfoName FunnelareaHoverinfo = "name" + + // Extra + FunnelareaHoverinfoAll FunnelareaHoverinfo = "all" + FunnelareaHoverinfoNone FunnelareaHoverinfo = "none" + FunnelareaHoverinfoSkip FunnelareaHoverinfo = "skip" +) + +// FunnelareaTextinfo Determines which trace information appear on the graph. +type FunnelareaTextinfo string + +const ( + // Flags + FunnelareaTextinfoLabel FunnelareaTextinfo = "label" + FunnelareaTextinfoText FunnelareaTextinfo = "text" + FunnelareaTextinfoValue FunnelareaTextinfo = "value" + FunnelareaTextinfoPercent FunnelareaTextinfo = "percent" + + // Extra + FunnelareaTextinfoNone FunnelareaTextinfo = "none" +) diff --git a/generated/v2.29.1/graph_objects/heatmap_gen.go b/generated/v2.29.1/graph_objects/heatmap_gen.go new file mode 100644 index 0000000..c762310 --- /dev/null +++ b/generated/v2.29.1/graph_objects/heatmap_gen.go @@ -0,0 +1,1229 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeHeatmap TraceType = "heatmap" + +func (trace *Heatmap) GetType() TraceType { + return TraceTypeHeatmap +} + +// Heatmap 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. +type Heatmap struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Autocolorscale + // arrayOK: false + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *HeatmapColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Connectgaps + // arrayOK: false + // 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. + Connectgaps Bool `json:"connectgaps,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Dx + // arrayOK: false + // type: number + // Sets the x coordinate step. See `x0` for more info. + Dx float64 `json:"dx,omitempty"` + + // Dy + // arrayOK: false + // type: number + // Sets the y coordinate step. See `y0` for more info. + Dy float64 `json:"dy,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo HeatmapHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *HeatmapHoverlabel `json:"hoverlabel,omitempty"` + + // Hoverongaps + // arrayOK: false + // type: boolean + // Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data have hover labels associated with them. + Hoverongaps Bool `json:"hoverongaps,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: false + // type: data_array + // Same as `text`. + Hovertext interface{} `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *HeatmapLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Showscale + // arrayOK: false + // type: boolean + // Determines whether or not a colorbar is displayed for this trace. + Showscale Bool `json:"showscale,omitempty"` + + // Stream + // role: Object + Stream *HeatmapStream `json:"stream,omitempty"` + + // Text + // arrayOK: false + // type: data_array + // Sets the text elements associated with each z value. + Text interface{} `json:"text,omitempty"` + + // Textfont + // role: Object + Textfont *HeatmapTextfont `json:"textfont,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: false + // 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`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Transpose + // arrayOK: false + // type: boolean + // Transposes the z data. + Transpose Bool `json:"transpose,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible HeatmapVisible `json:"visible,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the x coordinates. + X interface{} `json:"x,omitempty"` + + // X0 + // arrayOK: false + // type: any + // Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step. + X0 interface{} `json:"x0,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Xcalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `x` date data. + Xcalendar HeatmapXcalendar `json:"xcalendar,omitempty"` + + // Xgap + // arrayOK: false + // type: number + // Sets the horizontal gap (in pixels) between bricks. + Xgap float64 `json:"xgap,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xperiod + // arrayOK: false + // type: any + // Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer. + Xperiod interface{} `json:"xperiod,omitempty"` + + // Xperiod0 + // arrayOK: false + // type: any + // 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. + Xperiod0 interface{} `json:"xperiod0,omitempty"` + + // Xperiodalignment + // default: middle + // type: enumerated + // Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. + Xperiodalignment HeatmapXperiodalignment `json:"xperiodalignment,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Xtype + // default: %!s() + // type: enumerated + // 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). + Xtype HeatmapXtype `json:"xtype,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the y coordinates. + Y interface{} `json:"y,omitempty"` + + // Y0 + // arrayOK: false + // type: any + // Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step. + Y0 interface{} `json:"y0,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` + + // Ycalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `y` date data. + Ycalendar HeatmapYcalendar `json:"ycalendar,omitempty"` + + // Ygap + // arrayOK: false + // type: number + // Sets the vertical gap (in pixels) between bricks. + Ygap float64 `json:"ygap,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Yperiod + // arrayOK: false + // type: any + // Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the y axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer. + Yperiod interface{} `json:"yperiod,omitempty"` + + // Yperiod0 + // arrayOK: false + // type: any + // 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. + Yperiod0 interface{} `json:"yperiod0,omitempty"` + + // Yperiodalignment + // default: middle + // type: enumerated + // Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis. + Yperiodalignment HeatmapYperiodalignment `json:"yperiodalignment,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` + + // Ytype + // default: %!s() + // type: enumerated + // 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) + Ytype HeatmapYtype `json:"ytype,omitempty"` + + // Z + // arrayOK: false + // type: data_array + // Sets the z data. + Z interface{} `json:"z,omitempty"` + + // Zauto + // arrayOK: false + // type: boolean + // 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. + Zauto Bool `json:"zauto,omitempty"` + + // Zhoverformat + // arrayOK: false + // 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. + Zhoverformat String `json:"zhoverformat,omitempty"` + + // Zmax + // arrayOK: false + // 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. + Zmax float64 `json:"zmax,omitempty"` + + // Zmid + // arrayOK: false + // 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`. + Zmid float64 `json:"zmid,omitempty"` + + // Zmin + // arrayOK: false + // 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. + Zmin float64 `json:"zmin,omitempty"` + + // Zsmooth + // default: %!s(bool=false) + // type: enumerated + // Picks a smoothing algorithm use to smooth `z` data. + Zsmooth HeatmapZsmooth `json:"zsmooth,omitempty"` + + // Zsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `z`. + Zsrc String `json:"zsrc,omitempty"` +} + +// HeatmapColorbarTickfont Sets the color bar's tick label font +type HeatmapColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// HeatmapColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type HeatmapColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// HeatmapColorbarTitle +type HeatmapColorbarTitle struct { + + // Font + // role: Object + Font *HeatmapColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side HeatmapColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// HeatmapColorbar +type HeatmapColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat HeatmapColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode HeatmapColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation HeatmapColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent HeatmapColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix HeatmapColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix HeatmapColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode HeatmapColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *HeatmapColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow HeatmapColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition HeatmapColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode HeatmapColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks HeatmapColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *HeatmapColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor HeatmapColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref HeatmapColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor HeatmapColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref HeatmapColorbarYref `json:"yref,omitempty"` +} + +// HeatmapHoverlabelFont Sets the font used in hover labels. +type HeatmapHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// HeatmapHoverlabel +type HeatmapHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align HeatmapHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *HeatmapHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// HeatmapLegendgrouptitleFont Sets this legend group's title font. +type HeatmapLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// HeatmapLegendgrouptitle +type HeatmapLegendgrouptitle struct { + + // Font + // role: Object + Font *HeatmapLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// HeatmapStream +type HeatmapStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// HeatmapTextfont Sets the text font. +type HeatmapTextfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// HeatmapColorbarExponentformat 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. +type HeatmapColorbarExponentformat string + +const ( + HeatmapColorbarExponentformatNone HeatmapColorbarExponentformat = "none" + HeatmapColorbarExponentformatE1 HeatmapColorbarExponentformat = "e" + HeatmapColorbarExponentformatE2 HeatmapColorbarExponentformat = "E" + HeatmapColorbarExponentformatPower HeatmapColorbarExponentformat = "power" + HeatmapColorbarExponentformatSI HeatmapColorbarExponentformat = "SI" + HeatmapColorbarExponentformatB HeatmapColorbarExponentformat = "B" +) + +// HeatmapColorbarLenmode 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. +type HeatmapColorbarLenmode string + +const ( + HeatmapColorbarLenmodeFraction HeatmapColorbarLenmode = "fraction" + HeatmapColorbarLenmodePixels HeatmapColorbarLenmode = "pixels" +) + +// HeatmapColorbarOrientation Sets the orientation of the colorbar. +type HeatmapColorbarOrientation string + +const ( + HeatmapColorbarOrientationH HeatmapColorbarOrientation = "h" + HeatmapColorbarOrientationV HeatmapColorbarOrientation = "v" +) + +// HeatmapColorbarShowexponent 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. +type HeatmapColorbarShowexponent string + +const ( + HeatmapColorbarShowexponentAll HeatmapColorbarShowexponent = "all" + HeatmapColorbarShowexponentFirst HeatmapColorbarShowexponent = "first" + HeatmapColorbarShowexponentLast HeatmapColorbarShowexponent = "last" + HeatmapColorbarShowexponentNone HeatmapColorbarShowexponent = "none" +) + +// HeatmapColorbarShowtickprefix 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. +type HeatmapColorbarShowtickprefix string + +const ( + HeatmapColorbarShowtickprefixAll HeatmapColorbarShowtickprefix = "all" + HeatmapColorbarShowtickprefixFirst HeatmapColorbarShowtickprefix = "first" + HeatmapColorbarShowtickprefixLast HeatmapColorbarShowtickprefix = "last" + HeatmapColorbarShowtickprefixNone HeatmapColorbarShowtickprefix = "none" +) + +// HeatmapColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type HeatmapColorbarShowticksuffix string + +const ( + HeatmapColorbarShowticksuffixAll HeatmapColorbarShowticksuffix = "all" + HeatmapColorbarShowticksuffixFirst HeatmapColorbarShowticksuffix = "first" + HeatmapColorbarShowticksuffixLast HeatmapColorbarShowticksuffix = "last" + HeatmapColorbarShowticksuffixNone HeatmapColorbarShowticksuffix = "none" +) + +// HeatmapColorbarThicknessmode 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. +type HeatmapColorbarThicknessmode string + +const ( + HeatmapColorbarThicknessmodeFraction HeatmapColorbarThicknessmode = "fraction" + HeatmapColorbarThicknessmodePixels HeatmapColorbarThicknessmode = "pixels" +) + +// HeatmapColorbarTicklabeloverflow 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*. +type HeatmapColorbarTicklabeloverflow string + +const ( + HeatmapColorbarTicklabeloverflowAllow HeatmapColorbarTicklabeloverflow = "allow" + HeatmapColorbarTicklabeloverflowHidePastDiv HeatmapColorbarTicklabeloverflow = "hide past div" + HeatmapColorbarTicklabeloverflowHidePastDomain HeatmapColorbarTicklabeloverflow = "hide past domain" +) + +// HeatmapColorbarTicklabelposition 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*. +type HeatmapColorbarTicklabelposition string + +const ( + HeatmapColorbarTicklabelpositionOutside HeatmapColorbarTicklabelposition = "outside" + HeatmapColorbarTicklabelpositionInside HeatmapColorbarTicklabelposition = "inside" + HeatmapColorbarTicklabelpositionOutsideTop HeatmapColorbarTicklabelposition = "outside top" + HeatmapColorbarTicklabelpositionInsideTop HeatmapColorbarTicklabelposition = "inside top" + HeatmapColorbarTicklabelpositionOutsideLeft HeatmapColorbarTicklabelposition = "outside left" + HeatmapColorbarTicklabelpositionInsideLeft HeatmapColorbarTicklabelposition = "inside left" + HeatmapColorbarTicklabelpositionOutsideRight HeatmapColorbarTicklabelposition = "outside right" + HeatmapColorbarTicklabelpositionInsideRight HeatmapColorbarTicklabelposition = "inside right" + HeatmapColorbarTicklabelpositionOutsideBottom HeatmapColorbarTicklabelposition = "outside bottom" + HeatmapColorbarTicklabelpositionInsideBottom HeatmapColorbarTicklabelposition = "inside bottom" +) + +// HeatmapColorbarTickmode 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). +type HeatmapColorbarTickmode string + +const ( + HeatmapColorbarTickmodeAuto HeatmapColorbarTickmode = "auto" + HeatmapColorbarTickmodeLinear HeatmapColorbarTickmode = "linear" + HeatmapColorbarTickmodeArray HeatmapColorbarTickmode = "array" +) + +// HeatmapColorbarTicks 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. +type HeatmapColorbarTicks string + +const ( + HeatmapColorbarTicksOutside HeatmapColorbarTicks = "outside" + HeatmapColorbarTicksInside HeatmapColorbarTicks = "inside" + HeatmapColorbarTicksEmpty HeatmapColorbarTicks = "" +) + +// HeatmapColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type HeatmapColorbarTitleSide string + +const ( + HeatmapColorbarTitleSideRight HeatmapColorbarTitleSide = "right" + HeatmapColorbarTitleSideTop HeatmapColorbarTitleSide = "top" + HeatmapColorbarTitleSideBottom HeatmapColorbarTitleSide = "bottom" +) + +// HeatmapColorbarXanchor 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*. +type HeatmapColorbarXanchor string + +const ( + HeatmapColorbarXanchorLeft HeatmapColorbarXanchor = "left" + HeatmapColorbarXanchorCenter HeatmapColorbarXanchor = "center" + HeatmapColorbarXanchorRight HeatmapColorbarXanchor = "right" +) + +// HeatmapColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type HeatmapColorbarXref string + +const ( + HeatmapColorbarXrefContainer HeatmapColorbarXref = "container" + HeatmapColorbarXrefPaper HeatmapColorbarXref = "paper" +) + +// HeatmapColorbarYanchor 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*. +type HeatmapColorbarYanchor string + +const ( + HeatmapColorbarYanchorTop HeatmapColorbarYanchor = "top" + HeatmapColorbarYanchorMiddle HeatmapColorbarYanchor = "middle" + HeatmapColorbarYanchorBottom HeatmapColorbarYanchor = "bottom" +) + +// HeatmapColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type HeatmapColorbarYref string + +const ( + HeatmapColorbarYrefContainer HeatmapColorbarYref = "container" + HeatmapColorbarYrefPaper HeatmapColorbarYref = "paper" +) + +// HeatmapHoverlabelAlign 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 +type HeatmapHoverlabelAlign string + +const ( + HeatmapHoverlabelAlignLeft HeatmapHoverlabelAlign = "left" + HeatmapHoverlabelAlignRight HeatmapHoverlabelAlign = "right" + HeatmapHoverlabelAlignAuto HeatmapHoverlabelAlign = "auto" +) + +// HeatmapVisible 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). +type HeatmapVisible interface{} + +var ( + HeatmapVisibleTrue HeatmapVisible = true + HeatmapVisibleFalse HeatmapVisible = false + HeatmapVisibleLegendonly HeatmapVisible = "legendonly" +) + +// HeatmapXcalendar Sets the calendar system to use with `x` date data. +type HeatmapXcalendar string + +const ( + HeatmapXcalendarChinese HeatmapXcalendar = "chinese" + HeatmapXcalendarCoptic HeatmapXcalendar = "coptic" + HeatmapXcalendarDiscworld HeatmapXcalendar = "discworld" + HeatmapXcalendarEthiopian HeatmapXcalendar = "ethiopian" + HeatmapXcalendarGregorian HeatmapXcalendar = "gregorian" + HeatmapXcalendarHebrew HeatmapXcalendar = "hebrew" + HeatmapXcalendarIslamic HeatmapXcalendar = "islamic" + HeatmapXcalendarJalali HeatmapXcalendar = "jalali" + HeatmapXcalendarJulian HeatmapXcalendar = "julian" + HeatmapXcalendarMayan HeatmapXcalendar = "mayan" + HeatmapXcalendarNanakshahi HeatmapXcalendar = "nanakshahi" + HeatmapXcalendarNepali HeatmapXcalendar = "nepali" + HeatmapXcalendarPersian HeatmapXcalendar = "persian" + HeatmapXcalendarTaiwan HeatmapXcalendar = "taiwan" + HeatmapXcalendarThai HeatmapXcalendar = "thai" + HeatmapXcalendarUmmalqura HeatmapXcalendar = "ummalqura" +) + +// HeatmapXperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. +type HeatmapXperiodalignment string + +const ( + HeatmapXperiodalignmentStart HeatmapXperiodalignment = "start" + HeatmapXperiodalignmentMiddle HeatmapXperiodalignment = "middle" + HeatmapXperiodalignmentEnd HeatmapXperiodalignment = "end" +) + +// HeatmapXtype 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). +type HeatmapXtype string + +const ( + HeatmapXtypeArray HeatmapXtype = "array" + HeatmapXtypeScaled HeatmapXtype = "scaled" +) + +// HeatmapYcalendar Sets the calendar system to use with `y` date data. +type HeatmapYcalendar string + +const ( + HeatmapYcalendarChinese HeatmapYcalendar = "chinese" + HeatmapYcalendarCoptic HeatmapYcalendar = "coptic" + HeatmapYcalendarDiscworld HeatmapYcalendar = "discworld" + HeatmapYcalendarEthiopian HeatmapYcalendar = "ethiopian" + HeatmapYcalendarGregorian HeatmapYcalendar = "gregorian" + HeatmapYcalendarHebrew HeatmapYcalendar = "hebrew" + HeatmapYcalendarIslamic HeatmapYcalendar = "islamic" + HeatmapYcalendarJalali HeatmapYcalendar = "jalali" + HeatmapYcalendarJulian HeatmapYcalendar = "julian" + HeatmapYcalendarMayan HeatmapYcalendar = "mayan" + HeatmapYcalendarNanakshahi HeatmapYcalendar = "nanakshahi" + HeatmapYcalendarNepali HeatmapYcalendar = "nepali" + HeatmapYcalendarPersian HeatmapYcalendar = "persian" + HeatmapYcalendarTaiwan HeatmapYcalendar = "taiwan" + HeatmapYcalendarThai HeatmapYcalendar = "thai" + HeatmapYcalendarUmmalqura HeatmapYcalendar = "ummalqura" +) + +// HeatmapYperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis. +type HeatmapYperiodalignment string + +const ( + HeatmapYperiodalignmentStart HeatmapYperiodalignment = "start" + HeatmapYperiodalignmentMiddle HeatmapYperiodalignment = "middle" + HeatmapYperiodalignmentEnd HeatmapYperiodalignment = "end" +) + +// HeatmapYtype 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) +type HeatmapYtype string + +const ( + HeatmapYtypeArray HeatmapYtype = "array" + HeatmapYtypeScaled HeatmapYtype = "scaled" +) + +// HeatmapZsmooth Picks a smoothing algorithm use to smooth `z` data. +type HeatmapZsmooth interface{} + +var ( + HeatmapZsmoothFast HeatmapZsmooth = "fast" + HeatmapZsmoothBest HeatmapZsmooth = "best" + HeatmapZsmoothFalse HeatmapZsmooth = false +) + +// HeatmapHoverinfo 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. +type HeatmapHoverinfo string + +const ( + // Flags + HeatmapHoverinfoX HeatmapHoverinfo = "x" + HeatmapHoverinfoY HeatmapHoverinfo = "y" + HeatmapHoverinfoZ HeatmapHoverinfo = "z" + HeatmapHoverinfoText HeatmapHoverinfo = "text" + HeatmapHoverinfoName HeatmapHoverinfo = "name" + + // Extra + HeatmapHoverinfoAll HeatmapHoverinfo = "all" + HeatmapHoverinfoNone HeatmapHoverinfo = "none" + HeatmapHoverinfoSkip HeatmapHoverinfo = "skip" +) diff --git a/generated/v2.29.1/graph_objects/heatmapgl_gen.go b/generated/v2.29.1/graph_objects/heatmapgl_gen.go new file mode 100644 index 0000000..83d7a88 --- /dev/null +++ b/generated/v2.29.1/graph_objects/heatmapgl_gen.go @@ -0,0 +1,1008 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeHeatmapgl TraceType = "heatmapgl" + +func (trace *Heatmapgl) GetType() TraceType { + return TraceTypeHeatmapgl +} + +// Heatmapgl *heatmapgl* trace is deprecated! Please consider switching to the *heatmap* or *image* trace types. Alternatively you could contribute/sponsor rewriting this trace type based on cartesian features and using regl framework. WebGL version of the heatmap trace type. +type Heatmapgl struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Autocolorscale + // arrayOK: false + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *HeatmapglColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Dx + // arrayOK: false + // type: number + // Sets the x coordinate step. See `x0` for more info. + Dx float64 `json:"dx,omitempty"` + + // Dy + // arrayOK: false + // type: number + // Sets the y coordinate step. See `y0` for more info. + Dy float64 `json:"dy,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo HeatmapglHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *HeatmapglHoverlabel `json:"hoverlabel,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *HeatmapglLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // type: boolean + // Determines whether or not a colorbar is displayed for this trace. + Showscale Bool `json:"showscale,omitempty"` + + // Stream + // role: Object + Stream *HeatmapglStream `json:"stream,omitempty"` + + // Text + // arrayOK: false + // type: data_array + // Sets the text elements associated with each z value. + Text interface{} `json:"text,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Transpose + // arrayOK: false + // type: boolean + // Transposes the z data. + Transpose Bool `json:"transpose,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible HeatmapglVisible `json:"visible,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the x coordinates. + X interface{} `json:"x,omitempty"` + + // X0 + // arrayOK: false + // type: any + // Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step. + X0 interface{} `json:"x0,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Xtype + // default: %!s() + // type: enumerated + // 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). + Xtype HeatmapglXtype `json:"xtype,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the y coordinates. + Y interface{} `json:"y,omitempty"` + + // Y0 + // arrayOK: false + // type: any + // Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step. + Y0 interface{} `json:"y0,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` + + // Ytype + // default: %!s() + // type: enumerated + // 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) + Ytype HeatmapglYtype `json:"ytype,omitempty"` + + // Z + // arrayOK: false + // type: data_array + // Sets the z data. + Z interface{} `json:"z,omitempty"` + + // Zauto + // arrayOK: false + // type: boolean + // 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. + Zauto Bool `json:"zauto,omitempty"` + + // Zmax + // arrayOK: false + // 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. + Zmax float64 `json:"zmax,omitempty"` + + // Zmid + // arrayOK: false + // 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`. + Zmid float64 `json:"zmid,omitempty"` + + // Zmin + // arrayOK: false + // 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. + Zmin float64 `json:"zmin,omitempty"` + + // Zsmooth + // default: fast + // type: enumerated + // Picks a smoothing algorithm use to smooth `z` data. + Zsmooth HeatmapglZsmooth `json:"zsmooth,omitempty"` + + // Zsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `z`. + Zsrc String `json:"zsrc,omitempty"` +} + +// HeatmapglColorbarTickfont Sets the color bar's tick label font +type HeatmapglColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// HeatmapglColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type HeatmapglColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// HeatmapglColorbarTitle +type HeatmapglColorbarTitle struct { + + // Font + // role: Object + Font *HeatmapglColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side HeatmapglColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// HeatmapglColorbar +type HeatmapglColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat HeatmapglColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode HeatmapglColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation HeatmapglColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent HeatmapglColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix HeatmapglColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix HeatmapglColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode HeatmapglColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *HeatmapglColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow HeatmapglColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition HeatmapglColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode HeatmapglColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks HeatmapglColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *HeatmapglColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor HeatmapglColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref HeatmapglColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor HeatmapglColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref HeatmapglColorbarYref `json:"yref,omitempty"` +} + +// HeatmapglHoverlabelFont Sets the font used in hover labels. +type HeatmapglHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// HeatmapglHoverlabel +type HeatmapglHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align HeatmapglHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *HeatmapglHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// HeatmapglLegendgrouptitleFont Sets this legend group's title font. +type HeatmapglLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// HeatmapglLegendgrouptitle +type HeatmapglLegendgrouptitle struct { + + // Font + // role: Object + Font *HeatmapglLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// HeatmapglStream +type HeatmapglStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// HeatmapglColorbarExponentformat 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. +type HeatmapglColorbarExponentformat string + +const ( + HeatmapglColorbarExponentformatNone HeatmapglColorbarExponentformat = "none" + HeatmapglColorbarExponentformatE1 HeatmapglColorbarExponentformat = "e" + HeatmapglColorbarExponentformatE2 HeatmapglColorbarExponentformat = "E" + HeatmapglColorbarExponentformatPower HeatmapglColorbarExponentformat = "power" + HeatmapglColorbarExponentformatSI HeatmapglColorbarExponentformat = "SI" + HeatmapglColorbarExponentformatB HeatmapglColorbarExponentformat = "B" +) + +// HeatmapglColorbarLenmode 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. +type HeatmapglColorbarLenmode string + +const ( + HeatmapglColorbarLenmodeFraction HeatmapglColorbarLenmode = "fraction" + HeatmapglColorbarLenmodePixels HeatmapglColorbarLenmode = "pixels" +) + +// HeatmapglColorbarOrientation Sets the orientation of the colorbar. +type HeatmapglColorbarOrientation string + +const ( + HeatmapglColorbarOrientationH HeatmapglColorbarOrientation = "h" + HeatmapglColorbarOrientationV HeatmapglColorbarOrientation = "v" +) + +// HeatmapglColorbarShowexponent 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. +type HeatmapglColorbarShowexponent string + +const ( + HeatmapglColorbarShowexponentAll HeatmapglColorbarShowexponent = "all" + HeatmapglColorbarShowexponentFirst HeatmapglColorbarShowexponent = "first" + HeatmapglColorbarShowexponentLast HeatmapglColorbarShowexponent = "last" + HeatmapglColorbarShowexponentNone HeatmapglColorbarShowexponent = "none" +) + +// HeatmapglColorbarShowtickprefix 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. +type HeatmapglColorbarShowtickprefix string + +const ( + HeatmapglColorbarShowtickprefixAll HeatmapglColorbarShowtickprefix = "all" + HeatmapglColorbarShowtickprefixFirst HeatmapglColorbarShowtickprefix = "first" + HeatmapglColorbarShowtickprefixLast HeatmapglColorbarShowtickprefix = "last" + HeatmapglColorbarShowtickprefixNone HeatmapglColorbarShowtickprefix = "none" +) + +// HeatmapglColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type HeatmapglColorbarShowticksuffix string + +const ( + HeatmapglColorbarShowticksuffixAll HeatmapglColorbarShowticksuffix = "all" + HeatmapglColorbarShowticksuffixFirst HeatmapglColorbarShowticksuffix = "first" + HeatmapglColorbarShowticksuffixLast HeatmapglColorbarShowticksuffix = "last" + HeatmapglColorbarShowticksuffixNone HeatmapglColorbarShowticksuffix = "none" +) + +// HeatmapglColorbarThicknessmode 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. +type HeatmapglColorbarThicknessmode string + +const ( + HeatmapglColorbarThicknessmodeFraction HeatmapglColorbarThicknessmode = "fraction" + HeatmapglColorbarThicknessmodePixels HeatmapglColorbarThicknessmode = "pixels" +) + +// HeatmapglColorbarTicklabeloverflow 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*. +type HeatmapglColorbarTicklabeloverflow string + +const ( + HeatmapglColorbarTicklabeloverflowAllow HeatmapglColorbarTicklabeloverflow = "allow" + HeatmapglColorbarTicklabeloverflowHidePastDiv HeatmapglColorbarTicklabeloverflow = "hide past div" + HeatmapglColorbarTicklabeloverflowHidePastDomain HeatmapglColorbarTicklabeloverflow = "hide past domain" +) + +// HeatmapglColorbarTicklabelposition 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*. +type HeatmapglColorbarTicklabelposition string + +const ( + HeatmapglColorbarTicklabelpositionOutside HeatmapglColorbarTicklabelposition = "outside" + HeatmapglColorbarTicklabelpositionInside HeatmapglColorbarTicklabelposition = "inside" + HeatmapglColorbarTicklabelpositionOutsideTop HeatmapglColorbarTicklabelposition = "outside top" + HeatmapglColorbarTicklabelpositionInsideTop HeatmapglColorbarTicklabelposition = "inside top" + HeatmapglColorbarTicklabelpositionOutsideLeft HeatmapglColorbarTicklabelposition = "outside left" + HeatmapglColorbarTicklabelpositionInsideLeft HeatmapglColorbarTicklabelposition = "inside left" + HeatmapglColorbarTicklabelpositionOutsideRight HeatmapglColorbarTicklabelposition = "outside right" + HeatmapglColorbarTicklabelpositionInsideRight HeatmapglColorbarTicklabelposition = "inside right" + HeatmapglColorbarTicklabelpositionOutsideBottom HeatmapglColorbarTicklabelposition = "outside bottom" + HeatmapglColorbarTicklabelpositionInsideBottom HeatmapglColorbarTicklabelposition = "inside bottom" +) + +// HeatmapglColorbarTickmode 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). +type HeatmapglColorbarTickmode string + +const ( + HeatmapglColorbarTickmodeAuto HeatmapglColorbarTickmode = "auto" + HeatmapglColorbarTickmodeLinear HeatmapglColorbarTickmode = "linear" + HeatmapglColorbarTickmodeArray HeatmapglColorbarTickmode = "array" +) + +// HeatmapglColorbarTicks 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. +type HeatmapglColorbarTicks string + +const ( + HeatmapglColorbarTicksOutside HeatmapglColorbarTicks = "outside" + HeatmapglColorbarTicksInside HeatmapglColorbarTicks = "inside" + HeatmapglColorbarTicksEmpty HeatmapglColorbarTicks = "" +) + +// HeatmapglColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type HeatmapglColorbarTitleSide string + +const ( + HeatmapglColorbarTitleSideRight HeatmapglColorbarTitleSide = "right" + HeatmapglColorbarTitleSideTop HeatmapglColorbarTitleSide = "top" + HeatmapglColorbarTitleSideBottom HeatmapglColorbarTitleSide = "bottom" +) + +// HeatmapglColorbarXanchor 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*. +type HeatmapglColorbarXanchor string + +const ( + HeatmapglColorbarXanchorLeft HeatmapglColorbarXanchor = "left" + HeatmapglColorbarXanchorCenter HeatmapglColorbarXanchor = "center" + HeatmapglColorbarXanchorRight HeatmapglColorbarXanchor = "right" +) + +// HeatmapglColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type HeatmapglColorbarXref string + +const ( + HeatmapglColorbarXrefContainer HeatmapglColorbarXref = "container" + HeatmapglColorbarXrefPaper HeatmapglColorbarXref = "paper" +) + +// HeatmapglColorbarYanchor 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*. +type HeatmapglColorbarYanchor string + +const ( + HeatmapglColorbarYanchorTop HeatmapglColorbarYanchor = "top" + HeatmapglColorbarYanchorMiddle HeatmapglColorbarYanchor = "middle" + HeatmapglColorbarYanchorBottom HeatmapglColorbarYanchor = "bottom" +) + +// HeatmapglColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type HeatmapglColorbarYref string + +const ( + HeatmapglColorbarYrefContainer HeatmapglColorbarYref = "container" + HeatmapglColorbarYrefPaper HeatmapglColorbarYref = "paper" +) + +// HeatmapglHoverlabelAlign 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 +type HeatmapglHoverlabelAlign string + +const ( + HeatmapglHoverlabelAlignLeft HeatmapglHoverlabelAlign = "left" + HeatmapglHoverlabelAlignRight HeatmapglHoverlabelAlign = "right" + HeatmapglHoverlabelAlignAuto HeatmapglHoverlabelAlign = "auto" +) + +// HeatmapglVisible 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). +type HeatmapglVisible interface{} + +var ( + HeatmapglVisibleTrue HeatmapglVisible = true + HeatmapglVisibleFalse HeatmapglVisible = false + HeatmapglVisibleLegendonly HeatmapglVisible = "legendonly" +) + +// HeatmapglXtype 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). +type HeatmapglXtype string + +const ( + HeatmapglXtypeArray HeatmapglXtype = "array" + HeatmapglXtypeScaled HeatmapglXtype = "scaled" +) + +// HeatmapglYtype 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) +type HeatmapglYtype string + +const ( + HeatmapglYtypeArray HeatmapglYtype = "array" + HeatmapglYtypeScaled HeatmapglYtype = "scaled" +) + +// HeatmapglZsmooth Picks a smoothing algorithm use to smooth `z` data. +type HeatmapglZsmooth interface{} + +var ( + HeatmapglZsmoothFast HeatmapglZsmooth = "fast" + HeatmapglZsmoothFalse HeatmapglZsmooth = false +) + +// HeatmapglHoverinfo 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. +type HeatmapglHoverinfo string + +const ( + // Flags + HeatmapglHoverinfoX HeatmapglHoverinfo = "x" + HeatmapglHoverinfoY HeatmapglHoverinfo = "y" + HeatmapglHoverinfoZ HeatmapglHoverinfo = "z" + HeatmapglHoverinfoText HeatmapglHoverinfo = "text" + HeatmapglHoverinfoName HeatmapglHoverinfo = "name" + + // Extra + HeatmapglHoverinfoAll HeatmapglHoverinfo = "all" + HeatmapglHoverinfoNone HeatmapglHoverinfo = "none" + HeatmapglHoverinfoSkip HeatmapglHoverinfo = "skip" +) diff --git a/generated/v2.29.1/graph_objects/histogram2d_gen.go b/generated/v2.29.1/graph_objects/histogram2d_gen.go new file mode 100644 index 0000000..56b4800 --- /dev/null +++ b/generated/v2.29.1/graph_objects/histogram2d_gen.go @@ -0,0 +1,1229 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeHistogram2d TraceType = "histogram2d" + +func (trace *Histogram2d) GetType() TraceType { + return TraceTypeHistogram2d +} + +// Histogram2d 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. +type Histogram2d struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Autobinx + // arrayOK: false + // 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. + Autobinx Bool `json:"autobinx,omitempty"` + + // Autobiny + // arrayOK: false + // 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. + Autobiny Bool `json:"autobiny,omitempty"` + + // Autocolorscale + // arrayOK: false + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Bingroup + // arrayOK: false + // 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. + Bingroup String `json:"bingroup,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *Histogram2dColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Histfunc + // default: count + // type: enumerated + // 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. + Histfunc Histogram2dHistfunc `json:"histfunc,omitempty"` + + // Histnorm + // default: + // type: enumerated + // 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). + Histnorm Histogram2dHistnorm `json:"histnorm,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo Histogram2dHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *Histogram2dHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Finally, the template string has access to variable `z` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *Histogram2dLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Marker + // role: Object + Marker *Histogram2dMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Nbinsx + // arrayOK: false + // 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. + Nbinsx int64 `json:"nbinsx,omitempty"` + + // Nbinsy + // arrayOK: false + // 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. + Nbinsy int64 `json:"nbinsy,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Showscale + // arrayOK: false + // type: boolean + // Determines whether or not a colorbar is displayed for this trace. + Showscale Bool `json:"showscale,omitempty"` + + // Stream + // role: Object + Stream *Histogram2dStream `json:"stream,omitempty"` + + // Textfont + // role: Object + Textfont *Histogram2dTextfont `json:"textfont,omitempty"` + + // Texttemplate + // arrayOK: false + // 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` + Texttemplate String `json:"texttemplate,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible Histogram2dVisible `json:"visible,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the sample data to be binned on the x axis. + X interface{} `json:"x,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Xbingroup + // arrayOK: false + // 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` + Xbingroup String `json:"xbingroup,omitempty"` + + // Xbins + // role: Object + Xbins *Histogram2dXbins `json:"xbins,omitempty"` + + // Xcalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `x` date data. + Xcalendar Histogram2dXcalendar `json:"xcalendar,omitempty"` + + // Xgap + // arrayOK: false + // type: number + // Sets the horizontal gap (in pixels) between bricks. + Xgap float64 `json:"xgap,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the sample data to be binned on the y axis. + Y interface{} `json:"y,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` + + // Ybingroup + // arrayOK: false + // 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` + Ybingroup String `json:"ybingroup,omitempty"` + + // Ybins + // role: Object + Ybins *Histogram2dYbins `json:"ybins,omitempty"` + + // Ycalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `y` date data. + Ycalendar Histogram2dYcalendar `json:"ycalendar,omitempty"` + + // Ygap + // arrayOK: false + // type: number + // Sets the vertical gap (in pixels) between bricks. + Ygap float64 `json:"ygap,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` + + // Z + // arrayOK: false + // type: data_array + // Sets the aggregation data. + Z interface{} `json:"z,omitempty"` + + // Zauto + // arrayOK: false + // type: boolean + // 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. + Zauto Bool `json:"zauto,omitempty"` + + // Zhoverformat + // arrayOK: false + // 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. + Zhoverformat String `json:"zhoverformat,omitempty"` + + // Zmax + // arrayOK: false + // 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. + Zmax float64 `json:"zmax,omitempty"` + + // Zmid + // arrayOK: false + // 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`. + Zmid float64 `json:"zmid,omitempty"` + + // Zmin + // arrayOK: false + // 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. + Zmin float64 `json:"zmin,omitempty"` + + // Zsmooth + // default: %!s(bool=false) + // type: enumerated + // Picks a smoothing algorithm use to smooth `z` data. + Zsmooth Histogram2dZsmooth `json:"zsmooth,omitempty"` + + // Zsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `z`. + Zsrc String `json:"zsrc,omitempty"` +} + +// Histogram2dColorbarTickfont Sets the color bar's tick label font +type Histogram2dColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// Histogram2dColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type Histogram2dColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// Histogram2dColorbarTitle +type Histogram2dColorbarTitle struct { + + // Font + // role: Object + Font *Histogram2dColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side Histogram2dColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// Histogram2dColorbar +type Histogram2dColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat Histogram2dColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode Histogram2dColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation Histogram2dColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent Histogram2dColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix Histogram2dColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix Histogram2dColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode Histogram2dColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *Histogram2dColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow Histogram2dColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition Histogram2dColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode Histogram2dColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks Histogram2dColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *Histogram2dColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor Histogram2dColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref Histogram2dColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor Histogram2dColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref Histogram2dColorbarYref `json:"yref,omitempty"` +} + +// Histogram2dHoverlabelFont Sets the font used in hover labels. +type Histogram2dHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// Histogram2dHoverlabel +type Histogram2dHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align Histogram2dHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *Histogram2dHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// Histogram2dLegendgrouptitleFont Sets this legend group's title font. +type Histogram2dLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// Histogram2dLegendgrouptitle +type Histogram2dLegendgrouptitle struct { + + // Font + // role: Object + Font *Histogram2dLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// Histogram2dMarker +type Histogram2dMarker struct { + + // Color + // arrayOK: false + // type: data_array + // Sets the aggregation data. + Color interface{} `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` +} + +// Histogram2dStream +type Histogram2dStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// Histogram2dTextfont Sets the text font. +type Histogram2dTextfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// Histogram2dXbins +type Histogram2dXbins struct { + + // End + // arrayOK: false + // type: any + // 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. + End interface{} `json:"end,omitempty"` + + // Size + // arrayOK: false + // type: any + // 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* for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). + Size interface{} `json:"size,omitempty"` + + // Start + // arrayOK: false + // type: any + // 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. + Start interface{} `json:"start,omitempty"` +} + +// Histogram2dYbins +type Histogram2dYbins struct { + + // End + // arrayOK: false + // type: any + // 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. + End interface{} `json:"end,omitempty"` + + // Size + // arrayOK: false + // type: any + // 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* for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). + Size interface{} `json:"size,omitempty"` + + // Start + // arrayOK: false + // type: any + // 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. + Start interface{} `json:"start,omitempty"` +} + +// Histogram2dColorbarExponentformat 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. +type Histogram2dColorbarExponentformat string + +const ( + Histogram2dColorbarExponentformatNone Histogram2dColorbarExponentformat = "none" + Histogram2dColorbarExponentformatE1 Histogram2dColorbarExponentformat = "e" + Histogram2dColorbarExponentformatE2 Histogram2dColorbarExponentformat = "E" + Histogram2dColorbarExponentformatPower Histogram2dColorbarExponentformat = "power" + Histogram2dColorbarExponentformatSI Histogram2dColorbarExponentformat = "SI" + Histogram2dColorbarExponentformatB Histogram2dColorbarExponentformat = "B" +) + +// Histogram2dColorbarLenmode 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. +type Histogram2dColorbarLenmode string + +const ( + Histogram2dColorbarLenmodeFraction Histogram2dColorbarLenmode = "fraction" + Histogram2dColorbarLenmodePixels Histogram2dColorbarLenmode = "pixels" +) + +// Histogram2dColorbarOrientation Sets the orientation of the colorbar. +type Histogram2dColorbarOrientation string + +const ( + Histogram2dColorbarOrientationH Histogram2dColorbarOrientation = "h" + Histogram2dColorbarOrientationV Histogram2dColorbarOrientation = "v" +) + +// Histogram2dColorbarShowexponent 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. +type Histogram2dColorbarShowexponent string + +const ( + Histogram2dColorbarShowexponentAll Histogram2dColorbarShowexponent = "all" + Histogram2dColorbarShowexponentFirst Histogram2dColorbarShowexponent = "first" + Histogram2dColorbarShowexponentLast Histogram2dColorbarShowexponent = "last" + Histogram2dColorbarShowexponentNone Histogram2dColorbarShowexponent = "none" +) + +// Histogram2dColorbarShowtickprefix 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. +type Histogram2dColorbarShowtickprefix string + +const ( + Histogram2dColorbarShowtickprefixAll Histogram2dColorbarShowtickprefix = "all" + Histogram2dColorbarShowtickprefixFirst Histogram2dColorbarShowtickprefix = "first" + Histogram2dColorbarShowtickprefixLast Histogram2dColorbarShowtickprefix = "last" + Histogram2dColorbarShowtickprefixNone Histogram2dColorbarShowtickprefix = "none" +) + +// Histogram2dColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type Histogram2dColorbarShowticksuffix string + +const ( + Histogram2dColorbarShowticksuffixAll Histogram2dColorbarShowticksuffix = "all" + Histogram2dColorbarShowticksuffixFirst Histogram2dColorbarShowticksuffix = "first" + Histogram2dColorbarShowticksuffixLast Histogram2dColorbarShowticksuffix = "last" + Histogram2dColorbarShowticksuffixNone Histogram2dColorbarShowticksuffix = "none" +) + +// Histogram2dColorbarThicknessmode 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. +type Histogram2dColorbarThicknessmode string + +const ( + Histogram2dColorbarThicknessmodeFraction Histogram2dColorbarThicknessmode = "fraction" + Histogram2dColorbarThicknessmodePixels Histogram2dColorbarThicknessmode = "pixels" +) + +// Histogram2dColorbarTicklabeloverflow 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*. +type Histogram2dColorbarTicklabeloverflow string + +const ( + Histogram2dColorbarTicklabeloverflowAllow Histogram2dColorbarTicklabeloverflow = "allow" + Histogram2dColorbarTicklabeloverflowHidePastDiv Histogram2dColorbarTicklabeloverflow = "hide past div" + Histogram2dColorbarTicklabeloverflowHidePastDomain Histogram2dColorbarTicklabeloverflow = "hide past domain" +) + +// Histogram2dColorbarTicklabelposition 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*. +type Histogram2dColorbarTicklabelposition string + +const ( + Histogram2dColorbarTicklabelpositionOutside Histogram2dColorbarTicklabelposition = "outside" + Histogram2dColorbarTicklabelpositionInside Histogram2dColorbarTicklabelposition = "inside" + Histogram2dColorbarTicklabelpositionOutsideTop Histogram2dColorbarTicklabelposition = "outside top" + Histogram2dColorbarTicklabelpositionInsideTop Histogram2dColorbarTicklabelposition = "inside top" + Histogram2dColorbarTicklabelpositionOutsideLeft Histogram2dColorbarTicklabelposition = "outside left" + Histogram2dColorbarTicklabelpositionInsideLeft Histogram2dColorbarTicklabelposition = "inside left" + Histogram2dColorbarTicklabelpositionOutsideRight Histogram2dColorbarTicklabelposition = "outside right" + Histogram2dColorbarTicklabelpositionInsideRight Histogram2dColorbarTicklabelposition = "inside right" + Histogram2dColorbarTicklabelpositionOutsideBottom Histogram2dColorbarTicklabelposition = "outside bottom" + Histogram2dColorbarTicklabelpositionInsideBottom Histogram2dColorbarTicklabelposition = "inside bottom" +) + +// Histogram2dColorbarTickmode 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). +type Histogram2dColorbarTickmode string + +const ( + Histogram2dColorbarTickmodeAuto Histogram2dColorbarTickmode = "auto" + Histogram2dColorbarTickmodeLinear Histogram2dColorbarTickmode = "linear" + Histogram2dColorbarTickmodeArray Histogram2dColorbarTickmode = "array" +) + +// Histogram2dColorbarTicks 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. +type Histogram2dColorbarTicks string + +const ( + Histogram2dColorbarTicksOutside Histogram2dColorbarTicks = "outside" + Histogram2dColorbarTicksInside Histogram2dColorbarTicks = "inside" + Histogram2dColorbarTicksEmpty Histogram2dColorbarTicks = "" +) + +// Histogram2dColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type Histogram2dColorbarTitleSide string + +const ( + Histogram2dColorbarTitleSideRight Histogram2dColorbarTitleSide = "right" + Histogram2dColorbarTitleSideTop Histogram2dColorbarTitleSide = "top" + Histogram2dColorbarTitleSideBottom Histogram2dColorbarTitleSide = "bottom" +) + +// Histogram2dColorbarXanchor 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*. +type Histogram2dColorbarXanchor string + +const ( + Histogram2dColorbarXanchorLeft Histogram2dColorbarXanchor = "left" + Histogram2dColorbarXanchorCenter Histogram2dColorbarXanchor = "center" + Histogram2dColorbarXanchorRight Histogram2dColorbarXanchor = "right" +) + +// Histogram2dColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type Histogram2dColorbarXref string + +const ( + Histogram2dColorbarXrefContainer Histogram2dColorbarXref = "container" + Histogram2dColorbarXrefPaper Histogram2dColorbarXref = "paper" +) + +// Histogram2dColorbarYanchor 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*. +type Histogram2dColorbarYanchor string + +const ( + Histogram2dColorbarYanchorTop Histogram2dColorbarYanchor = "top" + Histogram2dColorbarYanchorMiddle Histogram2dColorbarYanchor = "middle" + Histogram2dColorbarYanchorBottom Histogram2dColorbarYanchor = "bottom" +) + +// Histogram2dColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type Histogram2dColorbarYref string + +const ( + Histogram2dColorbarYrefContainer Histogram2dColorbarYref = "container" + Histogram2dColorbarYrefPaper Histogram2dColorbarYref = "paper" +) + +// Histogram2dHistfunc 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. +type Histogram2dHistfunc string + +const ( + Histogram2dHistfuncCount Histogram2dHistfunc = "count" + Histogram2dHistfuncSum Histogram2dHistfunc = "sum" + Histogram2dHistfuncAvg Histogram2dHistfunc = "avg" + Histogram2dHistfuncMin Histogram2dHistfunc = "min" + Histogram2dHistfuncMax Histogram2dHistfunc = "max" +) + +// Histogram2dHistnorm 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). +type Histogram2dHistnorm string + +const ( + Histogram2dHistnormEmpty Histogram2dHistnorm = "" + Histogram2dHistnormPercent Histogram2dHistnorm = "percent" + Histogram2dHistnormProbability Histogram2dHistnorm = "probability" + Histogram2dHistnormDensity Histogram2dHistnorm = "density" + Histogram2dHistnormProbabilityDensity Histogram2dHistnorm = "probability density" +) + +// Histogram2dHoverlabelAlign 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 +type Histogram2dHoverlabelAlign string + +const ( + Histogram2dHoverlabelAlignLeft Histogram2dHoverlabelAlign = "left" + Histogram2dHoverlabelAlignRight Histogram2dHoverlabelAlign = "right" + Histogram2dHoverlabelAlignAuto Histogram2dHoverlabelAlign = "auto" +) + +// Histogram2dVisible 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). +type Histogram2dVisible interface{} + +var ( + Histogram2dVisibleTrue Histogram2dVisible = true + Histogram2dVisibleFalse Histogram2dVisible = false + Histogram2dVisibleLegendonly Histogram2dVisible = "legendonly" +) + +// Histogram2dXcalendar Sets the calendar system to use with `x` date data. +type Histogram2dXcalendar string + +const ( + Histogram2dXcalendarChinese Histogram2dXcalendar = "chinese" + Histogram2dXcalendarCoptic Histogram2dXcalendar = "coptic" + Histogram2dXcalendarDiscworld Histogram2dXcalendar = "discworld" + Histogram2dXcalendarEthiopian Histogram2dXcalendar = "ethiopian" + Histogram2dXcalendarGregorian Histogram2dXcalendar = "gregorian" + Histogram2dXcalendarHebrew Histogram2dXcalendar = "hebrew" + Histogram2dXcalendarIslamic Histogram2dXcalendar = "islamic" + Histogram2dXcalendarJalali Histogram2dXcalendar = "jalali" + Histogram2dXcalendarJulian Histogram2dXcalendar = "julian" + Histogram2dXcalendarMayan Histogram2dXcalendar = "mayan" + Histogram2dXcalendarNanakshahi Histogram2dXcalendar = "nanakshahi" + Histogram2dXcalendarNepali Histogram2dXcalendar = "nepali" + Histogram2dXcalendarPersian Histogram2dXcalendar = "persian" + Histogram2dXcalendarTaiwan Histogram2dXcalendar = "taiwan" + Histogram2dXcalendarThai Histogram2dXcalendar = "thai" + Histogram2dXcalendarUmmalqura Histogram2dXcalendar = "ummalqura" +) + +// Histogram2dYcalendar Sets the calendar system to use with `y` date data. +type Histogram2dYcalendar string + +const ( + Histogram2dYcalendarChinese Histogram2dYcalendar = "chinese" + Histogram2dYcalendarCoptic Histogram2dYcalendar = "coptic" + Histogram2dYcalendarDiscworld Histogram2dYcalendar = "discworld" + Histogram2dYcalendarEthiopian Histogram2dYcalendar = "ethiopian" + Histogram2dYcalendarGregorian Histogram2dYcalendar = "gregorian" + Histogram2dYcalendarHebrew Histogram2dYcalendar = "hebrew" + Histogram2dYcalendarIslamic Histogram2dYcalendar = "islamic" + Histogram2dYcalendarJalali Histogram2dYcalendar = "jalali" + Histogram2dYcalendarJulian Histogram2dYcalendar = "julian" + Histogram2dYcalendarMayan Histogram2dYcalendar = "mayan" + Histogram2dYcalendarNanakshahi Histogram2dYcalendar = "nanakshahi" + Histogram2dYcalendarNepali Histogram2dYcalendar = "nepali" + Histogram2dYcalendarPersian Histogram2dYcalendar = "persian" + Histogram2dYcalendarTaiwan Histogram2dYcalendar = "taiwan" + Histogram2dYcalendarThai Histogram2dYcalendar = "thai" + Histogram2dYcalendarUmmalqura Histogram2dYcalendar = "ummalqura" +) + +// Histogram2dZsmooth Picks a smoothing algorithm use to smooth `z` data. +type Histogram2dZsmooth interface{} + +var ( + Histogram2dZsmoothFast Histogram2dZsmooth = "fast" + Histogram2dZsmoothBest Histogram2dZsmooth = "best" + Histogram2dZsmoothFalse Histogram2dZsmooth = false +) + +// Histogram2dHoverinfo 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. +type Histogram2dHoverinfo string + +const ( + // Flags + Histogram2dHoverinfoX Histogram2dHoverinfo = "x" + Histogram2dHoverinfoY Histogram2dHoverinfo = "y" + Histogram2dHoverinfoZ Histogram2dHoverinfo = "z" + Histogram2dHoverinfoText Histogram2dHoverinfo = "text" + Histogram2dHoverinfoName Histogram2dHoverinfo = "name" + + // Extra + Histogram2dHoverinfoAll Histogram2dHoverinfo = "all" + Histogram2dHoverinfoNone Histogram2dHoverinfo = "none" + Histogram2dHoverinfoSkip Histogram2dHoverinfo = "skip" +) diff --git a/generated/v2.29.1/graph_objects/histogram2dcontour_gen.go b/generated/v2.29.1/graph_objects/histogram2dcontour_gen.go new file mode 100644 index 0000000..7101178 --- /dev/null +++ b/generated/v2.29.1/graph_objects/histogram2dcontour_gen.go @@ -0,0 +1,1377 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeHistogram2dcontour TraceType = "histogram2dcontour" + +func (trace *Histogram2dcontour) GetType() TraceType { + return TraceTypeHistogram2dcontour +} + +// Histogram2dcontour 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. +type Histogram2dcontour struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Autobinx + // arrayOK: false + // 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. + Autobinx Bool `json:"autobinx,omitempty"` + + // Autobiny + // arrayOK: false + // 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. + Autobiny Bool `json:"autobiny,omitempty"` + + // Autocolorscale + // arrayOK: false + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Autocontour + // arrayOK: false + // type: boolean + // 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`. + Autocontour Bool `json:"autocontour,omitempty"` + + // Bingroup + // arrayOK: false + // 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. + Bingroup String `json:"bingroup,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *Histogram2dcontourColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Contours + // role: Object + Contours *Histogram2dcontourContours `json:"contours,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Histfunc + // default: count + // type: enumerated + // 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. + Histfunc Histogram2dcontourHistfunc `json:"histfunc,omitempty"` + + // Histnorm + // default: + // type: enumerated + // 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). + Histnorm Histogram2dcontourHistnorm `json:"histnorm,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo Histogram2dcontourHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *Histogram2dcontourHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Finally, the template string has access to variable `z` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *Histogram2dcontourLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *Histogram2dcontourLine `json:"line,omitempty"` + + // Marker + // role: Object + Marker *Histogram2dcontourMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Nbinsx + // arrayOK: false + // 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. + Nbinsx int64 `json:"nbinsx,omitempty"` + + // Nbinsy + // arrayOK: false + // 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. + Nbinsy int64 `json:"nbinsy,omitempty"` + + // Ncontours + // arrayOK: false + // type: integer + // 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. + Ncontours int64 `json:"ncontours,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Showscale + // arrayOK: false + // type: boolean + // Determines whether or not a colorbar is displayed for this trace. + Showscale Bool `json:"showscale,omitempty"` + + // Stream + // role: Object + Stream *Histogram2dcontourStream `json:"stream,omitempty"` + + // Textfont + // role: Object + Textfont *Histogram2dcontourTextfont `json:"textfont,omitempty"` + + // Texttemplate + // arrayOK: false + // 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`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible Histogram2dcontourVisible `json:"visible,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the sample data to be binned on the x axis. + X interface{} `json:"x,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Xbingroup + // arrayOK: false + // 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` + Xbingroup String `json:"xbingroup,omitempty"` + + // Xbins + // role: Object + Xbins *Histogram2dcontourXbins `json:"xbins,omitempty"` + + // Xcalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `x` date data. + Xcalendar Histogram2dcontourXcalendar `json:"xcalendar,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the sample data to be binned on the y axis. + Y interface{} `json:"y,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` + + // Ybingroup + // arrayOK: false + // 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` + Ybingroup String `json:"ybingroup,omitempty"` + + // Ybins + // role: Object + Ybins *Histogram2dcontourYbins `json:"ybins,omitempty"` + + // Ycalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `y` date data. + Ycalendar Histogram2dcontourYcalendar `json:"ycalendar,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` + + // Z + // arrayOK: false + // type: data_array + // Sets the aggregation data. + Z interface{} `json:"z,omitempty"` + + // Zauto + // arrayOK: false + // type: boolean + // 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. + Zauto Bool `json:"zauto,omitempty"` + + // Zhoverformat + // arrayOK: false + // 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. + Zhoverformat String `json:"zhoverformat,omitempty"` + + // Zmax + // arrayOK: false + // 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. + Zmax float64 `json:"zmax,omitempty"` + + // Zmid + // arrayOK: false + // 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`. + Zmid float64 `json:"zmid,omitempty"` + + // Zmin + // arrayOK: false + // 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. + Zmin float64 `json:"zmin,omitempty"` + + // Zsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `z`. + Zsrc String `json:"zsrc,omitempty"` +} + +// Histogram2dcontourColorbarTickfont Sets the color bar's tick label font +type Histogram2dcontourColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// Histogram2dcontourColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type Histogram2dcontourColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// Histogram2dcontourColorbarTitle +type Histogram2dcontourColorbarTitle struct { + + // Font + // role: Object + Font *Histogram2dcontourColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side Histogram2dcontourColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// Histogram2dcontourColorbar +type Histogram2dcontourColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat Histogram2dcontourColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode Histogram2dcontourColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation Histogram2dcontourColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent Histogram2dcontourColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix Histogram2dcontourColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix Histogram2dcontourColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode Histogram2dcontourColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *Histogram2dcontourColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow Histogram2dcontourColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition Histogram2dcontourColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode Histogram2dcontourColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks Histogram2dcontourColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *Histogram2dcontourColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor Histogram2dcontourColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref Histogram2dcontourColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor Histogram2dcontourColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref Histogram2dcontourColorbarYref `json:"yref,omitempty"` +} + +// Histogram2dcontourContoursLabelfont 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`. +type Histogram2dcontourContoursLabelfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// Histogram2dcontourContours +type Histogram2dcontourContours struct { + + // Coloring + // default: fill + // type: enumerated + // 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. + Coloring Histogram2dcontourContoursColoring `json:"coloring,omitempty"` + + // End + // arrayOK: false + // type: number + // Sets the end contour level value. Must be more than `contours.start` + End float64 `json:"end,omitempty"` + + // Labelfont + // role: Object + Labelfont *Histogram2dcontourContoursLabelfont `json:"labelfont,omitempty"` + + // Labelformat + // arrayOK: false + // 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. + Labelformat String `json:"labelformat,omitempty"` + + // Operation + // default: = + // type: enumerated + // 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. + Operation Histogram2dcontourContoursOperation `json:"operation,omitempty"` + + // Showlabels + // arrayOK: false + // type: boolean + // Determines whether to label the contour lines with their values. + Showlabels Bool `json:"showlabels,omitempty"` + + // Showlines + // arrayOK: false + // type: boolean + // Determines whether or not the contour lines are drawn. Has an effect only if `contours.coloring` is set to *fill*. + Showlines Bool `json:"showlines,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the step between each contour level. Must be positive. + Size float64 `json:"size,omitempty"` + + // Start + // arrayOK: false + // type: number + // Sets the starting contour level value. Must be less than `contours.end` + Start float64 `json:"start,omitempty"` + + // Type + // default: levels + // type: enumerated + // 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. + Type Histogram2dcontourContoursType `json:"type,omitempty"` + + // Value + // arrayOK: false + // type: any + // 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. + Value interface{} `json:"value,omitempty"` +} + +// Histogram2dcontourHoverlabelFont Sets the font used in hover labels. +type Histogram2dcontourHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// Histogram2dcontourHoverlabel +type Histogram2dcontourHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align Histogram2dcontourHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *Histogram2dcontourHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// Histogram2dcontourLegendgrouptitleFont Sets this legend group's title font. +type Histogram2dcontourLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// Histogram2dcontourLegendgrouptitle +type Histogram2dcontourLegendgrouptitle struct { + + // Font + // role: Object + Font *Histogram2dcontourLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// Histogram2dcontourLine +type Histogram2dcontourLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the color of the contour level. Has no effect if `contours.coloring` is set to *lines*. + Color Color `json:"color,omitempty"` + + // Dash + // arrayOK: false + // type: string + // 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*). + Dash String `json:"dash,omitempty"` + + // Smoothing + // arrayOK: false + // type: number + // Sets the amount of smoothing for the contour lines, where *0* corresponds to no smoothing. + Smoothing float64 `json:"smoothing,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the contour line width in (in px) + Width float64 `json:"width,omitempty"` +} + +// Histogram2dcontourMarker +type Histogram2dcontourMarker struct { + + // Color + // arrayOK: false + // type: data_array + // Sets the aggregation data. + Color interface{} `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` +} + +// Histogram2dcontourStream +type Histogram2dcontourStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// Histogram2dcontourTextfont For this trace it only has an effect if `coloring` is set to *heatmap*. Sets the text font. +type Histogram2dcontourTextfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// Histogram2dcontourXbins +type Histogram2dcontourXbins struct { + + // End + // arrayOK: false + // type: any + // 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. + End interface{} `json:"end,omitempty"` + + // Size + // arrayOK: false + // type: any + // 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* for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). + Size interface{} `json:"size,omitempty"` + + // Start + // arrayOK: false + // type: any + // 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. + Start interface{} `json:"start,omitempty"` +} + +// Histogram2dcontourYbins +type Histogram2dcontourYbins struct { + + // End + // arrayOK: false + // type: any + // 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. + End interface{} `json:"end,omitempty"` + + // Size + // arrayOK: false + // type: any + // 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* for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). + Size interface{} `json:"size,omitempty"` + + // Start + // arrayOK: false + // type: any + // 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. + Start interface{} `json:"start,omitempty"` +} + +// Histogram2dcontourColorbarExponentformat 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. +type Histogram2dcontourColorbarExponentformat string + +const ( + Histogram2dcontourColorbarExponentformatNone Histogram2dcontourColorbarExponentformat = "none" + Histogram2dcontourColorbarExponentformatE1 Histogram2dcontourColorbarExponentformat = "e" + Histogram2dcontourColorbarExponentformatE2 Histogram2dcontourColorbarExponentformat = "E" + Histogram2dcontourColorbarExponentformatPower Histogram2dcontourColorbarExponentformat = "power" + Histogram2dcontourColorbarExponentformatSI Histogram2dcontourColorbarExponentformat = "SI" + Histogram2dcontourColorbarExponentformatB Histogram2dcontourColorbarExponentformat = "B" +) + +// Histogram2dcontourColorbarLenmode 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. +type Histogram2dcontourColorbarLenmode string + +const ( + Histogram2dcontourColorbarLenmodeFraction Histogram2dcontourColorbarLenmode = "fraction" + Histogram2dcontourColorbarLenmodePixels Histogram2dcontourColorbarLenmode = "pixels" +) + +// Histogram2dcontourColorbarOrientation Sets the orientation of the colorbar. +type Histogram2dcontourColorbarOrientation string + +const ( + Histogram2dcontourColorbarOrientationH Histogram2dcontourColorbarOrientation = "h" + Histogram2dcontourColorbarOrientationV Histogram2dcontourColorbarOrientation = "v" +) + +// Histogram2dcontourColorbarShowexponent 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. +type Histogram2dcontourColorbarShowexponent string + +const ( + Histogram2dcontourColorbarShowexponentAll Histogram2dcontourColorbarShowexponent = "all" + Histogram2dcontourColorbarShowexponentFirst Histogram2dcontourColorbarShowexponent = "first" + Histogram2dcontourColorbarShowexponentLast Histogram2dcontourColorbarShowexponent = "last" + Histogram2dcontourColorbarShowexponentNone Histogram2dcontourColorbarShowexponent = "none" +) + +// Histogram2dcontourColorbarShowtickprefix 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. +type Histogram2dcontourColorbarShowtickprefix string + +const ( + Histogram2dcontourColorbarShowtickprefixAll Histogram2dcontourColorbarShowtickprefix = "all" + Histogram2dcontourColorbarShowtickprefixFirst Histogram2dcontourColorbarShowtickprefix = "first" + Histogram2dcontourColorbarShowtickprefixLast Histogram2dcontourColorbarShowtickprefix = "last" + Histogram2dcontourColorbarShowtickprefixNone Histogram2dcontourColorbarShowtickprefix = "none" +) + +// Histogram2dcontourColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type Histogram2dcontourColorbarShowticksuffix string + +const ( + Histogram2dcontourColorbarShowticksuffixAll Histogram2dcontourColorbarShowticksuffix = "all" + Histogram2dcontourColorbarShowticksuffixFirst Histogram2dcontourColorbarShowticksuffix = "first" + Histogram2dcontourColorbarShowticksuffixLast Histogram2dcontourColorbarShowticksuffix = "last" + Histogram2dcontourColorbarShowticksuffixNone Histogram2dcontourColorbarShowticksuffix = "none" +) + +// Histogram2dcontourColorbarThicknessmode 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. +type Histogram2dcontourColorbarThicknessmode string + +const ( + Histogram2dcontourColorbarThicknessmodeFraction Histogram2dcontourColorbarThicknessmode = "fraction" + Histogram2dcontourColorbarThicknessmodePixels Histogram2dcontourColorbarThicknessmode = "pixels" +) + +// Histogram2dcontourColorbarTicklabeloverflow 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*. +type Histogram2dcontourColorbarTicklabeloverflow string + +const ( + Histogram2dcontourColorbarTicklabeloverflowAllow Histogram2dcontourColorbarTicklabeloverflow = "allow" + Histogram2dcontourColorbarTicklabeloverflowHidePastDiv Histogram2dcontourColorbarTicklabeloverflow = "hide past div" + Histogram2dcontourColorbarTicklabeloverflowHidePastDomain Histogram2dcontourColorbarTicklabeloverflow = "hide past domain" +) + +// Histogram2dcontourColorbarTicklabelposition 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*. +type Histogram2dcontourColorbarTicklabelposition string + +const ( + Histogram2dcontourColorbarTicklabelpositionOutside Histogram2dcontourColorbarTicklabelposition = "outside" + Histogram2dcontourColorbarTicklabelpositionInside Histogram2dcontourColorbarTicklabelposition = "inside" + Histogram2dcontourColorbarTicklabelpositionOutsideTop Histogram2dcontourColorbarTicklabelposition = "outside top" + Histogram2dcontourColorbarTicklabelpositionInsideTop Histogram2dcontourColorbarTicklabelposition = "inside top" + Histogram2dcontourColorbarTicklabelpositionOutsideLeft Histogram2dcontourColorbarTicklabelposition = "outside left" + Histogram2dcontourColorbarTicklabelpositionInsideLeft Histogram2dcontourColorbarTicklabelposition = "inside left" + Histogram2dcontourColorbarTicklabelpositionOutsideRight Histogram2dcontourColorbarTicklabelposition = "outside right" + Histogram2dcontourColorbarTicklabelpositionInsideRight Histogram2dcontourColorbarTicklabelposition = "inside right" + Histogram2dcontourColorbarTicklabelpositionOutsideBottom Histogram2dcontourColorbarTicklabelposition = "outside bottom" + Histogram2dcontourColorbarTicklabelpositionInsideBottom Histogram2dcontourColorbarTicklabelposition = "inside bottom" +) + +// Histogram2dcontourColorbarTickmode 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). +type Histogram2dcontourColorbarTickmode string + +const ( + Histogram2dcontourColorbarTickmodeAuto Histogram2dcontourColorbarTickmode = "auto" + Histogram2dcontourColorbarTickmodeLinear Histogram2dcontourColorbarTickmode = "linear" + Histogram2dcontourColorbarTickmodeArray Histogram2dcontourColorbarTickmode = "array" +) + +// Histogram2dcontourColorbarTicks 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. +type Histogram2dcontourColorbarTicks string + +const ( + Histogram2dcontourColorbarTicksOutside Histogram2dcontourColorbarTicks = "outside" + Histogram2dcontourColorbarTicksInside Histogram2dcontourColorbarTicks = "inside" + Histogram2dcontourColorbarTicksEmpty Histogram2dcontourColorbarTicks = "" +) + +// Histogram2dcontourColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type Histogram2dcontourColorbarTitleSide string + +const ( + Histogram2dcontourColorbarTitleSideRight Histogram2dcontourColorbarTitleSide = "right" + Histogram2dcontourColorbarTitleSideTop Histogram2dcontourColorbarTitleSide = "top" + Histogram2dcontourColorbarTitleSideBottom Histogram2dcontourColorbarTitleSide = "bottom" +) + +// Histogram2dcontourColorbarXanchor 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*. +type Histogram2dcontourColorbarXanchor string + +const ( + Histogram2dcontourColorbarXanchorLeft Histogram2dcontourColorbarXanchor = "left" + Histogram2dcontourColorbarXanchorCenter Histogram2dcontourColorbarXanchor = "center" + Histogram2dcontourColorbarXanchorRight Histogram2dcontourColorbarXanchor = "right" +) + +// Histogram2dcontourColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type Histogram2dcontourColorbarXref string + +const ( + Histogram2dcontourColorbarXrefContainer Histogram2dcontourColorbarXref = "container" + Histogram2dcontourColorbarXrefPaper Histogram2dcontourColorbarXref = "paper" +) + +// Histogram2dcontourColorbarYanchor 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*. +type Histogram2dcontourColorbarYanchor string + +const ( + Histogram2dcontourColorbarYanchorTop Histogram2dcontourColorbarYanchor = "top" + Histogram2dcontourColorbarYanchorMiddle Histogram2dcontourColorbarYanchor = "middle" + Histogram2dcontourColorbarYanchorBottom Histogram2dcontourColorbarYanchor = "bottom" +) + +// Histogram2dcontourColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type Histogram2dcontourColorbarYref string + +const ( + Histogram2dcontourColorbarYrefContainer Histogram2dcontourColorbarYref = "container" + Histogram2dcontourColorbarYrefPaper Histogram2dcontourColorbarYref = "paper" +) + +// Histogram2dcontourContoursColoring 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. +type Histogram2dcontourContoursColoring string + +const ( + Histogram2dcontourContoursColoringFill Histogram2dcontourContoursColoring = "fill" + Histogram2dcontourContoursColoringHeatmap Histogram2dcontourContoursColoring = "heatmap" + Histogram2dcontourContoursColoringLines Histogram2dcontourContoursColoring = "lines" + Histogram2dcontourContoursColoringNone Histogram2dcontourContoursColoring = "none" +) + +// Histogram2dcontourContoursOperation 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. +type Histogram2dcontourContoursOperation string + +const ( + Histogram2dcontourContoursOperationEq Histogram2dcontourContoursOperation = "=" + Histogram2dcontourContoursOperationLt Histogram2dcontourContoursOperation = "<" + Histogram2dcontourContoursOperationGtEq Histogram2dcontourContoursOperation = ">=" + Histogram2dcontourContoursOperationGt Histogram2dcontourContoursOperation = ">" + Histogram2dcontourContoursOperationLtEq Histogram2dcontourContoursOperation = "<=" + Histogram2dcontourContoursOperationLbracketRbracket Histogram2dcontourContoursOperation = "[]" + Histogram2dcontourContoursOperationLparRpar Histogram2dcontourContoursOperation = "()" + Histogram2dcontourContoursOperationLbracketRpar Histogram2dcontourContoursOperation = "[)" + Histogram2dcontourContoursOperationLparRbracket Histogram2dcontourContoursOperation = "(]" + Histogram2dcontourContoursOperationRbracketLbracket Histogram2dcontourContoursOperation = "][" + Histogram2dcontourContoursOperationRparLpar Histogram2dcontourContoursOperation = ")(" + Histogram2dcontourContoursOperationRbracketLpar Histogram2dcontourContoursOperation = "](" + Histogram2dcontourContoursOperationRparLbracket Histogram2dcontourContoursOperation = ")[" +) + +// Histogram2dcontourContoursType 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. +type Histogram2dcontourContoursType string + +const ( + Histogram2dcontourContoursTypeLevels Histogram2dcontourContoursType = "levels" + Histogram2dcontourContoursTypeConstraint Histogram2dcontourContoursType = "constraint" +) + +// Histogram2dcontourHistfunc 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. +type Histogram2dcontourHistfunc string + +const ( + Histogram2dcontourHistfuncCount Histogram2dcontourHistfunc = "count" + Histogram2dcontourHistfuncSum Histogram2dcontourHistfunc = "sum" + Histogram2dcontourHistfuncAvg Histogram2dcontourHistfunc = "avg" + Histogram2dcontourHistfuncMin Histogram2dcontourHistfunc = "min" + Histogram2dcontourHistfuncMax Histogram2dcontourHistfunc = "max" +) + +// Histogram2dcontourHistnorm 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). +type Histogram2dcontourHistnorm string + +const ( + Histogram2dcontourHistnormEmpty Histogram2dcontourHistnorm = "" + Histogram2dcontourHistnormPercent Histogram2dcontourHistnorm = "percent" + Histogram2dcontourHistnormProbability Histogram2dcontourHistnorm = "probability" + Histogram2dcontourHistnormDensity Histogram2dcontourHistnorm = "density" + Histogram2dcontourHistnormProbabilityDensity Histogram2dcontourHistnorm = "probability density" +) + +// Histogram2dcontourHoverlabelAlign 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 +type Histogram2dcontourHoverlabelAlign string + +const ( + Histogram2dcontourHoverlabelAlignLeft Histogram2dcontourHoverlabelAlign = "left" + Histogram2dcontourHoverlabelAlignRight Histogram2dcontourHoverlabelAlign = "right" + Histogram2dcontourHoverlabelAlignAuto Histogram2dcontourHoverlabelAlign = "auto" +) + +// Histogram2dcontourVisible 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). +type Histogram2dcontourVisible interface{} + +var ( + Histogram2dcontourVisibleTrue Histogram2dcontourVisible = true + Histogram2dcontourVisibleFalse Histogram2dcontourVisible = false + Histogram2dcontourVisibleLegendonly Histogram2dcontourVisible = "legendonly" +) + +// Histogram2dcontourXcalendar Sets the calendar system to use with `x` date data. +type Histogram2dcontourXcalendar string + +const ( + Histogram2dcontourXcalendarChinese Histogram2dcontourXcalendar = "chinese" + Histogram2dcontourXcalendarCoptic Histogram2dcontourXcalendar = "coptic" + Histogram2dcontourXcalendarDiscworld Histogram2dcontourXcalendar = "discworld" + Histogram2dcontourXcalendarEthiopian Histogram2dcontourXcalendar = "ethiopian" + Histogram2dcontourXcalendarGregorian Histogram2dcontourXcalendar = "gregorian" + Histogram2dcontourXcalendarHebrew Histogram2dcontourXcalendar = "hebrew" + Histogram2dcontourXcalendarIslamic Histogram2dcontourXcalendar = "islamic" + Histogram2dcontourXcalendarJalali Histogram2dcontourXcalendar = "jalali" + Histogram2dcontourXcalendarJulian Histogram2dcontourXcalendar = "julian" + Histogram2dcontourXcalendarMayan Histogram2dcontourXcalendar = "mayan" + Histogram2dcontourXcalendarNanakshahi Histogram2dcontourXcalendar = "nanakshahi" + Histogram2dcontourXcalendarNepali Histogram2dcontourXcalendar = "nepali" + Histogram2dcontourXcalendarPersian Histogram2dcontourXcalendar = "persian" + Histogram2dcontourXcalendarTaiwan Histogram2dcontourXcalendar = "taiwan" + Histogram2dcontourXcalendarThai Histogram2dcontourXcalendar = "thai" + Histogram2dcontourXcalendarUmmalqura Histogram2dcontourXcalendar = "ummalqura" +) + +// Histogram2dcontourYcalendar Sets the calendar system to use with `y` date data. +type Histogram2dcontourYcalendar string + +const ( + Histogram2dcontourYcalendarChinese Histogram2dcontourYcalendar = "chinese" + Histogram2dcontourYcalendarCoptic Histogram2dcontourYcalendar = "coptic" + Histogram2dcontourYcalendarDiscworld Histogram2dcontourYcalendar = "discworld" + Histogram2dcontourYcalendarEthiopian Histogram2dcontourYcalendar = "ethiopian" + Histogram2dcontourYcalendarGregorian Histogram2dcontourYcalendar = "gregorian" + Histogram2dcontourYcalendarHebrew Histogram2dcontourYcalendar = "hebrew" + Histogram2dcontourYcalendarIslamic Histogram2dcontourYcalendar = "islamic" + Histogram2dcontourYcalendarJalali Histogram2dcontourYcalendar = "jalali" + Histogram2dcontourYcalendarJulian Histogram2dcontourYcalendar = "julian" + Histogram2dcontourYcalendarMayan Histogram2dcontourYcalendar = "mayan" + Histogram2dcontourYcalendarNanakshahi Histogram2dcontourYcalendar = "nanakshahi" + Histogram2dcontourYcalendarNepali Histogram2dcontourYcalendar = "nepali" + Histogram2dcontourYcalendarPersian Histogram2dcontourYcalendar = "persian" + Histogram2dcontourYcalendarTaiwan Histogram2dcontourYcalendar = "taiwan" + Histogram2dcontourYcalendarThai Histogram2dcontourYcalendar = "thai" + Histogram2dcontourYcalendarUmmalqura Histogram2dcontourYcalendar = "ummalqura" +) + +// Histogram2dcontourHoverinfo 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. +type Histogram2dcontourHoverinfo string + +const ( + // Flags + Histogram2dcontourHoverinfoX Histogram2dcontourHoverinfo = "x" + Histogram2dcontourHoverinfoY Histogram2dcontourHoverinfo = "y" + Histogram2dcontourHoverinfoZ Histogram2dcontourHoverinfo = "z" + Histogram2dcontourHoverinfoText Histogram2dcontourHoverinfo = "text" + Histogram2dcontourHoverinfoName Histogram2dcontourHoverinfo = "name" + + // Extra + Histogram2dcontourHoverinfoAll Histogram2dcontourHoverinfo = "all" + Histogram2dcontourHoverinfoNone Histogram2dcontourHoverinfo = "none" + Histogram2dcontourHoverinfoSkip Histogram2dcontourHoverinfo = "skip" +) diff --git a/generated/v2.29.1/graph_objects/histogram_gen.go b/generated/v2.29.1/graph_objects/histogram_gen.go new file mode 100644 index 0000000..19a21f6 --- /dev/null +++ b/generated/v2.29.1/graph_objects/histogram_gen.go @@ -0,0 +1,1876 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeHistogram TraceType = "histogram" + +func (trace *Histogram) GetType() TraceType { + return TraceTypeHistogram +} + +// Histogram 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. +type Histogram struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Alignmentgroup + // arrayOK: false + // 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. + Alignmentgroup String `json:"alignmentgroup,omitempty"` + + // Autobinx + // arrayOK: false + // 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. + Autobinx Bool `json:"autobinx,omitempty"` + + // Autobiny + // arrayOK: false + // 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. + Autobiny Bool `json:"autobiny,omitempty"` + + // Bingroup + // arrayOK: false + // 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` + Bingroup String `json:"bingroup,omitempty"` + + // Cliponaxis + // arrayOK: false + // type: boolean + // 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*. + Cliponaxis Bool `json:"cliponaxis,omitempty"` + + // Constraintext + // default: both + // type: enumerated + // Constrain the size of text inside or outside a bar to be no larger than the bar itself. + Constraintext HistogramConstraintext `json:"constraintext,omitempty"` + + // Cumulative + // role: Object + Cumulative *HistogramCumulative `json:"cumulative,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // ErrorX + // role: Object + ErrorX *HistogramErrorX `json:"error_x,omitempty"` + + // ErrorY + // role: Object + ErrorY *HistogramErrorY `json:"error_y,omitempty"` + + // Histfunc + // default: count + // type: enumerated + // 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. + Histfunc HistogramHistfunc `json:"histfunc,omitempty"` + + // Histnorm + // default: + // type: enumerated + // 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). + Histnorm HistogramHistnorm `json:"histnorm,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo HistogramHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *HistogramHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Finally, the template string has access to variable `binNumber` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // Same as `text`. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Insidetextanchor + // default: end + // type: enumerated + // Determines if texts are kept at center or start/end points in `textposition` *inside* mode. + Insidetextanchor HistogramInsidetextanchor `json:"insidetextanchor,omitempty"` + + // Insidetextfont + // role: Object + Insidetextfont *HistogramInsidetextfont `json:"insidetextfont,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *HistogramLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Marker + // role: Object + Marker *HistogramMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Nbinsx + // arrayOK: false + // 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. + Nbinsx int64 `json:"nbinsx,omitempty"` + + // Nbinsy + // arrayOK: false + // 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. + Nbinsy int64 `json:"nbinsy,omitempty"` + + // Offsetgroup + // arrayOK: false + // 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. + Offsetgroup String `json:"offsetgroup,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Orientation + // default: %!s() + // type: enumerated + // Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal). + Orientation HistogramOrientation `json:"orientation,omitempty"` + + // Outsidetextfont + // role: Object + Outsidetextfont *HistogramOutsidetextfont `json:"outsidetextfont,omitempty"` + + // Selected + // role: Object + Selected *HistogramSelected `json:"selected,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Stream + // role: Object + Stream *HistogramStream `json:"stream,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textangle + // arrayOK: false + // 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. + Textangle float64 `json:"textangle,omitempty"` + + // Textfont + // role: Object + Textfont *HistogramTextfont `json:"textfont,omitempty"` + + // Textposition + // default: auto + // type: enumerated + // 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. + Textposition HistogramTextposition `json:"textposition,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: false + // 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`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Unselected + // role: Object + Unselected *HistogramUnselected `json:"unselected,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible HistogramVisible `json:"visible,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the sample data to be binned on the x axis. + X interface{} `json:"x,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Xbins + // role: Object + Xbins *HistogramXbins `json:"xbins,omitempty"` + + // Xcalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `x` date data. + Xcalendar HistogramXcalendar `json:"xcalendar,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the sample data to be binned on the y axis. + Y interface{} `json:"y,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` + + // Ybins + // role: Object + Ybins *HistogramYbins `json:"ybins,omitempty"` + + // Ycalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `y` date data. + Ycalendar HistogramYcalendar `json:"ycalendar,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` +} + +// HistogramCumulative +type HistogramCumulative struct { + + // Currentbin + // default: include + // type: enumerated + // 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. + Currentbin HistogramCumulativeCurrentbin `json:"currentbin,omitempty"` + + // Direction + // default: increasing + // type: enumerated + // 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. + Direction HistogramCumulativeDirection `json:"direction,omitempty"` + + // Enabled + // arrayOK: false + // 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. + Enabled Bool `json:"enabled,omitempty"` +} + +// HistogramErrorX +type HistogramErrorX struct { + + // Array + // arrayOK: false + // type: data_array + // Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data. + Array interface{} `json:"array,omitempty"` + + // Arrayminus + // arrayOK: false + // 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. + Arrayminus interface{} `json:"arrayminus,omitempty"` + + // Arrayminussrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `arrayminus`. + Arrayminussrc String `json:"arrayminussrc,omitempty"` + + // Arraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `array`. + Arraysrc String `json:"arraysrc,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the stoke color of the error bars. + Color Color `json:"color,omitempty"` + + // CopyYstyle + // arrayOK: false + // type: boolean + // + CopyYstyle Bool `json:"copy_ystyle,omitempty"` + + // Symmetric + // arrayOK: false + // 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. + Symmetric Bool `json:"symmetric,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness (in px) of the error bars. + Thickness float64 `json:"thickness,omitempty"` + + // Traceref + // arrayOK: false + // type: integer + // + Traceref int64 `json:"traceref,omitempty"` + + // Tracerefminus + // arrayOK: false + // type: integer + // + Tracerefminus int64 `json:"tracerefminus,omitempty"` + + // Type + // default: %!s() + // type: enumerated + // 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`. + Type HistogramErrorXType `json:"type,omitempty"` + + // Value + // arrayOK: false + // type: number + // 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. + Value float64 `json:"value,omitempty"` + + // Valueminus + // arrayOK: false + // type: number + // 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 + Valueminus float64 `json:"valueminus,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Determines whether or not this set of error bars is visible. + Visible Bool `json:"visible,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of the cross-bar at both ends of the error bars. + Width float64 `json:"width,omitempty"` +} + +// HistogramErrorY +type HistogramErrorY struct { + + // Array + // arrayOK: false + // type: data_array + // Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data. + Array interface{} `json:"array,omitempty"` + + // Arrayminus + // arrayOK: false + // 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. + Arrayminus interface{} `json:"arrayminus,omitempty"` + + // Arrayminussrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `arrayminus`. + Arrayminussrc String `json:"arrayminussrc,omitempty"` + + // Arraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `array`. + Arraysrc String `json:"arraysrc,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the stoke color of the error bars. + Color Color `json:"color,omitempty"` + + // Symmetric + // arrayOK: false + // 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. + Symmetric Bool `json:"symmetric,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness (in px) of the error bars. + Thickness float64 `json:"thickness,omitempty"` + + // Traceref + // arrayOK: false + // type: integer + // + Traceref int64 `json:"traceref,omitempty"` + + // Tracerefminus + // arrayOK: false + // type: integer + // + Tracerefminus int64 `json:"tracerefminus,omitempty"` + + // Type + // default: %!s() + // type: enumerated + // 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`. + Type HistogramErrorYType `json:"type,omitempty"` + + // Value + // arrayOK: false + // type: number + // 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. + Value float64 `json:"value,omitempty"` + + // Valueminus + // arrayOK: false + // type: number + // 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 + Valueminus float64 `json:"valueminus,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Determines whether or not this set of error bars is visible. + Visible Bool `json:"visible,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of the cross-bar at both ends of the error bars. + Width float64 `json:"width,omitempty"` +} + +// HistogramHoverlabelFont Sets the font used in hover labels. +type HistogramHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// HistogramHoverlabel +type HistogramHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align HistogramHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *HistogramHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// HistogramInsidetextfont Sets the font used for `text` lying inside the bar. +type HistogramInsidetextfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// HistogramLegendgrouptitleFont Sets this legend group's title font. +type HistogramLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// HistogramLegendgrouptitle +type HistogramLegendgrouptitle struct { + + // Font + // role: Object + Font *HistogramLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// HistogramMarkerColorbarTickfont Sets the color bar's tick label font +type HistogramMarkerColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// HistogramMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type HistogramMarkerColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// HistogramMarkerColorbarTitle +type HistogramMarkerColorbarTitle struct { + + // Font + // role: Object + Font *HistogramMarkerColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side HistogramMarkerColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// HistogramMarkerColorbar +type HistogramMarkerColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat HistogramMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode HistogramMarkerColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation HistogramMarkerColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent HistogramMarkerColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix HistogramMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix HistogramMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode HistogramMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *HistogramMarkerColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow HistogramMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition HistogramMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode HistogramMarkerColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks HistogramMarkerColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *HistogramMarkerColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor HistogramMarkerColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref HistogramMarkerColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor HistogramMarkerColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref HistogramMarkerColorbarYref `json:"yref,omitempty"` +} + +// HistogramMarkerLine +type HistogramMarkerLine struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the lines bounding the marker points. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// HistogramMarkerPattern Sets the pattern within the marker. +type HistogramMarkerPattern struct { + + // Bgcolor + // arrayOK: true + // type: color + // 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. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Fgcolor + // arrayOK: true + // type: color + // 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`. + Fgcolor Color `json:"fgcolor,omitempty"` + + // Fgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `fgcolor`. + Fgcolorsrc String `json:"fgcolorsrc,omitempty"` + + // Fgopacity + // arrayOK: false + // type: number + // Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1. + Fgopacity float64 `json:"fgopacity,omitempty"` + + // Fillmode + // default: replace + // type: enumerated + // Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. + Fillmode HistogramMarkerPatternFillmode `json:"fillmode,omitempty"` + + // Shape + // default: + // type: enumerated + // Sets the shape of the pattern fill. By default, no pattern is used for filling the area. + Shape HistogramMarkerPatternShape `json:"shape,omitempty"` + + // Shapesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `shape`. + Shapesrc String `json:"shapesrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Solidity + // arrayOK: true + // type: number + // 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. + Solidity float64 `json:"solidity,omitempty"` + + // Soliditysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `solidity`. + Soliditysrc String `json:"soliditysrc,omitempty"` +} + +// HistogramMarker +type HistogramMarker struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *HistogramMarkerColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Cornerradius + // arrayOK: false + // type: any + // 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. + Cornerradius interface{} `json:"cornerradius,omitempty"` + + // Line + // role: Object + Line *HistogramMarkerLine `json:"line,omitempty"` + + // Opacity + // arrayOK: true + // type: number + // Sets the opacity of the bars. + Opacity float64 `json:"opacity,omitempty"` + + // Opacitysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `opacity`. + Opacitysrc String `json:"opacitysrc,omitempty"` + + // Pattern + // role: Object + Pattern *HistogramMarkerPattern `json:"pattern,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` +} + +// HistogramOutsidetextfont Sets the font used for `text` lying outside the bar. +type HistogramOutsidetextfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// HistogramSelectedMarker +type HistogramSelectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of selected points. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of selected points. + Opacity float64 `json:"opacity,omitempty"` +} + +// HistogramSelectedTextfont +type HistogramSelectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of selected points. + Color Color `json:"color,omitempty"` +} + +// HistogramSelected +type HistogramSelected struct { + + // Marker + // role: Object + Marker *HistogramSelectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *HistogramSelectedTextfont `json:"textfont,omitempty"` +} + +// HistogramStream +type HistogramStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// HistogramTextfont Sets the text font. +type HistogramTextfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// HistogramUnselectedMarker +type HistogramUnselectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of unselected points, applied only when a selection exists. + Opacity float64 `json:"opacity,omitempty"` +} + +// HistogramUnselectedTextfont +type HistogramUnselectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` +} + +// HistogramUnselected +type HistogramUnselected struct { + + // Marker + // role: Object + Marker *HistogramUnselectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *HistogramUnselectedTextfont `json:"textfont,omitempty"` +} + +// HistogramXbins +type HistogramXbins struct { + + // End + // arrayOK: false + // type: any + // 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. + End interface{} `json:"end,omitempty"` + + // Size + // arrayOK: false + // type: any + // 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* 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. + Size interface{} `json:"size,omitempty"` + + // Start + // arrayOK: false + // type: any + // 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. + Start interface{} `json:"start,omitempty"` +} + +// HistogramYbins +type HistogramYbins struct { + + // End + // arrayOK: false + // type: any + // 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. + End interface{} `json:"end,omitempty"` + + // Size + // arrayOK: false + // type: any + // 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* 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. + Size interface{} `json:"size,omitempty"` + + // Start + // arrayOK: false + // type: any + // 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. + Start interface{} `json:"start,omitempty"` +} + +// HistogramConstraintext Constrain the size of text inside or outside a bar to be no larger than the bar itself. +type HistogramConstraintext string + +const ( + HistogramConstraintextInside HistogramConstraintext = "inside" + HistogramConstraintextOutside HistogramConstraintext = "outside" + HistogramConstraintextBoth HistogramConstraintext = "both" + HistogramConstraintextNone HistogramConstraintext = "none" +) + +// HistogramCumulativeCurrentbin 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. +type HistogramCumulativeCurrentbin string + +const ( + HistogramCumulativeCurrentbinInclude HistogramCumulativeCurrentbin = "include" + HistogramCumulativeCurrentbinExclude HistogramCumulativeCurrentbin = "exclude" + HistogramCumulativeCurrentbinHalf HistogramCumulativeCurrentbin = "half" +) + +// HistogramCumulativeDirection 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. +type HistogramCumulativeDirection string + +const ( + HistogramCumulativeDirectionIncreasing HistogramCumulativeDirection = "increasing" + HistogramCumulativeDirectionDecreasing HistogramCumulativeDirection = "decreasing" +) + +// HistogramErrorXType 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`. +type HistogramErrorXType string + +const ( + HistogramErrorXTypePercent HistogramErrorXType = "percent" + HistogramErrorXTypeConstant HistogramErrorXType = "constant" + HistogramErrorXTypeSqrt HistogramErrorXType = "sqrt" + HistogramErrorXTypeData HistogramErrorXType = "data" +) + +// HistogramErrorYType 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`. +type HistogramErrorYType string + +const ( + HistogramErrorYTypePercent HistogramErrorYType = "percent" + HistogramErrorYTypeConstant HistogramErrorYType = "constant" + HistogramErrorYTypeSqrt HistogramErrorYType = "sqrt" + HistogramErrorYTypeData HistogramErrorYType = "data" +) + +// HistogramHistfunc 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. +type HistogramHistfunc string + +const ( + HistogramHistfuncCount HistogramHistfunc = "count" + HistogramHistfuncSum HistogramHistfunc = "sum" + HistogramHistfuncAvg HistogramHistfunc = "avg" + HistogramHistfuncMin HistogramHistfunc = "min" + HistogramHistfuncMax HistogramHistfunc = "max" +) + +// HistogramHistnorm 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). +type HistogramHistnorm string + +const ( + HistogramHistnormEmpty HistogramHistnorm = "" + HistogramHistnormPercent HistogramHistnorm = "percent" + HistogramHistnormProbability HistogramHistnorm = "probability" + HistogramHistnormDensity HistogramHistnorm = "density" + HistogramHistnormProbabilityDensity HistogramHistnorm = "probability density" +) + +// HistogramHoverlabelAlign 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 +type HistogramHoverlabelAlign string + +const ( + HistogramHoverlabelAlignLeft HistogramHoverlabelAlign = "left" + HistogramHoverlabelAlignRight HistogramHoverlabelAlign = "right" + HistogramHoverlabelAlignAuto HistogramHoverlabelAlign = "auto" +) + +// HistogramInsidetextanchor Determines if texts are kept at center or start/end points in `textposition` *inside* mode. +type HistogramInsidetextanchor string + +const ( + HistogramInsidetextanchorEnd HistogramInsidetextanchor = "end" + HistogramInsidetextanchorMiddle HistogramInsidetextanchor = "middle" + HistogramInsidetextanchorStart HistogramInsidetextanchor = "start" +) + +// HistogramMarkerColorbarExponentformat 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. +type HistogramMarkerColorbarExponentformat string + +const ( + HistogramMarkerColorbarExponentformatNone HistogramMarkerColorbarExponentformat = "none" + HistogramMarkerColorbarExponentformatE1 HistogramMarkerColorbarExponentformat = "e" + HistogramMarkerColorbarExponentformatE2 HistogramMarkerColorbarExponentformat = "E" + HistogramMarkerColorbarExponentformatPower HistogramMarkerColorbarExponentformat = "power" + HistogramMarkerColorbarExponentformatSI HistogramMarkerColorbarExponentformat = "SI" + HistogramMarkerColorbarExponentformatB HistogramMarkerColorbarExponentformat = "B" +) + +// HistogramMarkerColorbarLenmode 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. +type HistogramMarkerColorbarLenmode string + +const ( + HistogramMarkerColorbarLenmodeFraction HistogramMarkerColorbarLenmode = "fraction" + HistogramMarkerColorbarLenmodePixels HistogramMarkerColorbarLenmode = "pixels" +) + +// HistogramMarkerColorbarOrientation Sets the orientation of the colorbar. +type HistogramMarkerColorbarOrientation string + +const ( + HistogramMarkerColorbarOrientationH HistogramMarkerColorbarOrientation = "h" + HistogramMarkerColorbarOrientationV HistogramMarkerColorbarOrientation = "v" +) + +// HistogramMarkerColorbarShowexponent 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. +type HistogramMarkerColorbarShowexponent string + +const ( + HistogramMarkerColorbarShowexponentAll HistogramMarkerColorbarShowexponent = "all" + HistogramMarkerColorbarShowexponentFirst HistogramMarkerColorbarShowexponent = "first" + HistogramMarkerColorbarShowexponentLast HistogramMarkerColorbarShowexponent = "last" + HistogramMarkerColorbarShowexponentNone HistogramMarkerColorbarShowexponent = "none" +) + +// HistogramMarkerColorbarShowtickprefix 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. +type HistogramMarkerColorbarShowtickprefix string + +const ( + HistogramMarkerColorbarShowtickprefixAll HistogramMarkerColorbarShowtickprefix = "all" + HistogramMarkerColorbarShowtickprefixFirst HistogramMarkerColorbarShowtickprefix = "first" + HistogramMarkerColorbarShowtickprefixLast HistogramMarkerColorbarShowtickprefix = "last" + HistogramMarkerColorbarShowtickprefixNone HistogramMarkerColorbarShowtickprefix = "none" +) + +// HistogramMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type HistogramMarkerColorbarShowticksuffix string + +const ( + HistogramMarkerColorbarShowticksuffixAll HistogramMarkerColorbarShowticksuffix = "all" + HistogramMarkerColorbarShowticksuffixFirst HistogramMarkerColorbarShowticksuffix = "first" + HistogramMarkerColorbarShowticksuffixLast HistogramMarkerColorbarShowticksuffix = "last" + HistogramMarkerColorbarShowticksuffixNone HistogramMarkerColorbarShowticksuffix = "none" +) + +// HistogramMarkerColorbarThicknessmode 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. +type HistogramMarkerColorbarThicknessmode string + +const ( + HistogramMarkerColorbarThicknessmodeFraction HistogramMarkerColorbarThicknessmode = "fraction" + HistogramMarkerColorbarThicknessmodePixels HistogramMarkerColorbarThicknessmode = "pixels" +) + +// HistogramMarkerColorbarTicklabeloverflow 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*. +type HistogramMarkerColorbarTicklabeloverflow string + +const ( + HistogramMarkerColorbarTicklabeloverflowAllow HistogramMarkerColorbarTicklabeloverflow = "allow" + HistogramMarkerColorbarTicklabeloverflowHidePastDiv HistogramMarkerColorbarTicklabeloverflow = "hide past div" + HistogramMarkerColorbarTicklabeloverflowHidePastDomain HistogramMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// HistogramMarkerColorbarTicklabelposition 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*. +type HistogramMarkerColorbarTicklabelposition string + +const ( + HistogramMarkerColorbarTicklabelpositionOutside HistogramMarkerColorbarTicklabelposition = "outside" + HistogramMarkerColorbarTicklabelpositionInside HistogramMarkerColorbarTicklabelposition = "inside" + HistogramMarkerColorbarTicklabelpositionOutsideTop HistogramMarkerColorbarTicklabelposition = "outside top" + HistogramMarkerColorbarTicklabelpositionInsideTop HistogramMarkerColorbarTicklabelposition = "inside top" + HistogramMarkerColorbarTicklabelpositionOutsideLeft HistogramMarkerColorbarTicklabelposition = "outside left" + HistogramMarkerColorbarTicklabelpositionInsideLeft HistogramMarkerColorbarTicklabelposition = "inside left" + HistogramMarkerColorbarTicklabelpositionOutsideRight HistogramMarkerColorbarTicklabelposition = "outside right" + HistogramMarkerColorbarTicklabelpositionInsideRight HistogramMarkerColorbarTicklabelposition = "inside right" + HistogramMarkerColorbarTicklabelpositionOutsideBottom HistogramMarkerColorbarTicklabelposition = "outside bottom" + HistogramMarkerColorbarTicklabelpositionInsideBottom HistogramMarkerColorbarTicklabelposition = "inside bottom" +) + +// HistogramMarkerColorbarTickmode 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). +type HistogramMarkerColorbarTickmode string + +const ( + HistogramMarkerColorbarTickmodeAuto HistogramMarkerColorbarTickmode = "auto" + HistogramMarkerColorbarTickmodeLinear HistogramMarkerColorbarTickmode = "linear" + HistogramMarkerColorbarTickmodeArray HistogramMarkerColorbarTickmode = "array" +) + +// HistogramMarkerColorbarTicks 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. +type HistogramMarkerColorbarTicks string + +const ( + HistogramMarkerColorbarTicksOutside HistogramMarkerColorbarTicks = "outside" + HistogramMarkerColorbarTicksInside HistogramMarkerColorbarTicks = "inside" + HistogramMarkerColorbarTicksEmpty HistogramMarkerColorbarTicks = "" +) + +// HistogramMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type HistogramMarkerColorbarTitleSide string + +const ( + HistogramMarkerColorbarTitleSideRight HistogramMarkerColorbarTitleSide = "right" + HistogramMarkerColorbarTitleSideTop HistogramMarkerColorbarTitleSide = "top" + HistogramMarkerColorbarTitleSideBottom HistogramMarkerColorbarTitleSide = "bottom" +) + +// HistogramMarkerColorbarXanchor 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*. +type HistogramMarkerColorbarXanchor string + +const ( + HistogramMarkerColorbarXanchorLeft HistogramMarkerColorbarXanchor = "left" + HistogramMarkerColorbarXanchorCenter HistogramMarkerColorbarXanchor = "center" + HistogramMarkerColorbarXanchorRight HistogramMarkerColorbarXanchor = "right" +) + +// HistogramMarkerColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type HistogramMarkerColorbarXref string + +const ( + HistogramMarkerColorbarXrefContainer HistogramMarkerColorbarXref = "container" + HistogramMarkerColorbarXrefPaper HistogramMarkerColorbarXref = "paper" +) + +// HistogramMarkerColorbarYanchor 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*. +type HistogramMarkerColorbarYanchor string + +const ( + HistogramMarkerColorbarYanchorTop HistogramMarkerColorbarYanchor = "top" + HistogramMarkerColorbarYanchorMiddle HistogramMarkerColorbarYanchor = "middle" + HistogramMarkerColorbarYanchorBottom HistogramMarkerColorbarYanchor = "bottom" +) + +// HistogramMarkerColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type HistogramMarkerColorbarYref string + +const ( + HistogramMarkerColorbarYrefContainer HistogramMarkerColorbarYref = "container" + HistogramMarkerColorbarYrefPaper HistogramMarkerColorbarYref = "paper" +) + +// HistogramMarkerPatternFillmode Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. +type HistogramMarkerPatternFillmode string + +const ( + HistogramMarkerPatternFillmodeReplace HistogramMarkerPatternFillmode = "replace" + HistogramMarkerPatternFillmodeOverlay HistogramMarkerPatternFillmode = "overlay" +) + +// HistogramMarkerPatternShape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. +type HistogramMarkerPatternShape string + +const ( + HistogramMarkerPatternShapeEmpty HistogramMarkerPatternShape = "" + HistogramMarkerPatternShapeSlash HistogramMarkerPatternShape = "/" + HistogramMarkerPatternShapeDoublebackslash HistogramMarkerPatternShape = "\\" + HistogramMarkerPatternShapeX HistogramMarkerPatternShape = "x" + HistogramMarkerPatternShapeHyphenHyphen HistogramMarkerPatternShape = "-" + HistogramMarkerPatternShapeOr HistogramMarkerPatternShape = "|" + HistogramMarkerPatternShapePlus HistogramMarkerPatternShape = "+" + HistogramMarkerPatternShapeDot HistogramMarkerPatternShape = "." +) + +// HistogramOrientation Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal). +type HistogramOrientation string + +const ( + HistogramOrientationV HistogramOrientation = "v" + HistogramOrientationH HistogramOrientation = "h" +) + +// HistogramTextposition 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. +type HistogramTextposition string + +const ( + HistogramTextpositionInside HistogramTextposition = "inside" + HistogramTextpositionOutside HistogramTextposition = "outside" + HistogramTextpositionAuto HistogramTextposition = "auto" + HistogramTextpositionNone HistogramTextposition = "none" +) + +// HistogramVisible 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). +type HistogramVisible interface{} + +var ( + HistogramVisibleTrue HistogramVisible = true + HistogramVisibleFalse HistogramVisible = false + HistogramVisibleLegendonly HistogramVisible = "legendonly" +) + +// HistogramXcalendar Sets the calendar system to use with `x` date data. +type HistogramXcalendar string + +const ( + HistogramXcalendarChinese HistogramXcalendar = "chinese" + HistogramXcalendarCoptic HistogramXcalendar = "coptic" + HistogramXcalendarDiscworld HistogramXcalendar = "discworld" + HistogramXcalendarEthiopian HistogramXcalendar = "ethiopian" + HistogramXcalendarGregorian HistogramXcalendar = "gregorian" + HistogramXcalendarHebrew HistogramXcalendar = "hebrew" + HistogramXcalendarIslamic HistogramXcalendar = "islamic" + HistogramXcalendarJalali HistogramXcalendar = "jalali" + HistogramXcalendarJulian HistogramXcalendar = "julian" + HistogramXcalendarMayan HistogramXcalendar = "mayan" + HistogramXcalendarNanakshahi HistogramXcalendar = "nanakshahi" + HistogramXcalendarNepali HistogramXcalendar = "nepali" + HistogramXcalendarPersian HistogramXcalendar = "persian" + HistogramXcalendarTaiwan HistogramXcalendar = "taiwan" + HistogramXcalendarThai HistogramXcalendar = "thai" + HistogramXcalendarUmmalqura HistogramXcalendar = "ummalqura" +) + +// HistogramYcalendar Sets the calendar system to use with `y` date data. +type HistogramYcalendar string + +const ( + HistogramYcalendarChinese HistogramYcalendar = "chinese" + HistogramYcalendarCoptic HistogramYcalendar = "coptic" + HistogramYcalendarDiscworld HistogramYcalendar = "discworld" + HistogramYcalendarEthiopian HistogramYcalendar = "ethiopian" + HistogramYcalendarGregorian HistogramYcalendar = "gregorian" + HistogramYcalendarHebrew HistogramYcalendar = "hebrew" + HistogramYcalendarIslamic HistogramYcalendar = "islamic" + HistogramYcalendarJalali HistogramYcalendar = "jalali" + HistogramYcalendarJulian HistogramYcalendar = "julian" + HistogramYcalendarMayan HistogramYcalendar = "mayan" + HistogramYcalendarNanakshahi HistogramYcalendar = "nanakshahi" + HistogramYcalendarNepali HistogramYcalendar = "nepali" + HistogramYcalendarPersian HistogramYcalendar = "persian" + HistogramYcalendarTaiwan HistogramYcalendar = "taiwan" + HistogramYcalendarThai HistogramYcalendar = "thai" + HistogramYcalendarUmmalqura HistogramYcalendar = "ummalqura" +) + +// HistogramHoverinfo 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. +type HistogramHoverinfo string + +const ( + // Flags + HistogramHoverinfoX HistogramHoverinfo = "x" + HistogramHoverinfoY HistogramHoverinfo = "y" + HistogramHoverinfoZ HistogramHoverinfo = "z" + HistogramHoverinfoText HistogramHoverinfo = "text" + HistogramHoverinfoName HistogramHoverinfo = "name" + + // Extra + HistogramHoverinfoAll HistogramHoverinfo = "all" + HistogramHoverinfoNone HistogramHoverinfo = "none" + HistogramHoverinfoSkip HistogramHoverinfo = "skip" +) diff --git a/generated/v2.29.1/graph_objects/icicle_gen.go b/generated/v2.29.1/graph_objects/icicle_gen.go new file mode 100644 index 0000000..6fe94b9 --- /dev/null +++ b/generated/v2.29.1/graph_objects/icicle_gen.go @@ -0,0 +1,1544 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeIcicle TraceType = "icicle" + +func (trace *Icicle) GetType() TraceType { + return TraceTypeIcicle +} + +// Icicle 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*. +type Icicle struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Branchvalues + // default: remainder + // type: enumerated + // 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. + Branchvalues IcicleBranchvalues `json:"branchvalues,omitempty"` + + // Count + // default: leaves + // type: flaglist + // Determines default for `values` when it is not provided, by inferring a 1 for each of the *leaves* and/or *branches*, otherwise 0. + Count IcicleCount `json:"count,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Domain + // role: Object + Domain *IcicleDomain `json:"domain,omitempty"` + + // Hoverinfo + // default: label+text+value+name + // type: flaglist + // 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. + Hoverinfo IcicleHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *IcicleHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Finally, the template string has access to variables `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry` and `percentParent`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Insidetextfont + // role: Object + Insidetextfont *IcicleInsidetextfont `json:"insidetextfont,omitempty"` + + // Labels + // arrayOK: false + // type: data_array + // Sets the labels of each of the sectors. + Labels interface{} `json:"labels,omitempty"` + + // Labelssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `labels`. + Labelssrc String `json:"labelssrc,omitempty"` + + // Leaf + // role: Object + Leaf *IcicleLeaf `json:"leaf,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *IcicleLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Level + // arrayOK: false + // type: any + // 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`. + Level interface{} `json:"level,omitempty"` + + // Marker + // role: Object + Marker *IcicleMarker `json:"marker,omitempty"` + + // Maxdepth + // arrayOK: false + // type: integer + // Sets the number of rendered sectors from any given `level`. Set `maxdepth` to *-1* to render all the levels in the hierarchy. + Maxdepth int64 `json:"maxdepth,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Outsidetextfont + // role: Object + Outsidetextfont *IcicleOutsidetextfont `json:"outsidetextfont,omitempty"` + + // Parents + // arrayOK: false + // 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. + Parents interface{} `json:"parents,omitempty"` + + // Parentssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `parents`. + Parentssrc String `json:"parentssrc,omitempty"` + + // Pathbar + // role: Object + Pathbar *IciclePathbar `json:"pathbar,omitempty"` + + // Root + // role: Object + Root *IcicleRoot `json:"root,omitempty"` + + // Sort + // arrayOK: false + // type: boolean + // Determines whether or not the sectors are reordered from largest to smallest. + Sort Bool `json:"sort,omitempty"` + + // Stream + // role: Object + Stream *IcicleStream `json:"stream,omitempty"` + + // Text + // arrayOK: false + // 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. + Text interface{} `json:"text,omitempty"` + + // Textfont + // role: Object + Textfont *IcicleTextfont `json:"textfont,omitempty"` + + // Textinfo + // default: %!s() + // type: flaglist + // Determines which trace information appear on the graph. + Textinfo IcicleTextinfo `json:"textinfo,omitempty"` + + // Textposition + // default: top left + // type: enumerated + // Sets the positions of the `text` elements. + Textposition IcicleTextposition `json:"textposition,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: true + // 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 `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry`, `percentParent`, `label` and `value`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Texttemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `texttemplate`. + Texttemplatesrc String `json:"texttemplatesrc,omitempty"` + + // Tiling + // role: Object + Tiling *IcicleTiling `json:"tiling,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Values + // arrayOK: false + // type: data_array + // Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed. + Values interface{} `json:"values,omitempty"` + + // Valuessrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `values`. + Valuessrc String `json:"valuessrc,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible IcicleVisible `json:"visible,omitempty"` +} + +// IcicleDomain +type IcicleDomain struct { + + // Column + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this column in the grid for this icicle trace . + Column int64 `json:"column,omitempty"` + + // Row + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this row in the grid for this icicle trace . + Row int64 `json:"row,omitempty"` + + // X + // arrayOK: false + // type: info_array + // Sets the horizontal domain of this icicle trace (in plot fraction). + X interface{} `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: info_array + // Sets the vertical domain of this icicle trace (in plot fraction). + Y interface{} `json:"y,omitempty"` +} + +// IcicleHoverlabelFont Sets the font used in hover labels. +type IcicleHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// IcicleHoverlabel +type IcicleHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align IcicleHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *IcicleHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// IcicleInsidetextfont Sets the font used for `textinfo` lying inside the sector. +type IcicleInsidetextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// IcicleLeaf +type IcicleLeaf struct { + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the leaves. With colorscale it is defaulted to 1; otherwise it is defaulted to 0.7 + Opacity float64 `json:"opacity,omitempty"` +} + +// IcicleLegendgrouptitleFont Sets this legend group's title font. +type IcicleLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// IcicleLegendgrouptitle +type IcicleLegendgrouptitle struct { + + // Font + // role: Object + Font *IcicleLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// IcicleMarkerColorbarTickfont Sets the color bar's tick label font +type IcicleMarkerColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// IcicleMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type IcicleMarkerColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// IcicleMarkerColorbarTitle +type IcicleMarkerColorbarTitle struct { + + // Font + // role: Object + Font *IcicleMarkerColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side IcicleMarkerColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// IcicleMarkerColorbar +type IcicleMarkerColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat IcicleMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode IcicleMarkerColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation IcicleMarkerColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent IcicleMarkerColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix IcicleMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix IcicleMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode IcicleMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *IcicleMarkerColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow IcicleMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition IcicleMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode IcicleMarkerColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks IcicleMarkerColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *IcicleMarkerColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor IcicleMarkerColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref IcicleMarkerColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor IcicleMarkerColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref IcicleMarkerColorbarYref `json:"yref,omitempty"` +} + +// IcicleMarkerLine +type IcicleMarkerLine struct { + + // Color + // arrayOK: true + // type: color + // Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the line enclosing each sector. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// IcicleMarkerPattern Sets the pattern within the marker. +type IcicleMarkerPattern struct { + + // Bgcolor + // arrayOK: true + // type: color + // 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. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Fgcolor + // arrayOK: true + // type: color + // 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`. + Fgcolor Color `json:"fgcolor,omitempty"` + + // Fgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `fgcolor`. + Fgcolorsrc String `json:"fgcolorsrc,omitempty"` + + // Fgopacity + // arrayOK: false + // type: number + // Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1. + Fgopacity float64 `json:"fgopacity,omitempty"` + + // Fillmode + // default: replace + // type: enumerated + // Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. + Fillmode IcicleMarkerPatternFillmode `json:"fillmode,omitempty"` + + // Shape + // default: + // type: enumerated + // Sets the shape of the pattern fill. By default, no pattern is used for filling the area. + Shape IcicleMarkerPatternShape `json:"shape,omitempty"` + + // Shapesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `shape`. + Shapesrc String `json:"shapesrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Solidity + // arrayOK: true + // type: number + // 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. + Solidity float64 `json:"solidity,omitempty"` + + // Soliditysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `solidity`. + Soliditysrc String `json:"soliditysrc,omitempty"` +} + +// IcicleMarker +type IcicleMarker struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *IcicleMarkerColorbar `json:"colorbar,omitempty"` + + // Colors + // arrayOK: false + // 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. + Colors interface{} `json:"colors,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `colors`. + Colorssrc String `json:"colorssrc,omitempty"` + + // Line + // role: Object + Line *IcicleMarkerLine `json:"line,omitempty"` + + // Pattern + // role: Object + Pattern *IcicleMarkerPattern `json:"pattern,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` +} + +// IcicleOutsidetextfont 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. +type IcicleOutsidetextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// IciclePathbarTextfont Sets the font used inside `pathbar`. +type IciclePathbarTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// IciclePathbar +type IciclePathbar struct { + + // Edgeshape + // default: > + // type: enumerated + // Determines which shape is used for edges between `barpath` labels. + Edgeshape IciclePathbarEdgeshape `json:"edgeshape,omitempty"` + + // Side + // default: top + // type: enumerated + // Determines on which side of the the treemap the `pathbar` should be presented. + Side IciclePathbarSide `json:"side,omitempty"` + + // Textfont + // role: Object + Textfont *IciclePathbarTextfont `json:"textfont,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of `pathbar` (in px). If not specified the `pathbar.textfont.size` is used with 3 pixles extra padding on each side. + Thickness float64 `json:"thickness,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Determines if the path bar is drawn i.e. outside the trace `domain` and with one pixel gap. + Visible Bool `json:"visible,omitempty"` +} + +// IcicleRoot +type IcicleRoot struct { + + // Color + // arrayOK: false + // type: color + // 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. + Color Color `json:"color,omitempty"` +} + +// IcicleStream +type IcicleStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// IcicleTextfont Sets the font used for `textinfo`. +type IcicleTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// IcicleTiling +type IcicleTiling struct { + + // Flip + // default: + // type: flaglist + // Determines if the positions obtained from solver are flipped on each axis. + Flip IcicleTilingFlip `json:"flip,omitempty"` + + // Orientation + // default: h + // type: enumerated + // 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. + Orientation IcicleTilingOrientation `json:"orientation,omitempty"` + + // Pad + // arrayOK: false + // type: number + // Sets the inner padding (in px). + Pad float64 `json:"pad,omitempty"` +} + +// IcicleBranchvalues 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. +type IcicleBranchvalues string + +const ( + IcicleBranchvaluesRemainder IcicleBranchvalues = "remainder" + IcicleBranchvaluesTotal IcicleBranchvalues = "total" +) + +// IcicleHoverlabelAlign 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 +type IcicleHoverlabelAlign string + +const ( + IcicleHoverlabelAlignLeft IcicleHoverlabelAlign = "left" + IcicleHoverlabelAlignRight IcicleHoverlabelAlign = "right" + IcicleHoverlabelAlignAuto IcicleHoverlabelAlign = "auto" +) + +// IcicleMarkerColorbarExponentformat 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. +type IcicleMarkerColorbarExponentformat string + +const ( + IcicleMarkerColorbarExponentformatNone IcicleMarkerColorbarExponentformat = "none" + IcicleMarkerColorbarExponentformatE1 IcicleMarkerColorbarExponentformat = "e" + IcicleMarkerColorbarExponentformatE2 IcicleMarkerColorbarExponentformat = "E" + IcicleMarkerColorbarExponentformatPower IcicleMarkerColorbarExponentformat = "power" + IcicleMarkerColorbarExponentformatSI IcicleMarkerColorbarExponentformat = "SI" + IcicleMarkerColorbarExponentformatB IcicleMarkerColorbarExponentformat = "B" +) + +// IcicleMarkerColorbarLenmode 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. +type IcicleMarkerColorbarLenmode string + +const ( + IcicleMarkerColorbarLenmodeFraction IcicleMarkerColorbarLenmode = "fraction" + IcicleMarkerColorbarLenmodePixels IcicleMarkerColorbarLenmode = "pixels" +) + +// IcicleMarkerColorbarOrientation Sets the orientation of the colorbar. +type IcicleMarkerColorbarOrientation string + +const ( + IcicleMarkerColorbarOrientationH IcicleMarkerColorbarOrientation = "h" + IcicleMarkerColorbarOrientationV IcicleMarkerColorbarOrientation = "v" +) + +// IcicleMarkerColorbarShowexponent 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. +type IcicleMarkerColorbarShowexponent string + +const ( + IcicleMarkerColorbarShowexponentAll IcicleMarkerColorbarShowexponent = "all" + IcicleMarkerColorbarShowexponentFirst IcicleMarkerColorbarShowexponent = "first" + IcicleMarkerColorbarShowexponentLast IcicleMarkerColorbarShowexponent = "last" + IcicleMarkerColorbarShowexponentNone IcicleMarkerColorbarShowexponent = "none" +) + +// IcicleMarkerColorbarShowtickprefix 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. +type IcicleMarkerColorbarShowtickprefix string + +const ( + IcicleMarkerColorbarShowtickprefixAll IcicleMarkerColorbarShowtickprefix = "all" + IcicleMarkerColorbarShowtickprefixFirst IcicleMarkerColorbarShowtickprefix = "first" + IcicleMarkerColorbarShowtickprefixLast IcicleMarkerColorbarShowtickprefix = "last" + IcicleMarkerColorbarShowtickprefixNone IcicleMarkerColorbarShowtickprefix = "none" +) + +// IcicleMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type IcicleMarkerColorbarShowticksuffix string + +const ( + IcicleMarkerColorbarShowticksuffixAll IcicleMarkerColorbarShowticksuffix = "all" + IcicleMarkerColorbarShowticksuffixFirst IcicleMarkerColorbarShowticksuffix = "first" + IcicleMarkerColorbarShowticksuffixLast IcicleMarkerColorbarShowticksuffix = "last" + IcicleMarkerColorbarShowticksuffixNone IcicleMarkerColorbarShowticksuffix = "none" +) + +// IcicleMarkerColorbarThicknessmode 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. +type IcicleMarkerColorbarThicknessmode string + +const ( + IcicleMarkerColorbarThicknessmodeFraction IcicleMarkerColorbarThicknessmode = "fraction" + IcicleMarkerColorbarThicknessmodePixels IcicleMarkerColorbarThicknessmode = "pixels" +) + +// IcicleMarkerColorbarTicklabeloverflow 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*. +type IcicleMarkerColorbarTicklabeloverflow string + +const ( + IcicleMarkerColorbarTicklabeloverflowAllow IcicleMarkerColorbarTicklabeloverflow = "allow" + IcicleMarkerColorbarTicklabeloverflowHidePastDiv IcicleMarkerColorbarTicklabeloverflow = "hide past div" + IcicleMarkerColorbarTicklabeloverflowHidePastDomain IcicleMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// IcicleMarkerColorbarTicklabelposition 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*. +type IcicleMarkerColorbarTicklabelposition string + +const ( + IcicleMarkerColorbarTicklabelpositionOutside IcicleMarkerColorbarTicklabelposition = "outside" + IcicleMarkerColorbarTicklabelpositionInside IcicleMarkerColorbarTicklabelposition = "inside" + IcicleMarkerColorbarTicklabelpositionOutsideTop IcicleMarkerColorbarTicklabelposition = "outside top" + IcicleMarkerColorbarTicklabelpositionInsideTop IcicleMarkerColorbarTicklabelposition = "inside top" + IcicleMarkerColorbarTicklabelpositionOutsideLeft IcicleMarkerColorbarTicklabelposition = "outside left" + IcicleMarkerColorbarTicklabelpositionInsideLeft IcicleMarkerColorbarTicklabelposition = "inside left" + IcicleMarkerColorbarTicklabelpositionOutsideRight IcicleMarkerColorbarTicklabelposition = "outside right" + IcicleMarkerColorbarTicklabelpositionInsideRight IcicleMarkerColorbarTicklabelposition = "inside right" + IcicleMarkerColorbarTicklabelpositionOutsideBottom IcicleMarkerColorbarTicklabelposition = "outside bottom" + IcicleMarkerColorbarTicklabelpositionInsideBottom IcicleMarkerColorbarTicklabelposition = "inside bottom" +) + +// IcicleMarkerColorbarTickmode 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). +type IcicleMarkerColorbarTickmode string + +const ( + IcicleMarkerColorbarTickmodeAuto IcicleMarkerColorbarTickmode = "auto" + IcicleMarkerColorbarTickmodeLinear IcicleMarkerColorbarTickmode = "linear" + IcicleMarkerColorbarTickmodeArray IcicleMarkerColorbarTickmode = "array" +) + +// IcicleMarkerColorbarTicks 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. +type IcicleMarkerColorbarTicks string + +const ( + IcicleMarkerColorbarTicksOutside IcicleMarkerColorbarTicks = "outside" + IcicleMarkerColorbarTicksInside IcicleMarkerColorbarTicks = "inside" + IcicleMarkerColorbarTicksEmpty IcicleMarkerColorbarTicks = "" +) + +// IcicleMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type IcicleMarkerColorbarTitleSide string + +const ( + IcicleMarkerColorbarTitleSideRight IcicleMarkerColorbarTitleSide = "right" + IcicleMarkerColorbarTitleSideTop IcicleMarkerColorbarTitleSide = "top" + IcicleMarkerColorbarTitleSideBottom IcicleMarkerColorbarTitleSide = "bottom" +) + +// IcicleMarkerColorbarXanchor 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*. +type IcicleMarkerColorbarXanchor string + +const ( + IcicleMarkerColorbarXanchorLeft IcicleMarkerColorbarXanchor = "left" + IcicleMarkerColorbarXanchorCenter IcicleMarkerColorbarXanchor = "center" + IcicleMarkerColorbarXanchorRight IcicleMarkerColorbarXanchor = "right" +) + +// IcicleMarkerColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type IcicleMarkerColorbarXref string + +const ( + IcicleMarkerColorbarXrefContainer IcicleMarkerColorbarXref = "container" + IcicleMarkerColorbarXrefPaper IcicleMarkerColorbarXref = "paper" +) + +// IcicleMarkerColorbarYanchor 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*. +type IcicleMarkerColorbarYanchor string + +const ( + IcicleMarkerColorbarYanchorTop IcicleMarkerColorbarYanchor = "top" + IcicleMarkerColorbarYanchorMiddle IcicleMarkerColorbarYanchor = "middle" + IcicleMarkerColorbarYanchorBottom IcicleMarkerColorbarYanchor = "bottom" +) + +// IcicleMarkerColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type IcicleMarkerColorbarYref string + +const ( + IcicleMarkerColorbarYrefContainer IcicleMarkerColorbarYref = "container" + IcicleMarkerColorbarYrefPaper IcicleMarkerColorbarYref = "paper" +) + +// IcicleMarkerPatternFillmode Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. +type IcicleMarkerPatternFillmode string + +const ( + IcicleMarkerPatternFillmodeReplace IcicleMarkerPatternFillmode = "replace" + IcicleMarkerPatternFillmodeOverlay IcicleMarkerPatternFillmode = "overlay" +) + +// IcicleMarkerPatternShape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. +type IcicleMarkerPatternShape string + +const ( + IcicleMarkerPatternShapeEmpty IcicleMarkerPatternShape = "" + IcicleMarkerPatternShapeSlash IcicleMarkerPatternShape = "/" + IcicleMarkerPatternShapeDoublebackslash IcicleMarkerPatternShape = "\\" + IcicleMarkerPatternShapeX IcicleMarkerPatternShape = "x" + IcicleMarkerPatternShapeHyphenHyphen IcicleMarkerPatternShape = "-" + IcicleMarkerPatternShapeOr IcicleMarkerPatternShape = "|" + IcicleMarkerPatternShapePlus IcicleMarkerPatternShape = "+" + IcicleMarkerPatternShapeDot IcicleMarkerPatternShape = "." +) + +// IciclePathbarEdgeshape Determines which shape is used for edges between `barpath` labels. +type IciclePathbarEdgeshape string + +const ( + IciclePathbarEdgeshapeGt IciclePathbarEdgeshape = ">" + IciclePathbarEdgeshapeLt IciclePathbarEdgeshape = "<" + IciclePathbarEdgeshapeOr IciclePathbarEdgeshape = "|" + IciclePathbarEdgeshapeSlash IciclePathbarEdgeshape = "/" + IciclePathbarEdgeshapeDoublebackslash IciclePathbarEdgeshape = "\\" +) + +// IciclePathbarSide Determines on which side of the the treemap the `pathbar` should be presented. +type IciclePathbarSide string + +const ( + IciclePathbarSideTop IciclePathbarSide = "top" + IciclePathbarSideBottom IciclePathbarSide = "bottom" +) + +// IcicleTextposition Sets the positions of the `text` elements. +type IcicleTextposition string + +const ( + IcicleTextpositionTopLeft IcicleTextposition = "top left" + IcicleTextpositionTopCenter IcicleTextposition = "top center" + IcicleTextpositionTopRight IcicleTextposition = "top right" + IcicleTextpositionMiddleLeft IcicleTextposition = "middle left" + IcicleTextpositionMiddleCenter IcicleTextposition = "middle center" + IcicleTextpositionMiddleRight IcicleTextposition = "middle right" + IcicleTextpositionBottomLeft IcicleTextposition = "bottom left" + IcicleTextpositionBottomCenter IcicleTextposition = "bottom center" + IcicleTextpositionBottomRight IcicleTextposition = "bottom right" +) + +// IcicleTilingOrientation 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. +type IcicleTilingOrientation string + +const ( + IcicleTilingOrientationV IcicleTilingOrientation = "v" + IcicleTilingOrientationH IcicleTilingOrientation = "h" +) + +// IcicleVisible 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). +type IcicleVisible interface{} + +var ( + IcicleVisibleTrue IcicleVisible = true + IcicleVisibleFalse IcicleVisible = false + IcicleVisibleLegendonly IcicleVisible = "legendonly" +) + +// IcicleCount Determines default for `values` when it is not provided, by inferring a 1 for each of the *leaves* and/or *branches*, otherwise 0. +type IcicleCount string + +const ( + // Flags + IcicleCountBranches IcicleCount = "branches" + IcicleCountLeaves IcicleCount = "leaves" + + // Extra + +) + +// IcicleHoverinfo 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. +type IcicleHoverinfo string + +const ( + // Flags + IcicleHoverinfoLabel IcicleHoverinfo = "label" + IcicleHoverinfoText IcicleHoverinfo = "text" + IcicleHoverinfoValue IcicleHoverinfo = "value" + IcicleHoverinfoName IcicleHoverinfo = "name" + IcicleHoverinfoCurrentPath IcicleHoverinfo = "current path" + IcicleHoverinfoPercentRoot IcicleHoverinfo = "percent root" + IcicleHoverinfoPercentEntry IcicleHoverinfo = "percent entry" + IcicleHoverinfoPercentParent IcicleHoverinfo = "percent parent" + + // Extra + IcicleHoverinfoAll IcicleHoverinfo = "all" + IcicleHoverinfoNone IcicleHoverinfo = "none" + IcicleHoverinfoSkip IcicleHoverinfo = "skip" +) + +// IcicleTextinfo Determines which trace information appear on the graph. +type IcicleTextinfo string + +const ( + // Flags + IcicleTextinfoLabel IcicleTextinfo = "label" + IcicleTextinfoText IcicleTextinfo = "text" + IcicleTextinfoValue IcicleTextinfo = "value" + IcicleTextinfoCurrentPath IcicleTextinfo = "current path" + IcicleTextinfoPercentRoot IcicleTextinfo = "percent root" + IcicleTextinfoPercentEntry IcicleTextinfo = "percent entry" + IcicleTextinfoPercentParent IcicleTextinfo = "percent parent" + + // Extra + IcicleTextinfoNone IcicleTextinfo = "none" +) + +// IcicleTilingFlip Determines if the positions obtained from solver are flipped on each axis. +type IcicleTilingFlip string + +const ( + // Flags + IcicleTilingFlipX IcicleTilingFlip = "x" + IcicleTilingFlipY IcicleTilingFlip = "y" + + // Extra + +) diff --git a/generated/v2.29.1/graph_objects/image_gen.go b/generated/v2.29.1/graph_objects/image_gen.go new file mode 100644 index 0000000..ef22ca6 --- /dev/null +++ b/generated/v2.29.1/graph_objects/image_gen.go @@ -0,0 +1,442 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeImage TraceType = "image" + +func (trace *Image) GetType() TraceType { + return TraceTypeImage +} + +// Image 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. +type Image struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Colormodel + // default: %!s() + // type: enumerated + // 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`. + Colormodel ImageColormodel `json:"colormodel,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Dx + // arrayOK: false + // type: number + // Set the pixel's horizontal size. + Dx float64 `json:"dx,omitempty"` + + // Dy + // arrayOK: false + // type: number + // Set the pixel's vertical size + Dy float64 `json:"dy,omitempty"` + + // Hoverinfo + // default: x+y+z+text+name + // type: flaglist + // 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. + Hoverinfo ImageHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *ImageHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Finally, the template string has access to variables `z`, `color` and `colormodel`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: false + // type: data_array + // Same as `text`. + Hovertext interface{} `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *ImageLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Source + // arrayOK: false + // type: string + // Specifies the data URI of the image to be visualized. The URI consists of "data:image/[][;base64]," + Source String `json:"source,omitempty"` + + // Stream + // role: Object + Stream *ImageStream `json:"stream,omitempty"` + + // Text + // arrayOK: false + // type: data_array + // Sets the text elements associated with each z value. + Text interface{} `json:"text,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible ImageVisible `json:"visible,omitempty"` + + // X0 + // arrayOK: false + // type: any + // 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 + X0 interface{} `json:"x0,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Y0 + // arrayOK: false + // type: any + // 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. + Y0 interface{} `json:"y0,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` + + // Z + // arrayOK: false + // type: data_array + // A 2-dimensional array in which each element is an array of 3 or 4 numbers representing a color. + Z interface{} `json:"z,omitempty"` + + // Zmax + // arrayOK: false + // type: info_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]. + Zmax interface{} `json:"zmax,omitempty"` + + // Zmin + // arrayOK: false + // type: info_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]. + Zmin interface{} `json:"zmin,omitempty"` + + // Zsmooth + // default: %!s(bool=false) + // type: enumerated + // Picks a smoothing algorithm used to smooth `z` data. This only applies for image traces that use the `source` attribute. + Zsmooth ImageZsmooth `json:"zsmooth,omitempty"` + + // Zsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `z`. + Zsrc String `json:"zsrc,omitempty"` +} + +// ImageHoverlabelFont Sets the font used in hover labels. +type ImageHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ImageHoverlabel +type ImageHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align ImageHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *ImageHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// ImageLegendgrouptitleFont Sets this legend group's title font. +type ImageLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ImageLegendgrouptitle +type ImageLegendgrouptitle struct { + + // Font + // role: Object + Font *ImageLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// ImageStream +type ImageStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// ImageColormodel 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`. +type ImageColormodel string + +const ( + ImageColormodelRgb ImageColormodel = "rgb" + ImageColormodelRgba ImageColormodel = "rgba" + ImageColormodelRgba256 ImageColormodel = "rgba256" + ImageColormodelHsl ImageColormodel = "hsl" + ImageColormodelHsla ImageColormodel = "hsla" +) + +// ImageHoverlabelAlign 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 +type ImageHoverlabelAlign string + +const ( + ImageHoverlabelAlignLeft ImageHoverlabelAlign = "left" + ImageHoverlabelAlignRight ImageHoverlabelAlign = "right" + ImageHoverlabelAlignAuto ImageHoverlabelAlign = "auto" +) + +// ImageVisible 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). +type ImageVisible interface{} + +var ( + ImageVisibleTrue ImageVisible = true + ImageVisibleFalse ImageVisible = false + ImageVisibleLegendonly ImageVisible = "legendonly" +) + +// ImageZsmooth Picks a smoothing algorithm used to smooth `z` data. This only applies for image traces that use the `source` attribute. +type ImageZsmooth interface{} + +var ( + ImageZsmoothFast ImageZsmooth = "fast" + ImageZsmoothFalse ImageZsmooth = false +) + +// ImageHoverinfo 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. +type ImageHoverinfo string + +const ( + // Flags + ImageHoverinfoX ImageHoverinfo = "x" + ImageHoverinfoY ImageHoverinfo = "y" + ImageHoverinfoZ ImageHoverinfo = "z" + ImageHoverinfoColor ImageHoverinfo = "color" + ImageHoverinfoName ImageHoverinfo = "name" + ImageHoverinfoText ImageHoverinfo = "text" + + // Extra + ImageHoverinfoAll ImageHoverinfo = "all" + ImageHoverinfoNone ImageHoverinfo = "none" + ImageHoverinfoSkip ImageHoverinfo = "skip" +) diff --git a/generated/v2.29.1/graph_objects/indicator_gen.go b/generated/v2.29.1/graph_objects/indicator_gen.go new file mode 100644 index 0000000..d4d5b11 --- /dev/null +++ b/generated/v2.29.1/graph_objects/indicator_gen.go @@ -0,0 +1,857 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeIndicator TraceType = "indicator" + +func (trace *Indicator) GetType() TraceType { + return TraceTypeIndicator +} + +// Indicator 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. +type Indicator struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Align + // default: %!s() + // type: enumerated + // 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 + Align IndicatorAlign `json:"align,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Delta + // role: Object + Delta *IndicatorDelta `json:"delta,omitempty"` + + // Domain + // role: Object + Domain *IndicatorDomain `json:"domain,omitempty"` + + // Gauge + // role: Object + Gauge *IndicatorGauge `json:"gauge,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *IndicatorLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Mode + // default: number + // type: flaglist + // 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. + Mode IndicatorMode `json:"mode,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Number + // role: Object + Number *IndicatorNumber `json:"number,omitempty"` + + // Stream + // role: Object + Stream *IndicatorStream `json:"stream,omitempty"` + + // Title + // role: Object + Title *IndicatorTitle `json:"title,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Value + // arrayOK: false + // type: number + // Sets the number to be displayed. + Value float64 `json:"value,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible IndicatorVisible `json:"visible,omitempty"` +} + +// IndicatorDeltaDecreasing +type IndicatorDeltaDecreasing struct { + + // Color + // arrayOK: false + // type: color + // Sets the color for increasing value. + Color Color `json:"color,omitempty"` + + // Symbol + // arrayOK: false + // type: string + // Sets the symbol to display for increasing value + Symbol String `json:"symbol,omitempty"` +} + +// IndicatorDeltaFont Set the font used to display the delta +type IndicatorDeltaFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// IndicatorDeltaIncreasing +type IndicatorDeltaIncreasing struct { + + // Color + // arrayOK: false + // type: color + // Sets the color for increasing value. + Color Color `json:"color,omitempty"` + + // Symbol + // arrayOK: false + // type: string + // Sets the symbol to display for increasing value + Symbol String `json:"symbol,omitempty"` +} + +// IndicatorDelta +type IndicatorDelta struct { + + // Decreasing + // role: Object + Decreasing *IndicatorDeltaDecreasing `json:"decreasing,omitempty"` + + // Font + // role: Object + Font *IndicatorDeltaFont `json:"font,omitempty"` + + // Increasing + // role: Object + Increasing *IndicatorDeltaIncreasing `json:"increasing,omitempty"` + + // Position + // default: bottom + // type: enumerated + // Sets the position of delta with respect to the number. + Position IndicatorDeltaPosition `json:"position,omitempty"` + + // Prefix + // arrayOK: false + // type: string + // Sets a prefix appearing before the delta. + Prefix String `json:"prefix,omitempty"` + + // Reference + // arrayOK: false + // type: number + // Sets the reference value to compute the delta. By default, it is set to the current value. + Reference float64 `json:"reference,omitempty"` + + // Relative + // arrayOK: false + // type: boolean + // Show relative change + Relative Bool `json:"relative,omitempty"` + + // Suffix + // arrayOK: false + // type: string + // Sets a suffix appearing next to the delta. + Suffix String `json:"suffix,omitempty"` + + // Valueformat + // arrayOK: false + // 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. + Valueformat String `json:"valueformat,omitempty"` +} + +// IndicatorDomain +type IndicatorDomain struct { + + // Column + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this column in the grid for this indicator trace . + Column int64 `json:"column,omitempty"` + + // Row + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this row in the grid for this indicator trace . + Row int64 `json:"row,omitempty"` + + // X + // arrayOK: false + // type: info_array + // Sets the horizontal domain of this indicator trace (in plot fraction). + X interface{} `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: info_array + // Sets the vertical domain of this indicator trace (in plot fraction). + Y interface{} `json:"y,omitempty"` +} + +// IndicatorGaugeAxisTickfont Sets the color bar's tick label font +type IndicatorGaugeAxisTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// IndicatorGaugeAxis +type IndicatorGaugeAxis struct { + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat IndicatorGaugeAxisExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Range + // arrayOK: false + // type: info_array + // Sets the range of this axis. + Range interface{} `json:"range,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent IndicatorGaugeAxisShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix IndicatorGaugeAxisShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix IndicatorGaugeAxisShowticksuffix `json:"showticksuffix,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *IndicatorGaugeAxisTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode IndicatorGaugeAxisTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: outside + // type: enumerated + // 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. + Ticks IndicatorGaugeAxisTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // 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 + Visible Bool `json:"visible,omitempty"` +} + +// IndicatorGaugeBarLine +type IndicatorGaugeBarLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the color of the line enclosing each sector. + Color Color `json:"color,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of the line enclosing each sector. + Width float64 `json:"width,omitempty"` +} + +// IndicatorGaugeBar Set the appearance of the gauge's value +type IndicatorGaugeBar struct { + + // Color + // arrayOK: false + // type: color + // Sets the background color of the arc. + Color Color `json:"color,omitempty"` + + // Line + // role: Object + Line *IndicatorGaugeBarLine `json:"line,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the bar as a fraction of the total thickness of the gauge. + Thickness float64 `json:"thickness,omitempty"` +} + +// IndicatorGaugeThresholdLine +type IndicatorGaugeThresholdLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the color of the threshold line. + Color Color `json:"color,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of the threshold line. + Width float64 `json:"width,omitempty"` +} + +// IndicatorGaugeThreshold +type IndicatorGaugeThreshold struct { + + // Line + // role: Object + Line *IndicatorGaugeThresholdLine `json:"line,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the threshold line as a fraction of the thickness of the gauge. + Thickness float64 `json:"thickness,omitempty"` + + // Value + // arrayOK: false + // type: number + // Sets a treshold value drawn as a line. + Value float64 `json:"value,omitempty"` +} + +// IndicatorGauge The gauge of the Indicator plot. +type IndicatorGauge struct { + + // Axis + // role: Object + Axis *IndicatorGaugeAxis `json:"axis,omitempty"` + + // Bar + // role: Object + Bar *IndicatorGaugeBar `json:"bar,omitempty"` + + // Bgcolor + // arrayOK: false + // type: color + // Sets the gauge background color. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the color of the border enclosing the gauge. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the border enclosing the gauge. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Shape + // default: angular + // type: enumerated + // Set the shape of the gauge + Shape IndicatorGaugeShape `json:"shape,omitempty"` + + // Steps + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Steps interface{} `json:"steps,omitempty"` + + // Threshold + // role: Object + Threshold *IndicatorGaugeThreshold `json:"threshold,omitempty"` +} + +// IndicatorLegendgrouptitleFont Sets this legend group's title font. +type IndicatorLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// IndicatorLegendgrouptitle +type IndicatorLegendgrouptitle struct { + + // Font + // role: Object + Font *IndicatorLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// IndicatorNumberFont Set the font used to display main number +type IndicatorNumberFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// IndicatorNumber +type IndicatorNumber struct { + + // Font + // role: Object + Font *IndicatorNumberFont `json:"font,omitempty"` + + // Prefix + // arrayOK: false + // type: string + // Sets a prefix appearing before the number. + Prefix String `json:"prefix,omitempty"` + + // Suffix + // arrayOK: false + // type: string + // Sets a suffix appearing next to the number. + Suffix String `json:"suffix,omitempty"` + + // Valueformat + // arrayOK: false + // 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. + Valueformat String `json:"valueformat,omitempty"` +} + +// IndicatorStream +type IndicatorStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// IndicatorTitleFont Set the font used to display the title +type IndicatorTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// IndicatorTitle +type IndicatorTitle struct { + + // Align + // default: %!s() + // type: enumerated + // Sets the horizontal alignment of the title. It defaults to `center` except for bullet charts for which it defaults to right. + Align IndicatorTitleAlign `json:"align,omitempty"` + + // Font + // role: Object + Font *IndicatorTitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of this indicator. + Text String `json:"text,omitempty"` +} + +// IndicatorAlign 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 +type IndicatorAlign string + +const ( + IndicatorAlignLeft IndicatorAlign = "left" + IndicatorAlignCenter IndicatorAlign = "center" + IndicatorAlignRight IndicatorAlign = "right" +) + +// IndicatorDeltaPosition Sets the position of delta with respect to the number. +type IndicatorDeltaPosition string + +const ( + IndicatorDeltaPositionTop IndicatorDeltaPosition = "top" + IndicatorDeltaPositionBottom IndicatorDeltaPosition = "bottom" + IndicatorDeltaPositionLeft IndicatorDeltaPosition = "left" + IndicatorDeltaPositionRight IndicatorDeltaPosition = "right" +) + +// IndicatorGaugeAxisExponentformat 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. +type IndicatorGaugeAxisExponentformat string + +const ( + IndicatorGaugeAxisExponentformatNone IndicatorGaugeAxisExponentformat = "none" + IndicatorGaugeAxisExponentformatE1 IndicatorGaugeAxisExponentformat = "e" + IndicatorGaugeAxisExponentformatE2 IndicatorGaugeAxisExponentformat = "E" + IndicatorGaugeAxisExponentformatPower IndicatorGaugeAxisExponentformat = "power" + IndicatorGaugeAxisExponentformatSI IndicatorGaugeAxisExponentformat = "SI" + IndicatorGaugeAxisExponentformatB IndicatorGaugeAxisExponentformat = "B" +) + +// IndicatorGaugeAxisShowexponent 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. +type IndicatorGaugeAxisShowexponent string + +const ( + IndicatorGaugeAxisShowexponentAll IndicatorGaugeAxisShowexponent = "all" + IndicatorGaugeAxisShowexponentFirst IndicatorGaugeAxisShowexponent = "first" + IndicatorGaugeAxisShowexponentLast IndicatorGaugeAxisShowexponent = "last" + IndicatorGaugeAxisShowexponentNone IndicatorGaugeAxisShowexponent = "none" +) + +// IndicatorGaugeAxisShowtickprefix 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. +type IndicatorGaugeAxisShowtickprefix string + +const ( + IndicatorGaugeAxisShowtickprefixAll IndicatorGaugeAxisShowtickprefix = "all" + IndicatorGaugeAxisShowtickprefixFirst IndicatorGaugeAxisShowtickprefix = "first" + IndicatorGaugeAxisShowtickprefixLast IndicatorGaugeAxisShowtickprefix = "last" + IndicatorGaugeAxisShowtickprefixNone IndicatorGaugeAxisShowtickprefix = "none" +) + +// IndicatorGaugeAxisShowticksuffix Same as `showtickprefix` but for tick suffixes. +type IndicatorGaugeAxisShowticksuffix string + +const ( + IndicatorGaugeAxisShowticksuffixAll IndicatorGaugeAxisShowticksuffix = "all" + IndicatorGaugeAxisShowticksuffixFirst IndicatorGaugeAxisShowticksuffix = "first" + IndicatorGaugeAxisShowticksuffixLast IndicatorGaugeAxisShowticksuffix = "last" + IndicatorGaugeAxisShowticksuffixNone IndicatorGaugeAxisShowticksuffix = "none" +) + +// IndicatorGaugeAxisTickmode 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). +type IndicatorGaugeAxisTickmode string + +const ( + IndicatorGaugeAxisTickmodeAuto IndicatorGaugeAxisTickmode = "auto" + IndicatorGaugeAxisTickmodeLinear IndicatorGaugeAxisTickmode = "linear" + IndicatorGaugeAxisTickmodeArray IndicatorGaugeAxisTickmode = "array" +) + +// IndicatorGaugeAxisTicks 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. +type IndicatorGaugeAxisTicks string + +const ( + IndicatorGaugeAxisTicksOutside IndicatorGaugeAxisTicks = "outside" + IndicatorGaugeAxisTicksInside IndicatorGaugeAxisTicks = "inside" + IndicatorGaugeAxisTicksEmpty IndicatorGaugeAxisTicks = "" +) + +// IndicatorGaugeShape Set the shape of the gauge +type IndicatorGaugeShape string + +const ( + IndicatorGaugeShapeAngular IndicatorGaugeShape = "angular" + IndicatorGaugeShapeBullet IndicatorGaugeShape = "bullet" +) + +// IndicatorTitleAlign Sets the horizontal alignment of the title. It defaults to `center` except for bullet charts for which it defaults to right. +type IndicatorTitleAlign string + +const ( + IndicatorTitleAlignLeft IndicatorTitleAlign = "left" + IndicatorTitleAlignCenter IndicatorTitleAlign = "center" + IndicatorTitleAlignRight IndicatorTitleAlign = "right" +) + +// IndicatorVisible 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). +type IndicatorVisible interface{} + +var ( + IndicatorVisibleTrue IndicatorVisible = true + IndicatorVisibleFalse IndicatorVisible = false + IndicatorVisibleLegendonly IndicatorVisible = "legendonly" +) + +// IndicatorMode 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. +type IndicatorMode string + +const ( + // Flags + IndicatorModeNumber IndicatorMode = "number" + IndicatorModeDelta IndicatorMode = "delta" + IndicatorModeGauge IndicatorMode = "gauge" + + // Extra + +) diff --git a/generated/v2.29.1/graph_objects/isosurface_gen.go b/generated/v2.29.1/graph_objects/isosurface_gen.go new file mode 100644 index 0000000..cfdb3d3 --- /dev/null +++ b/generated/v2.29.1/graph_objects/isosurface_gen.go @@ -0,0 +1,1357 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeIsosurface TraceType = "isosurface" + +func (trace *Isosurface) GetType() TraceType { + return TraceTypeIsosurface +} + +// Isosurface 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. +type Isosurface struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Autocolorscale + // arrayOK: false + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Caps + // role: Object + Caps *IsosurfaceCaps `json:"caps,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *IsosurfaceColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Contour + // role: Object + Contour *IsosurfaceContour `json:"contour,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Flatshading + // arrayOK: false + // type: boolean + // Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low-poly look via flat reflections. + Flatshading Bool `json:"flatshading,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo IsosurfaceHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *IsosurfaceHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // Same as `text`. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Isomax + // arrayOK: false + // type: number + // Sets the maximum boundary for iso-surface plot. + Isomax float64 `json:"isomax,omitempty"` + + // Isomin + // arrayOK: false + // type: number + // Sets the minimum boundary for iso-surface plot. + Isomin float64 `json:"isomin,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *IsosurfaceLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Lighting + // role: Object + Lighting *IsosurfaceLighting `json:"lighting,omitempty"` + + // Lightposition + // role: Object + Lightposition *IsosurfaceLightposition `json:"lightposition,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // 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. + Opacity float64 `json:"opacity,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Scene + // arrayOK: false + // type: subplotid + // 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. + Scene String `json:"scene,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Showscale + // arrayOK: false + // type: boolean + // Determines whether or not a colorbar is displayed for this trace. + Showscale Bool `json:"showscale,omitempty"` + + // Slices + // role: Object + Slices *IsosurfaceSlices `json:"slices,omitempty"` + + // Spaceframe + // role: Object + Spaceframe *IsosurfaceSpaceframe `json:"spaceframe,omitempty"` + + // Stream + // role: Object + Stream *IsosurfaceStream `json:"stream,omitempty"` + + // Surface + // role: Object + Surface *IsosurfaceSurface `json:"surface,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Value + // arrayOK: false + // type: data_array + // Sets the 4th dimension (value) of the vertices. + Value interface{} `json:"value,omitempty"` + + // Valuehoverformat + // arrayOK: false + // 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. + Valuehoverformat String `json:"valuehoverformat,omitempty"` + + // Valuesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `value`. + Valuesrc String `json:"valuesrc,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible IsosurfaceVisible `json:"visible,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the X coordinates of the vertices on X axis. + X interface{} `json:"x,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the Y coordinates of the vertices on Y axis. + Y interface{} `json:"y,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` + + // Z + // arrayOK: false + // type: data_array + // Sets the Z coordinates of the vertices on Z axis. + Z interface{} `json:"z,omitempty"` + + // Zhoverformat + // arrayOK: false + // 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`. + Zhoverformat String `json:"zhoverformat,omitempty"` + + // Zsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `z`. + Zsrc String `json:"zsrc,omitempty"` +} + +// IsosurfaceCapsX +type IsosurfaceCapsX struct { + + // Fill + // arrayOK: false + // type: number + // 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. + Fill float64 `json:"fill,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // 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. + Show Bool `json:"show,omitempty"` +} + +// IsosurfaceCapsY +type IsosurfaceCapsY struct { + + // Fill + // arrayOK: false + // type: number + // 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. + Fill float64 `json:"fill,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // 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. + Show Bool `json:"show,omitempty"` +} + +// IsosurfaceCapsZ +type IsosurfaceCapsZ struct { + + // Fill + // arrayOK: false + // type: number + // 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. + Fill float64 `json:"fill,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // 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. + Show Bool `json:"show,omitempty"` +} + +// IsosurfaceCaps +type IsosurfaceCaps struct { + + // X + // role: Object + X *IsosurfaceCapsX `json:"x,omitempty"` + + // Y + // role: Object + Y *IsosurfaceCapsY `json:"y,omitempty"` + + // Z + // role: Object + Z *IsosurfaceCapsZ `json:"z,omitempty"` +} + +// IsosurfaceColorbarTickfont Sets the color bar's tick label font +type IsosurfaceColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// IsosurfaceColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type IsosurfaceColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// IsosurfaceColorbarTitle +type IsosurfaceColorbarTitle struct { + + // Font + // role: Object + Font *IsosurfaceColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side IsosurfaceColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// IsosurfaceColorbar +type IsosurfaceColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat IsosurfaceColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode IsosurfaceColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation IsosurfaceColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent IsosurfaceColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix IsosurfaceColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix IsosurfaceColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode IsosurfaceColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *IsosurfaceColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow IsosurfaceColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition IsosurfaceColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode IsosurfaceColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks IsosurfaceColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *IsosurfaceColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor IsosurfaceColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref IsosurfaceColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor IsosurfaceColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref IsosurfaceColorbarYref `json:"yref,omitempty"` +} + +// IsosurfaceContour +type IsosurfaceContour struct { + + // Color + // arrayOK: false + // type: color + // Sets the color of the contour lines. + Color Color `json:"color,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // Sets whether or not dynamic contours are shown on hover + Show Bool `json:"show,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width of the contour lines. + Width float64 `json:"width,omitempty"` +} + +// IsosurfaceHoverlabelFont Sets the font used in hover labels. +type IsosurfaceHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// IsosurfaceHoverlabel +type IsosurfaceHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align IsosurfaceHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *IsosurfaceHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// IsosurfaceLegendgrouptitleFont Sets this legend group's title font. +type IsosurfaceLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// IsosurfaceLegendgrouptitle +type IsosurfaceLegendgrouptitle struct { + + // Font + // role: Object + Font *IsosurfaceLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// IsosurfaceLighting +type IsosurfaceLighting struct { + + // Ambient + // arrayOK: false + // type: number + // Ambient light increases overall color visibility but can wash out the image. + Ambient float64 `json:"ambient,omitempty"` + + // Diffuse + // arrayOK: false + // type: number + // Represents the extent that incident rays are reflected in a range of angles. + Diffuse float64 `json:"diffuse,omitempty"` + + // Facenormalsepsilon + // arrayOK: false + // type: number + // Epsilon for face normals calculation avoids math issues arising from degenerate geometry. + Facenormalsepsilon float64 `json:"facenormalsepsilon,omitempty"` + + // Fresnel + // arrayOK: false + // type: number + // 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. + Fresnel float64 `json:"fresnel,omitempty"` + + // Roughness + // arrayOK: false + // type: number + // Alters specular reflection; the rougher the surface, the wider and less contrasty the shine. + Roughness float64 `json:"roughness,omitempty"` + + // Specular + // arrayOK: false + // type: number + // Represents the level that incident rays are reflected in a single direction, causing shine. + Specular float64 `json:"specular,omitempty"` + + // Vertexnormalsepsilon + // arrayOK: false + // type: number + // Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry. + Vertexnormalsepsilon float64 `json:"vertexnormalsepsilon,omitempty"` +} + +// IsosurfaceLightposition +type IsosurfaceLightposition struct { + + // X + // arrayOK: false + // type: number + // Numeric vector, representing the X coordinate for each vertex. + X float64 `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: number + // Numeric vector, representing the Y coordinate for each vertex. + Y float64 `json:"y,omitempty"` + + // Z + // arrayOK: false + // type: number + // Numeric vector, representing the Z coordinate for each vertex. + Z float64 `json:"z,omitempty"` +} + +// IsosurfaceSlicesX +type IsosurfaceSlicesX struct { + + // Fill + // arrayOK: false + // type: number + // 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. + Fill float64 `json:"fill,omitempty"` + + // Locations + // arrayOK: false + // 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. + Locations interface{} `json:"locations,omitempty"` + + // Locationssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `locations`. + Locationssrc String `json:"locationssrc,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // Determines whether or not slice planes about the x dimension are drawn. + Show Bool `json:"show,omitempty"` +} + +// IsosurfaceSlicesY +type IsosurfaceSlicesY struct { + + // Fill + // arrayOK: false + // type: number + // 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. + Fill float64 `json:"fill,omitempty"` + + // Locations + // arrayOK: false + // 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. + Locations interface{} `json:"locations,omitempty"` + + // Locationssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `locations`. + Locationssrc String `json:"locationssrc,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // Determines whether or not slice planes about the y dimension are drawn. + Show Bool `json:"show,omitempty"` +} + +// IsosurfaceSlicesZ +type IsosurfaceSlicesZ struct { + + // Fill + // arrayOK: false + // type: number + // 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. + Fill float64 `json:"fill,omitempty"` + + // Locations + // arrayOK: false + // 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. + Locations interface{} `json:"locations,omitempty"` + + // Locationssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `locations`. + Locationssrc String `json:"locationssrc,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // Determines whether or not slice planes about the z dimension are drawn. + Show Bool `json:"show,omitempty"` +} + +// IsosurfaceSlices +type IsosurfaceSlices struct { + + // X + // role: Object + X *IsosurfaceSlicesX `json:"x,omitempty"` + + // Y + // role: Object + Y *IsosurfaceSlicesY `json:"y,omitempty"` + + // Z + // role: Object + Z *IsosurfaceSlicesZ `json:"z,omitempty"` +} + +// IsosurfaceSpaceframe +type IsosurfaceSpaceframe struct { + + // Fill + // arrayOK: false + // type: number + // 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). + Fill float64 `json:"fill,omitempty"` + + // Show + // arrayOK: false + // 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. + Show Bool `json:"show,omitempty"` +} + +// IsosurfaceStream +type IsosurfaceStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// IsosurfaceSurface +type IsosurfaceSurface struct { + + // Count + // arrayOK: false + // type: integer + // 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. + Count int64 `json:"count,omitempty"` + + // Fill + // arrayOK: false + // type: number + // 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. + Fill float64 `json:"fill,omitempty"` + + // Pattern + // default: all + // type: flaglist + // 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. + Pattern IsosurfaceSurfacePattern `json:"pattern,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // Hides/displays surfaces between minimum and maximum iso-values. + Show Bool `json:"show,omitempty"` +} + +// IsosurfaceColorbarExponentformat 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. +type IsosurfaceColorbarExponentformat string + +const ( + IsosurfaceColorbarExponentformatNone IsosurfaceColorbarExponentformat = "none" + IsosurfaceColorbarExponentformatE1 IsosurfaceColorbarExponentformat = "e" + IsosurfaceColorbarExponentformatE2 IsosurfaceColorbarExponentformat = "E" + IsosurfaceColorbarExponentformatPower IsosurfaceColorbarExponentformat = "power" + IsosurfaceColorbarExponentformatSI IsosurfaceColorbarExponentformat = "SI" + IsosurfaceColorbarExponentformatB IsosurfaceColorbarExponentformat = "B" +) + +// IsosurfaceColorbarLenmode 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. +type IsosurfaceColorbarLenmode string + +const ( + IsosurfaceColorbarLenmodeFraction IsosurfaceColorbarLenmode = "fraction" + IsosurfaceColorbarLenmodePixels IsosurfaceColorbarLenmode = "pixels" +) + +// IsosurfaceColorbarOrientation Sets the orientation of the colorbar. +type IsosurfaceColorbarOrientation string + +const ( + IsosurfaceColorbarOrientationH IsosurfaceColorbarOrientation = "h" + IsosurfaceColorbarOrientationV IsosurfaceColorbarOrientation = "v" +) + +// IsosurfaceColorbarShowexponent 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. +type IsosurfaceColorbarShowexponent string + +const ( + IsosurfaceColorbarShowexponentAll IsosurfaceColorbarShowexponent = "all" + IsosurfaceColorbarShowexponentFirst IsosurfaceColorbarShowexponent = "first" + IsosurfaceColorbarShowexponentLast IsosurfaceColorbarShowexponent = "last" + IsosurfaceColorbarShowexponentNone IsosurfaceColorbarShowexponent = "none" +) + +// IsosurfaceColorbarShowtickprefix 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. +type IsosurfaceColorbarShowtickprefix string + +const ( + IsosurfaceColorbarShowtickprefixAll IsosurfaceColorbarShowtickprefix = "all" + IsosurfaceColorbarShowtickprefixFirst IsosurfaceColorbarShowtickprefix = "first" + IsosurfaceColorbarShowtickprefixLast IsosurfaceColorbarShowtickprefix = "last" + IsosurfaceColorbarShowtickprefixNone IsosurfaceColorbarShowtickprefix = "none" +) + +// IsosurfaceColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type IsosurfaceColorbarShowticksuffix string + +const ( + IsosurfaceColorbarShowticksuffixAll IsosurfaceColorbarShowticksuffix = "all" + IsosurfaceColorbarShowticksuffixFirst IsosurfaceColorbarShowticksuffix = "first" + IsosurfaceColorbarShowticksuffixLast IsosurfaceColorbarShowticksuffix = "last" + IsosurfaceColorbarShowticksuffixNone IsosurfaceColorbarShowticksuffix = "none" +) + +// IsosurfaceColorbarThicknessmode 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. +type IsosurfaceColorbarThicknessmode string + +const ( + IsosurfaceColorbarThicknessmodeFraction IsosurfaceColorbarThicknessmode = "fraction" + IsosurfaceColorbarThicknessmodePixels IsosurfaceColorbarThicknessmode = "pixels" +) + +// IsosurfaceColorbarTicklabeloverflow 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*. +type IsosurfaceColorbarTicklabeloverflow string + +const ( + IsosurfaceColorbarTicklabeloverflowAllow IsosurfaceColorbarTicklabeloverflow = "allow" + IsosurfaceColorbarTicklabeloverflowHidePastDiv IsosurfaceColorbarTicklabeloverflow = "hide past div" + IsosurfaceColorbarTicklabeloverflowHidePastDomain IsosurfaceColorbarTicklabeloverflow = "hide past domain" +) + +// IsosurfaceColorbarTicklabelposition 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*. +type IsosurfaceColorbarTicklabelposition string + +const ( + IsosurfaceColorbarTicklabelpositionOutside IsosurfaceColorbarTicklabelposition = "outside" + IsosurfaceColorbarTicklabelpositionInside IsosurfaceColorbarTicklabelposition = "inside" + IsosurfaceColorbarTicklabelpositionOutsideTop IsosurfaceColorbarTicklabelposition = "outside top" + IsosurfaceColorbarTicklabelpositionInsideTop IsosurfaceColorbarTicklabelposition = "inside top" + IsosurfaceColorbarTicklabelpositionOutsideLeft IsosurfaceColorbarTicklabelposition = "outside left" + IsosurfaceColorbarTicklabelpositionInsideLeft IsosurfaceColorbarTicklabelposition = "inside left" + IsosurfaceColorbarTicklabelpositionOutsideRight IsosurfaceColorbarTicklabelposition = "outside right" + IsosurfaceColorbarTicklabelpositionInsideRight IsosurfaceColorbarTicklabelposition = "inside right" + IsosurfaceColorbarTicklabelpositionOutsideBottom IsosurfaceColorbarTicklabelposition = "outside bottom" + IsosurfaceColorbarTicklabelpositionInsideBottom IsosurfaceColorbarTicklabelposition = "inside bottom" +) + +// IsosurfaceColorbarTickmode 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). +type IsosurfaceColorbarTickmode string + +const ( + IsosurfaceColorbarTickmodeAuto IsosurfaceColorbarTickmode = "auto" + IsosurfaceColorbarTickmodeLinear IsosurfaceColorbarTickmode = "linear" + IsosurfaceColorbarTickmodeArray IsosurfaceColorbarTickmode = "array" +) + +// IsosurfaceColorbarTicks 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. +type IsosurfaceColorbarTicks string + +const ( + IsosurfaceColorbarTicksOutside IsosurfaceColorbarTicks = "outside" + IsosurfaceColorbarTicksInside IsosurfaceColorbarTicks = "inside" + IsosurfaceColorbarTicksEmpty IsosurfaceColorbarTicks = "" +) + +// IsosurfaceColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type IsosurfaceColorbarTitleSide string + +const ( + IsosurfaceColorbarTitleSideRight IsosurfaceColorbarTitleSide = "right" + IsosurfaceColorbarTitleSideTop IsosurfaceColorbarTitleSide = "top" + IsosurfaceColorbarTitleSideBottom IsosurfaceColorbarTitleSide = "bottom" +) + +// IsosurfaceColorbarXanchor 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*. +type IsosurfaceColorbarXanchor string + +const ( + IsosurfaceColorbarXanchorLeft IsosurfaceColorbarXanchor = "left" + IsosurfaceColorbarXanchorCenter IsosurfaceColorbarXanchor = "center" + IsosurfaceColorbarXanchorRight IsosurfaceColorbarXanchor = "right" +) + +// IsosurfaceColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type IsosurfaceColorbarXref string + +const ( + IsosurfaceColorbarXrefContainer IsosurfaceColorbarXref = "container" + IsosurfaceColorbarXrefPaper IsosurfaceColorbarXref = "paper" +) + +// IsosurfaceColorbarYanchor 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*. +type IsosurfaceColorbarYanchor string + +const ( + IsosurfaceColorbarYanchorTop IsosurfaceColorbarYanchor = "top" + IsosurfaceColorbarYanchorMiddle IsosurfaceColorbarYanchor = "middle" + IsosurfaceColorbarYanchorBottom IsosurfaceColorbarYanchor = "bottom" +) + +// IsosurfaceColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type IsosurfaceColorbarYref string + +const ( + IsosurfaceColorbarYrefContainer IsosurfaceColorbarYref = "container" + IsosurfaceColorbarYrefPaper IsosurfaceColorbarYref = "paper" +) + +// IsosurfaceHoverlabelAlign 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 +type IsosurfaceHoverlabelAlign string + +const ( + IsosurfaceHoverlabelAlignLeft IsosurfaceHoverlabelAlign = "left" + IsosurfaceHoverlabelAlignRight IsosurfaceHoverlabelAlign = "right" + IsosurfaceHoverlabelAlignAuto IsosurfaceHoverlabelAlign = "auto" +) + +// IsosurfaceVisible 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). +type IsosurfaceVisible interface{} + +var ( + IsosurfaceVisibleTrue IsosurfaceVisible = true + IsosurfaceVisibleFalse IsosurfaceVisible = false + IsosurfaceVisibleLegendonly IsosurfaceVisible = "legendonly" +) + +// IsosurfaceHoverinfo 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. +type IsosurfaceHoverinfo string + +const ( + // Flags + IsosurfaceHoverinfoX IsosurfaceHoverinfo = "x" + IsosurfaceHoverinfoY IsosurfaceHoverinfo = "y" + IsosurfaceHoverinfoZ IsosurfaceHoverinfo = "z" + IsosurfaceHoverinfoText IsosurfaceHoverinfo = "text" + IsosurfaceHoverinfoName IsosurfaceHoverinfo = "name" + + // Extra + IsosurfaceHoverinfoAll IsosurfaceHoverinfo = "all" + IsosurfaceHoverinfoNone IsosurfaceHoverinfo = "none" + IsosurfaceHoverinfoSkip IsosurfaceHoverinfo = "skip" +) + +// IsosurfaceSurfacePattern 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. +type IsosurfaceSurfacePattern string + +const ( + // Flags + IsosurfaceSurfacePatternA IsosurfaceSurfacePattern = "A" + IsosurfaceSurfacePatternB IsosurfaceSurfacePattern = "B" + IsosurfaceSurfacePatternC IsosurfaceSurfacePattern = "C" + IsosurfaceSurfacePatternD IsosurfaceSurfacePattern = "D" + IsosurfaceSurfacePatternE IsosurfaceSurfacePattern = "E" + + // Extra + IsosurfaceSurfacePatternAll IsosurfaceSurfacePattern = "all" + IsosurfaceSurfacePatternOdd IsosurfaceSurfacePattern = "odd" + IsosurfaceSurfacePatternEven IsosurfaceSurfacePattern = "even" +) diff --git a/generated/v2.29.1/graph_objects/layout_gen.go b/generated/v2.29.1/graph_objects/layout_gen.go new file mode 100644 index 0000000..fb326e0 --- /dev/null +++ b/generated/v2.29.1/graph_objects/layout_gen.go @@ -0,0 +1,10276 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT.// Layout Plot layout options +type Layout struct { + + // Activeselection + // role: Object + Activeselection *LayoutActiveselection `json:"activeselection,omitempty"` + + // Activeshape + // role: Object + Activeshape *LayoutActiveshape `json:"activeshape,omitempty"` + + // Annotations + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Annotations interface{} `json:"annotations,omitempty"` + + // Autosize + // arrayOK: false + // 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. + Autosize Bool `json:"autosize,omitempty"` + + // Autotypenumbers + // default: convert types + // type: enumerated + // 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. + Autotypenumbers LayoutAutotypenumbers `json:"autotypenumbers,omitempty"` + + // Barcornerradius + // arrayOK: false + // type: any + // Sets the rounding of bar corners. May be an integer number of pixels, or a percentage of bar width (as a string ending in %). + Barcornerradius interface{} `json:"barcornerradius,omitempty"` + + // Bargap + // arrayOK: false + // type: number + // Sets the gap (in plot fraction) between bars of adjacent location coordinates. + Bargap float64 `json:"bargap,omitempty"` + + // Bargroupgap + // arrayOK: false + // type: number + // Sets the gap (in plot fraction) between bars of the same location coordinate. + Bargroupgap float64 `json:"bargroupgap,omitempty"` + + // Barmode + // default: group + // type: enumerated + // Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *relative*, the bars are stacked on top of one another, with negative values below the axis, positive values above With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars. + Barmode LayoutBarmode `json:"barmode,omitempty"` + + // Barnorm + // default: + // type: enumerated + // Sets the normalization for bar traces on the graph. With *fraction*, the value of each bar is divided by the sum of all values at that location coordinate. *percent* is the same but multiplied by 100 to show percentages. + Barnorm LayoutBarnorm `json:"barnorm,omitempty"` + + // Boxgap + // arrayOK: false + // type: number + // Sets the gap (in plot fraction) between boxes of adjacent location coordinates. Has no effect on traces that have *width* set. + Boxgap float64 `json:"boxgap,omitempty"` + + // Boxgroupgap + // arrayOK: false + // type: number + // Sets the gap (in plot fraction) between boxes of the same location coordinate. Has no effect on traces that have *width* set. + Boxgroupgap float64 `json:"boxgroupgap,omitempty"` + + // Boxmode + // default: overlay + // type: enumerated + // Determines how boxes at the same location coordinate are displayed on the graph. If *group*, the boxes are plotted next to one another centered around the shared location. If *overlay*, the boxes are plotted over one another, you might need to set *opacity* to see them multiple boxes. Has no effect on traces that have *width* set. + Boxmode LayoutBoxmode `json:"boxmode,omitempty"` + + // Calendar + // default: gregorian + // type: enumerated + // Sets the default calendar system to use for interpreting and displaying dates throughout the plot. + Calendar LayoutCalendar `json:"calendar,omitempty"` + + // Clickmode + // default: event + // type: flaglist + // 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. + Clickmode LayoutClickmode `json:"clickmode,omitempty"` + + // Coloraxis + // role: Object + Coloraxis *LayoutColoraxis `json:"coloraxis,omitempty"` + + // Colorscale + // role: Object + Colorscale *LayoutColorscale `json:"colorscale,omitempty"` + + // Colorway + // arrayOK: false + // type: colorlist + // Sets the default trace colors. + Colorway ColorList `json:"colorway,omitempty"` + + // Computed + // arrayOK: false + // type: any + // Placeholder for exporting automargin-impacting values namely `margin.t`, `margin.b`, `margin.l` and `margin.r` in *full-json* mode. + Computed interface{} `json:"computed,omitempty"` + + // Datarevision + // arrayOK: false + // type: any + // 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. + Datarevision interface{} `json:"datarevision,omitempty"` + + // Dragmode + // default: zoom + // type: enumerated + // 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. + Dragmode LayoutDragmode `json:"dragmode,omitempty"` + + // Editrevision + // arrayOK: false + // type: any + // Controls persistence of user-driven changes in `editable: true` configuration, other than trace names and axis titles. Defaults to `layout.uirevision`. + Editrevision interface{} `json:"editrevision,omitempty"` + + // Extendfunnelareacolors + // arrayOK: false + // type: boolean + // If `true`, the funnelarea slice colors (whether given by `funnelareacolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended. + Extendfunnelareacolors Bool `json:"extendfunnelareacolors,omitempty"` + + // Extendiciclecolors + // arrayOK: false + // type: boolean + // If `true`, the icicle slice colors (whether given by `iciclecolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended. + Extendiciclecolors Bool `json:"extendiciclecolors,omitempty"` + + // Extendpiecolors + // arrayOK: false + // type: boolean + // If `true`, the pie slice colors (whether given by `piecolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended. + Extendpiecolors Bool `json:"extendpiecolors,omitempty"` + + // Extendsunburstcolors + // arrayOK: false + // type: boolean + // If `true`, the sunburst slice colors (whether given by `sunburstcolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended. + Extendsunburstcolors Bool `json:"extendsunburstcolors,omitempty"` + + // Extendtreemapcolors + // arrayOK: false + // type: boolean + // If `true`, the treemap slice colors (whether given by `treemapcolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended. + Extendtreemapcolors Bool `json:"extendtreemapcolors,omitempty"` + + // Font + // role: Object + Font *LayoutFont `json:"font,omitempty"` + + // Funnelareacolorway + // arrayOK: false + // type: colorlist + // Sets the default funnelarea slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendfunnelareacolors`. + Funnelareacolorway ColorList `json:"funnelareacolorway,omitempty"` + + // Funnelgap + // arrayOK: false + // type: number + // Sets the gap (in plot fraction) between bars of adjacent location coordinates. + Funnelgap float64 `json:"funnelgap,omitempty"` + + // Funnelgroupgap + // arrayOK: false + // type: number + // Sets the gap (in plot fraction) between bars of the same location coordinate. + Funnelgroupgap float64 `json:"funnelgroupgap,omitempty"` + + // Funnelmode + // default: stack + // type: enumerated + // Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars. + Funnelmode LayoutFunnelmode `json:"funnelmode,omitempty"` + + // Geo + // role: Object + Geo *LayoutGeo `json:"geo,omitempty"` + + // Grid + // role: Object + Grid *LayoutGrid `json:"grid,omitempty"` + + // Height + // arrayOK: false + // type: number + // Sets the plot's height (in px). + Height float64 `json:"height,omitempty"` + + // Hiddenlabels + // arrayOK: false + // type: data_array + // hiddenlabels is the funnelarea & pie chart analog of visible:'legendonly' but it can contain many labels, and can simultaneously hide slices from several pies/funnelarea charts + Hiddenlabels interface{} `json:"hiddenlabels,omitempty"` + + // Hiddenlabelssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hiddenlabels`. + Hiddenlabelssrc String `json:"hiddenlabelssrc,omitempty"` + + // Hidesources + // arrayOK: false + // 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). + Hidesources Bool `json:"hidesources,omitempty"` + + // Hoverdistance + // arrayOK: false + // type: integer + // 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. + Hoverdistance int64 `json:"hoverdistance,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *LayoutHoverlabel `json:"hoverlabel,omitempty"` + + // Hovermode + // default: closest + // type: enumerated + // 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. + Hovermode LayoutHovermode `json:"hovermode,omitempty"` + + // Iciclecolorway + // arrayOK: false + // type: colorlist + // Sets the default icicle slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendiciclecolors`. + Iciclecolorway ColorList `json:"iciclecolorway,omitempty"` + + // Images + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Images interface{} `json:"images,omitempty"` + + // Legend + // role: Object + Legend *LayoutLegend `json:"legend,omitempty"` + + // Mapbox + // role: Object + Mapbox *LayoutMapbox `json:"mapbox,omitempty"` + + // Margin + // role: Object + Margin *LayoutMargin `json:"margin,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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]}. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Minreducedheight + // arrayOK: false + // type: number + // Minimum height of the plot with margin.automargin applied (in px) + Minreducedheight float64 `json:"minreducedheight,omitempty"` + + // Minreducedwidth + // arrayOK: false + // type: number + // Minimum width of the plot with margin.automargin applied (in px) + Minreducedwidth float64 `json:"minreducedwidth,omitempty"` + + // Modebar + // role: Object + Modebar *LayoutModebar `json:"modebar,omitempty"` + + // Newselection + // role: Object + Newselection *LayoutNewselection `json:"newselection,omitempty"` + + // Newshape + // role: Object + Newshape *LayoutNewshape `json:"newshape,omitempty"` + + // PaperBgcolor + // arrayOK: false + // type: color + // Sets the background color of the paper where the graph is drawn. + PaperBgcolor Color `json:"paper_bgcolor,omitempty"` + + // Piecolorway + // arrayOK: false + // type: colorlist + // Sets the default pie slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendpiecolors`. + Piecolorway ColorList `json:"piecolorway,omitempty"` + + // PlotBgcolor + // arrayOK: false + // type: color + // Sets the background color of the plotting area in-between x and y axes. + PlotBgcolor Color `json:"plot_bgcolor,omitempty"` + + // Polar + // role: Object + Polar *LayoutPolar `json:"polar,omitempty"` + + // Scattergap + // arrayOK: false + // type: number + // Sets the gap (in plot fraction) between scatter points of adjacent location coordinates. Defaults to `bargap`. + Scattergap float64 `json:"scattergap,omitempty"` + + // Scattermode + // default: overlay + // type: enumerated + // Determines how scatter points at the same location coordinate are displayed on the graph. With *group*, the scatter points are plotted next to one another centered around the shared location. With *overlay*, the scatter points are plotted over one another, you might need to reduce *opacity* to see multiple scatter points. + Scattermode LayoutScattermode `json:"scattermode,omitempty"` + + // Scene + // role: Object + Scene *LayoutScene `json:"scene,omitempty"` + + // Selectdirection + // default: any + // type: enumerated + // 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. + Selectdirection LayoutSelectdirection `json:"selectdirection,omitempty"` + + // Selectionrevision + // arrayOK: false + // type: any + // Controls persistence of user-driven changes in selected points from all traces. + Selectionrevision interface{} `json:"selectionrevision,omitempty"` + + // Selections + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Selections interface{} `json:"selections,omitempty"` + + // Separators + // arrayOK: false + // 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. + Separators String `json:"separators,omitempty"` + + // Shapes + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Shapes interface{} `json:"shapes,omitempty"` + + // Showlegend + // arrayOK: false + // 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`. + Showlegend Bool `json:"showlegend,omitempty"` + + // Sliders + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Sliders interface{} `json:"sliders,omitempty"` + + // Smith + // role: Object + Smith *LayoutSmith `json:"smith,omitempty"` + + // Spikedistance + // arrayOK: false + // type: integer + // 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. + Spikedistance int64 `json:"spikedistance,omitempty"` + + // Sunburstcolorway + // arrayOK: false + // type: colorlist + // Sets the default sunburst slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendsunburstcolors`. + Sunburstcolorway ColorList `json:"sunburstcolorway,omitempty"` + + // Template + // arrayOK: false + // type: any + // 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`. + Template interface{} `json:"template,omitempty"` + + // Ternary + // role: Object + Ternary *LayoutTernary `json:"ternary,omitempty"` + + // Title + // role: Object + Title *LayoutTitle `json:"title,omitempty"` + + // Transition + // role: Object + Transition *LayoutTransition `json:"transition,omitempty"` + + // Treemapcolorway + // arrayOK: false + // type: colorlist + // Sets the default treemap slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendtreemapcolors`. + Treemapcolorway ColorList `json:"treemapcolorway,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Uniformtext + // role: Object + Uniformtext *LayoutUniformtext `json:"uniformtext,omitempty"` + + // Updatemenus + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Updatemenus interface{} `json:"updatemenus,omitempty"` + + // Violingap + // arrayOK: false + // type: number + // Sets the gap (in plot fraction) between violins of adjacent location coordinates. Has no effect on traces that have *width* set. + Violingap float64 `json:"violingap,omitempty"` + + // Violingroupgap + // arrayOK: false + // type: number + // Sets the gap (in plot fraction) between violins of the same location coordinate. Has no effect on traces that have *width* set. + Violingroupgap float64 `json:"violingroupgap,omitempty"` + + // Violinmode + // default: overlay + // type: enumerated + // Determines how violins at the same location coordinate are displayed on the graph. If *group*, the violins are plotted next to one another centered around the shared location. If *overlay*, the violins are plotted over one another, you might need to set *opacity* to see them multiple violins. Has no effect on traces that have *width* set. + Violinmode LayoutViolinmode `json:"violinmode,omitempty"` + + // Waterfallgap + // arrayOK: false + // type: number + // Sets the gap (in plot fraction) between bars of adjacent location coordinates. + Waterfallgap float64 `json:"waterfallgap,omitempty"` + + // Waterfallgroupgap + // arrayOK: false + // type: number + // Sets the gap (in plot fraction) between bars of the same location coordinate. + Waterfallgroupgap float64 `json:"waterfallgroupgap,omitempty"` + + // Waterfallmode + // default: group + // type: enumerated + // Determines how bars at the same location coordinate are displayed on the graph. With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars. + Waterfallmode LayoutWaterfallmode `json:"waterfallmode,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the plot's width (in px). + Width float64 `json:"width,omitempty"` + + // Xaxis + // role: Object + Xaxis *LayoutXaxis `json:"xaxis,omitempty"` + + // Yaxis + // role: Object + Yaxis *LayoutYaxis `json:"yaxis,omitempty"` + + // XAxis2 + // X Axis number 2 + XAxis2 *LayoutXaxis `json:"xaxis2,omitempty"` + + // XAxis3 + // X Axis number 3 + XAxis3 *LayoutXaxis `json:"xaxis3,omitempty"` + + // XAxis4 + // X Axis number 4 + XAxis4 *LayoutXaxis `json:"xaxis4,omitempty"` + + // XAxis5 + // X Axis number 5 + XAxis5 *LayoutXaxis `json:"xaxis5,omitempty"` + + // XAxis6 + // X Axis number 6 + XAxis6 *LayoutXaxis `json:"xaxis6,omitempty"` + + // YAxis2 + // Y Axis number 2 + YAxis2 *LayoutYaxis `json:"yaxis2,omitempty"` + + // YAxis3 + // Y Axis number 3 + YAxis3 *LayoutYaxis `json:"yaxis3,omitempty"` + + // YAxis4 + // Y Axis number 4 + YAxis4 *LayoutYaxis `json:"yaxis4,omitempty"` + + // YAxis5 + // Y Axis number 5 + YAxis5 *LayoutYaxis `json:"yaxis5,omitempty"` + + // YAxis6 + // Y Axis number 6 + YAxis6 *LayoutYaxis `json:"yaxis6,omitempty"` +} + +// LayoutActiveselection +type LayoutActiveselection struct { + + // Fillcolor + // arrayOK: false + // type: color + // Sets the color filling the active selection' interior. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the active selection. + Opacity float64 `json:"opacity,omitempty"` +} + +// LayoutActiveshape +type LayoutActiveshape struct { + + // Fillcolor + // arrayOK: false + // type: color + // Sets the color filling the active shape' interior. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the active shape. + Opacity float64 `json:"opacity,omitempty"` +} + +// LayoutColoraxisColorbarTickfont Sets the color bar's tick label font +type LayoutColoraxisColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutColoraxisColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type LayoutColoraxisColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutColoraxisColorbarTitle +type LayoutColoraxisColorbarTitle struct { + + // Font + // role: Object + Font *LayoutColoraxisColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side LayoutColoraxisColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// LayoutColoraxisColorbar +type LayoutColoraxisColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat LayoutColoraxisColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode LayoutColoraxisColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation LayoutColoraxisColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent LayoutColoraxisColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix LayoutColoraxisColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix LayoutColoraxisColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode LayoutColoraxisColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *LayoutColoraxisColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow LayoutColoraxisColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition LayoutColoraxisColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode LayoutColoraxisColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks LayoutColoraxisColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *LayoutColoraxisColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor LayoutColoraxisColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref LayoutColoraxisColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor LayoutColoraxisColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref LayoutColoraxisColorbarYref `json:"yref,omitempty"` +} + +// LayoutColoraxis +type LayoutColoraxis struct { + + // Autocolorscale + // arrayOK: false + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // Determines whether or not the color domain is computed with respect to the input data (here corresponding trace color array(s)) or the bounds set in `cmin` and `cmax` Defaults to `false` when `cmin` and `cmax` are set by the user. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // type: number + // Sets the upper bound of the color domain. Value should have the same units as corresponding trace color array(s) and if set, `cmin` must be set as well. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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 corresponding trace color array(s). Has no effect when `cauto` is `false`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // type: number + // Sets the lower bound of the color domain. Value should have the same units as corresponding trace color array(s) and if set, `cmax` must be set as well. + Cmin float64 `json:"cmin,omitempty"` + + // Colorbar + // role: Object + Colorbar *LayoutColoraxisColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // type: boolean + // Determines whether or not a colorbar is displayed for this trace. + Showscale Bool `json:"showscale,omitempty"` +} + +// LayoutColorscale +type LayoutColorscale struct { + + // Diverging + // default: [[%!s(float64=0) rgb(5,10,172)] [%!s(float64=0.35) rgb(106,137,247)] [%!s(float64=0.5) rgb(190,190,190)] [%!s(float64=0.6) rgb(220,170,132)] [%!s(float64=0.7) rgb(230,145,90)] [%!s(float64=1) rgb(178,10,28)]] + // type: colorscale + // Sets the default diverging colorscale. Note that `autocolorscale` must be true for this attribute to work. + Diverging ColorScale `json:"diverging,omitempty"` + + // Sequential + // default: [[%!s(float64=0) rgb(220,220,220)] [%!s(float64=0.2) rgb(245,195,157)] [%!s(float64=0.4) rgb(245,160,105)] [%!s(float64=1) rgb(178,10,28)]] + // type: colorscale + // Sets the default sequential colorscale for positive values. Note that `autocolorscale` must be true for this attribute to work. + Sequential ColorScale `json:"sequential,omitempty"` + + // Sequentialminus + // default: [[%!s(float64=0) rgb(5,10,172)] [%!s(float64=0.35) rgb(40,60,190)] [%!s(float64=0.5) rgb(70,100,245)] [%!s(float64=0.6) rgb(90,120,245)] [%!s(float64=0.7) rgb(106,137,247)] [%!s(float64=1) rgb(220,220,220)]] + // type: colorscale + // Sets the default sequential colorscale for negative values. Note that `autocolorscale` must be true for this attribute to work. + Sequentialminus ColorScale `json:"sequentialminus,omitempty"` +} + +// LayoutFont Sets the global font. Note that fonts used in traces and other layout components inherit from the global font. +type LayoutFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutGeoCenter +type LayoutGeoCenter struct { + + // Lat + // arrayOK: false + // type: number + // Sets the latitude of the map's center. For all projection types, the map's latitude center lies at the middle of the latitude range by default. + Lat float64 `json:"lat,omitempty"` + + // Lon + // arrayOK: false + // type: number + // Sets the longitude of the map's center. By default, the map's longitude center lies at the middle of the longitude range for scoped projection and above `projection.rotation.lon` otherwise. + Lon float64 `json:"lon,omitempty"` +} + +// LayoutGeoDomain +type LayoutGeoDomain struct { + + // Column + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this column in the grid for this geo subplot . Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both. + Column int64 `json:"column,omitempty"` + + // Row + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this row in the grid for this geo subplot . Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both. + Row int64 `json:"row,omitempty"` + + // X + // arrayOK: false + // type: info_array + // Sets the horizontal domain of this geo subplot (in plot fraction). Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both. + X interface{} `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: info_array + // Sets the vertical domain of this geo subplot (in plot fraction). Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both. + Y interface{} `json:"y,omitempty"` +} + +// LayoutGeoLataxis +type LayoutGeoLataxis struct { + + // Dtick + // arrayOK: false + // type: number + // Sets the graticule's longitude/latitude tick step. + Dtick float64 `json:"dtick,omitempty"` + + // Gridcolor + // arrayOK: false + // type: color + // Sets the graticule's stroke color. + Gridcolor Color `json:"gridcolor,omitempty"` + + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the graticule's stroke width (in px). + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Range + // arrayOK: false + // type: info_array + // Sets the range of this axis (in degrees), sets the map's clipped coordinates. + Range interface{} `json:"range,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Sets whether or not graticule are shown on the map. + Showgrid Bool `json:"showgrid,omitempty"` + + // Tick0 + // arrayOK: false + // type: number + // Sets the graticule's starting tick longitude/latitude. + Tick0 float64 `json:"tick0,omitempty"` +} + +// LayoutGeoLonaxis +type LayoutGeoLonaxis struct { + + // Dtick + // arrayOK: false + // type: number + // Sets the graticule's longitude/latitude tick step. + Dtick float64 `json:"dtick,omitempty"` + + // Gridcolor + // arrayOK: false + // type: color + // Sets the graticule's stroke color. + Gridcolor Color `json:"gridcolor,omitempty"` + + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the graticule's stroke width (in px). + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Range + // arrayOK: false + // type: info_array + // Sets the range of this axis (in degrees), sets the map's clipped coordinates. + Range interface{} `json:"range,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Sets whether or not graticule are shown on the map. + Showgrid Bool `json:"showgrid,omitempty"` + + // Tick0 + // arrayOK: false + // type: number + // Sets the graticule's starting tick longitude/latitude. + Tick0 float64 `json:"tick0,omitempty"` +} + +// LayoutGeoProjectionRotation +type LayoutGeoProjectionRotation struct { + + // Lat + // arrayOK: false + // type: number + // Rotates the map along meridians (in degrees North). + Lat float64 `json:"lat,omitempty"` + + // Lon + // arrayOK: false + // type: number + // Rotates the map along parallels (in degrees East). Defaults to the center of the `lonaxis.range` values. + Lon float64 `json:"lon,omitempty"` + + // Roll + // arrayOK: false + // type: number + // Roll the map (in degrees) For example, a roll of *180* makes the map appear upside down. + Roll float64 `json:"roll,omitempty"` +} + +// LayoutGeoProjection +type LayoutGeoProjection struct { + + // Distance + // arrayOK: false + // type: number + // For satellite projection type only. Sets the distance from the center of the sphere to the point of view as a proportion of the sphere’s radius. + Distance float64 `json:"distance,omitempty"` + + // Parallels + // arrayOK: false + // type: info_array + // For conic projection types only. Sets the parallels (tangent, secant) where the cone intersects the sphere. + Parallels interface{} `json:"parallels,omitempty"` + + // Rotation + // role: Object + Rotation *LayoutGeoProjectionRotation `json:"rotation,omitempty"` + + // Scale + // arrayOK: false + // type: number + // Zooms in or out on the map view. A scale of *1* corresponds to the largest zoom level that fits the map's lon and lat ranges. + Scale float64 `json:"scale,omitempty"` + + // Tilt + // arrayOK: false + // type: number + // For satellite projection type only. Sets the tilt angle of perspective projection. + Tilt float64 `json:"tilt,omitempty"` + + // Type + // default: %!s() + // type: enumerated + // Sets the projection type. + Type LayoutGeoProjectionType `json:"type,omitempty"` +} + +// LayoutGeo +type LayoutGeo struct { + + // Bgcolor + // arrayOK: false + // type: color + // Set the background color of the map + Bgcolor Color `json:"bgcolor,omitempty"` + + // Center + // role: Object + Center *LayoutGeoCenter `json:"center,omitempty"` + + // Coastlinecolor + // arrayOK: false + // type: color + // Sets the coastline color. + Coastlinecolor Color `json:"coastlinecolor,omitempty"` + + // Coastlinewidth + // arrayOK: false + // type: number + // Sets the coastline stroke width (in px). + Coastlinewidth float64 `json:"coastlinewidth,omitempty"` + + // Countrycolor + // arrayOK: false + // type: color + // Sets line color of the country boundaries. + Countrycolor Color `json:"countrycolor,omitempty"` + + // Countrywidth + // arrayOK: false + // type: number + // Sets line width (in px) of the country boundaries. + Countrywidth float64 `json:"countrywidth,omitempty"` + + // Domain + // role: Object + Domain *LayoutGeoDomain `json:"domain,omitempty"` + + // Fitbounds + // default: %!s(bool=false) + // type: enumerated + // Determines if this subplot's view settings are auto-computed to fit trace data. On scoped maps, setting `fitbounds` leads to `center.lon` and `center.lat` getting auto-filled. On maps with a non-clipped projection, setting `fitbounds` leads to `center.lon`, `center.lat`, and `projection.rotation.lon` getting auto-filled. On maps with a clipped projection, setting `fitbounds` leads to `center.lon`, `center.lat`, `projection.rotation.lon`, `projection.rotation.lat`, `lonaxis.range` and `lonaxis.range` getting auto-filled. If *locations*, only the trace's visible locations are considered in the `fitbounds` computations. If *geojson*, the entire trace input `geojson` (if provided) is considered in the `fitbounds` computations, Defaults to *false*. + Fitbounds LayoutGeoFitbounds `json:"fitbounds,omitempty"` + + // Framecolor + // arrayOK: false + // type: color + // Sets the color the frame. + Framecolor Color `json:"framecolor,omitempty"` + + // Framewidth + // arrayOK: false + // type: number + // Sets the stroke width (in px) of the frame. + Framewidth float64 `json:"framewidth,omitempty"` + + // Lakecolor + // arrayOK: false + // type: color + // Sets the color of the lakes. + Lakecolor Color `json:"lakecolor,omitempty"` + + // Landcolor + // arrayOK: false + // type: color + // Sets the land mass color. + Landcolor Color `json:"landcolor,omitempty"` + + // Lataxis + // role: Object + Lataxis *LayoutGeoLataxis `json:"lataxis,omitempty"` + + // Lonaxis + // role: Object + Lonaxis *LayoutGeoLonaxis `json:"lonaxis,omitempty"` + + // Oceancolor + // arrayOK: false + // type: color + // Sets the ocean color + Oceancolor Color `json:"oceancolor,omitempty"` + + // Projection + // role: Object + Projection *LayoutGeoProjection `json:"projection,omitempty"` + + // Resolution + // default: %!s(float64=110) + // type: enumerated + // Sets the resolution of the base layers. The values have units of km/mm e.g. 110 corresponds to a scale ratio of 1:110,000,000. + Resolution LayoutGeoResolution `json:"resolution,omitempty"` + + // Rivercolor + // arrayOK: false + // type: color + // Sets color of the rivers. + Rivercolor Color `json:"rivercolor,omitempty"` + + // Riverwidth + // arrayOK: false + // type: number + // Sets the stroke width (in px) of the rivers. + Riverwidth float64 `json:"riverwidth,omitempty"` + + // Scope + // default: world + // type: enumerated + // Set the scope of the map. + Scope LayoutGeoScope `json:"scope,omitempty"` + + // Showcoastlines + // arrayOK: false + // type: boolean + // Sets whether or not the coastlines are drawn. + Showcoastlines Bool `json:"showcoastlines,omitempty"` + + // Showcountries + // arrayOK: false + // type: boolean + // Sets whether or not country boundaries are drawn. + Showcountries Bool `json:"showcountries,omitempty"` + + // Showframe + // arrayOK: false + // type: boolean + // Sets whether or not a frame is drawn around the map. + Showframe Bool `json:"showframe,omitempty"` + + // Showlakes + // arrayOK: false + // type: boolean + // Sets whether or not lakes are drawn. + Showlakes Bool `json:"showlakes,omitempty"` + + // Showland + // arrayOK: false + // type: boolean + // Sets whether or not land masses are filled in color. + Showland Bool `json:"showland,omitempty"` + + // Showocean + // arrayOK: false + // type: boolean + // Sets whether or not oceans are filled in color. + Showocean Bool `json:"showocean,omitempty"` + + // Showrivers + // arrayOK: false + // type: boolean + // Sets whether or not rivers are drawn. + Showrivers Bool `json:"showrivers,omitempty"` + + // Showsubunits + // arrayOK: false + // type: boolean + // Sets whether or not boundaries of subunits within countries (e.g. states, provinces) are drawn. + Showsubunits Bool `json:"showsubunits,omitempty"` + + // Subunitcolor + // arrayOK: false + // type: color + // Sets the color of the subunits boundaries. + Subunitcolor Color `json:"subunitcolor,omitempty"` + + // Subunitwidth + // arrayOK: false + // type: number + // Sets the stroke width (in px) of the subunits boundaries. + Subunitwidth float64 `json:"subunitwidth,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // Controls persistence of user-driven changes in the view (projection and center). Defaults to `layout.uirevision`. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Sets the default visibility of the base layers. + Visible Bool `json:"visible,omitempty"` +} + +// LayoutGridDomain +type LayoutGridDomain struct { + + // X + // arrayOK: false + // type: info_array + // 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. + X interface{} `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: info_array + // 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. + Y interface{} `json:"y,omitempty"` +} + +// LayoutGrid +type LayoutGrid struct { + + // Columns + // arrayOK: false + // type: integer + // 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. + Columns int64 `json:"columns,omitempty"` + + // Domain + // role: Object + Domain *LayoutGridDomain `json:"domain,omitempty"` + + // Pattern + // default: coupled + // type: enumerated + // 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`. + Pattern LayoutGridPattern `json:"pattern,omitempty"` + + // Roworder + // default: top to bottom + // type: enumerated + // Is the first row the top or the bottom? Note that columns are always enumerated from left to right. + Roworder LayoutGridRoworder `json:"roworder,omitempty"` + + // Rows + // arrayOK: false + // type: integer + // 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. + Rows int64 `json:"rows,omitempty"` + + // Subplots + // arrayOK: false + // type: info_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. + Subplots interface{} `json:"subplots,omitempty"` + + // Xaxes + // arrayOK: false + // type: info_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. + Xaxes interface{} `json:"xaxes,omitempty"` + + // Xgap + // arrayOK: false + // type: number + // 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. + Xgap float64 `json:"xgap,omitempty"` + + // Xside + // default: bottom plot + // type: enumerated + // 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. + Xside LayoutGridXside `json:"xside,omitempty"` + + // Yaxes + // arrayOK: false + // type: info_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. + Yaxes interface{} `json:"yaxes,omitempty"` + + // Ygap + // arrayOK: false + // type: number + // 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. + Ygap float64 `json:"ygap,omitempty"` + + // Yside + // default: left plot + // type: enumerated + // 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. + Yside LayoutGridYside `json:"yside,omitempty"` +} + +// LayoutHoverlabelFont Sets the default hover label font used by all traces on the graph. +type LayoutHoverlabelFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutHoverlabelGrouptitlefont Sets the font for group titles in hover (unified modes). Defaults to `hoverlabel.font`. +type LayoutHoverlabelGrouptitlefont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutHoverlabel +type LayoutHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align LayoutHoverlabelAlign `json:"align,omitempty"` + + // Bgcolor + // arrayOK: false + // type: color + // Sets the background color of all hover labels on graph + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the border color of all hover labels on graph. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Font + // role: Object + Font *LayoutHoverlabelFont `json:"font,omitempty"` + + // Grouptitlefont + // role: Object + Grouptitlefont *LayoutHoverlabelGrouptitlefont `json:"grouptitlefont,omitempty"` + + // Namelength + // arrayOK: false + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` +} + +// LayoutLegendFont Sets the font used to text the legend items. +type LayoutLegendFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutLegendGrouptitlefont Sets the font for group titles in legend. Defaults to `legend.font` with its size increased about 10%. +type LayoutLegendGrouptitlefont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutLegendTitleFont Sets this legend's title font. Defaults to `legend.font` with its size increased about 20%. +type LayoutLegendTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutLegendTitle +type LayoutLegendTitle struct { + + // Font + // role: Object + Font *LayoutLegendTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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. + Side LayoutLegendTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend. + Text String `json:"text,omitempty"` +} + +// LayoutLegend +type LayoutLegend struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the legend background color. Defaults to `layout.paper_bgcolor`. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the color of the border enclosing the legend. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the border enclosing the legend. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Entrywidth + // arrayOK: false + // 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*. + Entrywidth float64 `json:"entrywidth,omitempty"` + + // Entrywidthmode + // default: pixels + // type: enumerated + // Determines what entrywidth means. + Entrywidthmode LayoutLegendEntrywidthmode `json:"entrywidthmode,omitempty"` + + // Font + // role: Object + Font *LayoutLegendFont `json:"font,omitempty"` + + // Groupclick + // default: togglegroup + // type: enumerated + // 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. + Groupclick LayoutLegendGroupclick `json:"groupclick,omitempty"` + + // Grouptitlefont + // role: Object + Grouptitlefont *LayoutLegendGrouptitlefont `json:"grouptitlefont,omitempty"` + + // Itemclick + // default: toggle + // type: enumerated + // 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. + Itemclick LayoutLegendItemclick `json:"itemclick,omitempty"` + + // Itemdoubleclick + // default: toggleothers + // type: enumerated + // 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. + Itemdoubleclick LayoutLegendItemdoubleclick `json:"itemdoubleclick,omitempty"` + + // Itemsizing + // default: trace + // type: enumerated + // Determines if the legend items symbols scale with their corresponding *trace* attributes or remain *constant* independent of the symbol size on the graph. + Itemsizing LayoutLegendItemsizing `json:"itemsizing,omitempty"` + + // Itemwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the legend item symbols (the part other than the title.text). + Itemwidth float64 `json:"itemwidth,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the legend. + Orientation LayoutLegendOrientation `json:"orientation,omitempty"` + + // Title + // role: Object + Title *LayoutLegendTitle `json:"title,omitempty"` + + // Tracegroupgap + // arrayOK: false + // type: number + // Sets the amount of vertical space (in px) between legend groups. + Tracegroupgap float64 `json:"tracegroupgap,omitempty"` + + // Traceorder + // default: %!s() + // type: flaglist + // 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*. + Traceorder LayoutLegendTraceorder `json:"traceorder,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // Controls persistence of legend-driven changes in trace and pie label visibility. Defaults to `layout.uirevision`. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Valign + // default: middle + // type: enumerated + // Sets the vertical alignment of the symbols with respect to their associated text. + Valign LayoutLegendValign `json:"valign,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Determines whether or not this legend is visible. + Visible Bool `json:"visible,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: left + // type: enumerated + // 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. + Xanchor LayoutLegendXanchor `json:"xanchor,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref LayoutLegendXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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. + Yanchor LayoutLegendYanchor `json:"yanchor,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref LayoutLegendYref `json:"yref,omitempty"` +} + +// LayoutMapboxBounds +type LayoutMapboxBounds struct { + + // East + // arrayOK: false + // type: number + // Sets the maximum longitude of the map (in degrees East) if `west`, `south` and `north` are declared. + East float64 `json:"east,omitempty"` + + // North + // arrayOK: false + // type: number + // Sets the maximum latitude of the map (in degrees North) if `east`, `west` and `south` are declared. + North float64 `json:"north,omitempty"` + + // South + // arrayOK: false + // type: number + // Sets the minimum latitude of the map (in degrees North) if `east`, `west` and `north` are declared. + South float64 `json:"south,omitempty"` + + // West + // arrayOK: false + // type: number + // Sets the minimum longitude of the map (in degrees East) if `east`, `south` and `north` are declared. + West float64 `json:"west,omitempty"` +} + +// LayoutMapboxCenter +type LayoutMapboxCenter struct { + + // Lat + // arrayOK: false + // type: number + // Sets the latitude of the center of the map (in degrees North). + Lat float64 `json:"lat,omitempty"` + + // Lon + // arrayOK: false + // type: number + // Sets the longitude of the center of the map (in degrees East). + Lon float64 `json:"lon,omitempty"` +} + +// LayoutMapboxDomain +type LayoutMapboxDomain struct { + + // Column + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this column in the grid for this mapbox subplot . + Column int64 `json:"column,omitempty"` + + // Row + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this row in the grid for this mapbox subplot . + Row int64 `json:"row,omitempty"` + + // X + // arrayOK: false + // type: info_array + // Sets the horizontal domain of this mapbox subplot (in plot fraction). + X interface{} `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: info_array + // Sets the vertical domain of this mapbox subplot (in plot fraction). + Y interface{} `json:"y,omitempty"` +} + +// LayoutMapbox +type LayoutMapbox struct { + + // Accesstoken + // arrayOK: false + // type: string + // Sets the mapbox access token to be used for this mapbox map. Alternatively, the mapbox access token can be set in the configuration options under `mapboxAccessToken`. Note that accessToken are only required when `style` (e.g with values : basic, streets, outdoors, light, dark, satellite, satellite-streets ) and/or a layout layer references the Mapbox server. + Accesstoken String `json:"accesstoken,omitempty"` + + // Bearing + // arrayOK: false + // type: number + // Sets the bearing angle of the map in degrees counter-clockwise from North (mapbox.bearing). + Bearing float64 `json:"bearing,omitempty"` + + // Bounds + // role: Object + Bounds *LayoutMapboxBounds `json:"bounds,omitempty"` + + // Center + // role: Object + Center *LayoutMapboxCenter `json:"center,omitempty"` + + // Domain + // role: Object + Domain *LayoutMapboxDomain `json:"domain,omitempty"` + + // Layers + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Layers interface{} `json:"layers,omitempty"` + + // Pitch + // arrayOK: false + // type: number + // Sets the pitch angle of the map (in degrees, where *0* means perpendicular to the surface of the map) (mapbox.pitch). + Pitch float64 `json:"pitch,omitempty"` + + // Style + // arrayOK: false + // type: any + // 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.mapbox.layers`. These layers can be defined either explicitly as a Mapbox 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 which do not require any access tokens, or by using a default Mapbox style or custom Mapbox style URL, both of which require a Mapbox access token Note that Mapbox access token can be set in the `accesstoken` attribute or in the `mapboxAccessToken` config option. Mapbox Style objects are of the form described in the Mapbox GL JS documentation available at https://docs.mapbox.com/mapbox-gl-js/style-spec The built-in plotly.js styles objects are: carto-darkmatter, carto-positron, open-street-map, stamen-terrain, stamen-toner, stamen-watercolor, white-bg The built-in Mapbox styles are: basic, streets, outdoors, light, dark, satellite, satellite-streets Mapbox style URLs are of the form: mapbox://mapbox.mapbox-- + Style interface{} `json:"style,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // Controls persistence of user-driven changes in the view: `center`, `zoom`, `bearing`, `pitch`. Defaults to `layout.uirevision`. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Zoom + // arrayOK: false + // type: number + // Sets the zoom level of the map (mapbox.zoom). + Zoom float64 `json:"zoom,omitempty"` +} + +// LayoutMargin +type LayoutMargin struct { + + // Autoexpand + // arrayOK: false + // type: boolean + // Turns on/off margin expansion computations. Legends, colorbars, updatemenus, sliders, axis rangeselector and rangeslider are allowed to push the margins by defaults. + Autoexpand Bool `json:"autoexpand,omitempty"` + + // B + // arrayOK: false + // type: number + // Sets the bottom margin (in px). + B float64 `json:"b,omitempty"` + + // L + // arrayOK: false + // type: number + // Sets the left margin (in px). + L float64 `json:"l,omitempty"` + + // Pad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) between the plotting area and the axis lines + Pad float64 `json:"pad,omitempty"` + + // R + // arrayOK: false + // type: number + // Sets the right margin (in px). + R float64 `json:"r,omitempty"` + + // T + // arrayOK: false + // type: number + // Sets the top margin (in px). + T float64 `json:"t,omitempty"` +} + +// LayoutModebar +type LayoutModebar struct { + + // Activecolor + // arrayOK: false + // type: color + // Sets the color of the active or hovered on icons in the modebar. + Activecolor Color `json:"activecolor,omitempty"` + + // Add + // arrayOK: true + // type: string + // 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*. + Add String `json:"add,omitempty"` + + // Addsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `add`. + Addsrc String `json:"addsrc,omitempty"` + + // Bgcolor + // arrayOK: false + // type: color + // Sets the background color of the modebar. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the color of the icons in the modebar. + Color Color `json:"color,omitempty"` + + // Orientation + // default: h + // type: enumerated + // Sets the orientation of the modebar. + Orientation LayoutModebarOrientation `json:"orientation,omitempty"` + + // Remove + // arrayOK: true + // type: string + // 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*, *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*, *zoomInMapbox*, *zoomOut2d*, *zoomOutGeo*, *zoomOutMapbox*, *zoomin*, *zoomout*. + Remove String `json:"remove,omitempty"` + + // Removesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `remove`. + Removesrc String `json:"removesrc,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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`. + Uirevision interface{} `json:"uirevision,omitempty"` +} + +// LayoutNewselectionLine +type LayoutNewselectionLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the line color. By default uses either dark grey or white to increase contrast with background color. + Color Color `json:"color,omitempty"` + + // Dash + // arrayOK: false + // type: string + // 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*). + Dash String `json:"dash,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width (in px). + Width float64 `json:"width,omitempty"` +} + +// LayoutNewselection +type LayoutNewselection struct { + + // Line + // role: Object + Line *LayoutNewselectionLine `json:"line,omitempty"` + + // Mode + // default: immediate + // type: enumerated + // 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. + Mode LayoutNewselectionMode `json:"mode,omitempty"` +} + +// LayoutNewshapeLabelFont Sets the new shape label text font. +type LayoutNewshapeLabelFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutNewshapeLabel +type LayoutNewshapeLabel struct { + + // Font + // role: Object + Font *LayoutNewshapeLabelFont `json:"font,omitempty"` + + // Padding + // arrayOK: false + // type: number + // Sets padding (in px) between edge of label and edge of new shape. + Padding float64 `json:"padding,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the text to display with the new shape. It is also used for legend item if `name` is not provided. + Text String `json:"text,omitempty"` + + // Textangle + // arrayOK: false + // type: angle + // 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. + Textangle float64 `json:"textangle,omitempty"` + + // Textposition + // default: %!s() + // type: enumerated + // 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. + Textposition LayoutNewshapeLabelTextposition `json:"textposition,omitempty"` + + // Texttemplate + // arrayOK: false + // 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`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Xanchor + // default: auto + // type: enumerated + // 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. + Xanchor LayoutNewshapeLabelXanchor `json:"xanchor,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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. + Yanchor LayoutNewshapeLabelYanchor `json:"yanchor,omitempty"` +} + +// LayoutNewshapeLegendgrouptitleFont Sets this legend group's title font. +type LayoutNewshapeLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutNewshapeLegendgrouptitle +type LayoutNewshapeLegendgrouptitle struct { + + // Font + // role: Object + Font *LayoutNewshapeLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// LayoutNewshapeLine +type LayoutNewshapeLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the line color. By default uses either dark grey or white to increase contrast with background color. + Color Color `json:"color,omitempty"` + + // Dash + // arrayOK: false + // type: string + // 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*). + Dash String `json:"dash,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width (in px). + Width float64 `json:"width,omitempty"` +} + +// LayoutNewshape +type LayoutNewshape struct { + + // Drawdirection + // default: diagonal + // type: enumerated + // 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. + Drawdirection LayoutNewshapeDrawdirection `json:"drawdirection,omitempty"` + + // Fillcolor + // arrayOK: false + // type: color + // 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. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Fillrule + // default: evenodd + // type: enumerated + // Determines the path's interior. For more info please visit https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule + Fillrule LayoutNewshapeFillrule `json:"fillrule,omitempty"` + + // Label + // role: Object + Label *LayoutNewshapeLabel `json:"label,omitempty"` + + // Layer + // default: above + // type: enumerated + // Specifies whether new shapes are drawn below or above traces. + Layer LayoutNewshapeLayer `json:"layer,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *LayoutNewshapeLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for new shape. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *LayoutNewshapeLine `json:"line,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets new shape name. The name appears as the legend item. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of new shapes. + Opacity float64 `json:"opacity,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not new shape is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible LayoutNewshapeVisible `json:"visible,omitempty"` +} + +// LayoutPolarAngularaxisTickfont Sets the tick font. +type LayoutPolarAngularaxisTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutPolarAngularaxis +type LayoutPolarAngularaxis struct { + + // Autotypenumbers + // default: convert types + // type: enumerated + // 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. + Autotypenumbers LayoutPolarAngularaxisAutotypenumbers `json:"autotypenumbers,omitempty"` + + // Categoryarray + // arrayOK: false + // 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`. + Categoryarray interface{} `json:"categoryarray,omitempty"` + + // Categoryarraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `categoryarray`. + Categoryarraysrc String `json:"categoryarraysrc,omitempty"` + + // Categoryorder + // default: trace + // type: enumerated + // 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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values. + Categoryorder LayoutPolarAngularaxisCategoryorder `json:"categoryorder,omitempty"` + + // Color + // arrayOK: false + // 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. + Color Color `json:"color,omitempty"` + + // Direction + // default: counterclockwise + // type: enumerated + // Sets the direction corresponding to positive angles. + Direction LayoutPolarAngularaxisDirection `json:"direction,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat LayoutPolarAngularaxisExponentformat `json:"exponentformat,omitempty"` + + // Gridcolor + // arrayOK: false + // type: color + // Sets the color of the grid lines. + Gridcolor Color `json:"gridcolor,omitempty"` + + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the grid lines. + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Hoverformat + // arrayOK: false + // type: string + // Sets the hover text 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* + Hoverformat String `json:"hoverformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Layer + // default: above traces + // type: enumerated + // Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. + Layer LayoutPolarAngularaxisLayer `json:"layer,omitempty"` + + // Linecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Linecolor Color `json:"linecolor,omitempty"` + + // Linewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Linewidth float64 `json:"linewidth,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Period + // arrayOK: false + // type: number + // Set the angular period. Has an effect only when `angularaxis.type` is *category*. + Period float64 `json:"period,omitempty"` + + // Rotation + // arrayOK: false + // type: angle + // Sets that start position (in degrees) of the angular axis By default, polar subplots with `direction` set to *counterclockwise* get a `rotation` of *0* which corresponds to due East (like what mathematicians prefer). In turn, polar with `direction` set to *clockwise* get a rotation of *90* which corresponds to due North (like on a compass), + Rotation float64 `json:"rotation,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent LayoutPolarAngularaxisShowexponent `json:"showexponent,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark. + Showgrid Bool `json:"showgrid,omitempty"` + + // Showline + // arrayOK: false + // type: boolean + // Determines whether or not a line bounding this axis is drawn. + Showline Bool `json:"showline,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix LayoutPolarAngularaxisShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix LayoutPolarAngularaxisShowticksuffix `json:"showticksuffix,omitempty"` + + // Thetaunit + // default: degrees + // type: enumerated + // Sets the format unit of the formatted *theta* values. Has an effect only when `angularaxis.type` is *linear*. + Thetaunit LayoutPolarAngularaxisThetaunit `json:"thetaunit,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *LayoutPolarAngularaxisTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode LayoutPolarAngularaxisTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: %!s() + // type: enumerated + // 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. + Ticks LayoutPolarAngularaxisTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Type + // default: - + // type: enumerated + // Sets the angular axis type. If *linear*, set `thetaunit` to determine the unit in which axis value are shown. If *category, use `period` to set the number of integer coordinates around polar axis. + Type LayoutPolarAngularaxisType `json:"type,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // Controls persistence of user-driven changes in axis `rotation`. Defaults to `polar.uirevision`. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // 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 + Visible Bool `json:"visible,omitempty"` +} + +// LayoutPolarDomain +type LayoutPolarDomain struct { + + // Column + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this column in the grid for this polar subplot . + Column int64 `json:"column,omitempty"` + + // Row + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this row in the grid for this polar subplot . + Row int64 `json:"row,omitempty"` + + // X + // arrayOK: false + // type: info_array + // Sets the horizontal domain of this polar subplot (in plot fraction). + X interface{} `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: info_array + // Sets the vertical domain of this polar subplot (in plot fraction). + Y interface{} `json:"y,omitempty"` +} + +// LayoutPolarRadialaxisAutorangeoptions +type LayoutPolarRadialaxisAutorangeoptions struct { + + // Clipmax + // arrayOK: false + // type: any + // Clip autorange maximum if it goes beyond this value. Has no effect when `autorangeoptions.maxallowed` is provided. + Clipmax interface{} `json:"clipmax,omitempty"` + + // Clipmin + // arrayOK: false + // type: any + // Clip autorange minimum if it goes beyond this value. Has no effect when `autorangeoptions.minallowed` is provided. + Clipmin interface{} `json:"clipmin,omitempty"` + + // Include + // arrayOK: true + // type: any + // Ensure this value is included in autorange. + Include interface{} `json:"include,omitempty"` + + // Includesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `include`. + Includesrc String `json:"includesrc,omitempty"` + + // Maxallowed + // arrayOK: false + // type: any + // Use this value exactly as autorange maximum. + Maxallowed interface{} `json:"maxallowed,omitempty"` + + // Minallowed + // arrayOK: false + // type: any + // Use this value exactly as autorange minimum. + Minallowed interface{} `json:"minallowed,omitempty"` +} + +// LayoutPolarRadialaxisTickfont Sets the tick font. +type LayoutPolarRadialaxisTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutPolarRadialaxisTitleFont Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute. +type LayoutPolarRadialaxisTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutPolarRadialaxisTitle +type LayoutPolarRadialaxisTitle struct { + + // Font + // role: Object + Font *LayoutPolarRadialaxisTitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// LayoutPolarRadialaxis +type LayoutPolarRadialaxis struct { + + // Angle + // arrayOK: false + // type: angle + // Sets the angle (in degrees) from which the radial axis is drawn. Note that by default, radial axis line on the theta=0 line corresponds to a line pointing right (like what mathematicians prefer). Defaults to the first `polar.sector` angle. + Angle float64 `json:"angle,omitempty"` + + // Autorange + // default: %!s(bool=true) + // type: enumerated + // Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction. + Autorange LayoutPolarRadialaxisAutorange `json:"autorange,omitempty"` + + // Autorangeoptions + // role: Object + Autorangeoptions *LayoutPolarRadialaxisAutorangeoptions `json:"autorangeoptions,omitempty"` + + // Autotickangles + // arrayOK: false + // type: info_array + // When `tickangle` is set to *auto*, it will be set to the first angle in this array that is large enough to prevent label overlap. + Autotickangles interface{} `json:"autotickangles,omitempty"` + + // Autotypenumbers + // default: convert types + // type: enumerated + // 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. + Autotypenumbers LayoutPolarRadialaxisAutotypenumbers `json:"autotypenumbers,omitempty"` + + // Calendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar` + Calendar LayoutPolarRadialaxisCalendar `json:"calendar,omitempty"` + + // Categoryarray + // arrayOK: false + // 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`. + Categoryarray interface{} `json:"categoryarray,omitempty"` + + // Categoryarraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `categoryarray`. + Categoryarraysrc String `json:"categoryarraysrc,omitempty"` + + // Categoryorder + // default: trace + // type: enumerated + // 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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values. + Categoryorder LayoutPolarRadialaxisCategoryorder `json:"categoryorder,omitempty"` + + // Color + // arrayOK: false + // 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. + Color Color `json:"color,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat LayoutPolarRadialaxisExponentformat `json:"exponentformat,omitempty"` + + // Gridcolor + // arrayOK: false + // type: color + // Sets the color of the grid lines. + Gridcolor Color `json:"gridcolor,omitempty"` + + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the grid lines. + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Hoverformat + // arrayOK: false + // type: string + // Sets the hover text 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* + Hoverformat String `json:"hoverformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Layer + // default: above traces + // type: enumerated + // Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. + Layer LayoutPolarRadialaxisLayer `json:"layer,omitempty"` + + // Linecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Linecolor Color `json:"linecolor,omitempty"` + + // Linewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Linewidth float64 `json:"linewidth,omitempty"` + + // Maxallowed + // arrayOK: false + // type: any + // Determines the maximum range of this axis. + Maxallowed interface{} `json:"maxallowed,omitempty"` + + // Minallowed + // arrayOK: false + // type: any + // Determines the minimum range of this axis. + Minallowed interface{} `json:"minallowed,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Range + // arrayOK: false + // type: info_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. Leaving either or both elements `null` impacts the default `autorange`. + Range interface{} `json:"range,omitempty"` + + // Rangemode + // default: tozero + // type: enumerated + // 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). + Rangemode LayoutPolarRadialaxisRangemode `json:"rangemode,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent LayoutPolarRadialaxisShowexponent `json:"showexponent,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark. + Showgrid Bool `json:"showgrid,omitempty"` + + // Showline + // arrayOK: false + // type: boolean + // Determines whether or not a line bounding this axis is drawn. + Showline Bool `json:"showline,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix LayoutPolarRadialaxisShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix LayoutPolarRadialaxisShowticksuffix `json:"showticksuffix,omitempty"` + + // Side + // default: clockwise + // type: enumerated + // Determines on which side of radial axis line the tick and tick labels appear. + Side LayoutPolarRadialaxisSide `json:"side,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *LayoutPolarRadialaxisTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode LayoutPolarRadialaxisTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: %!s() + // type: enumerated + // 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. + Ticks LayoutPolarRadialaxisTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *LayoutPolarRadialaxisTitle `json:"title,omitempty"` + + // Type + // default: - + // type: enumerated + // 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. + Type LayoutPolarRadialaxisType `json:"type,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // Controls persistence of user-driven changes in axis `range`, `autorange`, `angle`, and `title` if in `editable: true` configuration. Defaults to `polar.uirevision`. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // 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 + Visible Bool `json:"visible,omitempty"` +} + +// LayoutPolar +type LayoutPolar struct { + + // Angularaxis + // role: Object + Angularaxis *LayoutPolarAngularaxis `json:"angularaxis,omitempty"` + + // Bgcolor + // arrayOK: false + // type: color + // Set the background color of the subplot + Bgcolor Color `json:"bgcolor,omitempty"` + + // Domain + // role: Object + Domain *LayoutPolarDomain `json:"domain,omitempty"` + + // Gridshape + // default: circular + // type: enumerated + // Determines if the radial axis grid lines and angular axis line are drawn as *circular* sectors or as *linear* (polygon) sectors. Has an effect only when the angular axis has `type` *category*. Note that `radialaxis.angle` is snapped to the angle of the closest vertex when `gridshape` is *circular* (so that radial axis scale is the same as the data scale). + Gridshape LayoutPolarGridshape `json:"gridshape,omitempty"` + + // Hole + // arrayOK: false + // type: number + // Sets the fraction of the radius to cut out of the polar subplot. + Hole float64 `json:"hole,omitempty"` + + // Radialaxis + // role: Object + Radialaxis *LayoutPolarRadialaxis `json:"radialaxis,omitempty"` + + // Sector + // arrayOK: false + // type: info_array + // Sets angular span of this polar subplot with two angles (in degrees). Sector are assumed to be spanned in the counterclockwise direction with *0* corresponding to rightmost limit of the polar subplot. + Sector interface{} `json:"sector,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // Controls persistence of user-driven changes in axis attributes, if not overridden in the individual axes. Defaults to `layout.uirevision`. + Uirevision interface{} `json:"uirevision,omitempty"` +} + +// LayoutSceneAspectratio Sets this scene's axis aspectratio. +type LayoutSceneAspectratio struct { + + // X + // arrayOK: false + // type: number + // + X float64 `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: number + // + Y float64 `json:"y,omitempty"` + + // Z + // arrayOK: false + // type: number + // + Z float64 `json:"z,omitempty"` +} + +// LayoutSceneCameraCenter Sets the (x,y,z) components of the 'center' camera vector This vector determines the translation (x,y,z) space about the center of this scene. By default, there is no such translation. +type LayoutSceneCameraCenter struct { + + // X + // arrayOK: false + // type: number + // + X float64 `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: number + // + Y float64 `json:"y,omitempty"` + + // Z + // arrayOK: false + // type: number + // + Z float64 `json:"z,omitempty"` +} + +// LayoutSceneCameraEye Sets the (x,y,z) components of the 'eye' camera vector. This vector determines the view point about the origin of this scene. +type LayoutSceneCameraEye struct { + + // X + // arrayOK: false + // type: number + // + X float64 `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: number + // + Y float64 `json:"y,omitempty"` + + // Z + // arrayOK: false + // type: number + // + Z float64 `json:"z,omitempty"` +} + +// LayoutSceneCameraProjection +type LayoutSceneCameraProjection struct { + + // Type + // default: perspective + // type: enumerated + // Sets the projection type. The projection type could be either *perspective* or *orthographic*. The default is *perspective*. + Type LayoutSceneCameraProjectionType `json:"type,omitempty"` +} + +// LayoutSceneCameraUp Sets the (x,y,z) components of the 'up' camera vector. This vector determines the up direction of this scene with respect to the page. The default is *{x: 0, y: 0, z: 1}* which means that the z axis points up. +type LayoutSceneCameraUp struct { + + // X + // arrayOK: false + // type: number + // + X float64 `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: number + // + Y float64 `json:"y,omitempty"` + + // Z + // arrayOK: false + // type: number + // + Z float64 `json:"z,omitempty"` +} + +// LayoutSceneCamera +type LayoutSceneCamera struct { + + // Center + // role: Object + Center *LayoutSceneCameraCenter `json:"center,omitempty"` + + // Eye + // role: Object + Eye *LayoutSceneCameraEye `json:"eye,omitempty"` + + // Projection + // role: Object + Projection *LayoutSceneCameraProjection `json:"projection,omitempty"` + + // Up + // role: Object + Up *LayoutSceneCameraUp `json:"up,omitempty"` +} + +// LayoutSceneDomain +type LayoutSceneDomain struct { + + // Column + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this column in the grid for this scene subplot . + Column int64 `json:"column,omitempty"` + + // Row + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this row in the grid for this scene subplot . + Row int64 `json:"row,omitempty"` + + // X + // arrayOK: false + // type: info_array + // Sets the horizontal domain of this scene subplot (in plot fraction). + X interface{} `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: info_array + // Sets the vertical domain of this scene subplot (in plot fraction). + Y interface{} `json:"y,omitempty"` +} + +// LayoutSceneXaxisAutorangeoptions +type LayoutSceneXaxisAutorangeoptions struct { + + // Clipmax + // arrayOK: false + // type: any + // Clip autorange maximum if it goes beyond this value. Has no effect when `autorangeoptions.maxallowed` is provided. + Clipmax interface{} `json:"clipmax,omitempty"` + + // Clipmin + // arrayOK: false + // type: any + // Clip autorange minimum if it goes beyond this value. Has no effect when `autorangeoptions.minallowed` is provided. + Clipmin interface{} `json:"clipmin,omitempty"` + + // Include + // arrayOK: true + // type: any + // Ensure this value is included in autorange. + Include interface{} `json:"include,omitempty"` + + // Includesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `include`. + Includesrc String `json:"includesrc,omitempty"` + + // Maxallowed + // arrayOK: false + // type: any + // Use this value exactly as autorange maximum. + Maxallowed interface{} `json:"maxallowed,omitempty"` + + // Minallowed + // arrayOK: false + // type: any + // Use this value exactly as autorange minimum. + Minallowed interface{} `json:"minallowed,omitempty"` +} + +// LayoutSceneXaxisTickfont Sets the tick font. +type LayoutSceneXaxisTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutSceneXaxisTitleFont Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute. +type LayoutSceneXaxisTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutSceneXaxisTitle +type LayoutSceneXaxisTitle struct { + + // Font + // role: Object + Font *LayoutSceneXaxisTitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// LayoutSceneXaxis +type LayoutSceneXaxis struct { + + // Autorange + // default: %!s(bool=true) + // type: enumerated + // Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction. + Autorange LayoutSceneXaxisAutorange `json:"autorange,omitempty"` + + // Autorangeoptions + // role: Object + Autorangeoptions *LayoutSceneXaxisAutorangeoptions `json:"autorangeoptions,omitempty"` + + // Autotypenumbers + // default: convert types + // type: enumerated + // 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. + Autotypenumbers LayoutSceneXaxisAutotypenumbers `json:"autotypenumbers,omitempty"` + + // Backgroundcolor + // arrayOK: false + // type: color + // Sets the background color of this axis' wall. + Backgroundcolor Color `json:"backgroundcolor,omitempty"` + + // Calendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar` + Calendar LayoutSceneXaxisCalendar `json:"calendar,omitempty"` + + // Categoryarray + // arrayOK: false + // 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`. + Categoryarray interface{} `json:"categoryarray,omitempty"` + + // Categoryarraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `categoryarray`. + Categoryarraysrc String `json:"categoryarraysrc,omitempty"` + + // Categoryorder + // default: trace + // type: enumerated + // 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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values. + Categoryorder LayoutSceneXaxisCategoryorder `json:"categoryorder,omitempty"` + + // Color + // arrayOK: false + // 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. + Color Color `json:"color,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat LayoutSceneXaxisExponentformat `json:"exponentformat,omitempty"` + + // Gridcolor + // arrayOK: false + // type: color + // Sets the color of the grid lines. + Gridcolor Color `json:"gridcolor,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the grid lines. + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Hoverformat + // arrayOK: false + // type: string + // Sets the hover text 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* + Hoverformat String `json:"hoverformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Linecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Linecolor Color `json:"linecolor,omitempty"` + + // Linewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Linewidth float64 `json:"linewidth,omitempty"` + + // Maxallowed + // arrayOK: false + // type: any + // Determines the maximum range of this axis. + Maxallowed interface{} `json:"maxallowed,omitempty"` + + // Minallowed + // arrayOK: false + // type: any + // Determines the minimum range of this axis. + Minallowed interface{} `json:"minallowed,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Mirror + // default: %!s(bool=false) + // type: enumerated + // 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. + Mirror LayoutSceneXaxisMirror `json:"mirror,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Range + // arrayOK: false + // type: info_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. Leaving either or both elements `null` impacts the default `autorange`. + Range interface{} `json:"range,omitempty"` + + // Rangemode + // default: normal + // type: enumerated + // 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. + Rangemode LayoutSceneXaxisRangemode `json:"rangemode,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showaxeslabels + // arrayOK: false + // type: boolean + // Sets whether or not this axis is labeled + Showaxeslabels Bool `json:"showaxeslabels,omitempty"` + + // Showbackground + // arrayOK: false + // type: boolean + // Sets whether or not this axis' wall has a background color. + Showbackground Bool `json:"showbackground,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent LayoutSceneXaxisShowexponent `json:"showexponent,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark. + Showgrid Bool `json:"showgrid,omitempty"` + + // Showline + // arrayOK: false + // type: boolean + // Determines whether or not a line bounding this axis is drawn. + Showline Bool `json:"showline,omitempty"` + + // Showspikes + // arrayOK: false + // type: boolean + // Sets whether or not spikes starting from data points to this axis' wall are shown on hover. + Showspikes Bool `json:"showspikes,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix LayoutSceneXaxisShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix LayoutSceneXaxisShowticksuffix `json:"showticksuffix,omitempty"` + + // Spikecolor + // arrayOK: false + // type: color + // Sets the color of the spikes. + Spikecolor Color `json:"spikecolor,omitempty"` + + // Spikesides + // arrayOK: false + // type: boolean + // Sets whether or not spikes extending from the projection data points to this axis' wall boundaries are shown on hover. + Spikesides Bool `json:"spikesides,omitempty"` + + // Spikethickness + // arrayOK: false + // type: number + // Sets the thickness (in px) of the spikes. + Spikethickness float64 `json:"spikethickness,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *LayoutSceneXaxisTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode LayoutSceneXaxisTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: %!s() + // type: enumerated + // 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. + Ticks LayoutSceneXaxisTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *LayoutSceneXaxisTitle `json:"title,omitempty"` + + // Type + // default: - + // type: enumerated + // 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. + Type LayoutSceneXaxisType `json:"type,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // 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 + Visible Bool `json:"visible,omitempty"` + + // Zeroline + // arrayOK: false + // type: boolean + // Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines. + Zeroline Bool `json:"zeroline,omitempty"` + + // Zerolinecolor + // arrayOK: false + // type: color + // Sets the line color of the zero line. + Zerolinecolor Color `json:"zerolinecolor,omitempty"` + + // Zerolinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the zero line. + Zerolinewidth float64 `json:"zerolinewidth,omitempty"` +} + +// LayoutSceneYaxisAutorangeoptions +type LayoutSceneYaxisAutorangeoptions struct { + + // Clipmax + // arrayOK: false + // type: any + // Clip autorange maximum if it goes beyond this value. Has no effect when `autorangeoptions.maxallowed` is provided. + Clipmax interface{} `json:"clipmax,omitempty"` + + // Clipmin + // arrayOK: false + // type: any + // Clip autorange minimum if it goes beyond this value. Has no effect when `autorangeoptions.minallowed` is provided. + Clipmin interface{} `json:"clipmin,omitempty"` + + // Include + // arrayOK: true + // type: any + // Ensure this value is included in autorange. + Include interface{} `json:"include,omitempty"` + + // Includesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `include`. + Includesrc String `json:"includesrc,omitempty"` + + // Maxallowed + // arrayOK: false + // type: any + // Use this value exactly as autorange maximum. + Maxallowed interface{} `json:"maxallowed,omitempty"` + + // Minallowed + // arrayOK: false + // type: any + // Use this value exactly as autorange minimum. + Minallowed interface{} `json:"minallowed,omitempty"` +} + +// LayoutSceneYaxisTickfont Sets the tick font. +type LayoutSceneYaxisTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutSceneYaxisTitleFont Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute. +type LayoutSceneYaxisTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutSceneYaxisTitle +type LayoutSceneYaxisTitle struct { + + // Font + // role: Object + Font *LayoutSceneYaxisTitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// LayoutSceneYaxis +type LayoutSceneYaxis struct { + + // Autorange + // default: %!s(bool=true) + // type: enumerated + // Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction. + Autorange LayoutSceneYaxisAutorange `json:"autorange,omitempty"` + + // Autorangeoptions + // role: Object + Autorangeoptions *LayoutSceneYaxisAutorangeoptions `json:"autorangeoptions,omitempty"` + + // Autotypenumbers + // default: convert types + // type: enumerated + // 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. + Autotypenumbers LayoutSceneYaxisAutotypenumbers `json:"autotypenumbers,omitempty"` + + // Backgroundcolor + // arrayOK: false + // type: color + // Sets the background color of this axis' wall. + Backgroundcolor Color `json:"backgroundcolor,omitempty"` + + // Calendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar` + Calendar LayoutSceneYaxisCalendar `json:"calendar,omitempty"` + + // Categoryarray + // arrayOK: false + // 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`. + Categoryarray interface{} `json:"categoryarray,omitempty"` + + // Categoryarraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `categoryarray`. + Categoryarraysrc String `json:"categoryarraysrc,omitempty"` + + // Categoryorder + // default: trace + // type: enumerated + // 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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values. + Categoryorder LayoutSceneYaxisCategoryorder `json:"categoryorder,omitempty"` + + // Color + // arrayOK: false + // 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. + Color Color `json:"color,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat LayoutSceneYaxisExponentformat `json:"exponentformat,omitempty"` + + // Gridcolor + // arrayOK: false + // type: color + // Sets the color of the grid lines. + Gridcolor Color `json:"gridcolor,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the grid lines. + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Hoverformat + // arrayOK: false + // type: string + // Sets the hover text 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* + Hoverformat String `json:"hoverformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Linecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Linecolor Color `json:"linecolor,omitempty"` + + // Linewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Linewidth float64 `json:"linewidth,omitempty"` + + // Maxallowed + // arrayOK: false + // type: any + // Determines the maximum range of this axis. + Maxallowed interface{} `json:"maxallowed,omitempty"` + + // Minallowed + // arrayOK: false + // type: any + // Determines the minimum range of this axis. + Minallowed interface{} `json:"minallowed,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Mirror + // default: %!s(bool=false) + // type: enumerated + // 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. + Mirror LayoutSceneYaxisMirror `json:"mirror,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Range + // arrayOK: false + // type: info_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. Leaving either or both elements `null` impacts the default `autorange`. + Range interface{} `json:"range,omitempty"` + + // Rangemode + // default: normal + // type: enumerated + // 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. + Rangemode LayoutSceneYaxisRangemode `json:"rangemode,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showaxeslabels + // arrayOK: false + // type: boolean + // Sets whether or not this axis is labeled + Showaxeslabels Bool `json:"showaxeslabels,omitempty"` + + // Showbackground + // arrayOK: false + // type: boolean + // Sets whether or not this axis' wall has a background color. + Showbackground Bool `json:"showbackground,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent LayoutSceneYaxisShowexponent `json:"showexponent,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark. + Showgrid Bool `json:"showgrid,omitempty"` + + // Showline + // arrayOK: false + // type: boolean + // Determines whether or not a line bounding this axis is drawn. + Showline Bool `json:"showline,omitempty"` + + // Showspikes + // arrayOK: false + // type: boolean + // Sets whether or not spikes starting from data points to this axis' wall are shown on hover. + Showspikes Bool `json:"showspikes,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix LayoutSceneYaxisShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix LayoutSceneYaxisShowticksuffix `json:"showticksuffix,omitempty"` + + // Spikecolor + // arrayOK: false + // type: color + // Sets the color of the spikes. + Spikecolor Color `json:"spikecolor,omitempty"` + + // Spikesides + // arrayOK: false + // type: boolean + // Sets whether or not spikes extending from the projection data points to this axis' wall boundaries are shown on hover. + Spikesides Bool `json:"spikesides,omitempty"` + + // Spikethickness + // arrayOK: false + // type: number + // Sets the thickness (in px) of the spikes. + Spikethickness float64 `json:"spikethickness,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *LayoutSceneYaxisTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode LayoutSceneYaxisTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: %!s() + // type: enumerated + // 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. + Ticks LayoutSceneYaxisTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *LayoutSceneYaxisTitle `json:"title,omitempty"` + + // Type + // default: - + // type: enumerated + // 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. + Type LayoutSceneYaxisType `json:"type,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // 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 + Visible Bool `json:"visible,omitempty"` + + // Zeroline + // arrayOK: false + // type: boolean + // Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines. + Zeroline Bool `json:"zeroline,omitempty"` + + // Zerolinecolor + // arrayOK: false + // type: color + // Sets the line color of the zero line. + Zerolinecolor Color `json:"zerolinecolor,omitempty"` + + // Zerolinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the zero line. + Zerolinewidth float64 `json:"zerolinewidth,omitempty"` +} + +// LayoutSceneZaxisAutorangeoptions +type LayoutSceneZaxisAutorangeoptions struct { + + // Clipmax + // arrayOK: false + // type: any + // Clip autorange maximum if it goes beyond this value. Has no effect when `autorangeoptions.maxallowed` is provided. + Clipmax interface{} `json:"clipmax,omitempty"` + + // Clipmin + // arrayOK: false + // type: any + // Clip autorange minimum if it goes beyond this value. Has no effect when `autorangeoptions.minallowed` is provided. + Clipmin interface{} `json:"clipmin,omitempty"` + + // Include + // arrayOK: true + // type: any + // Ensure this value is included in autorange. + Include interface{} `json:"include,omitempty"` + + // Includesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `include`. + Includesrc String `json:"includesrc,omitempty"` + + // Maxallowed + // arrayOK: false + // type: any + // Use this value exactly as autorange maximum. + Maxallowed interface{} `json:"maxallowed,omitempty"` + + // Minallowed + // arrayOK: false + // type: any + // Use this value exactly as autorange minimum. + Minallowed interface{} `json:"minallowed,omitempty"` +} + +// LayoutSceneZaxisTickfont Sets the tick font. +type LayoutSceneZaxisTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutSceneZaxisTitleFont Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute. +type LayoutSceneZaxisTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutSceneZaxisTitle +type LayoutSceneZaxisTitle struct { + + // Font + // role: Object + Font *LayoutSceneZaxisTitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// LayoutSceneZaxis +type LayoutSceneZaxis struct { + + // Autorange + // default: %!s(bool=true) + // type: enumerated + // Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction. + Autorange LayoutSceneZaxisAutorange `json:"autorange,omitempty"` + + // Autorangeoptions + // role: Object + Autorangeoptions *LayoutSceneZaxisAutorangeoptions `json:"autorangeoptions,omitempty"` + + // Autotypenumbers + // default: convert types + // type: enumerated + // 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. + Autotypenumbers LayoutSceneZaxisAutotypenumbers `json:"autotypenumbers,omitempty"` + + // Backgroundcolor + // arrayOK: false + // type: color + // Sets the background color of this axis' wall. + Backgroundcolor Color `json:"backgroundcolor,omitempty"` + + // Calendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar` + Calendar LayoutSceneZaxisCalendar `json:"calendar,omitempty"` + + // Categoryarray + // arrayOK: false + // 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`. + Categoryarray interface{} `json:"categoryarray,omitempty"` + + // Categoryarraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `categoryarray`. + Categoryarraysrc String `json:"categoryarraysrc,omitempty"` + + // Categoryorder + // default: trace + // type: enumerated + // 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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values. + Categoryorder LayoutSceneZaxisCategoryorder `json:"categoryorder,omitempty"` + + // Color + // arrayOK: false + // 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. + Color Color `json:"color,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat LayoutSceneZaxisExponentformat `json:"exponentformat,omitempty"` + + // Gridcolor + // arrayOK: false + // type: color + // Sets the color of the grid lines. + Gridcolor Color `json:"gridcolor,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the grid lines. + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Hoverformat + // arrayOK: false + // type: string + // Sets the hover text 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* + Hoverformat String `json:"hoverformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Linecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Linecolor Color `json:"linecolor,omitempty"` + + // Linewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Linewidth float64 `json:"linewidth,omitempty"` + + // Maxallowed + // arrayOK: false + // type: any + // Determines the maximum range of this axis. + Maxallowed interface{} `json:"maxallowed,omitempty"` + + // Minallowed + // arrayOK: false + // type: any + // Determines the minimum range of this axis. + Minallowed interface{} `json:"minallowed,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Mirror + // default: %!s(bool=false) + // type: enumerated + // 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. + Mirror LayoutSceneZaxisMirror `json:"mirror,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Range + // arrayOK: false + // type: info_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. Leaving either or both elements `null` impacts the default `autorange`. + Range interface{} `json:"range,omitempty"` + + // Rangemode + // default: normal + // type: enumerated + // 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. + Rangemode LayoutSceneZaxisRangemode `json:"rangemode,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showaxeslabels + // arrayOK: false + // type: boolean + // Sets whether or not this axis is labeled + Showaxeslabels Bool `json:"showaxeslabels,omitempty"` + + // Showbackground + // arrayOK: false + // type: boolean + // Sets whether or not this axis' wall has a background color. + Showbackground Bool `json:"showbackground,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent LayoutSceneZaxisShowexponent `json:"showexponent,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark. + Showgrid Bool `json:"showgrid,omitempty"` + + // Showline + // arrayOK: false + // type: boolean + // Determines whether or not a line bounding this axis is drawn. + Showline Bool `json:"showline,omitempty"` + + // Showspikes + // arrayOK: false + // type: boolean + // Sets whether or not spikes starting from data points to this axis' wall are shown on hover. + Showspikes Bool `json:"showspikes,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix LayoutSceneZaxisShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix LayoutSceneZaxisShowticksuffix `json:"showticksuffix,omitempty"` + + // Spikecolor + // arrayOK: false + // type: color + // Sets the color of the spikes. + Spikecolor Color `json:"spikecolor,omitempty"` + + // Spikesides + // arrayOK: false + // type: boolean + // Sets whether or not spikes extending from the projection data points to this axis' wall boundaries are shown on hover. + Spikesides Bool `json:"spikesides,omitempty"` + + // Spikethickness + // arrayOK: false + // type: number + // Sets the thickness (in px) of the spikes. + Spikethickness float64 `json:"spikethickness,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *LayoutSceneZaxisTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode LayoutSceneZaxisTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: %!s() + // type: enumerated + // 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. + Ticks LayoutSceneZaxisTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *LayoutSceneZaxisTitle `json:"title,omitempty"` + + // Type + // default: - + // type: enumerated + // 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. + Type LayoutSceneZaxisType `json:"type,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // 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 + Visible Bool `json:"visible,omitempty"` + + // Zeroline + // arrayOK: false + // type: boolean + // Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines. + Zeroline Bool `json:"zeroline,omitempty"` + + // Zerolinecolor + // arrayOK: false + // type: color + // Sets the line color of the zero line. + Zerolinecolor Color `json:"zerolinecolor,omitempty"` + + // Zerolinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the zero line. + Zerolinewidth float64 `json:"zerolinewidth,omitempty"` +} + +// LayoutScene +type LayoutScene struct { + + // Annotations + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Annotations interface{} `json:"annotations,omitempty"` + + // Aspectmode + // default: auto + // type: enumerated + // If *cube*, this scene's axes are drawn as a cube, regardless of the axes' ranges. If *data*, this scene's axes are drawn in proportion with the axes' ranges. If *manual*, this scene's axes are drawn in proportion with the input of *aspectratio* (the default behavior if *aspectratio* is provided). If *auto*, this scene's axes are drawn using the results of *data* except when one axis is more than four times the size of the two others, where in that case the results of *cube* are used. + Aspectmode LayoutSceneAspectmode `json:"aspectmode,omitempty"` + + // Aspectratio + // role: Object + Aspectratio *LayoutSceneAspectratio `json:"aspectratio,omitempty"` + + // Bgcolor + // arrayOK: false + // type: color + // + Bgcolor Color `json:"bgcolor,omitempty"` + + // Camera + // role: Object + Camera *LayoutSceneCamera `json:"camera,omitempty"` + + // Domain + // role: Object + Domain *LayoutSceneDomain `json:"domain,omitempty"` + + // Dragmode + // default: %!s() + // type: enumerated + // Determines the mode of drag interactions for this scene. + Dragmode LayoutSceneDragmode `json:"dragmode,omitempty"` + + // Hovermode + // default: closest + // type: enumerated + // Determines the mode of hover interactions for this scene. + Hovermode LayoutSceneHovermode `json:"hovermode,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // Controls persistence of user-driven changes in camera attributes. Defaults to `layout.uirevision`. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Xaxis + // role: Object + Xaxis *LayoutSceneXaxis `json:"xaxis,omitempty"` + + // Yaxis + // role: Object + Yaxis *LayoutSceneYaxis `json:"yaxis,omitempty"` + + // Zaxis + // role: Object + Zaxis *LayoutSceneZaxis `json:"zaxis,omitempty"` +} + +// LayoutSmithDomain +type LayoutSmithDomain struct { + + // Column + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this column in the grid for this smith subplot . + Column int64 `json:"column,omitempty"` + + // Row + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this row in the grid for this smith subplot . + Row int64 `json:"row,omitempty"` + + // X + // arrayOK: false + // type: info_array + // Sets the horizontal domain of this smith subplot (in plot fraction). + X interface{} `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: info_array + // Sets the vertical domain of this smith subplot (in plot fraction). + Y interface{} `json:"y,omitempty"` +} + +// LayoutSmithImaginaryaxisTickfont Sets the tick font. +type LayoutSmithImaginaryaxisTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutSmithImaginaryaxis +type LayoutSmithImaginaryaxis struct { + + // Color + // arrayOK: false + // 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. + Color Color `json:"color,omitempty"` + + // Gridcolor + // arrayOK: false + // type: color + // Sets the color of the grid lines. + Gridcolor Color `json:"gridcolor,omitempty"` + + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the grid lines. + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Hoverformat + // arrayOK: false + // type: string + // Sets the hover text 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* + Hoverformat String `json:"hoverformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Layer + // default: above traces + // type: enumerated + // Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. + Layer LayoutSmithImaginaryaxisLayer `json:"layer,omitempty"` + + // Linecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Linecolor Color `json:"linecolor,omitempty"` + + // Linewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Linewidth float64 `json:"linewidth,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark. + Showgrid Bool `json:"showgrid,omitempty"` + + // Showline + // arrayOK: false + // type: boolean + // Determines whether or not a line bounding this axis is drawn. + Showline Bool `json:"showline,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix LayoutSmithImaginaryaxisShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix LayoutSmithImaginaryaxisShowticksuffix `json:"showticksuffix,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *LayoutSmithImaginaryaxisTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: %!s() + // type: enumerated + // 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. + Ticks LayoutSmithImaginaryaxisTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Tickvals + // arrayOK: false + // type: data_array + // Sets the values at which ticks on this axis appear. Defaults to `realaxis.tickvals` plus the same as negatives and zero. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // 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 + Visible Bool `json:"visible,omitempty"` +} + +// LayoutSmithRealaxisTickfont Sets the tick font. +type LayoutSmithRealaxisTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutSmithRealaxis +type LayoutSmithRealaxis struct { + + // Color + // arrayOK: false + // 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. + Color Color `json:"color,omitempty"` + + // Gridcolor + // arrayOK: false + // type: color + // Sets the color of the grid lines. + Gridcolor Color `json:"gridcolor,omitempty"` + + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the grid lines. + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Hoverformat + // arrayOK: false + // type: string + // Sets the hover text 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* + Hoverformat String `json:"hoverformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Layer + // default: above traces + // type: enumerated + // Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. + Layer LayoutSmithRealaxisLayer `json:"layer,omitempty"` + + // Linecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Linecolor Color `json:"linecolor,omitempty"` + + // Linewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Linewidth float64 `json:"linewidth,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark. + Showgrid Bool `json:"showgrid,omitempty"` + + // Showline + // arrayOK: false + // type: boolean + // Determines whether or not a line bounding this axis is drawn. + Showline Bool `json:"showline,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix LayoutSmithRealaxisShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix LayoutSmithRealaxisShowticksuffix `json:"showticksuffix,omitempty"` + + // Side + // default: top + // type: enumerated + // Determines on which side of real axis line the tick and tick labels appear. + Side LayoutSmithRealaxisSide `json:"side,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *LayoutSmithRealaxisTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: %!s() + // type: enumerated + // Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *top* (*bottom*), this axis' are drawn above (below) the axis line. + Ticks LayoutSmithRealaxisTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Tickvals + // arrayOK: false + // type: data_array + // Sets the values at which ticks on this axis appear. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // 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 + Visible Bool `json:"visible,omitempty"` +} + +// LayoutSmith +type LayoutSmith struct { + + // Bgcolor + // arrayOK: false + // type: color + // Set the background color of the subplot + Bgcolor Color `json:"bgcolor,omitempty"` + + // Domain + // role: Object + Domain *LayoutSmithDomain `json:"domain,omitempty"` + + // Imaginaryaxis + // role: Object + Imaginaryaxis *LayoutSmithImaginaryaxis `json:"imaginaryaxis,omitempty"` + + // Realaxis + // role: Object + Realaxis *LayoutSmithRealaxis `json:"realaxis,omitempty"` +} + +// LayoutTernaryAaxisTickfont Sets the tick font. +type LayoutTernaryAaxisTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutTernaryAaxisTitleFont Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute. +type LayoutTernaryAaxisTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutTernaryAaxisTitle +type LayoutTernaryAaxisTitle struct { + + // Font + // role: Object + Font *LayoutTernaryAaxisTitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// LayoutTernaryAaxis +type LayoutTernaryAaxis struct { + + // Color + // arrayOK: false + // 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. + Color Color `json:"color,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat LayoutTernaryAaxisExponentformat `json:"exponentformat,omitempty"` + + // Gridcolor + // arrayOK: false + // type: color + // Sets the color of the grid lines. + Gridcolor Color `json:"gridcolor,omitempty"` + + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the grid lines. + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Hoverformat + // arrayOK: false + // type: string + // Sets the hover text 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* + Hoverformat String `json:"hoverformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Layer + // default: above traces + // type: enumerated + // Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. + Layer LayoutTernaryAaxisLayer `json:"layer,omitempty"` + + // Linecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Linecolor Color `json:"linecolor,omitempty"` + + // Linewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Linewidth float64 `json:"linewidth,omitempty"` + + // Min + // arrayOK: false + // type: number + // The minimum value visible on this axis. The maximum is determined by the sum minus the minimum values of the other two axes. The full view corresponds to all the minima set to zero. + Min float64 `json:"min,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent LayoutTernaryAaxisShowexponent `json:"showexponent,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark. + Showgrid Bool `json:"showgrid,omitempty"` + + // Showline + // arrayOK: false + // type: boolean + // Determines whether or not a line bounding this axis is drawn. + Showline Bool `json:"showline,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix LayoutTernaryAaxisShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix LayoutTernaryAaxisShowticksuffix `json:"showticksuffix,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *LayoutTernaryAaxisTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode LayoutTernaryAaxisTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: %!s() + // type: enumerated + // 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. + Ticks LayoutTernaryAaxisTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *LayoutTernaryAaxisTitle `json:"title,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // Controls persistence of user-driven changes in axis `min`, and `title` if in `editable: true` configuration. Defaults to `ternary.uirevision`. + Uirevision interface{} `json:"uirevision,omitempty"` +} + +// LayoutTernaryBaxisTickfont Sets the tick font. +type LayoutTernaryBaxisTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutTernaryBaxisTitleFont Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute. +type LayoutTernaryBaxisTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutTernaryBaxisTitle +type LayoutTernaryBaxisTitle struct { + + // Font + // role: Object + Font *LayoutTernaryBaxisTitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// LayoutTernaryBaxis +type LayoutTernaryBaxis struct { + + // Color + // arrayOK: false + // 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. + Color Color `json:"color,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat LayoutTernaryBaxisExponentformat `json:"exponentformat,omitempty"` + + // Gridcolor + // arrayOK: false + // type: color + // Sets the color of the grid lines. + Gridcolor Color `json:"gridcolor,omitempty"` + + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the grid lines. + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Hoverformat + // arrayOK: false + // type: string + // Sets the hover text 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* + Hoverformat String `json:"hoverformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Layer + // default: above traces + // type: enumerated + // Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. + Layer LayoutTernaryBaxisLayer `json:"layer,omitempty"` + + // Linecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Linecolor Color `json:"linecolor,omitempty"` + + // Linewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Linewidth float64 `json:"linewidth,omitempty"` + + // Min + // arrayOK: false + // type: number + // The minimum value visible on this axis. The maximum is determined by the sum minus the minimum values of the other two axes. The full view corresponds to all the minima set to zero. + Min float64 `json:"min,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent LayoutTernaryBaxisShowexponent `json:"showexponent,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark. + Showgrid Bool `json:"showgrid,omitempty"` + + // Showline + // arrayOK: false + // type: boolean + // Determines whether or not a line bounding this axis is drawn. + Showline Bool `json:"showline,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix LayoutTernaryBaxisShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix LayoutTernaryBaxisShowticksuffix `json:"showticksuffix,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *LayoutTernaryBaxisTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode LayoutTernaryBaxisTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: %!s() + // type: enumerated + // 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. + Ticks LayoutTernaryBaxisTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *LayoutTernaryBaxisTitle `json:"title,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // Controls persistence of user-driven changes in axis `min`, and `title` if in `editable: true` configuration. Defaults to `ternary.uirevision`. + Uirevision interface{} `json:"uirevision,omitempty"` +} + +// LayoutTernaryCaxisTickfont Sets the tick font. +type LayoutTernaryCaxisTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutTernaryCaxisTitleFont Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute. +type LayoutTernaryCaxisTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutTernaryCaxisTitle +type LayoutTernaryCaxisTitle struct { + + // Font + // role: Object + Font *LayoutTernaryCaxisTitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// LayoutTernaryCaxis +type LayoutTernaryCaxis struct { + + // Color + // arrayOK: false + // 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. + Color Color `json:"color,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat LayoutTernaryCaxisExponentformat `json:"exponentformat,omitempty"` + + // Gridcolor + // arrayOK: false + // type: color + // Sets the color of the grid lines. + Gridcolor Color `json:"gridcolor,omitempty"` + + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the grid lines. + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Hoverformat + // arrayOK: false + // type: string + // Sets the hover text 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* + Hoverformat String `json:"hoverformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Layer + // default: above traces + // type: enumerated + // Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. + Layer LayoutTernaryCaxisLayer `json:"layer,omitempty"` + + // Linecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Linecolor Color `json:"linecolor,omitempty"` + + // Linewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Linewidth float64 `json:"linewidth,omitempty"` + + // Min + // arrayOK: false + // type: number + // The minimum value visible on this axis. The maximum is determined by the sum minus the minimum values of the other two axes. The full view corresponds to all the minima set to zero. + Min float64 `json:"min,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent LayoutTernaryCaxisShowexponent `json:"showexponent,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark. + Showgrid Bool `json:"showgrid,omitempty"` + + // Showline + // arrayOK: false + // type: boolean + // Determines whether or not a line bounding this axis is drawn. + Showline Bool `json:"showline,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix LayoutTernaryCaxisShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix LayoutTernaryCaxisShowticksuffix `json:"showticksuffix,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *LayoutTernaryCaxisTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode LayoutTernaryCaxisTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: %!s() + // type: enumerated + // 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. + Ticks LayoutTernaryCaxisTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *LayoutTernaryCaxisTitle `json:"title,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // Controls persistence of user-driven changes in axis `min`, and `title` if in `editable: true` configuration. Defaults to `ternary.uirevision`. + Uirevision interface{} `json:"uirevision,omitempty"` +} + +// LayoutTernaryDomain +type LayoutTernaryDomain struct { + + // Column + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this column in the grid for this ternary subplot . + Column int64 `json:"column,omitempty"` + + // Row + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this row in the grid for this ternary subplot . + Row int64 `json:"row,omitempty"` + + // X + // arrayOK: false + // type: info_array + // Sets the horizontal domain of this ternary subplot (in plot fraction). + X interface{} `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: info_array + // Sets the vertical domain of this ternary subplot (in plot fraction). + Y interface{} `json:"y,omitempty"` +} + +// LayoutTernary +type LayoutTernary struct { + + // Aaxis + // role: Object + Aaxis *LayoutTernaryAaxis `json:"aaxis,omitempty"` + + // Baxis + // role: Object + Baxis *LayoutTernaryBaxis `json:"baxis,omitempty"` + + // Bgcolor + // arrayOK: false + // type: color + // Set the background color of the subplot + Bgcolor Color `json:"bgcolor,omitempty"` + + // Caxis + // role: Object + Caxis *LayoutTernaryCaxis `json:"caxis,omitempty"` + + // Domain + // role: Object + Domain *LayoutTernaryDomain `json:"domain,omitempty"` + + // Sum + // arrayOK: false + // type: number + // The number each triplet should sum to, and the maximum range of each axis + Sum float64 `json:"sum,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // Controls persistence of user-driven changes in axis `min` and `title`, if not overridden in the individual axes. Defaults to `layout.uirevision`. + Uirevision interface{} `json:"uirevision,omitempty"` +} + +// LayoutTitleFont Sets the title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute. +type LayoutTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutTitlePad 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*. +type LayoutTitlePad struct { + + // B + // arrayOK: false + // type: number + // The amount of padding (in px) along the bottom of the component. + B float64 `json:"b,omitempty"` + + // L + // arrayOK: false + // type: number + // The amount of padding (in px) on the left side of the component. + L float64 `json:"l,omitempty"` + + // R + // arrayOK: false + // type: number + // The amount of padding (in px) on the right side of the component. + R float64 `json:"r,omitempty"` + + // T + // arrayOK: false + // type: number + // The amount of padding (in px) along the top of the component. + T float64 `json:"t,omitempty"` +} + +// LayoutTitle +type LayoutTitle struct { + + // Automargin + // arrayOK: false + // 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. + Automargin Bool `json:"automargin,omitempty"` + + // Font + // role: Object + Font *LayoutTitleFont `json:"font,omitempty"` + + // Pad + // role: Object + Pad *LayoutTitlePad `json:"pad,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the plot's title. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` + + // X + // arrayOK: false + // type: number + // Sets the x position with respect to `xref` in normalized coordinates from *0* (left) to *1* (right). + X float64 `json:"x,omitempty"` + + // Xanchor + // default: auto + // type: enumerated + // 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`. + Xanchor LayoutTitleXanchor `json:"xanchor,omitempty"` + + // Xref + // default: container + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref LayoutTitleXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // type: number + // 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. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: auto + // type: enumerated + // 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`. + Yanchor LayoutTitleYanchor `json:"yanchor,omitempty"` + + // Yref + // default: container + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref LayoutTitleYref `json:"yref,omitempty"` +} + +// LayoutTransition Sets transition options used during Plotly.react updates. +type LayoutTransition struct { + + // Duration + // arrayOK: false + // type: number + // The duration of the transition, in milliseconds. If equal to zero, updates are synchronous. + Duration float64 `json:"duration,omitempty"` + + // Easing + // default: cubic-in-out + // type: enumerated + // The easing function used for the transition + Easing LayoutTransitionEasing `json:"easing,omitempty"` + + // Ordering + // default: layout first + // type: enumerated + // Determines whether the figure's layout or traces smoothly transitions during updates that make both traces and layout change. + Ordering LayoutTransitionOrdering `json:"ordering,omitempty"` +} + +// LayoutUniformtext +type LayoutUniformtext struct { + + // Minsize + // arrayOK: false + // type: number + // Sets the minimum text size between traces of the same type. + Minsize float64 `json:"minsize,omitempty"` + + // Mode + // default: %!s(bool=false) + // type: enumerated + // 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. + Mode LayoutUniformtextMode `json:"mode,omitempty"` +} + +// LayoutXaxisAutorangeoptions +type LayoutXaxisAutorangeoptions struct { + + // Clipmax + // arrayOK: false + // type: any + // Clip autorange maximum if it goes beyond this value. Has no effect when `autorangeoptions.maxallowed` is provided. + Clipmax interface{} `json:"clipmax,omitempty"` + + // Clipmin + // arrayOK: false + // type: any + // Clip autorange minimum if it goes beyond this value. Has no effect when `autorangeoptions.minallowed` is provided. + Clipmin interface{} `json:"clipmin,omitempty"` + + // Include + // arrayOK: true + // type: any + // Ensure this value is included in autorange. + Include interface{} `json:"include,omitempty"` + + // Includesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `include`. + Includesrc String `json:"includesrc,omitempty"` + + // Maxallowed + // arrayOK: false + // type: any + // Use this value exactly as autorange maximum. + Maxallowed interface{} `json:"maxallowed,omitempty"` + + // Minallowed + // arrayOK: false + // type: any + // Use this value exactly as autorange minimum. + Minallowed interface{} `json:"minallowed,omitempty"` +} + +// LayoutXaxisMinor +type LayoutXaxisMinor struct { + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Gridcolor + // arrayOK: false + // type: color + // Sets the color of the grid lines. + Gridcolor Color `json:"gridcolor,omitempty"` + + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the grid lines. + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark. + Showgrid Bool `json:"showgrid,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode LayoutXaxisMinorTickmode `json:"tickmode,omitempty"` + + // Ticks + // default: %!s() + // type: enumerated + // 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. + Ticks LayoutXaxisMinorTicks `json:"ticks,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` +} + +// LayoutXaxisRangeselectorFont Sets the font of the range selector button text. +type LayoutXaxisRangeselectorFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutXaxisRangeselector +type LayoutXaxisRangeselector struct { + + // Activecolor + // arrayOK: false + // type: color + // Sets the background color of the active range selector button. + Activecolor Color `json:"activecolor,omitempty"` + + // Bgcolor + // arrayOK: false + // type: color + // Sets the background color of the range selector buttons. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the color of the border enclosing the range selector. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the border enclosing the range selector. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Buttons + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Buttons interface{} `json:"buttons,omitempty"` + + // Font + // role: Object + Font *LayoutXaxisRangeselectorFont `json:"font,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Determines whether or not this range selector is visible. Note that range selectors are only available for x axes of `type` set to or auto-typed to *date*. + Visible Bool `json:"visible,omitempty"` + + // X + // arrayOK: false + // type: number + // Sets the x position (in normalized coordinates) of the range selector. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: left + // type: enumerated + // Sets the range selector's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the range selector. + Xanchor LayoutXaxisRangeselectorXanchor `json:"xanchor,omitempty"` + + // Y + // arrayOK: false + // type: number + // Sets the y position (in normalized coordinates) of the range selector. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: bottom + // type: enumerated + // Sets the range selector's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the range selector. + Yanchor LayoutXaxisRangeselectorYanchor `json:"yanchor,omitempty"` +} + +// LayoutXaxisRangesliderYaxis +type LayoutXaxisRangesliderYaxis struct { + + // Range + // arrayOK: false + // type: info_array + // Sets the range of this axis for the rangeslider. + Range interface{} `json:"range,omitempty"` + + // Rangemode + // default: match + // type: enumerated + // Determines whether or not the range of this axis in the rangeslider use the same value than in the main plot when zooming in/out. If *auto*, the autorange will be used. If *fixed*, the `range` is used. If *match*, the current range of the corresponding y-axis on the main subplot is used. + Rangemode LayoutXaxisRangesliderYaxisRangemode `json:"rangemode,omitempty"` +} + +// LayoutXaxisRangeslider +type LayoutXaxisRangeslider struct { + + // Autorange + // arrayOK: false + // type: boolean + // Determines whether or not the range slider range is computed in relation to the input data. If `range` is provided, then `autorange` is set to *false*. + Autorange Bool `json:"autorange,omitempty"` + + // Bgcolor + // arrayOK: false + // type: color + // Sets the background color of the range slider. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the border color of the range slider. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: integer + // Sets the border width of the range slider. + Borderwidth int64 `json:"borderwidth,omitempty"` + + // Range + // arrayOK: false + // type: info_array + // Sets the range of the range slider. If not set, defaults to the full xaxis range. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears. + Range interface{} `json:"range,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // The height of the range slider as a fraction of the total plot area height. + Thickness float64 `json:"thickness,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Determines whether or not the range slider will be visible. If visible, perpendicular axes will be set to `fixedrange` + Visible Bool `json:"visible,omitempty"` + + // Yaxis + // role: Object + Yaxis *LayoutXaxisRangesliderYaxis `json:"yaxis,omitempty"` +} + +// LayoutXaxisTickfont Sets the tick font. +type LayoutXaxisTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutXaxisTitleFont Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute. +type LayoutXaxisTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutXaxisTitle +type LayoutXaxisTitle struct { + + // Font + // role: Object + Font *LayoutXaxisTitleFont `json:"font,omitempty"` + + // Standoff + // arrayOK: false + // type: number + // Sets the standoff distance (in px) between the axis labels and the title text The default value is a function of the axis tick labels, the title `font.size` and the axis `linewidth`. 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 on `automargin`, plotly.js will push the margins to fit the axis title at given standoff distance. + Standoff float64 `json:"standoff,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// LayoutXaxis +type LayoutXaxis struct { + + // Anchor + // default: %!s() + // type: enumerated + // If set to an opposite-letter axis id (e.g. `x2`, `y`), this axis is bound to the corresponding opposite-letter axis. If set to *free*, this axis' position is determined by `position`. + Anchor LayoutXaxisAnchor `json:"anchor,omitempty"` + + // Automargin + // default: %!s(bool=false) + // type: flaglist + // Determines whether long tick labels automatically grow the figure margins. + Automargin LayoutXaxisAutomargin `json:"automargin,omitempty"` + + // Autorange + // default: %!s(bool=true) + // type: enumerated + // Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction. + Autorange LayoutXaxisAutorange `json:"autorange,omitempty"` + + // Autorangeoptions + // role: Object + Autorangeoptions *LayoutXaxisAutorangeoptions `json:"autorangeoptions,omitempty"` + + // Autotickangles + // arrayOK: false + // type: info_array + // When `tickangle` is set to *auto*, it will be set to the first angle in this array that is large enough to prevent label overlap. + Autotickangles interface{} `json:"autotickangles,omitempty"` + + // Autotypenumbers + // default: convert types + // type: enumerated + // 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. + Autotypenumbers LayoutXaxisAutotypenumbers `json:"autotypenumbers,omitempty"` + + // Calendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar` + Calendar LayoutXaxisCalendar `json:"calendar,omitempty"` + + // Categoryarray + // arrayOK: false + // 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`. + Categoryarray interface{} `json:"categoryarray,omitempty"` + + // Categoryarraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `categoryarray`. + Categoryarraysrc String `json:"categoryarraysrc,omitempty"` + + // Categoryorder + // default: trace + // type: enumerated + // 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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values. + Categoryorder LayoutXaxisCategoryorder `json:"categoryorder,omitempty"` + + // Color + // arrayOK: false + // 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. + Color Color `json:"color,omitempty"` + + // Constrain + // default: %!s() + // type: enumerated + // If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines how that happens: by increasing the *range*, or by decreasing the *domain*. Default is *domain* for axes containing image traces, *range* otherwise. + Constrain LayoutXaxisConstrain `json:"constrain,omitempty"` + + // Constraintoward + // default: %!s() + // type: enumerated + // If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines which direction we push the originally specified plot area. Options are *left*, *center* (default), and *right* for x axes, and *top*, *middle* (default), and *bottom* for y axes. + Constraintoward LayoutXaxisConstraintoward `json:"constraintoward,omitempty"` + + // Dividercolor + // arrayOK: false + // type: color + // Sets the color of the dividers Only has an effect on *multicategory* axes. + Dividercolor Color `json:"dividercolor,omitempty"` + + // Dividerwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the dividers Only has an effect on *multicategory* axes. + Dividerwidth float64 `json:"dividerwidth,omitempty"` + + // Domain + // arrayOK: false + // type: info_array + // Sets the domain of this axis (in plot fraction). + Domain interface{} `json:"domain,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat LayoutXaxisExponentformat `json:"exponentformat,omitempty"` + + // Fixedrange + // arrayOK: false + // type: boolean + // Determines whether or not this axis is zoom-able. If true, then zoom is disabled. + Fixedrange Bool `json:"fixedrange,omitempty"` + + // Gridcolor + // arrayOK: false + // type: color + // Sets the color of the grid lines. + Gridcolor Color `json:"gridcolor,omitempty"` + + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the grid lines. + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Hoverformat + // arrayOK: false + // type: string + // Sets the hover text 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* + Hoverformat String `json:"hoverformat,omitempty"` + + // Insiderange + // arrayOK: false + // type: info_array + // Could be used to set the desired inside range of this axis (excluding the labels) when `ticklabelposition` of the anchored axis has *inside*. Not implemented for axes with `type` *log*. This would be ignored when `range` is provided. + Insiderange interface{} `json:"insiderange,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Layer + // default: above traces + // type: enumerated + // Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. + Layer LayoutXaxisLayer `json:"layer,omitempty"` + + // Linecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Linecolor Color `json:"linecolor,omitempty"` + + // Linewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Linewidth float64 `json:"linewidth,omitempty"` + + // Matches + // default: %!s() + // type: enumerated + // If set to another axis id (e.g. `x2`, `y`), the range of this axis will match the range of the corresponding axis in data-coordinates space. Moreover, matching axes share auto-range values, category lists and histogram auto-bins. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden. Moreover, note that matching axes must have the same `type`. + Matches LayoutXaxisMatches `json:"matches,omitempty"` + + // Maxallowed + // arrayOK: false + // type: any + // Determines the maximum range of this axis. + Maxallowed interface{} `json:"maxallowed,omitempty"` + + // Minallowed + // arrayOK: false + // type: any + // Determines the minimum range of this axis. + Minallowed interface{} `json:"minallowed,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Minor + // role: Object + Minor *LayoutXaxisMinor `json:"minor,omitempty"` + + // Mirror + // default: %!s(bool=false) + // type: enumerated + // 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. + Mirror LayoutXaxisMirror `json:"mirror,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Overlaying + // default: %!s() + // type: enumerated + // If set a same-letter axis id, this axis is overlaid on top of the corresponding same-letter axis, with traces and axes visible for both axes. If *false*, this axis does not overlay any same-letter axes. In this case, for axes with overlapping domains only the highest-numbered axis will be visible. + Overlaying LayoutXaxisOverlaying `json:"overlaying,omitempty"` + + // Position + // arrayOK: false + // type: number + // Sets the position of this axis in the plotting space (in normalized coordinates). Only has an effect if `anchor` is set to *free*. + Position float64 `json:"position,omitempty"` + + // Range + // arrayOK: false + // type: info_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. Leaving either or both elements `null` impacts the default `autorange`. + Range interface{} `json:"range,omitempty"` + + // Rangebreaks + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Rangebreaks interface{} `json:"rangebreaks,omitempty"` + + // Rangemode + // default: normal + // type: enumerated + // 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. + Rangemode LayoutXaxisRangemode `json:"rangemode,omitempty"` + + // Rangeselector + // role: Object + Rangeselector *LayoutXaxisRangeselector `json:"rangeselector,omitempty"` + + // Rangeslider + // role: Object + Rangeslider *LayoutXaxisRangeslider `json:"rangeslider,omitempty"` + + // Scaleanchor + // default: %!s() + // type: enumerated + // If set to another axis id (e.g. `x2`, `y`), the range of this axis changes together with the range of the corresponding axis such that the scale of pixels per unit is in a constant ratio. Both axes are still zoomable, but when you zoom one, the other will zoom the same amount, keeping a fixed midpoint. `constrain` and `constraintoward` determine how we enforce the constraint. You can chain these, ie `yaxis: {scaleanchor: *x*}, xaxis2: {scaleanchor: *y*}` but you can only link axes of the same `type`. The linked axis can have the opposite letter (to constrain the aspect ratio) or the same letter (to match scales across subplots). Loops (`yaxis: {scaleanchor: *x*}, xaxis: {scaleanchor: *y*}` or longer) are redundant and the last constraint encountered will be ignored to avoid possible inconsistent constraints via `scaleratio`. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden. Setting `false` allows to remove a default constraint (occasionally, you may need to prevent a default `scaleanchor` constraint from being applied, eg. when having an image trace `yaxis: {scaleanchor: "x"}` is set automatically in order for pixels to be rendered as squares, setting `yaxis: {scaleanchor: false}` allows to remove the constraint). + Scaleanchor LayoutXaxisScaleanchor `json:"scaleanchor,omitempty"` + + // Scaleratio + // arrayOK: false + // type: number + // If this axis is linked to another by `scaleanchor`, this determines the pixel to unit scale ratio. For example, if this value is 10, then every unit on this axis spans 10 times the number of pixels as a unit on the linked axis. Use this for example to create an elevation profile where the vertical scale is exaggerated a fixed amount with respect to the horizontal. + Scaleratio float64 `json:"scaleratio,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showdividers + // arrayOK: false + // type: boolean + // Determines whether or not a dividers are drawn between the category levels of this axis. Only has an effect on *multicategory* axes. + Showdividers Bool `json:"showdividers,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent LayoutXaxisShowexponent `json:"showexponent,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark. + Showgrid Bool `json:"showgrid,omitempty"` + + // Showline + // arrayOK: false + // type: boolean + // Determines whether or not a line bounding this axis is drawn. + Showline Bool `json:"showline,omitempty"` + + // Showspikes + // arrayOK: false + // type: boolean + // Determines whether or not spikes (aka droplines) are drawn for this axis. Note: This only takes affect when hovermode = closest + Showspikes Bool `json:"showspikes,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix LayoutXaxisShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix LayoutXaxisShowticksuffix `json:"showticksuffix,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // Determines whether a x (y) axis is positioned at the *bottom* (*left*) or *top* (*right*) of the plotting area. + Side LayoutXaxisSide `json:"side,omitempty"` + + // Spikecolor + // arrayOK: false + // type: color + // Sets the spike color. If undefined, will use the series color + Spikecolor Color `json:"spikecolor,omitempty"` + + // Spikedash + // arrayOK: false + // type: string + // 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*). + Spikedash String `json:"spikedash,omitempty"` + + // Spikemode + // default: toaxis + // type: flaglist + // Determines the drawing mode for the spike line If *toaxis*, the line is drawn from the data point to the axis the series is plotted on. If *across*, the line is drawn across the entire plot area, and supercedes *toaxis*. If *marker*, then a marker dot is drawn on the axis the series is plotted on + Spikemode LayoutXaxisSpikemode `json:"spikemode,omitempty"` + + // Spikesnap + // default: hovered data + // type: enumerated + // Determines whether spikelines are stuck to the cursor or to the closest datapoints. + Spikesnap LayoutXaxisSpikesnap `json:"spikesnap,omitempty"` + + // Spikethickness + // arrayOK: false + // type: number + // Sets the width (in px) of the zero line. + Spikethickness float64 `json:"spikethickness,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *LayoutXaxisTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabelmode + // default: instant + // type: enumerated + // Determines where tick labels are drawn with respect to their corresponding ticks and grid lines. Only has an effect for axes of `type` *date* When set to *period*, tick labels are drawn in the middle of the period between ticks. + Ticklabelmode LayoutXaxisTicklabelmode `json:"ticklabelmode,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. Otherwise on *category* and *multicategory* axes the default is *allow*. In other cases the default is *hide past div*. + Ticklabeloverflow LayoutXaxisTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // Determines where tick labels are drawn with respect to the axis Please note that top or bottom has no effect on x axes or when `ticklabelmode` is set to *period*. Similarly left or right has no effect on y axes or when `ticklabelmode` is set to *period*. Has no effect on *multicategory* axes or when `tickson` is set to *boundaries*. When used on axes linked by `matches` or `scaleanchor`, no extra padding for inside labels would be added by autorange, so that the scales could match. + Ticklabelposition LayoutXaxisTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). If *sync*, the number of ticks will sync with the overlayed axis set by `overlaying` property. + Tickmode LayoutXaxisTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: %!s() + // type: enumerated + // 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. + Ticks LayoutXaxisTicks `json:"ticks,omitempty"` + + // Tickson + // default: labels + // type: enumerated + // Determines where ticks and grid lines are drawn with respect to their corresponding tick labels. Only has an effect for axes of `type` *category* or *multicategory*. When set to *boundaries*, ticks and grid lines are drawn half a category to the left/bottom of labels. + Tickson LayoutXaxisTickson `json:"tickson,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *LayoutXaxisTitle `json:"title,omitempty"` + + // Type + // default: - + // type: enumerated + // 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. + Type LayoutXaxisType `json:"type,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // Controls persistence of user-driven changes in axis `range`, `autorange`, and `title` if in `editable: true` configuration. Defaults to `layout.uirevision`. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // 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 + Visible Bool `json:"visible,omitempty"` + + // Zeroline + // arrayOK: false + // type: boolean + // Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines. + Zeroline Bool `json:"zeroline,omitempty"` + + // Zerolinecolor + // arrayOK: false + // type: color + // Sets the line color of the zero line. + Zerolinecolor Color `json:"zerolinecolor,omitempty"` + + // Zerolinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the zero line. + Zerolinewidth float64 `json:"zerolinewidth,omitempty"` +} + +// LayoutYaxisAutorangeoptions +type LayoutYaxisAutorangeoptions struct { + + // Clipmax + // arrayOK: false + // type: any + // Clip autorange maximum if it goes beyond this value. Has no effect when `autorangeoptions.maxallowed` is provided. + Clipmax interface{} `json:"clipmax,omitempty"` + + // Clipmin + // arrayOK: false + // type: any + // Clip autorange minimum if it goes beyond this value. Has no effect when `autorangeoptions.minallowed` is provided. + Clipmin interface{} `json:"clipmin,omitempty"` + + // Include + // arrayOK: true + // type: any + // Ensure this value is included in autorange. + Include interface{} `json:"include,omitempty"` + + // Includesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `include`. + Includesrc String `json:"includesrc,omitempty"` + + // Maxallowed + // arrayOK: false + // type: any + // Use this value exactly as autorange maximum. + Maxallowed interface{} `json:"maxallowed,omitempty"` + + // Minallowed + // arrayOK: false + // type: any + // Use this value exactly as autorange minimum. + Minallowed interface{} `json:"minallowed,omitempty"` +} + +// LayoutYaxisMinor +type LayoutYaxisMinor struct { + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Gridcolor + // arrayOK: false + // type: color + // Sets the color of the grid lines. + Gridcolor Color `json:"gridcolor,omitempty"` + + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the grid lines. + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark. + Showgrid Bool `json:"showgrid,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode LayoutYaxisMinorTickmode `json:"tickmode,omitempty"` + + // Ticks + // default: %!s() + // type: enumerated + // 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. + Ticks LayoutYaxisMinorTicks `json:"ticks,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` +} + +// LayoutYaxisTickfont Sets the tick font. +type LayoutYaxisTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutYaxisTitleFont Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute. +type LayoutYaxisTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutYaxisTitle +type LayoutYaxisTitle struct { + + // Font + // role: Object + Font *LayoutYaxisTitleFont `json:"font,omitempty"` + + // Standoff + // arrayOK: false + // type: number + // Sets the standoff distance (in px) between the axis labels and the title text The default value is a function of the axis tick labels, the title `font.size` and the axis `linewidth`. 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 on `automargin`, plotly.js will push the margins to fit the axis title at given standoff distance. + Standoff float64 `json:"standoff,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// LayoutYaxis +type LayoutYaxis struct { + + // Anchor + // default: %!s() + // type: enumerated + // If set to an opposite-letter axis id (e.g. `x2`, `y`), this axis is bound to the corresponding opposite-letter axis. If set to *free*, this axis' position is determined by `position`. + Anchor LayoutYaxisAnchor `json:"anchor,omitempty"` + + // Automargin + // default: %!s(bool=false) + // type: flaglist + // Determines whether long tick labels automatically grow the figure margins. + Automargin LayoutYaxisAutomargin `json:"automargin,omitempty"` + + // Autorange + // default: %!s(bool=true) + // type: enumerated + // Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction. + Autorange LayoutYaxisAutorange `json:"autorange,omitempty"` + + // Autorangeoptions + // role: Object + Autorangeoptions *LayoutYaxisAutorangeoptions `json:"autorangeoptions,omitempty"` + + // Autoshift + // arrayOK: false + // type: boolean + // Automatically reposition the axis to avoid overlap with other axes with the same `overlaying` value. This repositioning will account for any `shift` amount applied to other axes on the same side with `autoshift` is set to true. Only has an effect if `anchor` is set to *free*. + Autoshift Bool `json:"autoshift,omitempty"` + + // Autotickangles + // arrayOK: false + // type: info_array + // When `tickangle` is set to *auto*, it will be set to the first angle in this array that is large enough to prevent label overlap. + Autotickangles interface{} `json:"autotickangles,omitempty"` + + // Autotypenumbers + // default: convert types + // type: enumerated + // 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. + Autotypenumbers LayoutYaxisAutotypenumbers `json:"autotypenumbers,omitempty"` + + // Calendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar` + Calendar LayoutYaxisCalendar `json:"calendar,omitempty"` + + // Categoryarray + // arrayOK: false + // 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`. + Categoryarray interface{} `json:"categoryarray,omitempty"` + + // Categoryarraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `categoryarray`. + Categoryarraysrc String `json:"categoryarraysrc,omitempty"` + + // Categoryorder + // default: trace + // type: enumerated + // 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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values. + Categoryorder LayoutYaxisCategoryorder `json:"categoryorder,omitempty"` + + // Color + // arrayOK: false + // 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. + Color Color `json:"color,omitempty"` + + // Constrain + // default: %!s() + // type: enumerated + // If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines how that happens: by increasing the *range*, or by decreasing the *domain*. Default is *domain* for axes containing image traces, *range* otherwise. + Constrain LayoutYaxisConstrain `json:"constrain,omitempty"` + + // Constraintoward + // default: %!s() + // type: enumerated + // If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines which direction we push the originally specified plot area. Options are *left*, *center* (default), and *right* for x axes, and *top*, *middle* (default), and *bottom* for y axes. + Constraintoward LayoutYaxisConstraintoward `json:"constraintoward,omitempty"` + + // Dividercolor + // arrayOK: false + // type: color + // Sets the color of the dividers Only has an effect on *multicategory* axes. + Dividercolor Color `json:"dividercolor,omitempty"` + + // Dividerwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the dividers Only has an effect on *multicategory* axes. + Dividerwidth float64 `json:"dividerwidth,omitempty"` + + // Domain + // arrayOK: false + // type: info_array + // Sets the domain of this axis (in plot fraction). + Domain interface{} `json:"domain,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat LayoutYaxisExponentformat `json:"exponentformat,omitempty"` + + // Fixedrange + // arrayOK: false + // type: boolean + // Determines whether or not this axis is zoom-able. If true, then zoom is disabled. + Fixedrange Bool `json:"fixedrange,omitempty"` + + // Gridcolor + // arrayOK: false + // type: color + // Sets the color of the grid lines. + Gridcolor Color `json:"gridcolor,omitempty"` + + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the grid lines. + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Hoverformat + // arrayOK: false + // type: string + // Sets the hover text 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* + Hoverformat String `json:"hoverformat,omitempty"` + + // Insiderange + // arrayOK: false + // type: info_array + // Could be used to set the desired inside range of this axis (excluding the labels) when `ticklabelposition` of the anchored axis has *inside*. Not implemented for axes with `type` *log*. This would be ignored when `range` is provided. + Insiderange interface{} `json:"insiderange,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Layer + // default: above traces + // type: enumerated + // Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. + Layer LayoutYaxisLayer `json:"layer,omitempty"` + + // Linecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Linecolor Color `json:"linecolor,omitempty"` + + // Linewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Linewidth float64 `json:"linewidth,omitempty"` + + // Matches + // default: %!s() + // type: enumerated + // If set to another axis id (e.g. `x2`, `y`), the range of this axis will match the range of the corresponding axis in data-coordinates space. Moreover, matching axes share auto-range values, category lists and histogram auto-bins. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden. Moreover, note that matching axes must have the same `type`. + Matches LayoutYaxisMatches `json:"matches,omitempty"` + + // Maxallowed + // arrayOK: false + // type: any + // Determines the maximum range of this axis. + Maxallowed interface{} `json:"maxallowed,omitempty"` + + // Minallowed + // arrayOK: false + // type: any + // Determines the minimum range of this axis. + Minallowed interface{} `json:"minallowed,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Minor + // role: Object + Minor *LayoutYaxisMinor `json:"minor,omitempty"` + + // Mirror + // default: %!s(bool=false) + // type: enumerated + // 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. + Mirror LayoutYaxisMirror `json:"mirror,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Overlaying + // default: %!s() + // type: enumerated + // If set a same-letter axis id, this axis is overlaid on top of the corresponding same-letter axis, with traces and axes visible for both axes. If *false*, this axis does not overlay any same-letter axes. In this case, for axes with overlapping domains only the highest-numbered axis will be visible. + Overlaying LayoutYaxisOverlaying `json:"overlaying,omitempty"` + + // Position + // arrayOK: false + // type: number + // Sets the position of this axis in the plotting space (in normalized coordinates). Only has an effect if `anchor` is set to *free*. + Position float64 `json:"position,omitempty"` + + // Range + // arrayOK: false + // type: info_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. Leaving either or both elements `null` impacts the default `autorange`. + Range interface{} `json:"range,omitempty"` + + // Rangebreaks + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Rangebreaks interface{} `json:"rangebreaks,omitempty"` + + // Rangemode + // default: normal + // type: enumerated + // 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. + Rangemode LayoutYaxisRangemode `json:"rangemode,omitempty"` + + // Scaleanchor + // default: %!s() + // type: enumerated + // If set to another axis id (e.g. `x2`, `y`), the range of this axis changes together with the range of the corresponding axis such that the scale of pixels per unit is in a constant ratio. Both axes are still zoomable, but when you zoom one, the other will zoom the same amount, keeping a fixed midpoint. `constrain` and `constraintoward` determine how we enforce the constraint. You can chain these, ie `yaxis: {scaleanchor: *x*}, xaxis2: {scaleanchor: *y*}` but you can only link axes of the same `type`. The linked axis can have the opposite letter (to constrain the aspect ratio) or the same letter (to match scales across subplots). Loops (`yaxis: {scaleanchor: *x*}, xaxis: {scaleanchor: *y*}` or longer) are redundant and the last constraint encountered will be ignored to avoid possible inconsistent constraints via `scaleratio`. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden. Setting `false` allows to remove a default constraint (occasionally, you may need to prevent a default `scaleanchor` constraint from being applied, eg. when having an image trace `yaxis: {scaleanchor: "x"}` is set automatically in order for pixels to be rendered as squares, setting `yaxis: {scaleanchor: false}` allows to remove the constraint). + Scaleanchor LayoutYaxisScaleanchor `json:"scaleanchor,omitempty"` + + // Scaleratio + // arrayOK: false + // type: number + // If this axis is linked to another by `scaleanchor`, this determines the pixel to unit scale ratio. For example, if this value is 10, then every unit on this axis spans 10 times the number of pixels as a unit on the linked axis. Use this for example to create an elevation profile where the vertical scale is exaggerated a fixed amount with respect to the horizontal. + Scaleratio float64 `json:"scaleratio,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Shift + // arrayOK: false + // type: number + // Moves the axis a given number of pixels from where it would have been otherwise. Accepts both positive and negative values, which will shift the axis either right or left, respectively. If `autoshift` is set to true, then this defaults to a padding of -3 if `side` is set to *left*. and defaults to +3 if `side` is set to *right*. Defaults to 0 if `autoshift` is set to false. Only has an effect if `anchor` is set to *free*. + Shift float64 `json:"shift,omitempty"` + + // Showdividers + // arrayOK: false + // type: boolean + // Determines whether or not a dividers are drawn between the category levels of this axis. Only has an effect on *multicategory* axes. + Showdividers Bool `json:"showdividers,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent LayoutYaxisShowexponent `json:"showexponent,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark. + Showgrid Bool `json:"showgrid,omitempty"` + + // Showline + // arrayOK: false + // type: boolean + // Determines whether or not a line bounding this axis is drawn. + Showline Bool `json:"showline,omitempty"` + + // Showspikes + // arrayOK: false + // type: boolean + // Determines whether or not spikes (aka droplines) are drawn for this axis. Note: This only takes affect when hovermode = closest + Showspikes Bool `json:"showspikes,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix LayoutYaxisShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix LayoutYaxisShowticksuffix `json:"showticksuffix,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // Determines whether a x (y) axis is positioned at the *bottom* (*left*) or *top* (*right*) of the plotting area. + Side LayoutYaxisSide `json:"side,omitempty"` + + // Spikecolor + // arrayOK: false + // type: color + // Sets the spike color. If undefined, will use the series color + Spikecolor Color `json:"spikecolor,omitempty"` + + // Spikedash + // arrayOK: false + // type: string + // 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*). + Spikedash String `json:"spikedash,omitempty"` + + // Spikemode + // default: toaxis + // type: flaglist + // Determines the drawing mode for the spike line If *toaxis*, the line is drawn from the data point to the axis the series is plotted on. If *across*, the line is drawn across the entire plot area, and supercedes *toaxis*. If *marker*, then a marker dot is drawn on the axis the series is plotted on + Spikemode LayoutYaxisSpikemode `json:"spikemode,omitempty"` + + // Spikesnap + // default: hovered data + // type: enumerated + // Determines whether spikelines are stuck to the cursor or to the closest datapoints. + Spikesnap LayoutYaxisSpikesnap `json:"spikesnap,omitempty"` + + // Spikethickness + // arrayOK: false + // type: number + // Sets the width (in px) of the zero line. + Spikethickness float64 `json:"spikethickness,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *LayoutYaxisTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabelmode + // default: instant + // type: enumerated + // Determines where tick labels are drawn with respect to their corresponding ticks and grid lines. Only has an effect for axes of `type` *date* When set to *period*, tick labels are drawn in the middle of the period between ticks. + Ticklabelmode LayoutYaxisTicklabelmode `json:"ticklabelmode,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. Otherwise on *category* and *multicategory* axes the default is *allow*. In other cases the default is *hide past div*. + Ticklabeloverflow LayoutYaxisTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // Determines where tick labels are drawn with respect to the axis Please note that top or bottom has no effect on x axes or when `ticklabelmode` is set to *period*. Similarly left or right has no effect on y axes or when `ticklabelmode` is set to *period*. Has no effect on *multicategory* axes or when `tickson` is set to *boundaries*. When used on axes linked by `matches` or `scaleanchor`, no extra padding for inside labels would be added by autorange, so that the scales could match. + Ticklabelposition LayoutYaxisTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). If *sync*, the number of ticks will sync with the overlayed axis set by `overlaying` property. + Tickmode LayoutYaxisTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: %!s() + // type: enumerated + // 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. + Ticks LayoutYaxisTicks `json:"ticks,omitempty"` + + // Tickson + // default: labels + // type: enumerated + // Determines where ticks and grid lines are drawn with respect to their corresponding tick labels. Only has an effect for axes of `type` *category* or *multicategory*. When set to *boundaries*, ticks and grid lines are drawn half a category to the left/bottom of labels. + Tickson LayoutYaxisTickson `json:"tickson,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *LayoutYaxisTitle `json:"title,omitempty"` + + // Type + // default: - + // type: enumerated + // 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. + Type LayoutYaxisType `json:"type,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // Controls persistence of user-driven changes in axis `range`, `autorange`, and `title` if in `editable: true` configuration. Defaults to `layout.uirevision`. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // 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 + Visible Bool `json:"visible,omitempty"` + + // Zeroline + // arrayOK: false + // type: boolean + // Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines. + Zeroline Bool `json:"zeroline,omitempty"` + + // Zerolinecolor + // arrayOK: false + // type: color + // Sets the line color of the zero line. + Zerolinecolor Color `json:"zerolinecolor,omitempty"` + + // Zerolinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the zero line. + Zerolinewidth float64 `json:"zerolinewidth,omitempty"` +} + +// LayoutAutotypenumbers 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. +type LayoutAutotypenumbers string + +const ( + LayoutAutotypenumbersConvertTypes LayoutAutotypenumbers = "convert types" + LayoutAutotypenumbersStrict LayoutAutotypenumbers = "strict" +) + +// LayoutBarmode Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *relative*, the bars are stacked on top of one another, with negative values below the axis, positive values above With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars. +type LayoutBarmode string + +const ( + HistogramBarmodeStack LayoutBarmode = "stack" + HistogramBarmodeGroup LayoutBarmode = "group" + HistogramBarmodeOverlay LayoutBarmode = "overlay" + HistogramBarmodeRelative LayoutBarmode = "relative" + BarBarmodeStack LayoutBarmode = "stack" + BarBarmodeGroup LayoutBarmode = "group" + BarBarmodeOverlay LayoutBarmode = "overlay" + BarBarmodeRelative LayoutBarmode = "relative" + BarpolarBarmodeStack LayoutBarmode = "stack" + BarpolarBarmodeOverlay LayoutBarmode = "overlay" +) + +// LayoutBarnorm Sets the normalization for bar traces on the graph. With *fraction*, the value of each bar is divided by the sum of all values at that location coordinate. *percent* is the same but multiplied by 100 to show percentages. +type LayoutBarnorm string + +const ( + BarBarnormEmpty LayoutBarnorm = "" + BarBarnormFraction LayoutBarnorm = "fraction" + BarBarnormPercent LayoutBarnorm = "percent" + HistogramBarnormEmpty LayoutBarnorm = "" + HistogramBarnormFraction LayoutBarnorm = "fraction" + HistogramBarnormPercent LayoutBarnorm = "percent" +) + +// LayoutBoxmode Determines how boxes at the same location coordinate are displayed on the graph. If *group*, the boxes are plotted next to one another centered around the shared location. If *overlay*, the boxes are plotted over one another, you might need to set *opacity* to see them multiple boxes. Has no effect on traces that have *width* set. +type LayoutBoxmode string + +const ( + BoxBoxmodeGroup LayoutBoxmode = "group" + BoxBoxmodeOverlay LayoutBoxmode = "overlay" + CandlestickBoxmodeGroup LayoutBoxmode = "group" + CandlestickBoxmodeOverlay LayoutBoxmode = "overlay" +) + +// LayoutCalendar Sets the default calendar system to use for interpreting and displaying dates throughout the plot. +type LayoutCalendar string + +const ( + LayoutCalendarChinese LayoutCalendar = "chinese" + LayoutCalendarCoptic LayoutCalendar = "coptic" + LayoutCalendarDiscworld LayoutCalendar = "discworld" + LayoutCalendarEthiopian LayoutCalendar = "ethiopian" + LayoutCalendarGregorian LayoutCalendar = "gregorian" + LayoutCalendarHebrew LayoutCalendar = "hebrew" + LayoutCalendarIslamic LayoutCalendar = "islamic" + LayoutCalendarJalali LayoutCalendar = "jalali" + LayoutCalendarJulian LayoutCalendar = "julian" + LayoutCalendarMayan LayoutCalendar = "mayan" + LayoutCalendarNanakshahi LayoutCalendar = "nanakshahi" + LayoutCalendarNepali LayoutCalendar = "nepali" + LayoutCalendarPersian LayoutCalendar = "persian" + LayoutCalendarTaiwan LayoutCalendar = "taiwan" + LayoutCalendarThai LayoutCalendar = "thai" + LayoutCalendarUmmalqura LayoutCalendar = "ummalqura" +) + +// LayoutColoraxisColorbarExponentformat 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. +type LayoutColoraxisColorbarExponentformat string + +const ( + LayoutColoraxisColorbarExponentformatNone LayoutColoraxisColorbarExponentformat = "none" + LayoutColoraxisColorbarExponentformatE1 LayoutColoraxisColorbarExponentformat = "e" + LayoutColoraxisColorbarExponentformatE2 LayoutColoraxisColorbarExponentformat = "E" + LayoutColoraxisColorbarExponentformatPower LayoutColoraxisColorbarExponentformat = "power" + LayoutColoraxisColorbarExponentformatSI LayoutColoraxisColorbarExponentformat = "SI" + LayoutColoraxisColorbarExponentformatB LayoutColoraxisColorbarExponentformat = "B" +) + +// LayoutColoraxisColorbarLenmode 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. +type LayoutColoraxisColorbarLenmode string + +const ( + LayoutColoraxisColorbarLenmodeFraction LayoutColoraxisColorbarLenmode = "fraction" + LayoutColoraxisColorbarLenmodePixels LayoutColoraxisColorbarLenmode = "pixels" +) + +// LayoutColoraxisColorbarOrientation Sets the orientation of the colorbar. +type LayoutColoraxisColorbarOrientation string + +const ( + LayoutColoraxisColorbarOrientationH LayoutColoraxisColorbarOrientation = "h" + LayoutColoraxisColorbarOrientationV LayoutColoraxisColorbarOrientation = "v" +) + +// LayoutColoraxisColorbarShowexponent 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. +type LayoutColoraxisColorbarShowexponent string + +const ( + LayoutColoraxisColorbarShowexponentAll LayoutColoraxisColorbarShowexponent = "all" + LayoutColoraxisColorbarShowexponentFirst LayoutColoraxisColorbarShowexponent = "first" + LayoutColoraxisColorbarShowexponentLast LayoutColoraxisColorbarShowexponent = "last" + LayoutColoraxisColorbarShowexponentNone LayoutColoraxisColorbarShowexponent = "none" +) + +// LayoutColoraxisColorbarShowtickprefix 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. +type LayoutColoraxisColorbarShowtickprefix string + +const ( + LayoutColoraxisColorbarShowtickprefixAll LayoutColoraxisColorbarShowtickprefix = "all" + LayoutColoraxisColorbarShowtickprefixFirst LayoutColoraxisColorbarShowtickprefix = "first" + LayoutColoraxisColorbarShowtickprefixLast LayoutColoraxisColorbarShowtickprefix = "last" + LayoutColoraxisColorbarShowtickprefixNone LayoutColoraxisColorbarShowtickprefix = "none" +) + +// LayoutColoraxisColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type LayoutColoraxisColorbarShowticksuffix string + +const ( + LayoutColoraxisColorbarShowticksuffixAll LayoutColoraxisColorbarShowticksuffix = "all" + LayoutColoraxisColorbarShowticksuffixFirst LayoutColoraxisColorbarShowticksuffix = "first" + LayoutColoraxisColorbarShowticksuffixLast LayoutColoraxisColorbarShowticksuffix = "last" + LayoutColoraxisColorbarShowticksuffixNone LayoutColoraxisColorbarShowticksuffix = "none" +) + +// LayoutColoraxisColorbarThicknessmode 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. +type LayoutColoraxisColorbarThicknessmode string + +const ( + LayoutColoraxisColorbarThicknessmodeFraction LayoutColoraxisColorbarThicknessmode = "fraction" + LayoutColoraxisColorbarThicknessmodePixels LayoutColoraxisColorbarThicknessmode = "pixels" +) + +// LayoutColoraxisColorbarTicklabeloverflow 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*. +type LayoutColoraxisColorbarTicklabeloverflow string + +const ( + LayoutColoraxisColorbarTicklabeloverflowAllow LayoutColoraxisColorbarTicklabeloverflow = "allow" + LayoutColoraxisColorbarTicklabeloverflowHidePastDiv LayoutColoraxisColorbarTicklabeloverflow = "hide past div" + LayoutColoraxisColorbarTicklabeloverflowHidePastDomain LayoutColoraxisColorbarTicklabeloverflow = "hide past domain" +) + +// LayoutColoraxisColorbarTicklabelposition 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*. +type LayoutColoraxisColorbarTicklabelposition string + +const ( + LayoutColoraxisColorbarTicklabelpositionOutside LayoutColoraxisColorbarTicklabelposition = "outside" + LayoutColoraxisColorbarTicklabelpositionInside LayoutColoraxisColorbarTicklabelposition = "inside" + LayoutColoraxisColorbarTicklabelpositionOutsideTop LayoutColoraxisColorbarTicklabelposition = "outside top" + LayoutColoraxisColorbarTicklabelpositionInsideTop LayoutColoraxisColorbarTicklabelposition = "inside top" + LayoutColoraxisColorbarTicklabelpositionOutsideLeft LayoutColoraxisColorbarTicklabelposition = "outside left" + LayoutColoraxisColorbarTicklabelpositionInsideLeft LayoutColoraxisColorbarTicklabelposition = "inside left" + LayoutColoraxisColorbarTicklabelpositionOutsideRight LayoutColoraxisColorbarTicklabelposition = "outside right" + LayoutColoraxisColorbarTicklabelpositionInsideRight LayoutColoraxisColorbarTicklabelposition = "inside right" + LayoutColoraxisColorbarTicklabelpositionOutsideBottom LayoutColoraxisColorbarTicklabelposition = "outside bottom" + LayoutColoraxisColorbarTicklabelpositionInsideBottom LayoutColoraxisColorbarTicklabelposition = "inside bottom" +) + +// LayoutColoraxisColorbarTickmode 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). +type LayoutColoraxisColorbarTickmode string + +const ( + LayoutColoraxisColorbarTickmodeAuto LayoutColoraxisColorbarTickmode = "auto" + LayoutColoraxisColorbarTickmodeLinear LayoutColoraxisColorbarTickmode = "linear" + LayoutColoraxisColorbarTickmodeArray LayoutColoraxisColorbarTickmode = "array" +) + +// LayoutColoraxisColorbarTicks 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. +type LayoutColoraxisColorbarTicks string + +const ( + LayoutColoraxisColorbarTicksOutside LayoutColoraxisColorbarTicks = "outside" + LayoutColoraxisColorbarTicksInside LayoutColoraxisColorbarTicks = "inside" + LayoutColoraxisColorbarTicksEmpty LayoutColoraxisColorbarTicks = "" +) + +// LayoutColoraxisColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type LayoutColoraxisColorbarTitleSide string + +const ( + LayoutColoraxisColorbarTitleSideRight LayoutColoraxisColorbarTitleSide = "right" + LayoutColoraxisColorbarTitleSideTop LayoutColoraxisColorbarTitleSide = "top" + LayoutColoraxisColorbarTitleSideBottom LayoutColoraxisColorbarTitleSide = "bottom" +) + +// LayoutColoraxisColorbarXanchor 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*. +type LayoutColoraxisColorbarXanchor string + +const ( + LayoutColoraxisColorbarXanchorLeft LayoutColoraxisColorbarXanchor = "left" + LayoutColoraxisColorbarXanchorCenter LayoutColoraxisColorbarXanchor = "center" + LayoutColoraxisColorbarXanchorRight LayoutColoraxisColorbarXanchor = "right" +) + +// LayoutColoraxisColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type LayoutColoraxisColorbarXref string + +const ( + LayoutColoraxisColorbarXrefContainer LayoutColoraxisColorbarXref = "container" + LayoutColoraxisColorbarXrefPaper LayoutColoraxisColorbarXref = "paper" +) + +// LayoutColoraxisColorbarYanchor 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*. +type LayoutColoraxisColorbarYanchor string + +const ( + LayoutColoraxisColorbarYanchorTop LayoutColoraxisColorbarYanchor = "top" + LayoutColoraxisColorbarYanchorMiddle LayoutColoraxisColorbarYanchor = "middle" + LayoutColoraxisColorbarYanchorBottom LayoutColoraxisColorbarYanchor = "bottom" +) + +// LayoutColoraxisColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type LayoutColoraxisColorbarYref string + +const ( + LayoutColoraxisColorbarYrefContainer LayoutColoraxisColorbarYref = "container" + LayoutColoraxisColorbarYrefPaper LayoutColoraxisColorbarYref = "paper" +) + +// LayoutDragmode 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. +type LayoutDragmode interface{} + +var ( + LayoutDragmodeZoom LayoutDragmode = "zoom" + LayoutDragmodePan LayoutDragmode = "pan" + LayoutDragmodeSelect LayoutDragmode = "select" + LayoutDragmodeLasso LayoutDragmode = "lasso" + LayoutDragmodeDrawclosedpath LayoutDragmode = "drawclosedpath" + LayoutDragmodeDrawopenpath LayoutDragmode = "drawopenpath" + LayoutDragmodeDrawline LayoutDragmode = "drawline" + LayoutDragmodeDrawrect LayoutDragmode = "drawrect" + LayoutDragmodeDrawcircle LayoutDragmode = "drawcircle" + LayoutDragmodeOrbit LayoutDragmode = "orbit" + LayoutDragmodeTurntable LayoutDragmode = "turntable" + LayoutDragmodeFalse LayoutDragmode = false +) + +// LayoutFunnelmode Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars. +type LayoutFunnelmode string + +const ( + FunnelFunnelmodeStack LayoutFunnelmode = "stack" + FunnelFunnelmodeGroup LayoutFunnelmode = "group" + FunnelFunnelmodeOverlay LayoutFunnelmode = "overlay" +) + +// LayoutGeoFitbounds Determines if this subplot's view settings are auto-computed to fit trace data. On scoped maps, setting `fitbounds` leads to `center.lon` and `center.lat` getting auto-filled. On maps with a non-clipped projection, setting `fitbounds` leads to `center.lon`, `center.lat`, and `projection.rotation.lon` getting auto-filled. On maps with a clipped projection, setting `fitbounds` leads to `center.lon`, `center.lat`, `projection.rotation.lon`, `projection.rotation.lat`, `lonaxis.range` and `lonaxis.range` getting auto-filled. If *locations*, only the trace's visible locations are considered in the `fitbounds` computations. If *geojson*, the entire trace input `geojson` (if provided) is considered in the `fitbounds` computations, Defaults to *false*. +type LayoutGeoFitbounds interface{} + +var ( + LayoutGeoFitboundsFalse LayoutGeoFitbounds = false + LayoutGeoFitboundsLocations LayoutGeoFitbounds = "locations" + LayoutGeoFitboundsGeojson LayoutGeoFitbounds = "geojson" +) + +// LayoutGeoProjectionType Sets the projection type. +type LayoutGeoProjectionType string + +const ( + LayoutGeoProjectionTypeAiry LayoutGeoProjectionType = "airy" + LayoutGeoProjectionTypeAitoff LayoutGeoProjectionType = "aitoff" + LayoutGeoProjectionTypeAlbers LayoutGeoProjectionType = "albers" + LayoutGeoProjectionTypeAlbersUsa LayoutGeoProjectionType = "albers usa" + LayoutGeoProjectionTypeAugust LayoutGeoProjectionType = "august" + LayoutGeoProjectionTypeAzimuthalEqualArea LayoutGeoProjectionType = "azimuthal equal area" + LayoutGeoProjectionTypeAzimuthalEquidistant LayoutGeoProjectionType = "azimuthal equidistant" + LayoutGeoProjectionTypeBaker LayoutGeoProjectionType = "baker" + LayoutGeoProjectionTypeBertin1953 LayoutGeoProjectionType = "bertin1953" + LayoutGeoProjectionTypeBoggs LayoutGeoProjectionType = "boggs" + LayoutGeoProjectionTypeBonne LayoutGeoProjectionType = "bonne" + LayoutGeoProjectionTypeBottomley LayoutGeoProjectionType = "bottomley" + LayoutGeoProjectionTypeBromley LayoutGeoProjectionType = "bromley" + LayoutGeoProjectionTypeCollignon LayoutGeoProjectionType = "collignon" + LayoutGeoProjectionTypeConicConformal LayoutGeoProjectionType = "conic conformal" + LayoutGeoProjectionTypeConicEqualArea LayoutGeoProjectionType = "conic equal area" + LayoutGeoProjectionTypeConicEquidistant LayoutGeoProjectionType = "conic equidistant" + LayoutGeoProjectionTypeCraig LayoutGeoProjectionType = "craig" + LayoutGeoProjectionTypeCraster LayoutGeoProjectionType = "craster" + LayoutGeoProjectionTypeCylindricalEqualArea LayoutGeoProjectionType = "cylindrical equal area" + LayoutGeoProjectionTypeCylindricalStereographic LayoutGeoProjectionType = "cylindrical stereographic" + LayoutGeoProjectionTypeEckert1 LayoutGeoProjectionType = "eckert1" + LayoutGeoProjectionTypeEckert2 LayoutGeoProjectionType = "eckert2" + LayoutGeoProjectionTypeEckert3 LayoutGeoProjectionType = "eckert3" + LayoutGeoProjectionTypeEckert4 LayoutGeoProjectionType = "eckert4" + LayoutGeoProjectionTypeEckert5 LayoutGeoProjectionType = "eckert5" + LayoutGeoProjectionTypeEckert6 LayoutGeoProjectionType = "eckert6" + LayoutGeoProjectionTypeEisenlohr LayoutGeoProjectionType = "eisenlohr" + LayoutGeoProjectionTypeEqualEarth LayoutGeoProjectionType = "equal earth" + LayoutGeoProjectionTypeEquirectangular LayoutGeoProjectionType = "equirectangular" + LayoutGeoProjectionTypeFahey LayoutGeoProjectionType = "fahey" + LayoutGeoProjectionTypeFoucaut LayoutGeoProjectionType = "foucaut" + LayoutGeoProjectionTypeFoucautSinusoidal LayoutGeoProjectionType = "foucaut sinusoidal" + LayoutGeoProjectionTypeGinzburg4 LayoutGeoProjectionType = "ginzburg4" + LayoutGeoProjectionTypeGinzburg5 LayoutGeoProjectionType = "ginzburg5" + LayoutGeoProjectionTypeGinzburg6 LayoutGeoProjectionType = "ginzburg6" + LayoutGeoProjectionTypeGinzburg8 LayoutGeoProjectionType = "ginzburg8" + LayoutGeoProjectionTypeGinzburg9 LayoutGeoProjectionType = "ginzburg9" + LayoutGeoProjectionTypeGnomonic LayoutGeoProjectionType = "gnomonic" + LayoutGeoProjectionTypeGringorten LayoutGeoProjectionType = "gringorten" + LayoutGeoProjectionTypeGringortenQuincuncial LayoutGeoProjectionType = "gringorten quincuncial" + LayoutGeoProjectionTypeGuyou LayoutGeoProjectionType = "guyou" + LayoutGeoProjectionTypeHammer LayoutGeoProjectionType = "hammer" + LayoutGeoProjectionTypeHill LayoutGeoProjectionType = "hill" + LayoutGeoProjectionTypeHomolosine LayoutGeoProjectionType = "homolosine" + LayoutGeoProjectionTypeHufnagel LayoutGeoProjectionType = "hufnagel" + LayoutGeoProjectionTypeHyperelliptical LayoutGeoProjectionType = "hyperelliptical" + LayoutGeoProjectionTypeKavrayskiy7 LayoutGeoProjectionType = "kavrayskiy7" + LayoutGeoProjectionTypeLagrange LayoutGeoProjectionType = "lagrange" + LayoutGeoProjectionTypeLarrivee LayoutGeoProjectionType = "larrivee" + LayoutGeoProjectionTypeLaskowski LayoutGeoProjectionType = "laskowski" + LayoutGeoProjectionTypeLoximuthal LayoutGeoProjectionType = "loximuthal" + LayoutGeoProjectionTypeMercator LayoutGeoProjectionType = "mercator" + LayoutGeoProjectionTypeMiller LayoutGeoProjectionType = "miller" + LayoutGeoProjectionTypeMollweide LayoutGeoProjectionType = "mollweide" + LayoutGeoProjectionTypeMtFlatPolarParabolic LayoutGeoProjectionType = "mt flat polar parabolic" + LayoutGeoProjectionTypeMtFlatPolarQuartic LayoutGeoProjectionType = "mt flat polar quartic" + LayoutGeoProjectionTypeMtFlatPolarSinusoidal LayoutGeoProjectionType = "mt flat polar sinusoidal" + LayoutGeoProjectionTypeNaturalEarth LayoutGeoProjectionType = "natural earth" + LayoutGeoProjectionTypeNaturalEarth1 LayoutGeoProjectionType = "natural earth1" + LayoutGeoProjectionTypeNaturalEarth2 LayoutGeoProjectionType = "natural earth2" + LayoutGeoProjectionTypeNellHammer LayoutGeoProjectionType = "nell hammer" + LayoutGeoProjectionTypeNicolosi LayoutGeoProjectionType = "nicolosi" + LayoutGeoProjectionTypeOrthographic LayoutGeoProjectionType = "orthographic" + LayoutGeoProjectionTypePatterson LayoutGeoProjectionType = "patterson" + LayoutGeoProjectionTypePeirceQuincuncial LayoutGeoProjectionType = "peirce quincuncial" + LayoutGeoProjectionTypePolyconic LayoutGeoProjectionType = "polyconic" + LayoutGeoProjectionTypeRectangularPolyconic LayoutGeoProjectionType = "rectangular polyconic" + LayoutGeoProjectionTypeRobinson LayoutGeoProjectionType = "robinson" + LayoutGeoProjectionTypeSatellite LayoutGeoProjectionType = "satellite" + LayoutGeoProjectionTypeSinuMollweide LayoutGeoProjectionType = "sinu mollweide" + LayoutGeoProjectionTypeSinusoidal LayoutGeoProjectionType = "sinusoidal" + LayoutGeoProjectionTypeStereographic LayoutGeoProjectionType = "stereographic" + LayoutGeoProjectionTypeTimes LayoutGeoProjectionType = "times" + LayoutGeoProjectionTypeTransverseMercator LayoutGeoProjectionType = "transverse mercator" + LayoutGeoProjectionTypeVanDerGrinten LayoutGeoProjectionType = "van der grinten" + LayoutGeoProjectionTypeVanDerGrinten2 LayoutGeoProjectionType = "van der grinten2" + LayoutGeoProjectionTypeVanDerGrinten3 LayoutGeoProjectionType = "van der grinten3" + LayoutGeoProjectionTypeVanDerGrinten4 LayoutGeoProjectionType = "van der grinten4" + LayoutGeoProjectionTypeWagner4 LayoutGeoProjectionType = "wagner4" + LayoutGeoProjectionTypeWagner6 LayoutGeoProjectionType = "wagner6" + LayoutGeoProjectionTypeWiechel LayoutGeoProjectionType = "wiechel" + LayoutGeoProjectionTypeWinkelTripel LayoutGeoProjectionType = "winkel tripel" + LayoutGeoProjectionTypeWinkel3 LayoutGeoProjectionType = "winkel3" +) + +// LayoutGeoResolution Sets the resolution of the base layers. The values have units of km/mm e.g. 110 corresponds to a scale ratio of 1:110,000,000. +type LayoutGeoResolution interface{} + +var ( + LayoutGeoResolutionNumber110 LayoutGeoResolution = 110 + LayoutGeoResolutionNumber50 LayoutGeoResolution = 50 +) + +// LayoutGeoScope Set the scope of the map. +type LayoutGeoScope string + +const ( + LayoutGeoScopeAfrica LayoutGeoScope = "africa" + LayoutGeoScopeAsia LayoutGeoScope = "asia" + LayoutGeoScopeEurope LayoutGeoScope = "europe" + LayoutGeoScopeNorthAmerica LayoutGeoScope = "north america" + LayoutGeoScopeSouthAmerica LayoutGeoScope = "south america" + LayoutGeoScopeUsa LayoutGeoScope = "usa" + LayoutGeoScopeWorld LayoutGeoScope = "world" +) + +// LayoutGridPattern 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`. +type LayoutGridPattern string + +const ( + LayoutGridPatternIndependent LayoutGridPattern = "independent" + LayoutGridPatternCoupled LayoutGridPattern = "coupled" +) + +// LayoutGridRoworder Is the first row the top or the bottom? Note that columns are always enumerated from left to right. +type LayoutGridRoworder string + +const ( + LayoutGridRoworderTopToBottom LayoutGridRoworder = "top to bottom" + LayoutGridRoworderBottomToTop LayoutGridRoworder = "bottom to top" +) + +// LayoutGridXside 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. +type LayoutGridXside string + +const ( + LayoutGridXsideBottom LayoutGridXside = "bottom" + LayoutGridXsideBottomPlot LayoutGridXside = "bottom plot" + LayoutGridXsideTopPlot LayoutGridXside = "top plot" + LayoutGridXsideTop LayoutGridXside = "top" +) + +// LayoutGridYside 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. +type LayoutGridYside string + +const ( + LayoutGridYsideLeft LayoutGridYside = "left" + LayoutGridYsideLeftPlot LayoutGridYside = "left plot" + LayoutGridYsideRightPlot LayoutGridYside = "right plot" + LayoutGridYsideRight LayoutGridYside = "right" +) + +// LayoutHoverlabelAlign 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 +type LayoutHoverlabelAlign string + +const ( + LayoutHoverlabelAlignLeft LayoutHoverlabelAlign = "left" + LayoutHoverlabelAlignRight LayoutHoverlabelAlign = "right" + LayoutHoverlabelAlignAuto LayoutHoverlabelAlign = "auto" +) + +// LayoutHovermode 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. +type LayoutHovermode interface{} + +var ( + LayoutHovermodeX LayoutHovermode = "x" + LayoutHovermodeY LayoutHovermode = "y" + LayoutHovermodeClosest LayoutHovermode = "closest" + LayoutHovermodeFalse LayoutHovermode = false + LayoutHovermodeXUnified LayoutHovermode = "x unified" + LayoutHovermodeYUnified LayoutHovermode = "y unified" +) + +// LayoutLegendEntrywidthmode Determines what entrywidth means. +type LayoutLegendEntrywidthmode string + +const ( + LayoutLegendEntrywidthmodeFraction LayoutLegendEntrywidthmode = "fraction" + LayoutLegendEntrywidthmodePixels LayoutLegendEntrywidthmode = "pixels" +) + +// LayoutLegendGroupclick 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. +type LayoutLegendGroupclick string + +const ( + LayoutLegendGroupclickToggleitem LayoutLegendGroupclick = "toggleitem" + LayoutLegendGroupclickTogglegroup LayoutLegendGroupclick = "togglegroup" +) + +// LayoutLegendItemclick 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. +type LayoutLegendItemclick interface{} + +var ( + LayoutLegendItemclickToggle LayoutLegendItemclick = "toggle" + LayoutLegendItemclickToggleothers LayoutLegendItemclick = "toggleothers" + LayoutLegendItemclickFalse LayoutLegendItemclick = false +) + +// LayoutLegendItemdoubleclick 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. +type LayoutLegendItemdoubleclick interface{} + +var ( + LayoutLegendItemdoubleclickToggle LayoutLegendItemdoubleclick = "toggle" + LayoutLegendItemdoubleclickToggleothers LayoutLegendItemdoubleclick = "toggleothers" + LayoutLegendItemdoubleclickFalse LayoutLegendItemdoubleclick = false +) + +// LayoutLegendItemsizing Determines if the legend items symbols scale with their corresponding *trace* attributes or remain *constant* independent of the symbol size on the graph. +type LayoutLegendItemsizing string + +const ( + LayoutLegendItemsizingTrace LayoutLegendItemsizing = "trace" + LayoutLegendItemsizingConstant LayoutLegendItemsizing = "constant" +) + +// LayoutLegendOrientation Sets the orientation of the legend. +type LayoutLegendOrientation string + +const ( + LayoutLegendOrientationV LayoutLegendOrientation = "v" + LayoutLegendOrientationH LayoutLegendOrientation = "h" +) + +// LayoutLegendTitleSide 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. +type LayoutLegendTitleSide string + +const ( + LayoutLegendTitleSideTop LayoutLegendTitleSide = "top" + LayoutLegendTitleSideLeft LayoutLegendTitleSide = "left" + LayoutLegendTitleSideTopLeft LayoutLegendTitleSide = "top left" + LayoutLegendTitleSideTopCenter LayoutLegendTitleSide = "top center" + LayoutLegendTitleSideTopRight LayoutLegendTitleSide = "top right" +) + +// LayoutLegendValign Sets the vertical alignment of the symbols with respect to their associated text. +type LayoutLegendValign string + +const ( + LayoutLegendValignTop LayoutLegendValign = "top" + LayoutLegendValignMiddle LayoutLegendValign = "middle" + LayoutLegendValignBottom LayoutLegendValign = "bottom" +) + +// LayoutLegendXanchor 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. +type LayoutLegendXanchor string + +const ( + LayoutLegendXanchorAuto LayoutLegendXanchor = "auto" + LayoutLegendXanchorLeft LayoutLegendXanchor = "left" + LayoutLegendXanchorCenter LayoutLegendXanchor = "center" + LayoutLegendXanchorRight LayoutLegendXanchor = "right" +) + +// LayoutLegendXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type LayoutLegendXref string + +const ( + LayoutLegendXrefContainer LayoutLegendXref = "container" + LayoutLegendXrefPaper LayoutLegendXref = "paper" +) + +// LayoutLegendYanchor 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. +type LayoutLegendYanchor string + +const ( + LayoutLegendYanchorAuto LayoutLegendYanchor = "auto" + LayoutLegendYanchorTop LayoutLegendYanchor = "top" + LayoutLegendYanchorMiddle LayoutLegendYanchor = "middle" + LayoutLegendYanchorBottom LayoutLegendYanchor = "bottom" +) + +// LayoutLegendYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type LayoutLegendYref string + +const ( + LayoutLegendYrefContainer LayoutLegendYref = "container" + LayoutLegendYrefPaper LayoutLegendYref = "paper" +) + +// LayoutModebarOrientation Sets the orientation of the modebar. +type LayoutModebarOrientation string + +const ( + LayoutModebarOrientationV LayoutModebarOrientation = "v" + LayoutModebarOrientationH LayoutModebarOrientation = "h" +) + +// LayoutNewselectionMode 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. +type LayoutNewselectionMode string + +const ( + LayoutNewselectionModeImmediate LayoutNewselectionMode = "immediate" + LayoutNewselectionModeGradual LayoutNewselectionMode = "gradual" +) + +// LayoutNewshapeDrawdirection 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. +type LayoutNewshapeDrawdirection string + +const ( + LayoutNewshapeDrawdirectionOrtho LayoutNewshapeDrawdirection = "ortho" + LayoutNewshapeDrawdirectionHorizontal LayoutNewshapeDrawdirection = "horizontal" + LayoutNewshapeDrawdirectionVertical LayoutNewshapeDrawdirection = "vertical" + LayoutNewshapeDrawdirectionDiagonal LayoutNewshapeDrawdirection = "diagonal" +) + +// LayoutNewshapeFillrule Determines the path's interior. For more info please visit https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule +type LayoutNewshapeFillrule string + +const ( + LayoutNewshapeFillruleEvenodd LayoutNewshapeFillrule = "evenodd" + LayoutNewshapeFillruleNonzero LayoutNewshapeFillrule = "nonzero" +) + +// LayoutNewshapeLabelTextposition 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. +type LayoutNewshapeLabelTextposition string + +const ( + LayoutNewshapeLabelTextpositionTopLeft LayoutNewshapeLabelTextposition = "top left" + LayoutNewshapeLabelTextpositionTopCenter LayoutNewshapeLabelTextposition = "top center" + LayoutNewshapeLabelTextpositionTopRight LayoutNewshapeLabelTextposition = "top right" + LayoutNewshapeLabelTextpositionMiddleLeft LayoutNewshapeLabelTextposition = "middle left" + LayoutNewshapeLabelTextpositionMiddleCenter LayoutNewshapeLabelTextposition = "middle center" + LayoutNewshapeLabelTextpositionMiddleRight LayoutNewshapeLabelTextposition = "middle right" + LayoutNewshapeLabelTextpositionBottomLeft LayoutNewshapeLabelTextposition = "bottom left" + LayoutNewshapeLabelTextpositionBottomCenter LayoutNewshapeLabelTextposition = "bottom center" + LayoutNewshapeLabelTextpositionBottomRight LayoutNewshapeLabelTextposition = "bottom right" + LayoutNewshapeLabelTextpositionStart LayoutNewshapeLabelTextposition = "start" + LayoutNewshapeLabelTextpositionMiddle LayoutNewshapeLabelTextposition = "middle" + LayoutNewshapeLabelTextpositionEnd LayoutNewshapeLabelTextposition = "end" +) + +// LayoutNewshapeLabelXanchor 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. +type LayoutNewshapeLabelXanchor string + +const ( + LayoutNewshapeLabelXanchorAuto LayoutNewshapeLabelXanchor = "auto" + LayoutNewshapeLabelXanchorLeft LayoutNewshapeLabelXanchor = "left" + LayoutNewshapeLabelXanchorCenter LayoutNewshapeLabelXanchor = "center" + LayoutNewshapeLabelXanchorRight LayoutNewshapeLabelXanchor = "right" +) + +// LayoutNewshapeLabelYanchor 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. +type LayoutNewshapeLabelYanchor string + +const ( + LayoutNewshapeLabelYanchorTop LayoutNewshapeLabelYanchor = "top" + LayoutNewshapeLabelYanchorMiddle LayoutNewshapeLabelYanchor = "middle" + LayoutNewshapeLabelYanchorBottom LayoutNewshapeLabelYanchor = "bottom" +) + +// LayoutNewshapeLayer Specifies whether new shapes are drawn below or above traces. +type LayoutNewshapeLayer string + +const ( + LayoutNewshapeLayerBelow LayoutNewshapeLayer = "below" + LayoutNewshapeLayerAbove LayoutNewshapeLayer = "above" +) + +// LayoutNewshapeVisible 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). +type LayoutNewshapeVisible interface{} + +var ( + LayoutNewshapeVisibleTrue LayoutNewshapeVisible = true + LayoutNewshapeVisibleFalse LayoutNewshapeVisible = false + LayoutNewshapeVisibleLegendonly LayoutNewshapeVisible = "legendonly" +) + +// LayoutPolarAngularaxisAutotypenumbers 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. +type LayoutPolarAngularaxisAutotypenumbers string + +const ( + LayoutPolarAngularaxisAutotypenumbersConvertTypes LayoutPolarAngularaxisAutotypenumbers = "convert types" + LayoutPolarAngularaxisAutotypenumbersStrict LayoutPolarAngularaxisAutotypenumbers = "strict" +) + +// LayoutPolarAngularaxisCategoryorder 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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values. +type LayoutPolarAngularaxisCategoryorder string + +const ( + LayoutPolarAngularaxisCategoryorderTrace LayoutPolarAngularaxisCategoryorder = "trace" + LayoutPolarAngularaxisCategoryorderCategoryAscending LayoutPolarAngularaxisCategoryorder = "category ascending" + LayoutPolarAngularaxisCategoryorderCategoryDescending LayoutPolarAngularaxisCategoryorder = "category descending" + LayoutPolarAngularaxisCategoryorderArray LayoutPolarAngularaxisCategoryorder = "array" + LayoutPolarAngularaxisCategoryorderTotalAscending LayoutPolarAngularaxisCategoryorder = "total ascending" + LayoutPolarAngularaxisCategoryorderTotalDescending LayoutPolarAngularaxisCategoryorder = "total descending" + LayoutPolarAngularaxisCategoryorderMinAscending LayoutPolarAngularaxisCategoryorder = "min ascending" + LayoutPolarAngularaxisCategoryorderMinDescending LayoutPolarAngularaxisCategoryorder = "min descending" + LayoutPolarAngularaxisCategoryorderMaxAscending LayoutPolarAngularaxisCategoryorder = "max ascending" + LayoutPolarAngularaxisCategoryorderMaxDescending LayoutPolarAngularaxisCategoryorder = "max descending" + LayoutPolarAngularaxisCategoryorderSumAscending LayoutPolarAngularaxisCategoryorder = "sum ascending" + LayoutPolarAngularaxisCategoryorderSumDescending LayoutPolarAngularaxisCategoryorder = "sum descending" + LayoutPolarAngularaxisCategoryorderMeanAscending LayoutPolarAngularaxisCategoryorder = "mean ascending" + LayoutPolarAngularaxisCategoryorderMeanDescending LayoutPolarAngularaxisCategoryorder = "mean descending" + LayoutPolarAngularaxisCategoryorderMedianAscending LayoutPolarAngularaxisCategoryorder = "median ascending" + LayoutPolarAngularaxisCategoryorderMedianDescending LayoutPolarAngularaxisCategoryorder = "median descending" +) + +// LayoutPolarAngularaxisDirection Sets the direction corresponding to positive angles. +type LayoutPolarAngularaxisDirection string + +const ( + LayoutPolarAngularaxisDirectionCounterclockwise LayoutPolarAngularaxisDirection = "counterclockwise" + LayoutPolarAngularaxisDirectionClockwise LayoutPolarAngularaxisDirection = "clockwise" +) + +// LayoutPolarAngularaxisExponentformat 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. +type LayoutPolarAngularaxisExponentformat string + +const ( + LayoutPolarAngularaxisExponentformatNone LayoutPolarAngularaxisExponentformat = "none" + LayoutPolarAngularaxisExponentformatE1 LayoutPolarAngularaxisExponentformat = "e" + LayoutPolarAngularaxisExponentformatE2 LayoutPolarAngularaxisExponentformat = "E" + LayoutPolarAngularaxisExponentformatPower LayoutPolarAngularaxisExponentformat = "power" + LayoutPolarAngularaxisExponentformatSI LayoutPolarAngularaxisExponentformat = "SI" + LayoutPolarAngularaxisExponentformatB LayoutPolarAngularaxisExponentformat = "B" +) + +// LayoutPolarAngularaxisLayer Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. +type LayoutPolarAngularaxisLayer string + +const ( + LayoutPolarAngularaxisLayerAboveTraces LayoutPolarAngularaxisLayer = "above traces" + LayoutPolarAngularaxisLayerBelowTraces LayoutPolarAngularaxisLayer = "below traces" +) + +// LayoutPolarAngularaxisShowexponent 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. +type LayoutPolarAngularaxisShowexponent string + +const ( + LayoutPolarAngularaxisShowexponentAll LayoutPolarAngularaxisShowexponent = "all" + LayoutPolarAngularaxisShowexponentFirst LayoutPolarAngularaxisShowexponent = "first" + LayoutPolarAngularaxisShowexponentLast LayoutPolarAngularaxisShowexponent = "last" + LayoutPolarAngularaxisShowexponentNone LayoutPolarAngularaxisShowexponent = "none" +) + +// LayoutPolarAngularaxisShowtickprefix 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. +type LayoutPolarAngularaxisShowtickprefix string + +const ( + LayoutPolarAngularaxisShowtickprefixAll LayoutPolarAngularaxisShowtickprefix = "all" + LayoutPolarAngularaxisShowtickprefixFirst LayoutPolarAngularaxisShowtickprefix = "first" + LayoutPolarAngularaxisShowtickprefixLast LayoutPolarAngularaxisShowtickprefix = "last" + LayoutPolarAngularaxisShowtickprefixNone LayoutPolarAngularaxisShowtickprefix = "none" +) + +// LayoutPolarAngularaxisShowticksuffix Same as `showtickprefix` but for tick suffixes. +type LayoutPolarAngularaxisShowticksuffix string + +const ( + LayoutPolarAngularaxisShowticksuffixAll LayoutPolarAngularaxisShowticksuffix = "all" + LayoutPolarAngularaxisShowticksuffixFirst LayoutPolarAngularaxisShowticksuffix = "first" + LayoutPolarAngularaxisShowticksuffixLast LayoutPolarAngularaxisShowticksuffix = "last" + LayoutPolarAngularaxisShowticksuffixNone LayoutPolarAngularaxisShowticksuffix = "none" +) + +// LayoutPolarAngularaxisThetaunit Sets the format unit of the formatted *theta* values. Has an effect only when `angularaxis.type` is *linear*. +type LayoutPolarAngularaxisThetaunit string + +const ( + LayoutPolarAngularaxisThetaunitRadians LayoutPolarAngularaxisThetaunit = "radians" + LayoutPolarAngularaxisThetaunitDegrees LayoutPolarAngularaxisThetaunit = "degrees" +) + +// LayoutPolarAngularaxisTickmode 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). +type LayoutPolarAngularaxisTickmode string + +const ( + LayoutPolarAngularaxisTickmodeAuto LayoutPolarAngularaxisTickmode = "auto" + LayoutPolarAngularaxisTickmodeLinear LayoutPolarAngularaxisTickmode = "linear" + LayoutPolarAngularaxisTickmodeArray LayoutPolarAngularaxisTickmode = "array" +) + +// LayoutPolarAngularaxisTicks 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. +type LayoutPolarAngularaxisTicks string + +const ( + LayoutPolarAngularaxisTicksOutside LayoutPolarAngularaxisTicks = "outside" + LayoutPolarAngularaxisTicksInside LayoutPolarAngularaxisTicks = "inside" + LayoutPolarAngularaxisTicksEmpty LayoutPolarAngularaxisTicks = "" +) + +// LayoutPolarAngularaxisType Sets the angular axis type. If *linear*, set `thetaunit` to determine the unit in which axis value are shown. If *category, use `period` to set the number of integer coordinates around polar axis. +type LayoutPolarAngularaxisType string + +const ( + LayoutPolarAngularaxisTypeHyphenHyphen LayoutPolarAngularaxisType = "-" + LayoutPolarAngularaxisTypeLinear LayoutPolarAngularaxisType = "linear" + LayoutPolarAngularaxisTypeCategory LayoutPolarAngularaxisType = "category" +) + +// LayoutPolarGridshape Determines if the radial axis grid lines and angular axis line are drawn as *circular* sectors or as *linear* (polygon) sectors. Has an effect only when the angular axis has `type` *category*. Note that `radialaxis.angle` is snapped to the angle of the closest vertex when `gridshape` is *circular* (so that radial axis scale is the same as the data scale). +type LayoutPolarGridshape string + +const ( + LayoutPolarGridshapeCircular LayoutPolarGridshape = "circular" + LayoutPolarGridshapeLinear LayoutPolarGridshape = "linear" +) + +// LayoutPolarRadialaxisAutorange Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction. +type LayoutPolarRadialaxisAutorange interface{} + +var ( + LayoutPolarRadialaxisAutorangeTrue LayoutPolarRadialaxisAutorange = true + LayoutPolarRadialaxisAutorangeFalse LayoutPolarRadialaxisAutorange = false + LayoutPolarRadialaxisAutorangeReversed LayoutPolarRadialaxisAutorange = "reversed" + LayoutPolarRadialaxisAutorangeMinReversed LayoutPolarRadialaxisAutorange = "min reversed" + LayoutPolarRadialaxisAutorangeMaxReversed LayoutPolarRadialaxisAutorange = "max reversed" + LayoutPolarRadialaxisAutorangeMin LayoutPolarRadialaxisAutorange = "min" + LayoutPolarRadialaxisAutorangeMax LayoutPolarRadialaxisAutorange = "max" +) + +// LayoutPolarRadialaxisAutotypenumbers 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. +type LayoutPolarRadialaxisAutotypenumbers string + +const ( + LayoutPolarRadialaxisAutotypenumbersConvertTypes LayoutPolarRadialaxisAutotypenumbers = "convert types" + LayoutPolarRadialaxisAutotypenumbersStrict LayoutPolarRadialaxisAutotypenumbers = "strict" +) + +// LayoutPolarRadialaxisCalendar Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar` +type LayoutPolarRadialaxisCalendar string + +const ( + LayoutPolarRadialaxisCalendarChinese LayoutPolarRadialaxisCalendar = "chinese" + LayoutPolarRadialaxisCalendarCoptic LayoutPolarRadialaxisCalendar = "coptic" + LayoutPolarRadialaxisCalendarDiscworld LayoutPolarRadialaxisCalendar = "discworld" + LayoutPolarRadialaxisCalendarEthiopian LayoutPolarRadialaxisCalendar = "ethiopian" + LayoutPolarRadialaxisCalendarGregorian LayoutPolarRadialaxisCalendar = "gregorian" + LayoutPolarRadialaxisCalendarHebrew LayoutPolarRadialaxisCalendar = "hebrew" + LayoutPolarRadialaxisCalendarIslamic LayoutPolarRadialaxisCalendar = "islamic" + LayoutPolarRadialaxisCalendarJalali LayoutPolarRadialaxisCalendar = "jalali" + LayoutPolarRadialaxisCalendarJulian LayoutPolarRadialaxisCalendar = "julian" + LayoutPolarRadialaxisCalendarMayan LayoutPolarRadialaxisCalendar = "mayan" + LayoutPolarRadialaxisCalendarNanakshahi LayoutPolarRadialaxisCalendar = "nanakshahi" + LayoutPolarRadialaxisCalendarNepali LayoutPolarRadialaxisCalendar = "nepali" + LayoutPolarRadialaxisCalendarPersian LayoutPolarRadialaxisCalendar = "persian" + LayoutPolarRadialaxisCalendarTaiwan LayoutPolarRadialaxisCalendar = "taiwan" + LayoutPolarRadialaxisCalendarThai LayoutPolarRadialaxisCalendar = "thai" + LayoutPolarRadialaxisCalendarUmmalqura LayoutPolarRadialaxisCalendar = "ummalqura" +) + +// LayoutPolarRadialaxisCategoryorder 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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values. +type LayoutPolarRadialaxisCategoryorder string + +const ( + LayoutPolarRadialaxisCategoryorderTrace LayoutPolarRadialaxisCategoryorder = "trace" + LayoutPolarRadialaxisCategoryorderCategoryAscending LayoutPolarRadialaxisCategoryorder = "category ascending" + LayoutPolarRadialaxisCategoryorderCategoryDescending LayoutPolarRadialaxisCategoryorder = "category descending" + LayoutPolarRadialaxisCategoryorderArray LayoutPolarRadialaxisCategoryorder = "array" + LayoutPolarRadialaxisCategoryorderTotalAscending LayoutPolarRadialaxisCategoryorder = "total ascending" + LayoutPolarRadialaxisCategoryorderTotalDescending LayoutPolarRadialaxisCategoryorder = "total descending" + LayoutPolarRadialaxisCategoryorderMinAscending LayoutPolarRadialaxisCategoryorder = "min ascending" + LayoutPolarRadialaxisCategoryorderMinDescending LayoutPolarRadialaxisCategoryorder = "min descending" + LayoutPolarRadialaxisCategoryorderMaxAscending LayoutPolarRadialaxisCategoryorder = "max ascending" + LayoutPolarRadialaxisCategoryorderMaxDescending LayoutPolarRadialaxisCategoryorder = "max descending" + LayoutPolarRadialaxisCategoryorderSumAscending LayoutPolarRadialaxisCategoryorder = "sum ascending" + LayoutPolarRadialaxisCategoryorderSumDescending LayoutPolarRadialaxisCategoryorder = "sum descending" + LayoutPolarRadialaxisCategoryorderMeanAscending LayoutPolarRadialaxisCategoryorder = "mean ascending" + LayoutPolarRadialaxisCategoryorderMeanDescending LayoutPolarRadialaxisCategoryorder = "mean descending" + LayoutPolarRadialaxisCategoryorderMedianAscending LayoutPolarRadialaxisCategoryorder = "median ascending" + LayoutPolarRadialaxisCategoryorderMedianDescending LayoutPolarRadialaxisCategoryorder = "median descending" +) + +// LayoutPolarRadialaxisExponentformat 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. +type LayoutPolarRadialaxisExponentformat string + +const ( + LayoutPolarRadialaxisExponentformatNone LayoutPolarRadialaxisExponentformat = "none" + LayoutPolarRadialaxisExponentformatE1 LayoutPolarRadialaxisExponentformat = "e" + LayoutPolarRadialaxisExponentformatE2 LayoutPolarRadialaxisExponentformat = "E" + LayoutPolarRadialaxisExponentformatPower LayoutPolarRadialaxisExponentformat = "power" + LayoutPolarRadialaxisExponentformatSI LayoutPolarRadialaxisExponentformat = "SI" + LayoutPolarRadialaxisExponentformatB LayoutPolarRadialaxisExponentformat = "B" +) + +// LayoutPolarRadialaxisLayer Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. +type LayoutPolarRadialaxisLayer string + +const ( + LayoutPolarRadialaxisLayerAboveTraces LayoutPolarRadialaxisLayer = "above traces" + LayoutPolarRadialaxisLayerBelowTraces LayoutPolarRadialaxisLayer = "below traces" +) + +// LayoutPolarRadialaxisRangemode 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). +type LayoutPolarRadialaxisRangemode string + +const ( + LayoutPolarRadialaxisRangemodeTozero LayoutPolarRadialaxisRangemode = "tozero" + LayoutPolarRadialaxisRangemodeNonnegative LayoutPolarRadialaxisRangemode = "nonnegative" + LayoutPolarRadialaxisRangemodeNormal LayoutPolarRadialaxisRangemode = "normal" +) + +// LayoutPolarRadialaxisShowexponent 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. +type LayoutPolarRadialaxisShowexponent string + +const ( + LayoutPolarRadialaxisShowexponentAll LayoutPolarRadialaxisShowexponent = "all" + LayoutPolarRadialaxisShowexponentFirst LayoutPolarRadialaxisShowexponent = "first" + LayoutPolarRadialaxisShowexponentLast LayoutPolarRadialaxisShowexponent = "last" + LayoutPolarRadialaxisShowexponentNone LayoutPolarRadialaxisShowexponent = "none" +) + +// LayoutPolarRadialaxisShowtickprefix 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. +type LayoutPolarRadialaxisShowtickprefix string + +const ( + LayoutPolarRadialaxisShowtickprefixAll LayoutPolarRadialaxisShowtickprefix = "all" + LayoutPolarRadialaxisShowtickprefixFirst LayoutPolarRadialaxisShowtickprefix = "first" + LayoutPolarRadialaxisShowtickprefixLast LayoutPolarRadialaxisShowtickprefix = "last" + LayoutPolarRadialaxisShowtickprefixNone LayoutPolarRadialaxisShowtickprefix = "none" +) + +// LayoutPolarRadialaxisShowticksuffix Same as `showtickprefix` but for tick suffixes. +type LayoutPolarRadialaxisShowticksuffix string + +const ( + LayoutPolarRadialaxisShowticksuffixAll LayoutPolarRadialaxisShowticksuffix = "all" + LayoutPolarRadialaxisShowticksuffixFirst LayoutPolarRadialaxisShowticksuffix = "first" + LayoutPolarRadialaxisShowticksuffixLast LayoutPolarRadialaxisShowticksuffix = "last" + LayoutPolarRadialaxisShowticksuffixNone LayoutPolarRadialaxisShowticksuffix = "none" +) + +// LayoutPolarRadialaxisSide Determines on which side of radial axis line the tick and tick labels appear. +type LayoutPolarRadialaxisSide string + +const ( + LayoutPolarRadialaxisSideClockwise LayoutPolarRadialaxisSide = "clockwise" + LayoutPolarRadialaxisSideCounterclockwise LayoutPolarRadialaxisSide = "counterclockwise" +) + +// LayoutPolarRadialaxisTickmode 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). +type LayoutPolarRadialaxisTickmode string + +const ( + LayoutPolarRadialaxisTickmodeAuto LayoutPolarRadialaxisTickmode = "auto" + LayoutPolarRadialaxisTickmodeLinear LayoutPolarRadialaxisTickmode = "linear" + LayoutPolarRadialaxisTickmodeArray LayoutPolarRadialaxisTickmode = "array" +) + +// LayoutPolarRadialaxisTicks 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. +type LayoutPolarRadialaxisTicks string + +const ( + LayoutPolarRadialaxisTicksOutside LayoutPolarRadialaxisTicks = "outside" + LayoutPolarRadialaxisTicksInside LayoutPolarRadialaxisTicks = "inside" + LayoutPolarRadialaxisTicksEmpty LayoutPolarRadialaxisTicks = "" +) + +// LayoutPolarRadialaxisType 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. +type LayoutPolarRadialaxisType string + +const ( + LayoutPolarRadialaxisTypeHyphenHyphen LayoutPolarRadialaxisType = "-" + LayoutPolarRadialaxisTypeLinear LayoutPolarRadialaxisType = "linear" + LayoutPolarRadialaxisTypeLog LayoutPolarRadialaxisType = "log" + LayoutPolarRadialaxisTypeDate LayoutPolarRadialaxisType = "date" + LayoutPolarRadialaxisTypeCategory LayoutPolarRadialaxisType = "category" +) + +// LayoutScattermode Determines how scatter points at the same location coordinate are displayed on the graph. With *group*, the scatter points are plotted next to one another centered around the shared location. With *overlay*, the scatter points are plotted over one another, you might need to reduce *opacity* to see multiple scatter points. +type LayoutScattermode string + +const ( + ScatterScattermodeGroup LayoutScattermode = "group" + ScatterScattermodeOverlay LayoutScattermode = "overlay" +) + +// LayoutSceneAspectmode If *cube*, this scene's axes are drawn as a cube, regardless of the axes' ranges. If *data*, this scene's axes are drawn in proportion with the axes' ranges. If *manual*, this scene's axes are drawn in proportion with the input of *aspectratio* (the default behavior if *aspectratio* is provided). If *auto*, this scene's axes are drawn using the results of *data* except when one axis is more than four times the size of the two others, where in that case the results of *cube* are used. +type LayoutSceneAspectmode string + +const ( + LayoutSceneAspectmodeAuto LayoutSceneAspectmode = "auto" + LayoutSceneAspectmodeCube LayoutSceneAspectmode = "cube" + LayoutSceneAspectmodeData LayoutSceneAspectmode = "data" + LayoutSceneAspectmodeManual LayoutSceneAspectmode = "manual" +) + +// LayoutSceneCameraProjectionType Sets the projection type. The projection type could be either *perspective* or *orthographic*. The default is *perspective*. +type LayoutSceneCameraProjectionType string + +const ( + LayoutSceneCameraProjectionTypePerspective LayoutSceneCameraProjectionType = "perspective" + LayoutSceneCameraProjectionTypeOrthographic LayoutSceneCameraProjectionType = "orthographic" +) + +// LayoutSceneDragmode Determines the mode of drag interactions for this scene. +type LayoutSceneDragmode interface{} + +var ( + LayoutSceneDragmodeOrbit LayoutSceneDragmode = "orbit" + LayoutSceneDragmodeTurntable LayoutSceneDragmode = "turntable" + LayoutSceneDragmodeZoom LayoutSceneDragmode = "zoom" + LayoutSceneDragmodePan LayoutSceneDragmode = "pan" + LayoutSceneDragmodeFalse LayoutSceneDragmode = false +) + +// LayoutSceneHovermode Determines the mode of hover interactions for this scene. +type LayoutSceneHovermode interface{} + +var ( + LayoutSceneHovermodeClosest LayoutSceneHovermode = "closest" + LayoutSceneHovermodeFalse LayoutSceneHovermode = false +) + +// LayoutSceneXaxisAutorange Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction. +type LayoutSceneXaxisAutorange interface{} + +var ( + LayoutSceneXaxisAutorangeTrue LayoutSceneXaxisAutorange = true + LayoutSceneXaxisAutorangeFalse LayoutSceneXaxisAutorange = false + LayoutSceneXaxisAutorangeReversed LayoutSceneXaxisAutorange = "reversed" + LayoutSceneXaxisAutorangeMinReversed LayoutSceneXaxisAutorange = "min reversed" + LayoutSceneXaxisAutorangeMaxReversed LayoutSceneXaxisAutorange = "max reversed" + LayoutSceneXaxisAutorangeMin LayoutSceneXaxisAutorange = "min" + LayoutSceneXaxisAutorangeMax LayoutSceneXaxisAutorange = "max" +) + +// LayoutSceneXaxisAutotypenumbers 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. +type LayoutSceneXaxisAutotypenumbers string + +const ( + LayoutSceneXaxisAutotypenumbersConvertTypes LayoutSceneXaxisAutotypenumbers = "convert types" + LayoutSceneXaxisAutotypenumbersStrict LayoutSceneXaxisAutotypenumbers = "strict" +) + +// LayoutSceneXaxisCalendar Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar` +type LayoutSceneXaxisCalendar string + +const ( + LayoutSceneXaxisCalendarChinese LayoutSceneXaxisCalendar = "chinese" + LayoutSceneXaxisCalendarCoptic LayoutSceneXaxisCalendar = "coptic" + LayoutSceneXaxisCalendarDiscworld LayoutSceneXaxisCalendar = "discworld" + LayoutSceneXaxisCalendarEthiopian LayoutSceneXaxisCalendar = "ethiopian" + LayoutSceneXaxisCalendarGregorian LayoutSceneXaxisCalendar = "gregorian" + LayoutSceneXaxisCalendarHebrew LayoutSceneXaxisCalendar = "hebrew" + LayoutSceneXaxisCalendarIslamic LayoutSceneXaxisCalendar = "islamic" + LayoutSceneXaxisCalendarJalali LayoutSceneXaxisCalendar = "jalali" + LayoutSceneXaxisCalendarJulian LayoutSceneXaxisCalendar = "julian" + LayoutSceneXaxisCalendarMayan LayoutSceneXaxisCalendar = "mayan" + LayoutSceneXaxisCalendarNanakshahi LayoutSceneXaxisCalendar = "nanakshahi" + LayoutSceneXaxisCalendarNepali LayoutSceneXaxisCalendar = "nepali" + LayoutSceneXaxisCalendarPersian LayoutSceneXaxisCalendar = "persian" + LayoutSceneXaxisCalendarTaiwan LayoutSceneXaxisCalendar = "taiwan" + LayoutSceneXaxisCalendarThai LayoutSceneXaxisCalendar = "thai" + LayoutSceneXaxisCalendarUmmalqura LayoutSceneXaxisCalendar = "ummalqura" +) + +// LayoutSceneXaxisCategoryorder 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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values. +type LayoutSceneXaxisCategoryorder string + +const ( + LayoutSceneXaxisCategoryorderTrace LayoutSceneXaxisCategoryorder = "trace" + LayoutSceneXaxisCategoryorderCategoryAscending LayoutSceneXaxisCategoryorder = "category ascending" + LayoutSceneXaxisCategoryorderCategoryDescending LayoutSceneXaxisCategoryorder = "category descending" + LayoutSceneXaxisCategoryorderArray LayoutSceneXaxisCategoryorder = "array" + LayoutSceneXaxisCategoryorderTotalAscending LayoutSceneXaxisCategoryorder = "total ascending" + LayoutSceneXaxisCategoryorderTotalDescending LayoutSceneXaxisCategoryorder = "total descending" + LayoutSceneXaxisCategoryorderMinAscending LayoutSceneXaxisCategoryorder = "min ascending" + LayoutSceneXaxisCategoryorderMinDescending LayoutSceneXaxisCategoryorder = "min descending" + LayoutSceneXaxisCategoryorderMaxAscending LayoutSceneXaxisCategoryorder = "max ascending" + LayoutSceneXaxisCategoryorderMaxDescending LayoutSceneXaxisCategoryorder = "max descending" + LayoutSceneXaxisCategoryorderSumAscending LayoutSceneXaxisCategoryorder = "sum ascending" + LayoutSceneXaxisCategoryorderSumDescending LayoutSceneXaxisCategoryorder = "sum descending" + LayoutSceneXaxisCategoryorderMeanAscending LayoutSceneXaxisCategoryorder = "mean ascending" + LayoutSceneXaxisCategoryorderMeanDescending LayoutSceneXaxisCategoryorder = "mean descending" + LayoutSceneXaxisCategoryorderMedianAscending LayoutSceneXaxisCategoryorder = "median ascending" + LayoutSceneXaxisCategoryorderMedianDescending LayoutSceneXaxisCategoryorder = "median descending" +) + +// LayoutSceneXaxisExponentformat 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. +type LayoutSceneXaxisExponentformat string + +const ( + LayoutSceneXaxisExponentformatNone LayoutSceneXaxisExponentformat = "none" + LayoutSceneXaxisExponentformatE1 LayoutSceneXaxisExponentformat = "e" + LayoutSceneXaxisExponentformatE2 LayoutSceneXaxisExponentformat = "E" + LayoutSceneXaxisExponentformatPower LayoutSceneXaxisExponentformat = "power" + LayoutSceneXaxisExponentformatSI LayoutSceneXaxisExponentformat = "SI" + LayoutSceneXaxisExponentformatB LayoutSceneXaxisExponentformat = "B" +) + +// LayoutSceneXaxisMirror 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. +type LayoutSceneXaxisMirror interface{} + +var ( + LayoutSceneXaxisMirrorTrue LayoutSceneXaxisMirror = true + LayoutSceneXaxisMirrorTicks LayoutSceneXaxisMirror = "ticks" + LayoutSceneXaxisMirrorFalse LayoutSceneXaxisMirror = false + LayoutSceneXaxisMirrorAll LayoutSceneXaxisMirror = "all" + LayoutSceneXaxisMirrorAllticks LayoutSceneXaxisMirror = "allticks" +) + +// LayoutSceneXaxisRangemode 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. +type LayoutSceneXaxisRangemode string + +const ( + LayoutSceneXaxisRangemodeNormal LayoutSceneXaxisRangemode = "normal" + LayoutSceneXaxisRangemodeTozero LayoutSceneXaxisRangemode = "tozero" + LayoutSceneXaxisRangemodeNonnegative LayoutSceneXaxisRangemode = "nonnegative" +) + +// LayoutSceneXaxisShowexponent 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. +type LayoutSceneXaxisShowexponent string + +const ( + LayoutSceneXaxisShowexponentAll LayoutSceneXaxisShowexponent = "all" + LayoutSceneXaxisShowexponentFirst LayoutSceneXaxisShowexponent = "first" + LayoutSceneXaxisShowexponentLast LayoutSceneXaxisShowexponent = "last" + LayoutSceneXaxisShowexponentNone LayoutSceneXaxisShowexponent = "none" +) + +// LayoutSceneXaxisShowtickprefix 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. +type LayoutSceneXaxisShowtickprefix string + +const ( + LayoutSceneXaxisShowtickprefixAll LayoutSceneXaxisShowtickprefix = "all" + LayoutSceneXaxisShowtickprefixFirst LayoutSceneXaxisShowtickprefix = "first" + LayoutSceneXaxisShowtickprefixLast LayoutSceneXaxisShowtickprefix = "last" + LayoutSceneXaxisShowtickprefixNone LayoutSceneXaxisShowtickprefix = "none" +) + +// LayoutSceneXaxisShowticksuffix Same as `showtickprefix` but for tick suffixes. +type LayoutSceneXaxisShowticksuffix string + +const ( + LayoutSceneXaxisShowticksuffixAll LayoutSceneXaxisShowticksuffix = "all" + LayoutSceneXaxisShowticksuffixFirst LayoutSceneXaxisShowticksuffix = "first" + LayoutSceneXaxisShowticksuffixLast LayoutSceneXaxisShowticksuffix = "last" + LayoutSceneXaxisShowticksuffixNone LayoutSceneXaxisShowticksuffix = "none" +) + +// LayoutSceneXaxisTickmode 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). +type LayoutSceneXaxisTickmode string + +const ( + LayoutSceneXaxisTickmodeAuto LayoutSceneXaxisTickmode = "auto" + LayoutSceneXaxisTickmodeLinear LayoutSceneXaxisTickmode = "linear" + LayoutSceneXaxisTickmodeArray LayoutSceneXaxisTickmode = "array" +) + +// LayoutSceneXaxisTicks 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. +type LayoutSceneXaxisTicks string + +const ( + LayoutSceneXaxisTicksOutside LayoutSceneXaxisTicks = "outside" + LayoutSceneXaxisTicksInside LayoutSceneXaxisTicks = "inside" + LayoutSceneXaxisTicksEmpty LayoutSceneXaxisTicks = "" +) + +// LayoutSceneXaxisType 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. +type LayoutSceneXaxisType string + +const ( + LayoutSceneXaxisTypeHyphenHyphen LayoutSceneXaxisType = "-" + LayoutSceneXaxisTypeLinear LayoutSceneXaxisType = "linear" + LayoutSceneXaxisTypeLog LayoutSceneXaxisType = "log" + LayoutSceneXaxisTypeDate LayoutSceneXaxisType = "date" + LayoutSceneXaxisTypeCategory LayoutSceneXaxisType = "category" +) + +// LayoutSceneYaxisAutorange Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction. +type LayoutSceneYaxisAutorange interface{} + +var ( + LayoutSceneYaxisAutorangeTrue LayoutSceneYaxisAutorange = true + LayoutSceneYaxisAutorangeFalse LayoutSceneYaxisAutorange = false + LayoutSceneYaxisAutorangeReversed LayoutSceneYaxisAutorange = "reversed" + LayoutSceneYaxisAutorangeMinReversed LayoutSceneYaxisAutorange = "min reversed" + LayoutSceneYaxisAutorangeMaxReversed LayoutSceneYaxisAutorange = "max reversed" + LayoutSceneYaxisAutorangeMin LayoutSceneYaxisAutorange = "min" + LayoutSceneYaxisAutorangeMax LayoutSceneYaxisAutorange = "max" +) + +// LayoutSceneYaxisAutotypenumbers 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. +type LayoutSceneYaxisAutotypenumbers string + +const ( + LayoutSceneYaxisAutotypenumbersConvertTypes LayoutSceneYaxisAutotypenumbers = "convert types" + LayoutSceneYaxisAutotypenumbersStrict LayoutSceneYaxisAutotypenumbers = "strict" +) + +// LayoutSceneYaxisCalendar Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar` +type LayoutSceneYaxisCalendar string + +const ( + LayoutSceneYaxisCalendarChinese LayoutSceneYaxisCalendar = "chinese" + LayoutSceneYaxisCalendarCoptic LayoutSceneYaxisCalendar = "coptic" + LayoutSceneYaxisCalendarDiscworld LayoutSceneYaxisCalendar = "discworld" + LayoutSceneYaxisCalendarEthiopian LayoutSceneYaxisCalendar = "ethiopian" + LayoutSceneYaxisCalendarGregorian LayoutSceneYaxisCalendar = "gregorian" + LayoutSceneYaxisCalendarHebrew LayoutSceneYaxisCalendar = "hebrew" + LayoutSceneYaxisCalendarIslamic LayoutSceneYaxisCalendar = "islamic" + LayoutSceneYaxisCalendarJalali LayoutSceneYaxisCalendar = "jalali" + LayoutSceneYaxisCalendarJulian LayoutSceneYaxisCalendar = "julian" + LayoutSceneYaxisCalendarMayan LayoutSceneYaxisCalendar = "mayan" + LayoutSceneYaxisCalendarNanakshahi LayoutSceneYaxisCalendar = "nanakshahi" + LayoutSceneYaxisCalendarNepali LayoutSceneYaxisCalendar = "nepali" + LayoutSceneYaxisCalendarPersian LayoutSceneYaxisCalendar = "persian" + LayoutSceneYaxisCalendarTaiwan LayoutSceneYaxisCalendar = "taiwan" + LayoutSceneYaxisCalendarThai LayoutSceneYaxisCalendar = "thai" + LayoutSceneYaxisCalendarUmmalqura LayoutSceneYaxisCalendar = "ummalqura" +) + +// LayoutSceneYaxisCategoryorder 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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values. +type LayoutSceneYaxisCategoryorder string + +const ( + LayoutSceneYaxisCategoryorderTrace LayoutSceneYaxisCategoryorder = "trace" + LayoutSceneYaxisCategoryorderCategoryAscending LayoutSceneYaxisCategoryorder = "category ascending" + LayoutSceneYaxisCategoryorderCategoryDescending LayoutSceneYaxisCategoryorder = "category descending" + LayoutSceneYaxisCategoryorderArray LayoutSceneYaxisCategoryorder = "array" + LayoutSceneYaxisCategoryorderTotalAscending LayoutSceneYaxisCategoryorder = "total ascending" + LayoutSceneYaxisCategoryorderTotalDescending LayoutSceneYaxisCategoryorder = "total descending" + LayoutSceneYaxisCategoryorderMinAscending LayoutSceneYaxisCategoryorder = "min ascending" + LayoutSceneYaxisCategoryorderMinDescending LayoutSceneYaxisCategoryorder = "min descending" + LayoutSceneYaxisCategoryorderMaxAscending LayoutSceneYaxisCategoryorder = "max ascending" + LayoutSceneYaxisCategoryorderMaxDescending LayoutSceneYaxisCategoryorder = "max descending" + LayoutSceneYaxisCategoryorderSumAscending LayoutSceneYaxisCategoryorder = "sum ascending" + LayoutSceneYaxisCategoryorderSumDescending LayoutSceneYaxisCategoryorder = "sum descending" + LayoutSceneYaxisCategoryorderMeanAscending LayoutSceneYaxisCategoryorder = "mean ascending" + LayoutSceneYaxisCategoryorderMeanDescending LayoutSceneYaxisCategoryorder = "mean descending" + LayoutSceneYaxisCategoryorderMedianAscending LayoutSceneYaxisCategoryorder = "median ascending" + LayoutSceneYaxisCategoryorderMedianDescending LayoutSceneYaxisCategoryorder = "median descending" +) + +// LayoutSceneYaxisExponentformat 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. +type LayoutSceneYaxisExponentformat string + +const ( + LayoutSceneYaxisExponentformatNone LayoutSceneYaxisExponentformat = "none" + LayoutSceneYaxisExponentformatE1 LayoutSceneYaxisExponentformat = "e" + LayoutSceneYaxisExponentformatE2 LayoutSceneYaxisExponentformat = "E" + LayoutSceneYaxisExponentformatPower LayoutSceneYaxisExponentformat = "power" + LayoutSceneYaxisExponentformatSI LayoutSceneYaxisExponentformat = "SI" + LayoutSceneYaxisExponentformatB LayoutSceneYaxisExponentformat = "B" +) + +// LayoutSceneYaxisMirror 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. +type LayoutSceneYaxisMirror interface{} + +var ( + LayoutSceneYaxisMirrorTrue LayoutSceneYaxisMirror = true + LayoutSceneYaxisMirrorTicks LayoutSceneYaxisMirror = "ticks" + LayoutSceneYaxisMirrorFalse LayoutSceneYaxisMirror = false + LayoutSceneYaxisMirrorAll LayoutSceneYaxisMirror = "all" + LayoutSceneYaxisMirrorAllticks LayoutSceneYaxisMirror = "allticks" +) + +// LayoutSceneYaxisRangemode 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. +type LayoutSceneYaxisRangemode string + +const ( + LayoutSceneYaxisRangemodeNormal LayoutSceneYaxisRangemode = "normal" + LayoutSceneYaxisRangemodeTozero LayoutSceneYaxisRangemode = "tozero" + LayoutSceneYaxisRangemodeNonnegative LayoutSceneYaxisRangemode = "nonnegative" +) + +// LayoutSceneYaxisShowexponent 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. +type LayoutSceneYaxisShowexponent string + +const ( + LayoutSceneYaxisShowexponentAll LayoutSceneYaxisShowexponent = "all" + LayoutSceneYaxisShowexponentFirst LayoutSceneYaxisShowexponent = "first" + LayoutSceneYaxisShowexponentLast LayoutSceneYaxisShowexponent = "last" + LayoutSceneYaxisShowexponentNone LayoutSceneYaxisShowexponent = "none" +) + +// LayoutSceneYaxisShowtickprefix 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. +type LayoutSceneYaxisShowtickprefix string + +const ( + LayoutSceneYaxisShowtickprefixAll LayoutSceneYaxisShowtickprefix = "all" + LayoutSceneYaxisShowtickprefixFirst LayoutSceneYaxisShowtickprefix = "first" + LayoutSceneYaxisShowtickprefixLast LayoutSceneYaxisShowtickprefix = "last" + LayoutSceneYaxisShowtickprefixNone LayoutSceneYaxisShowtickprefix = "none" +) + +// LayoutSceneYaxisShowticksuffix Same as `showtickprefix` but for tick suffixes. +type LayoutSceneYaxisShowticksuffix string + +const ( + LayoutSceneYaxisShowticksuffixAll LayoutSceneYaxisShowticksuffix = "all" + LayoutSceneYaxisShowticksuffixFirst LayoutSceneYaxisShowticksuffix = "first" + LayoutSceneYaxisShowticksuffixLast LayoutSceneYaxisShowticksuffix = "last" + LayoutSceneYaxisShowticksuffixNone LayoutSceneYaxisShowticksuffix = "none" +) + +// LayoutSceneYaxisTickmode 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). +type LayoutSceneYaxisTickmode string + +const ( + LayoutSceneYaxisTickmodeAuto LayoutSceneYaxisTickmode = "auto" + LayoutSceneYaxisTickmodeLinear LayoutSceneYaxisTickmode = "linear" + LayoutSceneYaxisTickmodeArray LayoutSceneYaxisTickmode = "array" +) + +// LayoutSceneYaxisTicks 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. +type LayoutSceneYaxisTicks string + +const ( + LayoutSceneYaxisTicksOutside LayoutSceneYaxisTicks = "outside" + LayoutSceneYaxisTicksInside LayoutSceneYaxisTicks = "inside" + LayoutSceneYaxisTicksEmpty LayoutSceneYaxisTicks = "" +) + +// LayoutSceneYaxisType 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. +type LayoutSceneYaxisType string + +const ( + LayoutSceneYaxisTypeHyphenHyphen LayoutSceneYaxisType = "-" + LayoutSceneYaxisTypeLinear LayoutSceneYaxisType = "linear" + LayoutSceneYaxisTypeLog LayoutSceneYaxisType = "log" + LayoutSceneYaxisTypeDate LayoutSceneYaxisType = "date" + LayoutSceneYaxisTypeCategory LayoutSceneYaxisType = "category" +) + +// LayoutSceneZaxisAutorange Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction. +type LayoutSceneZaxisAutorange interface{} + +var ( + LayoutSceneZaxisAutorangeTrue LayoutSceneZaxisAutorange = true + LayoutSceneZaxisAutorangeFalse LayoutSceneZaxisAutorange = false + LayoutSceneZaxisAutorangeReversed LayoutSceneZaxisAutorange = "reversed" + LayoutSceneZaxisAutorangeMinReversed LayoutSceneZaxisAutorange = "min reversed" + LayoutSceneZaxisAutorangeMaxReversed LayoutSceneZaxisAutorange = "max reversed" + LayoutSceneZaxisAutorangeMin LayoutSceneZaxisAutorange = "min" + LayoutSceneZaxisAutorangeMax LayoutSceneZaxisAutorange = "max" +) + +// LayoutSceneZaxisAutotypenumbers 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. +type LayoutSceneZaxisAutotypenumbers string + +const ( + LayoutSceneZaxisAutotypenumbersConvertTypes LayoutSceneZaxisAutotypenumbers = "convert types" + LayoutSceneZaxisAutotypenumbersStrict LayoutSceneZaxisAutotypenumbers = "strict" +) + +// LayoutSceneZaxisCalendar Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar` +type LayoutSceneZaxisCalendar string + +const ( + LayoutSceneZaxisCalendarChinese LayoutSceneZaxisCalendar = "chinese" + LayoutSceneZaxisCalendarCoptic LayoutSceneZaxisCalendar = "coptic" + LayoutSceneZaxisCalendarDiscworld LayoutSceneZaxisCalendar = "discworld" + LayoutSceneZaxisCalendarEthiopian LayoutSceneZaxisCalendar = "ethiopian" + LayoutSceneZaxisCalendarGregorian LayoutSceneZaxisCalendar = "gregorian" + LayoutSceneZaxisCalendarHebrew LayoutSceneZaxisCalendar = "hebrew" + LayoutSceneZaxisCalendarIslamic LayoutSceneZaxisCalendar = "islamic" + LayoutSceneZaxisCalendarJalali LayoutSceneZaxisCalendar = "jalali" + LayoutSceneZaxisCalendarJulian LayoutSceneZaxisCalendar = "julian" + LayoutSceneZaxisCalendarMayan LayoutSceneZaxisCalendar = "mayan" + LayoutSceneZaxisCalendarNanakshahi LayoutSceneZaxisCalendar = "nanakshahi" + LayoutSceneZaxisCalendarNepali LayoutSceneZaxisCalendar = "nepali" + LayoutSceneZaxisCalendarPersian LayoutSceneZaxisCalendar = "persian" + LayoutSceneZaxisCalendarTaiwan LayoutSceneZaxisCalendar = "taiwan" + LayoutSceneZaxisCalendarThai LayoutSceneZaxisCalendar = "thai" + LayoutSceneZaxisCalendarUmmalqura LayoutSceneZaxisCalendar = "ummalqura" +) + +// LayoutSceneZaxisCategoryorder 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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values. +type LayoutSceneZaxisCategoryorder string + +const ( + LayoutSceneZaxisCategoryorderTrace LayoutSceneZaxisCategoryorder = "trace" + LayoutSceneZaxisCategoryorderCategoryAscending LayoutSceneZaxisCategoryorder = "category ascending" + LayoutSceneZaxisCategoryorderCategoryDescending LayoutSceneZaxisCategoryorder = "category descending" + LayoutSceneZaxisCategoryorderArray LayoutSceneZaxisCategoryorder = "array" + LayoutSceneZaxisCategoryorderTotalAscending LayoutSceneZaxisCategoryorder = "total ascending" + LayoutSceneZaxisCategoryorderTotalDescending LayoutSceneZaxisCategoryorder = "total descending" + LayoutSceneZaxisCategoryorderMinAscending LayoutSceneZaxisCategoryorder = "min ascending" + LayoutSceneZaxisCategoryorderMinDescending LayoutSceneZaxisCategoryorder = "min descending" + LayoutSceneZaxisCategoryorderMaxAscending LayoutSceneZaxisCategoryorder = "max ascending" + LayoutSceneZaxisCategoryorderMaxDescending LayoutSceneZaxisCategoryorder = "max descending" + LayoutSceneZaxisCategoryorderSumAscending LayoutSceneZaxisCategoryorder = "sum ascending" + LayoutSceneZaxisCategoryorderSumDescending LayoutSceneZaxisCategoryorder = "sum descending" + LayoutSceneZaxisCategoryorderMeanAscending LayoutSceneZaxisCategoryorder = "mean ascending" + LayoutSceneZaxisCategoryorderMeanDescending LayoutSceneZaxisCategoryorder = "mean descending" + LayoutSceneZaxisCategoryorderMedianAscending LayoutSceneZaxisCategoryorder = "median ascending" + LayoutSceneZaxisCategoryorderMedianDescending LayoutSceneZaxisCategoryorder = "median descending" +) + +// LayoutSceneZaxisExponentformat 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. +type LayoutSceneZaxisExponentformat string + +const ( + LayoutSceneZaxisExponentformatNone LayoutSceneZaxisExponentformat = "none" + LayoutSceneZaxisExponentformatE1 LayoutSceneZaxisExponentformat = "e" + LayoutSceneZaxisExponentformatE2 LayoutSceneZaxisExponentformat = "E" + LayoutSceneZaxisExponentformatPower LayoutSceneZaxisExponentformat = "power" + LayoutSceneZaxisExponentformatSI LayoutSceneZaxisExponentformat = "SI" + LayoutSceneZaxisExponentformatB LayoutSceneZaxisExponentformat = "B" +) + +// LayoutSceneZaxisMirror 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. +type LayoutSceneZaxisMirror interface{} + +var ( + LayoutSceneZaxisMirrorTrue LayoutSceneZaxisMirror = true + LayoutSceneZaxisMirrorTicks LayoutSceneZaxisMirror = "ticks" + LayoutSceneZaxisMirrorFalse LayoutSceneZaxisMirror = false + LayoutSceneZaxisMirrorAll LayoutSceneZaxisMirror = "all" + LayoutSceneZaxisMirrorAllticks LayoutSceneZaxisMirror = "allticks" +) + +// LayoutSceneZaxisRangemode 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. +type LayoutSceneZaxisRangemode string + +const ( + LayoutSceneZaxisRangemodeNormal LayoutSceneZaxisRangemode = "normal" + LayoutSceneZaxisRangemodeTozero LayoutSceneZaxisRangemode = "tozero" + LayoutSceneZaxisRangemodeNonnegative LayoutSceneZaxisRangemode = "nonnegative" +) + +// LayoutSceneZaxisShowexponent 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. +type LayoutSceneZaxisShowexponent string + +const ( + LayoutSceneZaxisShowexponentAll LayoutSceneZaxisShowexponent = "all" + LayoutSceneZaxisShowexponentFirst LayoutSceneZaxisShowexponent = "first" + LayoutSceneZaxisShowexponentLast LayoutSceneZaxisShowexponent = "last" + LayoutSceneZaxisShowexponentNone LayoutSceneZaxisShowexponent = "none" +) + +// LayoutSceneZaxisShowtickprefix 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. +type LayoutSceneZaxisShowtickprefix string + +const ( + LayoutSceneZaxisShowtickprefixAll LayoutSceneZaxisShowtickprefix = "all" + LayoutSceneZaxisShowtickprefixFirst LayoutSceneZaxisShowtickprefix = "first" + LayoutSceneZaxisShowtickprefixLast LayoutSceneZaxisShowtickprefix = "last" + LayoutSceneZaxisShowtickprefixNone LayoutSceneZaxisShowtickprefix = "none" +) + +// LayoutSceneZaxisShowticksuffix Same as `showtickprefix` but for tick suffixes. +type LayoutSceneZaxisShowticksuffix string + +const ( + LayoutSceneZaxisShowticksuffixAll LayoutSceneZaxisShowticksuffix = "all" + LayoutSceneZaxisShowticksuffixFirst LayoutSceneZaxisShowticksuffix = "first" + LayoutSceneZaxisShowticksuffixLast LayoutSceneZaxisShowticksuffix = "last" + LayoutSceneZaxisShowticksuffixNone LayoutSceneZaxisShowticksuffix = "none" +) + +// LayoutSceneZaxisTickmode 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). +type LayoutSceneZaxisTickmode string + +const ( + LayoutSceneZaxisTickmodeAuto LayoutSceneZaxisTickmode = "auto" + LayoutSceneZaxisTickmodeLinear LayoutSceneZaxisTickmode = "linear" + LayoutSceneZaxisTickmodeArray LayoutSceneZaxisTickmode = "array" +) + +// LayoutSceneZaxisTicks 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. +type LayoutSceneZaxisTicks string + +const ( + LayoutSceneZaxisTicksOutside LayoutSceneZaxisTicks = "outside" + LayoutSceneZaxisTicksInside LayoutSceneZaxisTicks = "inside" + LayoutSceneZaxisTicksEmpty LayoutSceneZaxisTicks = "" +) + +// LayoutSceneZaxisType 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. +type LayoutSceneZaxisType string + +const ( + LayoutSceneZaxisTypeHyphenHyphen LayoutSceneZaxisType = "-" + LayoutSceneZaxisTypeLinear LayoutSceneZaxisType = "linear" + LayoutSceneZaxisTypeLog LayoutSceneZaxisType = "log" + LayoutSceneZaxisTypeDate LayoutSceneZaxisType = "date" + LayoutSceneZaxisTypeCategory LayoutSceneZaxisType = "category" +) + +// LayoutSelectdirection 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. +type LayoutSelectdirection string + +const ( + LayoutSelectdirectionH LayoutSelectdirection = "h" + LayoutSelectdirectionV LayoutSelectdirection = "v" + LayoutSelectdirectionD LayoutSelectdirection = "d" + LayoutSelectdirectionAny LayoutSelectdirection = "any" +) + +// LayoutSmithImaginaryaxisLayer Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. +type LayoutSmithImaginaryaxisLayer string + +const ( + LayoutSmithImaginaryaxisLayerAboveTraces LayoutSmithImaginaryaxisLayer = "above traces" + LayoutSmithImaginaryaxisLayerBelowTraces LayoutSmithImaginaryaxisLayer = "below traces" +) + +// LayoutSmithImaginaryaxisShowtickprefix 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. +type LayoutSmithImaginaryaxisShowtickprefix string + +const ( + LayoutSmithImaginaryaxisShowtickprefixAll LayoutSmithImaginaryaxisShowtickprefix = "all" + LayoutSmithImaginaryaxisShowtickprefixFirst LayoutSmithImaginaryaxisShowtickprefix = "first" + LayoutSmithImaginaryaxisShowtickprefixLast LayoutSmithImaginaryaxisShowtickprefix = "last" + LayoutSmithImaginaryaxisShowtickprefixNone LayoutSmithImaginaryaxisShowtickprefix = "none" +) + +// LayoutSmithImaginaryaxisShowticksuffix Same as `showtickprefix` but for tick suffixes. +type LayoutSmithImaginaryaxisShowticksuffix string + +const ( + LayoutSmithImaginaryaxisShowticksuffixAll LayoutSmithImaginaryaxisShowticksuffix = "all" + LayoutSmithImaginaryaxisShowticksuffixFirst LayoutSmithImaginaryaxisShowticksuffix = "first" + LayoutSmithImaginaryaxisShowticksuffixLast LayoutSmithImaginaryaxisShowticksuffix = "last" + LayoutSmithImaginaryaxisShowticksuffixNone LayoutSmithImaginaryaxisShowticksuffix = "none" +) + +// LayoutSmithImaginaryaxisTicks 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. +type LayoutSmithImaginaryaxisTicks string + +const ( + LayoutSmithImaginaryaxisTicksOutside LayoutSmithImaginaryaxisTicks = "outside" + LayoutSmithImaginaryaxisTicksInside LayoutSmithImaginaryaxisTicks = "inside" + LayoutSmithImaginaryaxisTicksEmpty LayoutSmithImaginaryaxisTicks = "" +) + +// LayoutSmithRealaxisLayer Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. +type LayoutSmithRealaxisLayer string + +const ( + LayoutSmithRealaxisLayerAboveTraces LayoutSmithRealaxisLayer = "above traces" + LayoutSmithRealaxisLayerBelowTraces LayoutSmithRealaxisLayer = "below traces" +) + +// LayoutSmithRealaxisShowtickprefix 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. +type LayoutSmithRealaxisShowtickprefix string + +const ( + LayoutSmithRealaxisShowtickprefixAll LayoutSmithRealaxisShowtickprefix = "all" + LayoutSmithRealaxisShowtickprefixFirst LayoutSmithRealaxisShowtickprefix = "first" + LayoutSmithRealaxisShowtickprefixLast LayoutSmithRealaxisShowtickprefix = "last" + LayoutSmithRealaxisShowtickprefixNone LayoutSmithRealaxisShowtickprefix = "none" +) + +// LayoutSmithRealaxisShowticksuffix Same as `showtickprefix` but for tick suffixes. +type LayoutSmithRealaxisShowticksuffix string + +const ( + LayoutSmithRealaxisShowticksuffixAll LayoutSmithRealaxisShowticksuffix = "all" + LayoutSmithRealaxisShowticksuffixFirst LayoutSmithRealaxisShowticksuffix = "first" + LayoutSmithRealaxisShowticksuffixLast LayoutSmithRealaxisShowticksuffix = "last" + LayoutSmithRealaxisShowticksuffixNone LayoutSmithRealaxisShowticksuffix = "none" +) + +// LayoutSmithRealaxisSide Determines on which side of real axis line the tick and tick labels appear. +type LayoutSmithRealaxisSide string + +const ( + LayoutSmithRealaxisSideTop LayoutSmithRealaxisSide = "top" + LayoutSmithRealaxisSideBottom LayoutSmithRealaxisSide = "bottom" +) + +// LayoutSmithRealaxisTicks Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *top* (*bottom*), this axis' are drawn above (below) the axis line. +type LayoutSmithRealaxisTicks string + +const ( + LayoutSmithRealaxisTicksTop LayoutSmithRealaxisTicks = "top" + LayoutSmithRealaxisTicksBottom LayoutSmithRealaxisTicks = "bottom" + LayoutSmithRealaxisTicksEmpty LayoutSmithRealaxisTicks = "" +) + +// LayoutTernaryAaxisExponentformat 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. +type LayoutTernaryAaxisExponentformat string + +const ( + LayoutTernaryAaxisExponentformatNone LayoutTernaryAaxisExponentformat = "none" + LayoutTernaryAaxisExponentformatE1 LayoutTernaryAaxisExponentformat = "e" + LayoutTernaryAaxisExponentformatE2 LayoutTernaryAaxisExponentformat = "E" + LayoutTernaryAaxisExponentformatPower LayoutTernaryAaxisExponentformat = "power" + LayoutTernaryAaxisExponentformatSI LayoutTernaryAaxisExponentformat = "SI" + LayoutTernaryAaxisExponentformatB LayoutTernaryAaxisExponentformat = "B" +) + +// LayoutTernaryAaxisLayer Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. +type LayoutTernaryAaxisLayer string + +const ( + LayoutTernaryAaxisLayerAboveTraces LayoutTernaryAaxisLayer = "above traces" + LayoutTernaryAaxisLayerBelowTraces LayoutTernaryAaxisLayer = "below traces" +) + +// LayoutTernaryAaxisShowexponent 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. +type LayoutTernaryAaxisShowexponent string + +const ( + LayoutTernaryAaxisShowexponentAll LayoutTernaryAaxisShowexponent = "all" + LayoutTernaryAaxisShowexponentFirst LayoutTernaryAaxisShowexponent = "first" + LayoutTernaryAaxisShowexponentLast LayoutTernaryAaxisShowexponent = "last" + LayoutTernaryAaxisShowexponentNone LayoutTernaryAaxisShowexponent = "none" +) + +// LayoutTernaryAaxisShowtickprefix 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. +type LayoutTernaryAaxisShowtickprefix string + +const ( + LayoutTernaryAaxisShowtickprefixAll LayoutTernaryAaxisShowtickprefix = "all" + LayoutTernaryAaxisShowtickprefixFirst LayoutTernaryAaxisShowtickprefix = "first" + LayoutTernaryAaxisShowtickprefixLast LayoutTernaryAaxisShowtickprefix = "last" + LayoutTernaryAaxisShowtickprefixNone LayoutTernaryAaxisShowtickprefix = "none" +) + +// LayoutTernaryAaxisShowticksuffix Same as `showtickprefix` but for tick suffixes. +type LayoutTernaryAaxisShowticksuffix string + +const ( + LayoutTernaryAaxisShowticksuffixAll LayoutTernaryAaxisShowticksuffix = "all" + LayoutTernaryAaxisShowticksuffixFirst LayoutTernaryAaxisShowticksuffix = "first" + LayoutTernaryAaxisShowticksuffixLast LayoutTernaryAaxisShowticksuffix = "last" + LayoutTernaryAaxisShowticksuffixNone LayoutTernaryAaxisShowticksuffix = "none" +) + +// LayoutTernaryAaxisTickmode 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). +type LayoutTernaryAaxisTickmode string + +const ( + LayoutTernaryAaxisTickmodeAuto LayoutTernaryAaxisTickmode = "auto" + LayoutTernaryAaxisTickmodeLinear LayoutTernaryAaxisTickmode = "linear" + LayoutTernaryAaxisTickmodeArray LayoutTernaryAaxisTickmode = "array" +) + +// LayoutTernaryAaxisTicks 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. +type LayoutTernaryAaxisTicks string + +const ( + LayoutTernaryAaxisTicksOutside LayoutTernaryAaxisTicks = "outside" + LayoutTernaryAaxisTicksInside LayoutTernaryAaxisTicks = "inside" + LayoutTernaryAaxisTicksEmpty LayoutTernaryAaxisTicks = "" +) + +// LayoutTernaryBaxisExponentformat 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. +type LayoutTernaryBaxisExponentformat string + +const ( + LayoutTernaryBaxisExponentformatNone LayoutTernaryBaxisExponentformat = "none" + LayoutTernaryBaxisExponentformatE1 LayoutTernaryBaxisExponentformat = "e" + LayoutTernaryBaxisExponentformatE2 LayoutTernaryBaxisExponentformat = "E" + LayoutTernaryBaxisExponentformatPower LayoutTernaryBaxisExponentformat = "power" + LayoutTernaryBaxisExponentformatSI LayoutTernaryBaxisExponentformat = "SI" + LayoutTernaryBaxisExponentformatB LayoutTernaryBaxisExponentformat = "B" +) + +// LayoutTernaryBaxisLayer Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. +type LayoutTernaryBaxisLayer string + +const ( + LayoutTernaryBaxisLayerAboveTraces LayoutTernaryBaxisLayer = "above traces" + LayoutTernaryBaxisLayerBelowTraces LayoutTernaryBaxisLayer = "below traces" +) + +// LayoutTernaryBaxisShowexponent 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. +type LayoutTernaryBaxisShowexponent string + +const ( + LayoutTernaryBaxisShowexponentAll LayoutTernaryBaxisShowexponent = "all" + LayoutTernaryBaxisShowexponentFirst LayoutTernaryBaxisShowexponent = "first" + LayoutTernaryBaxisShowexponentLast LayoutTernaryBaxisShowexponent = "last" + LayoutTernaryBaxisShowexponentNone LayoutTernaryBaxisShowexponent = "none" +) + +// LayoutTernaryBaxisShowtickprefix 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. +type LayoutTernaryBaxisShowtickprefix string + +const ( + LayoutTernaryBaxisShowtickprefixAll LayoutTernaryBaxisShowtickprefix = "all" + LayoutTernaryBaxisShowtickprefixFirst LayoutTernaryBaxisShowtickprefix = "first" + LayoutTernaryBaxisShowtickprefixLast LayoutTernaryBaxisShowtickprefix = "last" + LayoutTernaryBaxisShowtickprefixNone LayoutTernaryBaxisShowtickprefix = "none" +) + +// LayoutTernaryBaxisShowticksuffix Same as `showtickprefix` but for tick suffixes. +type LayoutTernaryBaxisShowticksuffix string + +const ( + LayoutTernaryBaxisShowticksuffixAll LayoutTernaryBaxisShowticksuffix = "all" + LayoutTernaryBaxisShowticksuffixFirst LayoutTernaryBaxisShowticksuffix = "first" + LayoutTernaryBaxisShowticksuffixLast LayoutTernaryBaxisShowticksuffix = "last" + LayoutTernaryBaxisShowticksuffixNone LayoutTernaryBaxisShowticksuffix = "none" +) + +// LayoutTernaryBaxisTickmode 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). +type LayoutTernaryBaxisTickmode string + +const ( + LayoutTernaryBaxisTickmodeAuto LayoutTernaryBaxisTickmode = "auto" + LayoutTernaryBaxisTickmodeLinear LayoutTernaryBaxisTickmode = "linear" + LayoutTernaryBaxisTickmodeArray LayoutTernaryBaxisTickmode = "array" +) + +// LayoutTernaryBaxisTicks 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. +type LayoutTernaryBaxisTicks string + +const ( + LayoutTernaryBaxisTicksOutside LayoutTernaryBaxisTicks = "outside" + LayoutTernaryBaxisTicksInside LayoutTernaryBaxisTicks = "inside" + LayoutTernaryBaxisTicksEmpty LayoutTernaryBaxisTicks = "" +) + +// LayoutTernaryCaxisExponentformat 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. +type LayoutTernaryCaxisExponentformat string + +const ( + LayoutTernaryCaxisExponentformatNone LayoutTernaryCaxisExponentformat = "none" + LayoutTernaryCaxisExponentformatE1 LayoutTernaryCaxisExponentformat = "e" + LayoutTernaryCaxisExponentformatE2 LayoutTernaryCaxisExponentformat = "E" + LayoutTernaryCaxisExponentformatPower LayoutTernaryCaxisExponentformat = "power" + LayoutTernaryCaxisExponentformatSI LayoutTernaryCaxisExponentformat = "SI" + LayoutTernaryCaxisExponentformatB LayoutTernaryCaxisExponentformat = "B" +) + +// LayoutTernaryCaxisLayer Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. +type LayoutTernaryCaxisLayer string + +const ( + LayoutTernaryCaxisLayerAboveTraces LayoutTernaryCaxisLayer = "above traces" + LayoutTernaryCaxisLayerBelowTraces LayoutTernaryCaxisLayer = "below traces" +) + +// LayoutTernaryCaxisShowexponent 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. +type LayoutTernaryCaxisShowexponent string + +const ( + LayoutTernaryCaxisShowexponentAll LayoutTernaryCaxisShowexponent = "all" + LayoutTernaryCaxisShowexponentFirst LayoutTernaryCaxisShowexponent = "first" + LayoutTernaryCaxisShowexponentLast LayoutTernaryCaxisShowexponent = "last" + LayoutTernaryCaxisShowexponentNone LayoutTernaryCaxisShowexponent = "none" +) + +// LayoutTernaryCaxisShowtickprefix 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. +type LayoutTernaryCaxisShowtickprefix string + +const ( + LayoutTernaryCaxisShowtickprefixAll LayoutTernaryCaxisShowtickprefix = "all" + LayoutTernaryCaxisShowtickprefixFirst LayoutTernaryCaxisShowtickprefix = "first" + LayoutTernaryCaxisShowtickprefixLast LayoutTernaryCaxisShowtickprefix = "last" + LayoutTernaryCaxisShowtickprefixNone LayoutTernaryCaxisShowtickprefix = "none" +) + +// LayoutTernaryCaxisShowticksuffix Same as `showtickprefix` but for tick suffixes. +type LayoutTernaryCaxisShowticksuffix string + +const ( + LayoutTernaryCaxisShowticksuffixAll LayoutTernaryCaxisShowticksuffix = "all" + LayoutTernaryCaxisShowticksuffixFirst LayoutTernaryCaxisShowticksuffix = "first" + LayoutTernaryCaxisShowticksuffixLast LayoutTernaryCaxisShowticksuffix = "last" + LayoutTernaryCaxisShowticksuffixNone LayoutTernaryCaxisShowticksuffix = "none" +) + +// LayoutTernaryCaxisTickmode 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). +type LayoutTernaryCaxisTickmode string + +const ( + LayoutTernaryCaxisTickmodeAuto LayoutTernaryCaxisTickmode = "auto" + LayoutTernaryCaxisTickmodeLinear LayoutTernaryCaxisTickmode = "linear" + LayoutTernaryCaxisTickmodeArray LayoutTernaryCaxisTickmode = "array" +) + +// LayoutTernaryCaxisTicks 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. +type LayoutTernaryCaxisTicks string + +const ( + LayoutTernaryCaxisTicksOutside LayoutTernaryCaxisTicks = "outside" + LayoutTernaryCaxisTicksInside LayoutTernaryCaxisTicks = "inside" + LayoutTernaryCaxisTicksEmpty LayoutTernaryCaxisTicks = "" +) + +// LayoutTitleXanchor 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`. +type LayoutTitleXanchor string + +const ( + LayoutTitleXanchorAuto LayoutTitleXanchor = "auto" + LayoutTitleXanchorLeft LayoutTitleXanchor = "left" + LayoutTitleXanchorCenter LayoutTitleXanchor = "center" + LayoutTitleXanchorRight LayoutTitleXanchor = "right" +) + +// LayoutTitleXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type LayoutTitleXref string + +const ( + LayoutTitleXrefContainer LayoutTitleXref = "container" + LayoutTitleXrefPaper LayoutTitleXref = "paper" +) + +// LayoutTitleYanchor 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`. +type LayoutTitleYanchor string + +const ( + LayoutTitleYanchorAuto LayoutTitleYanchor = "auto" + LayoutTitleYanchorTop LayoutTitleYanchor = "top" + LayoutTitleYanchorMiddle LayoutTitleYanchor = "middle" + LayoutTitleYanchorBottom LayoutTitleYanchor = "bottom" +) + +// LayoutTitleYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type LayoutTitleYref string + +const ( + LayoutTitleYrefContainer LayoutTitleYref = "container" + LayoutTitleYrefPaper LayoutTitleYref = "paper" +) + +// LayoutTransitionEasing The easing function used for the transition +type LayoutTransitionEasing string + +const ( + LayoutTransitionEasingLinear LayoutTransitionEasing = "linear" + LayoutTransitionEasingQuad LayoutTransitionEasing = "quad" + LayoutTransitionEasingCubic LayoutTransitionEasing = "cubic" + LayoutTransitionEasingSin LayoutTransitionEasing = "sin" + LayoutTransitionEasingExp LayoutTransitionEasing = "exp" + LayoutTransitionEasingCircle LayoutTransitionEasing = "circle" + LayoutTransitionEasingElastic LayoutTransitionEasing = "elastic" + LayoutTransitionEasingBack LayoutTransitionEasing = "back" + LayoutTransitionEasingBounce LayoutTransitionEasing = "bounce" + LayoutTransitionEasingLinearIn LayoutTransitionEasing = "linear-in" + LayoutTransitionEasingQuadIn LayoutTransitionEasing = "quad-in" + LayoutTransitionEasingCubicIn LayoutTransitionEasing = "cubic-in" + LayoutTransitionEasingSinIn LayoutTransitionEasing = "sin-in" + LayoutTransitionEasingExpIn LayoutTransitionEasing = "exp-in" + LayoutTransitionEasingCircleIn LayoutTransitionEasing = "circle-in" + LayoutTransitionEasingElasticIn LayoutTransitionEasing = "elastic-in" + LayoutTransitionEasingBackIn LayoutTransitionEasing = "back-in" + LayoutTransitionEasingBounceIn LayoutTransitionEasing = "bounce-in" + LayoutTransitionEasingLinearOut LayoutTransitionEasing = "linear-out" + LayoutTransitionEasingQuadOut LayoutTransitionEasing = "quad-out" + LayoutTransitionEasingCubicOut LayoutTransitionEasing = "cubic-out" + LayoutTransitionEasingSinOut LayoutTransitionEasing = "sin-out" + LayoutTransitionEasingExpOut LayoutTransitionEasing = "exp-out" + LayoutTransitionEasingCircleOut LayoutTransitionEasing = "circle-out" + LayoutTransitionEasingElasticOut LayoutTransitionEasing = "elastic-out" + LayoutTransitionEasingBackOut LayoutTransitionEasing = "back-out" + LayoutTransitionEasingBounceOut LayoutTransitionEasing = "bounce-out" + LayoutTransitionEasingLinearInOut LayoutTransitionEasing = "linear-in-out" + LayoutTransitionEasingQuadInOut LayoutTransitionEasing = "quad-in-out" + LayoutTransitionEasingCubicInOut LayoutTransitionEasing = "cubic-in-out" + LayoutTransitionEasingSinInOut LayoutTransitionEasing = "sin-in-out" + LayoutTransitionEasingExpInOut LayoutTransitionEasing = "exp-in-out" + LayoutTransitionEasingCircleInOut LayoutTransitionEasing = "circle-in-out" + LayoutTransitionEasingElasticInOut LayoutTransitionEasing = "elastic-in-out" + LayoutTransitionEasingBackInOut LayoutTransitionEasing = "back-in-out" + LayoutTransitionEasingBounceInOut LayoutTransitionEasing = "bounce-in-out" +) + +// LayoutTransitionOrdering Determines whether the figure's layout or traces smoothly transitions during updates that make both traces and layout change. +type LayoutTransitionOrdering string + +const ( + LayoutTransitionOrderingLayoutFirst LayoutTransitionOrdering = "layout first" + LayoutTransitionOrderingTracesFirst LayoutTransitionOrdering = "traces first" +) + +// LayoutUniformtextMode 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. +type LayoutUniformtextMode interface{} + +var ( + LayoutUniformtextModeFalse LayoutUniformtextMode = false + LayoutUniformtextModeHide LayoutUniformtextMode = "hide" + LayoutUniformtextModeShow LayoutUniformtextMode = "show" +) + +// LayoutViolinmode Determines how violins at the same location coordinate are displayed on the graph. If *group*, the violins are plotted next to one another centered around the shared location. If *overlay*, the violins are plotted over one another, you might need to set *opacity* to see them multiple violins. Has no effect on traces that have *width* set. +type LayoutViolinmode string + +const ( + ViolinViolinmodeGroup LayoutViolinmode = "group" + ViolinViolinmodeOverlay LayoutViolinmode = "overlay" +) + +// LayoutWaterfallmode Determines how bars at the same location coordinate are displayed on the graph. With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars. +type LayoutWaterfallmode string + +const ( + WaterfallWaterfallmodeGroup LayoutWaterfallmode = "group" + WaterfallWaterfallmodeOverlay LayoutWaterfallmode = "overlay" +) + +// LayoutXaxisAnchor If set to an opposite-letter axis id (e.g. `x2`, `y`), this axis is bound to the corresponding opposite-letter axis. If set to *free*, this axis' position is determined by `position`. +type LayoutXaxisAnchor string + +const ( + LayoutXaxisAnchorFree LayoutXaxisAnchor = "free" + LayoutXaxisAnchorSlashCapexLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutXaxisAnchor = "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + LayoutXaxisAnchorSlashCapeyLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutXaxisAnchor = "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" +) + +// LayoutXaxisAutorange Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction. +type LayoutXaxisAutorange interface{} + +var ( + LayoutXaxisAutorangeTrue LayoutXaxisAutorange = true + LayoutXaxisAutorangeFalse LayoutXaxisAutorange = false + LayoutXaxisAutorangeReversed LayoutXaxisAutorange = "reversed" + LayoutXaxisAutorangeMinReversed LayoutXaxisAutorange = "min reversed" + LayoutXaxisAutorangeMaxReversed LayoutXaxisAutorange = "max reversed" + LayoutXaxisAutorangeMin LayoutXaxisAutorange = "min" + LayoutXaxisAutorangeMax LayoutXaxisAutorange = "max" +) + +// LayoutXaxisAutotypenumbers 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. +type LayoutXaxisAutotypenumbers string + +const ( + LayoutXaxisAutotypenumbersConvertTypes LayoutXaxisAutotypenumbers = "convert types" + LayoutXaxisAutotypenumbersStrict LayoutXaxisAutotypenumbers = "strict" +) + +// LayoutXaxisCalendar Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar` +type LayoutXaxisCalendar string + +const ( + LayoutXaxisCalendarChinese LayoutXaxisCalendar = "chinese" + LayoutXaxisCalendarCoptic LayoutXaxisCalendar = "coptic" + LayoutXaxisCalendarDiscworld LayoutXaxisCalendar = "discworld" + LayoutXaxisCalendarEthiopian LayoutXaxisCalendar = "ethiopian" + LayoutXaxisCalendarGregorian LayoutXaxisCalendar = "gregorian" + LayoutXaxisCalendarHebrew LayoutXaxisCalendar = "hebrew" + LayoutXaxisCalendarIslamic LayoutXaxisCalendar = "islamic" + LayoutXaxisCalendarJalali LayoutXaxisCalendar = "jalali" + LayoutXaxisCalendarJulian LayoutXaxisCalendar = "julian" + LayoutXaxisCalendarMayan LayoutXaxisCalendar = "mayan" + LayoutXaxisCalendarNanakshahi LayoutXaxisCalendar = "nanakshahi" + LayoutXaxisCalendarNepali LayoutXaxisCalendar = "nepali" + LayoutXaxisCalendarPersian LayoutXaxisCalendar = "persian" + LayoutXaxisCalendarTaiwan LayoutXaxisCalendar = "taiwan" + LayoutXaxisCalendarThai LayoutXaxisCalendar = "thai" + LayoutXaxisCalendarUmmalqura LayoutXaxisCalendar = "ummalqura" +) + +// LayoutXaxisCategoryorder 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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values. +type LayoutXaxisCategoryorder string + +const ( + LayoutXaxisCategoryorderTrace LayoutXaxisCategoryorder = "trace" + LayoutXaxisCategoryorderCategoryAscending LayoutXaxisCategoryorder = "category ascending" + LayoutXaxisCategoryorderCategoryDescending LayoutXaxisCategoryorder = "category descending" + LayoutXaxisCategoryorderArray LayoutXaxisCategoryorder = "array" + LayoutXaxisCategoryorderTotalAscending LayoutXaxisCategoryorder = "total ascending" + LayoutXaxisCategoryorderTotalDescending LayoutXaxisCategoryorder = "total descending" + LayoutXaxisCategoryorderMinAscending LayoutXaxisCategoryorder = "min ascending" + LayoutXaxisCategoryorderMinDescending LayoutXaxisCategoryorder = "min descending" + LayoutXaxisCategoryorderMaxAscending LayoutXaxisCategoryorder = "max ascending" + LayoutXaxisCategoryorderMaxDescending LayoutXaxisCategoryorder = "max descending" + LayoutXaxisCategoryorderSumAscending LayoutXaxisCategoryorder = "sum ascending" + LayoutXaxisCategoryorderSumDescending LayoutXaxisCategoryorder = "sum descending" + LayoutXaxisCategoryorderMeanAscending LayoutXaxisCategoryorder = "mean ascending" + LayoutXaxisCategoryorderMeanDescending LayoutXaxisCategoryorder = "mean descending" + LayoutXaxisCategoryorderMedianAscending LayoutXaxisCategoryorder = "median ascending" + LayoutXaxisCategoryorderMedianDescending LayoutXaxisCategoryorder = "median descending" +) + +// LayoutXaxisConstrain If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines how that happens: by increasing the *range*, or by decreasing the *domain*. Default is *domain* for axes containing image traces, *range* otherwise. +type LayoutXaxisConstrain string + +const ( + LayoutXaxisConstrainRange LayoutXaxisConstrain = "range" + LayoutXaxisConstrainDomain LayoutXaxisConstrain = "domain" +) + +// LayoutXaxisConstraintoward If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines which direction we push the originally specified plot area. Options are *left*, *center* (default), and *right* for x axes, and *top*, *middle* (default), and *bottom* for y axes. +type LayoutXaxisConstraintoward string + +const ( + LayoutXaxisConstraintowardLeft LayoutXaxisConstraintoward = "left" + LayoutXaxisConstraintowardCenter LayoutXaxisConstraintoward = "center" + LayoutXaxisConstraintowardRight LayoutXaxisConstraintoward = "right" + LayoutXaxisConstraintowardTop LayoutXaxisConstraintoward = "top" + LayoutXaxisConstraintowardMiddle LayoutXaxisConstraintoward = "middle" + LayoutXaxisConstraintowardBottom LayoutXaxisConstraintoward = "bottom" +) + +// LayoutXaxisExponentformat 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. +type LayoutXaxisExponentformat string + +const ( + LayoutXaxisExponentformatNone LayoutXaxisExponentformat = "none" + LayoutXaxisExponentformatE1 LayoutXaxisExponentformat = "e" + LayoutXaxisExponentformatE2 LayoutXaxisExponentformat = "E" + LayoutXaxisExponentformatPower LayoutXaxisExponentformat = "power" + LayoutXaxisExponentformatSI LayoutXaxisExponentformat = "SI" + LayoutXaxisExponentformatB LayoutXaxisExponentformat = "B" +) + +// LayoutXaxisLayer Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. +type LayoutXaxisLayer string + +const ( + LayoutXaxisLayerAboveTraces LayoutXaxisLayer = "above traces" + LayoutXaxisLayerBelowTraces LayoutXaxisLayer = "below traces" +) + +// LayoutXaxisMatches If set to another axis id (e.g. `x2`, `y`), the range of this axis will match the range of the corresponding axis in data-coordinates space. Moreover, matching axes share auto-range values, category lists and histogram auto-bins. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden. Moreover, note that matching axes must have the same `type`. +type LayoutXaxisMatches string + +const ( + LayoutXaxisMatchesSlashCapexLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutXaxisMatches = "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + LayoutXaxisMatchesSlashCapeyLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutXaxisMatches = "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" +) + +// LayoutXaxisMinorTickmode 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). +type LayoutXaxisMinorTickmode string + +const ( + LayoutXaxisMinorTickmodeAuto LayoutXaxisMinorTickmode = "auto" + LayoutXaxisMinorTickmodeLinear LayoutXaxisMinorTickmode = "linear" + LayoutXaxisMinorTickmodeArray LayoutXaxisMinorTickmode = "array" +) + +// LayoutXaxisMinorTicks 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. +type LayoutXaxisMinorTicks string + +const ( + LayoutXaxisMinorTicksOutside LayoutXaxisMinorTicks = "outside" + LayoutXaxisMinorTicksInside LayoutXaxisMinorTicks = "inside" + LayoutXaxisMinorTicksEmpty LayoutXaxisMinorTicks = "" +) + +// LayoutXaxisMirror 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. +type LayoutXaxisMirror interface{} + +var ( + LayoutXaxisMirrorTrue LayoutXaxisMirror = true + LayoutXaxisMirrorTicks LayoutXaxisMirror = "ticks" + LayoutXaxisMirrorFalse LayoutXaxisMirror = false + LayoutXaxisMirrorAll LayoutXaxisMirror = "all" + LayoutXaxisMirrorAllticks LayoutXaxisMirror = "allticks" +) + +// LayoutXaxisOverlaying If set a same-letter axis id, this axis is overlaid on top of the corresponding same-letter axis, with traces and axes visible for both axes. If *false*, this axis does not overlay any same-letter axes. In this case, for axes with overlapping domains only the highest-numbered axis will be visible. +type LayoutXaxisOverlaying string + +const ( + LayoutXaxisOverlayingFree LayoutXaxisOverlaying = "free" + LayoutXaxisOverlayingSlashCapexLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutXaxisOverlaying = "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + LayoutXaxisOverlayingSlashCapeyLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutXaxisOverlaying = "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" +) + +// LayoutXaxisRangemode 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. +type LayoutXaxisRangemode string + +const ( + LayoutXaxisRangemodeNormal LayoutXaxisRangemode = "normal" + LayoutXaxisRangemodeTozero LayoutXaxisRangemode = "tozero" + LayoutXaxisRangemodeNonnegative LayoutXaxisRangemode = "nonnegative" +) + +// LayoutXaxisRangeselectorXanchor Sets the range selector's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the range selector. +type LayoutXaxisRangeselectorXanchor string + +const ( + LayoutXaxisRangeselectorXanchorAuto LayoutXaxisRangeselectorXanchor = "auto" + LayoutXaxisRangeselectorXanchorLeft LayoutXaxisRangeselectorXanchor = "left" + LayoutXaxisRangeselectorXanchorCenter LayoutXaxisRangeselectorXanchor = "center" + LayoutXaxisRangeselectorXanchorRight LayoutXaxisRangeselectorXanchor = "right" +) + +// LayoutXaxisRangeselectorYanchor Sets the range selector's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the range selector. +type LayoutXaxisRangeselectorYanchor string + +const ( + LayoutXaxisRangeselectorYanchorAuto LayoutXaxisRangeselectorYanchor = "auto" + LayoutXaxisRangeselectorYanchorTop LayoutXaxisRangeselectorYanchor = "top" + LayoutXaxisRangeselectorYanchorMiddle LayoutXaxisRangeselectorYanchor = "middle" + LayoutXaxisRangeselectorYanchorBottom LayoutXaxisRangeselectorYanchor = "bottom" +) + +// LayoutXaxisRangesliderYaxisRangemode Determines whether or not the range of this axis in the rangeslider use the same value than in the main plot when zooming in/out. If *auto*, the autorange will be used. If *fixed*, the `range` is used. If *match*, the current range of the corresponding y-axis on the main subplot is used. +type LayoutXaxisRangesliderYaxisRangemode string + +const ( + LayoutXaxisRangesliderYaxisRangemodeAuto LayoutXaxisRangesliderYaxisRangemode = "auto" + LayoutXaxisRangesliderYaxisRangemodeFixed LayoutXaxisRangesliderYaxisRangemode = "fixed" + LayoutXaxisRangesliderYaxisRangemodeMatch LayoutXaxisRangesliderYaxisRangemode = "match" +) + +// LayoutXaxisScaleanchor If set to another axis id (e.g. `x2`, `y`), the range of this axis changes together with the range of the corresponding axis such that the scale of pixels per unit is in a constant ratio. Both axes are still zoomable, but when you zoom one, the other will zoom the same amount, keeping a fixed midpoint. `constrain` and `constraintoward` determine how we enforce the constraint. You can chain these, ie `yaxis: {scaleanchor: *x*}, xaxis2: {scaleanchor: *y*}` but you can only link axes of the same `type`. The linked axis can have the opposite letter (to constrain the aspect ratio) or the same letter (to match scales across subplots). Loops (`yaxis: {scaleanchor: *x*}, xaxis: {scaleanchor: *y*}` or longer) are redundant and the last constraint encountered will be ignored to avoid possible inconsistent constraints via `scaleratio`. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden. Setting `false` allows to remove a default constraint (occasionally, you may need to prevent a default `scaleanchor` constraint from being applied, eg. when having an image trace `yaxis: {scaleanchor: "x"}` is set automatically in order for pixels to be rendered as squares, setting `yaxis: {scaleanchor: false}` allows to remove the constraint). +type LayoutXaxisScaleanchor interface{} + +var ( + LayoutXaxisScaleanchorSlashCapexLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutXaxisScaleanchor = "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + LayoutXaxisScaleanchorSlashCapeyLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutXaxisScaleanchor = "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" + LayoutXaxisScaleanchorFalse LayoutXaxisScaleanchor = false +) + +// LayoutXaxisShowexponent 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. +type LayoutXaxisShowexponent string + +const ( + LayoutXaxisShowexponentAll LayoutXaxisShowexponent = "all" + LayoutXaxisShowexponentFirst LayoutXaxisShowexponent = "first" + LayoutXaxisShowexponentLast LayoutXaxisShowexponent = "last" + LayoutXaxisShowexponentNone LayoutXaxisShowexponent = "none" +) + +// LayoutXaxisShowtickprefix 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. +type LayoutXaxisShowtickprefix string + +const ( + LayoutXaxisShowtickprefixAll LayoutXaxisShowtickprefix = "all" + LayoutXaxisShowtickprefixFirst LayoutXaxisShowtickprefix = "first" + LayoutXaxisShowtickprefixLast LayoutXaxisShowtickprefix = "last" + LayoutXaxisShowtickprefixNone LayoutXaxisShowtickprefix = "none" +) + +// LayoutXaxisShowticksuffix Same as `showtickprefix` but for tick suffixes. +type LayoutXaxisShowticksuffix string + +const ( + LayoutXaxisShowticksuffixAll LayoutXaxisShowticksuffix = "all" + LayoutXaxisShowticksuffixFirst LayoutXaxisShowticksuffix = "first" + LayoutXaxisShowticksuffixLast LayoutXaxisShowticksuffix = "last" + LayoutXaxisShowticksuffixNone LayoutXaxisShowticksuffix = "none" +) + +// LayoutXaxisSide Determines whether a x (y) axis is positioned at the *bottom* (*left*) or *top* (*right*) of the plotting area. +type LayoutXaxisSide string + +const ( + LayoutXaxisSideTop LayoutXaxisSide = "top" + LayoutXaxisSideBottom LayoutXaxisSide = "bottom" + LayoutXaxisSideLeft LayoutXaxisSide = "left" + LayoutXaxisSideRight LayoutXaxisSide = "right" +) + +// LayoutXaxisSpikesnap Determines whether spikelines are stuck to the cursor or to the closest datapoints. +type LayoutXaxisSpikesnap string + +const ( + LayoutXaxisSpikesnapData LayoutXaxisSpikesnap = "data" + LayoutXaxisSpikesnapCursor LayoutXaxisSpikesnap = "cursor" + LayoutXaxisSpikesnapHoveredData LayoutXaxisSpikesnap = "hovered data" +) + +// LayoutXaxisTicklabelmode Determines where tick labels are drawn with respect to their corresponding ticks and grid lines. Only has an effect for axes of `type` *date* When set to *period*, tick labels are drawn in the middle of the period between ticks. +type LayoutXaxisTicklabelmode string + +const ( + LayoutXaxisTicklabelmodeInstant LayoutXaxisTicklabelmode = "instant" + LayoutXaxisTicklabelmodePeriod LayoutXaxisTicklabelmode = "period" +) + +// LayoutXaxisTicklabeloverflow 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*. Otherwise on *category* and *multicategory* axes the default is *allow*. In other cases the default is *hide past div*. +type LayoutXaxisTicklabeloverflow string + +const ( + LayoutXaxisTicklabeloverflowAllow LayoutXaxisTicklabeloverflow = "allow" + LayoutXaxisTicklabeloverflowHidePastDiv LayoutXaxisTicklabeloverflow = "hide past div" + LayoutXaxisTicklabeloverflowHidePastDomain LayoutXaxisTicklabeloverflow = "hide past domain" +) + +// LayoutXaxisTicklabelposition Determines where tick labels are drawn with respect to the axis Please note that top or bottom has no effect on x axes or when `ticklabelmode` is set to *period*. Similarly left or right has no effect on y axes or when `ticklabelmode` is set to *period*. Has no effect on *multicategory* axes or when `tickson` is set to *boundaries*. When used on axes linked by `matches` or `scaleanchor`, no extra padding for inside labels would be added by autorange, so that the scales could match. +type LayoutXaxisTicklabelposition string + +const ( + LayoutXaxisTicklabelpositionOutside LayoutXaxisTicklabelposition = "outside" + LayoutXaxisTicklabelpositionInside LayoutXaxisTicklabelposition = "inside" + LayoutXaxisTicklabelpositionOutsideTop LayoutXaxisTicklabelposition = "outside top" + LayoutXaxisTicklabelpositionInsideTop LayoutXaxisTicklabelposition = "inside top" + LayoutXaxisTicklabelpositionOutsideLeft LayoutXaxisTicklabelposition = "outside left" + LayoutXaxisTicklabelpositionInsideLeft LayoutXaxisTicklabelposition = "inside left" + LayoutXaxisTicklabelpositionOutsideRight LayoutXaxisTicklabelposition = "outside right" + LayoutXaxisTicklabelpositionInsideRight LayoutXaxisTicklabelposition = "inside right" + LayoutXaxisTicklabelpositionOutsideBottom LayoutXaxisTicklabelposition = "outside bottom" + LayoutXaxisTicklabelpositionInsideBottom LayoutXaxisTicklabelposition = "inside bottom" +) + +// LayoutXaxisTickmode 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). If *sync*, the number of ticks will sync with the overlayed axis set by `overlaying` property. +type LayoutXaxisTickmode string + +const ( + LayoutXaxisTickmodeAuto LayoutXaxisTickmode = "auto" + LayoutXaxisTickmodeLinear LayoutXaxisTickmode = "linear" + LayoutXaxisTickmodeArray LayoutXaxisTickmode = "array" + LayoutXaxisTickmodeSync LayoutXaxisTickmode = "sync" +) + +// LayoutXaxisTicks 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. +type LayoutXaxisTicks string + +const ( + LayoutXaxisTicksOutside LayoutXaxisTicks = "outside" + LayoutXaxisTicksInside LayoutXaxisTicks = "inside" + LayoutXaxisTicksEmpty LayoutXaxisTicks = "" +) + +// LayoutXaxisTickson Determines where ticks and grid lines are drawn with respect to their corresponding tick labels. Only has an effect for axes of `type` *category* or *multicategory*. When set to *boundaries*, ticks and grid lines are drawn half a category to the left/bottom of labels. +type LayoutXaxisTickson string + +const ( + LayoutXaxisTicksonLabels LayoutXaxisTickson = "labels" + LayoutXaxisTicksonBoundaries LayoutXaxisTickson = "boundaries" +) + +// LayoutXaxisType 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. +type LayoutXaxisType string + +const ( + LayoutXaxisTypeHyphenHyphen LayoutXaxisType = "-" + LayoutXaxisTypeLinear LayoutXaxisType = "linear" + LayoutXaxisTypeLog LayoutXaxisType = "log" + LayoutXaxisTypeDate LayoutXaxisType = "date" + LayoutXaxisTypeCategory LayoutXaxisType = "category" + LayoutXaxisTypeMulticategory LayoutXaxisType = "multicategory" +) + +// LayoutYaxisAnchor If set to an opposite-letter axis id (e.g. `x2`, `y`), this axis is bound to the corresponding opposite-letter axis. If set to *free*, this axis' position is determined by `position`. +type LayoutYaxisAnchor string + +const ( + LayoutYaxisAnchorFree LayoutYaxisAnchor = "free" + LayoutYaxisAnchorSlashCapexLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutYaxisAnchor = "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + LayoutYaxisAnchorSlashCapeyLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutYaxisAnchor = "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" +) + +// LayoutYaxisAutorange Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction. +type LayoutYaxisAutorange interface{} + +var ( + LayoutYaxisAutorangeTrue LayoutYaxisAutorange = true + LayoutYaxisAutorangeFalse LayoutYaxisAutorange = false + LayoutYaxisAutorangeReversed LayoutYaxisAutorange = "reversed" + LayoutYaxisAutorangeMinReversed LayoutYaxisAutorange = "min reversed" + LayoutYaxisAutorangeMaxReversed LayoutYaxisAutorange = "max reversed" + LayoutYaxisAutorangeMin LayoutYaxisAutorange = "min" + LayoutYaxisAutorangeMax LayoutYaxisAutorange = "max" +) + +// LayoutYaxisAutotypenumbers 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. +type LayoutYaxisAutotypenumbers string + +const ( + LayoutYaxisAutotypenumbersConvertTypes LayoutYaxisAutotypenumbers = "convert types" + LayoutYaxisAutotypenumbersStrict LayoutYaxisAutotypenumbers = "strict" +) + +// LayoutYaxisCalendar Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar` +type LayoutYaxisCalendar string + +const ( + LayoutYaxisCalendarChinese LayoutYaxisCalendar = "chinese" + LayoutYaxisCalendarCoptic LayoutYaxisCalendar = "coptic" + LayoutYaxisCalendarDiscworld LayoutYaxisCalendar = "discworld" + LayoutYaxisCalendarEthiopian LayoutYaxisCalendar = "ethiopian" + LayoutYaxisCalendarGregorian LayoutYaxisCalendar = "gregorian" + LayoutYaxisCalendarHebrew LayoutYaxisCalendar = "hebrew" + LayoutYaxisCalendarIslamic LayoutYaxisCalendar = "islamic" + LayoutYaxisCalendarJalali LayoutYaxisCalendar = "jalali" + LayoutYaxisCalendarJulian LayoutYaxisCalendar = "julian" + LayoutYaxisCalendarMayan LayoutYaxisCalendar = "mayan" + LayoutYaxisCalendarNanakshahi LayoutYaxisCalendar = "nanakshahi" + LayoutYaxisCalendarNepali LayoutYaxisCalendar = "nepali" + LayoutYaxisCalendarPersian LayoutYaxisCalendar = "persian" + LayoutYaxisCalendarTaiwan LayoutYaxisCalendar = "taiwan" + LayoutYaxisCalendarThai LayoutYaxisCalendar = "thai" + LayoutYaxisCalendarUmmalqura LayoutYaxisCalendar = "ummalqura" +) + +// LayoutYaxisCategoryorder 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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values. +type LayoutYaxisCategoryorder string + +const ( + LayoutYaxisCategoryorderTrace LayoutYaxisCategoryorder = "trace" + LayoutYaxisCategoryorderCategoryAscending LayoutYaxisCategoryorder = "category ascending" + LayoutYaxisCategoryorderCategoryDescending LayoutYaxisCategoryorder = "category descending" + LayoutYaxisCategoryorderArray LayoutYaxisCategoryorder = "array" + LayoutYaxisCategoryorderTotalAscending LayoutYaxisCategoryorder = "total ascending" + LayoutYaxisCategoryorderTotalDescending LayoutYaxisCategoryorder = "total descending" + LayoutYaxisCategoryorderMinAscending LayoutYaxisCategoryorder = "min ascending" + LayoutYaxisCategoryorderMinDescending LayoutYaxisCategoryorder = "min descending" + LayoutYaxisCategoryorderMaxAscending LayoutYaxisCategoryorder = "max ascending" + LayoutYaxisCategoryorderMaxDescending LayoutYaxisCategoryorder = "max descending" + LayoutYaxisCategoryorderSumAscending LayoutYaxisCategoryorder = "sum ascending" + LayoutYaxisCategoryorderSumDescending LayoutYaxisCategoryorder = "sum descending" + LayoutYaxisCategoryorderMeanAscending LayoutYaxisCategoryorder = "mean ascending" + LayoutYaxisCategoryorderMeanDescending LayoutYaxisCategoryorder = "mean descending" + LayoutYaxisCategoryorderMedianAscending LayoutYaxisCategoryorder = "median ascending" + LayoutYaxisCategoryorderMedianDescending LayoutYaxisCategoryorder = "median descending" +) + +// LayoutYaxisConstrain If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines how that happens: by increasing the *range*, or by decreasing the *domain*. Default is *domain* for axes containing image traces, *range* otherwise. +type LayoutYaxisConstrain string + +const ( + LayoutYaxisConstrainRange LayoutYaxisConstrain = "range" + LayoutYaxisConstrainDomain LayoutYaxisConstrain = "domain" +) + +// LayoutYaxisConstraintoward If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines which direction we push the originally specified plot area. Options are *left*, *center* (default), and *right* for x axes, and *top*, *middle* (default), and *bottom* for y axes. +type LayoutYaxisConstraintoward string + +const ( + LayoutYaxisConstraintowardLeft LayoutYaxisConstraintoward = "left" + LayoutYaxisConstraintowardCenter LayoutYaxisConstraintoward = "center" + LayoutYaxisConstraintowardRight LayoutYaxisConstraintoward = "right" + LayoutYaxisConstraintowardTop LayoutYaxisConstraintoward = "top" + LayoutYaxisConstraintowardMiddle LayoutYaxisConstraintoward = "middle" + LayoutYaxisConstraintowardBottom LayoutYaxisConstraintoward = "bottom" +) + +// LayoutYaxisExponentformat 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. +type LayoutYaxisExponentformat string + +const ( + LayoutYaxisExponentformatNone LayoutYaxisExponentformat = "none" + LayoutYaxisExponentformatE1 LayoutYaxisExponentformat = "e" + LayoutYaxisExponentformatE2 LayoutYaxisExponentformat = "E" + LayoutYaxisExponentformatPower LayoutYaxisExponentformat = "power" + LayoutYaxisExponentformatSI LayoutYaxisExponentformat = "SI" + LayoutYaxisExponentformatB LayoutYaxisExponentformat = "B" +) + +// LayoutYaxisLayer Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. +type LayoutYaxisLayer string + +const ( + LayoutYaxisLayerAboveTraces LayoutYaxisLayer = "above traces" + LayoutYaxisLayerBelowTraces LayoutYaxisLayer = "below traces" +) + +// LayoutYaxisMatches If set to another axis id (e.g. `x2`, `y`), the range of this axis will match the range of the corresponding axis in data-coordinates space. Moreover, matching axes share auto-range values, category lists and histogram auto-bins. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden. Moreover, note that matching axes must have the same `type`. +type LayoutYaxisMatches string + +const ( + LayoutYaxisMatchesSlashCapexLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutYaxisMatches = "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + LayoutYaxisMatchesSlashCapeyLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutYaxisMatches = "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" +) + +// LayoutYaxisMinorTickmode 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). +type LayoutYaxisMinorTickmode string + +const ( + LayoutYaxisMinorTickmodeAuto LayoutYaxisMinorTickmode = "auto" + LayoutYaxisMinorTickmodeLinear LayoutYaxisMinorTickmode = "linear" + LayoutYaxisMinorTickmodeArray LayoutYaxisMinorTickmode = "array" +) + +// LayoutYaxisMinorTicks 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. +type LayoutYaxisMinorTicks string + +const ( + LayoutYaxisMinorTicksOutside LayoutYaxisMinorTicks = "outside" + LayoutYaxisMinorTicksInside LayoutYaxisMinorTicks = "inside" + LayoutYaxisMinorTicksEmpty LayoutYaxisMinorTicks = "" +) + +// LayoutYaxisMirror 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. +type LayoutYaxisMirror interface{} + +var ( + LayoutYaxisMirrorTrue LayoutYaxisMirror = true + LayoutYaxisMirrorTicks LayoutYaxisMirror = "ticks" + LayoutYaxisMirrorFalse LayoutYaxisMirror = false + LayoutYaxisMirrorAll LayoutYaxisMirror = "all" + LayoutYaxisMirrorAllticks LayoutYaxisMirror = "allticks" +) + +// LayoutYaxisOverlaying If set a same-letter axis id, this axis is overlaid on top of the corresponding same-letter axis, with traces and axes visible for both axes. If *false*, this axis does not overlay any same-letter axes. In this case, for axes with overlapping domains only the highest-numbered axis will be visible. +type LayoutYaxisOverlaying string + +const ( + LayoutYaxisOverlayingFree LayoutYaxisOverlaying = "free" + LayoutYaxisOverlayingSlashCapexLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutYaxisOverlaying = "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + LayoutYaxisOverlayingSlashCapeyLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutYaxisOverlaying = "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" +) + +// LayoutYaxisRangemode 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. +type LayoutYaxisRangemode string + +const ( + LayoutYaxisRangemodeNormal LayoutYaxisRangemode = "normal" + LayoutYaxisRangemodeTozero LayoutYaxisRangemode = "tozero" + LayoutYaxisRangemodeNonnegative LayoutYaxisRangemode = "nonnegative" +) + +// LayoutYaxisScaleanchor If set to another axis id (e.g. `x2`, `y`), the range of this axis changes together with the range of the corresponding axis such that the scale of pixels per unit is in a constant ratio. Both axes are still zoomable, but when you zoom one, the other will zoom the same amount, keeping a fixed midpoint. `constrain` and `constraintoward` determine how we enforce the constraint. You can chain these, ie `yaxis: {scaleanchor: *x*}, xaxis2: {scaleanchor: *y*}` but you can only link axes of the same `type`. The linked axis can have the opposite letter (to constrain the aspect ratio) or the same letter (to match scales across subplots). Loops (`yaxis: {scaleanchor: *x*}, xaxis: {scaleanchor: *y*}` or longer) are redundant and the last constraint encountered will be ignored to avoid possible inconsistent constraints via `scaleratio`. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden. Setting `false` allows to remove a default constraint (occasionally, you may need to prevent a default `scaleanchor` constraint from being applied, eg. when having an image trace `yaxis: {scaleanchor: "x"}` is set automatically in order for pixels to be rendered as squares, setting `yaxis: {scaleanchor: false}` allows to remove the constraint). +type LayoutYaxisScaleanchor interface{} + +var ( + LayoutYaxisScaleanchorSlashCapexLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutYaxisScaleanchor = "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + LayoutYaxisScaleanchorSlashCapeyLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutYaxisScaleanchor = "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" + LayoutYaxisScaleanchorFalse LayoutYaxisScaleanchor = false +) + +// LayoutYaxisShowexponent 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. +type LayoutYaxisShowexponent string + +const ( + LayoutYaxisShowexponentAll LayoutYaxisShowexponent = "all" + LayoutYaxisShowexponentFirst LayoutYaxisShowexponent = "first" + LayoutYaxisShowexponentLast LayoutYaxisShowexponent = "last" + LayoutYaxisShowexponentNone LayoutYaxisShowexponent = "none" +) + +// LayoutYaxisShowtickprefix 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. +type LayoutYaxisShowtickprefix string + +const ( + LayoutYaxisShowtickprefixAll LayoutYaxisShowtickprefix = "all" + LayoutYaxisShowtickprefixFirst LayoutYaxisShowtickprefix = "first" + LayoutYaxisShowtickprefixLast LayoutYaxisShowtickprefix = "last" + LayoutYaxisShowtickprefixNone LayoutYaxisShowtickprefix = "none" +) + +// LayoutYaxisShowticksuffix Same as `showtickprefix` but for tick suffixes. +type LayoutYaxisShowticksuffix string + +const ( + LayoutYaxisShowticksuffixAll LayoutYaxisShowticksuffix = "all" + LayoutYaxisShowticksuffixFirst LayoutYaxisShowticksuffix = "first" + LayoutYaxisShowticksuffixLast LayoutYaxisShowticksuffix = "last" + LayoutYaxisShowticksuffixNone LayoutYaxisShowticksuffix = "none" +) + +// LayoutYaxisSide Determines whether a x (y) axis is positioned at the *bottom* (*left*) or *top* (*right*) of the plotting area. +type LayoutYaxisSide string + +const ( + LayoutYaxisSideTop LayoutYaxisSide = "top" + LayoutYaxisSideBottom LayoutYaxisSide = "bottom" + LayoutYaxisSideLeft LayoutYaxisSide = "left" + LayoutYaxisSideRight LayoutYaxisSide = "right" +) + +// LayoutYaxisSpikesnap Determines whether spikelines are stuck to the cursor or to the closest datapoints. +type LayoutYaxisSpikesnap string + +const ( + LayoutYaxisSpikesnapData LayoutYaxisSpikesnap = "data" + LayoutYaxisSpikesnapCursor LayoutYaxisSpikesnap = "cursor" + LayoutYaxisSpikesnapHoveredData LayoutYaxisSpikesnap = "hovered data" +) + +// LayoutYaxisTicklabelmode Determines where tick labels are drawn with respect to their corresponding ticks and grid lines. Only has an effect for axes of `type` *date* When set to *period*, tick labels are drawn in the middle of the period between ticks. +type LayoutYaxisTicklabelmode string + +const ( + LayoutYaxisTicklabelmodeInstant LayoutYaxisTicklabelmode = "instant" + LayoutYaxisTicklabelmodePeriod LayoutYaxisTicklabelmode = "period" +) + +// LayoutYaxisTicklabeloverflow 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*. Otherwise on *category* and *multicategory* axes the default is *allow*. In other cases the default is *hide past div*. +type LayoutYaxisTicklabeloverflow string + +const ( + LayoutYaxisTicklabeloverflowAllow LayoutYaxisTicklabeloverflow = "allow" + LayoutYaxisTicklabeloverflowHidePastDiv LayoutYaxisTicklabeloverflow = "hide past div" + LayoutYaxisTicklabeloverflowHidePastDomain LayoutYaxisTicklabeloverflow = "hide past domain" +) + +// LayoutYaxisTicklabelposition Determines where tick labels are drawn with respect to the axis Please note that top or bottom has no effect on x axes or when `ticklabelmode` is set to *period*. Similarly left or right has no effect on y axes or when `ticklabelmode` is set to *period*. Has no effect on *multicategory* axes or when `tickson` is set to *boundaries*. When used on axes linked by `matches` or `scaleanchor`, no extra padding for inside labels would be added by autorange, so that the scales could match. +type LayoutYaxisTicklabelposition string + +const ( + LayoutYaxisTicklabelpositionOutside LayoutYaxisTicklabelposition = "outside" + LayoutYaxisTicklabelpositionInside LayoutYaxisTicklabelposition = "inside" + LayoutYaxisTicklabelpositionOutsideTop LayoutYaxisTicklabelposition = "outside top" + LayoutYaxisTicklabelpositionInsideTop LayoutYaxisTicklabelposition = "inside top" + LayoutYaxisTicklabelpositionOutsideLeft LayoutYaxisTicklabelposition = "outside left" + LayoutYaxisTicklabelpositionInsideLeft LayoutYaxisTicklabelposition = "inside left" + LayoutYaxisTicklabelpositionOutsideRight LayoutYaxisTicklabelposition = "outside right" + LayoutYaxisTicklabelpositionInsideRight LayoutYaxisTicklabelposition = "inside right" + LayoutYaxisTicklabelpositionOutsideBottom LayoutYaxisTicklabelposition = "outside bottom" + LayoutYaxisTicklabelpositionInsideBottom LayoutYaxisTicklabelposition = "inside bottom" +) + +// LayoutYaxisTickmode 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). If *sync*, the number of ticks will sync with the overlayed axis set by `overlaying` property. +type LayoutYaxisTickmode string + +const ( + LayoutYaxisTickmodeAuto LayoutYaxisTickmode = "auto" + LayoutYaxisTickmodeLinear LayoutYaxisTickmode = "linear" + LayoutYaxisTickmodeArray LayoutYaxisTickmode = "array" + LayoutYaxisTickmodeSync LayoutYaxisTickmode = "sync" +) + +// LayoutYaxisTicks 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. +type LayoutYaxisTicks string + +const ( + LayoutYaxisTicksOutside LayoutYaxisTicks = "outside" + LayoutYaxisTicksInside LayoutYaxisTicks = "inside" + LayoutYaxisTicksEmpty LayoutYaxisTicks = "" +) + +// LayoutYaxisTickson Determines where ticks and grid lines are drawn with respect to their corresponding tick labels. Only has an effect for axes of `type` *category* or *multicategory*. When set to *boundaries*, ticks and grid lines are drawn half a category to the left/bottom of labels. +type LayoutYaxisTickson string + +const ( + LayoutYaxisTicksonLabels LayoutYaxisTickson = "labels" + LayoutYaxisTicksonBoundaries LayoutYaxisTickson = "boundaries" +) + +// LayoutYaxisType 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. +type LayoutYaxisType string + +const ( + LayoutYaxisTypeHyphenHyphen LayoutYaxisType = "-" + LayoutYaxisTypeLinear LayoutYaxisType = "linear" + LayoutYaxisTypeLog LayoutYaxisType = "log" + LayoutYaxisTypeDate LayoutYaxisType = "date" + LayoutYaxisTypeCategory LayoutYaxisType = "category" + LayoutYaxisTypeMulticategory LayoutYaxisType = "multicategory" +) + +// LayoutClickmode 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. +type LayoutClickmode string + +const ( + // Flags + LayoutClickmodeEvent LayoutClickmode = "event" + LayoutClickmodeSelect LayoutClickmode = "select" + + // Extra + LayoutClickmodeNone LayoutClickmode = "none" +) + +// LayoutLegendTraceorder 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*. +type LayoutLegendTraceorder string + +const ( + // Flags + LayoutLegendTraceorderReversed LayoutLegendTraceorder = "reversed" + LayoutLegendTraceorderGrouped LayoutLegendTraceorder = "grouped" + + // Extra + LayoutLegendTraceorderNormal LayoutLegendTraceorder = "normal" +) + +// LayoutXaxisAutomargin Determines whether long tick labels automatically grow the figure margins. +type LayoutXaxisAutomargin interface{} + +var ( + // Flags + LayoutXaxisAutomarginHeight LayoutXaxisAutomargin = "height" + LayoutXaxisAutomarginWidth LayoutXaxisAutomargin = "width" + LayoutXaxisAutomarginLeft LayoutXaxisAutomargin = "left" + LayoutXaxisAutomarginRight LayoutXaxisAutomargin = "right" + LayoutXaxisAutomarginTop LayoutXaxisAutomargin = "top" + LayoutXaxisAutomarginBottom LayoutXaxisAutomargin = "bottom" + + // Extra + LayoutXaxisAutomarginTrue LayoutXaxisAutomargin = true + LayoutXaxisAutomarginFalse LayoutXaxisAutomargin = false +) + +// LayoutXaxisSpikemode Determines the drawing mode for the spike line If *toaxis*, the line is drawn from the data point to the axis the series is plotted on. If *across*, the line is drawn across the entire plot area, and supercedes *toaxis*. If *marker*, then a marker dot is drawn on the axis the series is plotted on +type LayoutXaxisSpikemode string + +const ( + // Flags + LayoutXaxisSpikemodeToaxis LayoutXaxisSpikemode = "toaxis" + LayoutXaxisSpikemodeAcross LayoutXaxisSpikemode = "across" + LayoutXaxisSpikemodeMarker LayoutXaxisSpikemode = "marker" + + // Extra + +) + +// LayoutYaxisAutomargin Determines whether long tick labels automatically grow the figure margins. +type LayoutYaxisAutomargin interface{} + +var ( + // Flags + LayoutYaxisAutomarginHeight LayoutYaxisAutomargin = "height" + LayoutYaxisAutomarginWidth LayoutYaxisAutomargin = "width" + LayoutYaxisAutomarginLeft LayoutYaxisAutomargin = "left" + LayoutYaxisAutomarginRight LayoutYaxisAutomargin = "right" + LayoutYaxisAutomarginTop LayoutYaxisAutomargin = "top" + LayoutYaxisAutomarginBottom LayoutYaxisAutomargin = "bottom" + + // Extra + LayoutYaxisAutomarginTrue LayoutYaxisAutomargin = true + LayoutYaxisAutomarginFalse LayoutYaxisAutomargin = false +) + +// LayoutYaxisSpikemode Determines the drawing mode for the spike line If *toaxis*, the line is drawn from the data point to the axis the series is plotted on. If *across*, the line is drawn across the entire plot area, and supercedes *toaxis*. If *marker*, then a marker dot is drawn on the axis the series is plotted on +type LayoutYaxisSpikemode string + +const ( + // Flags + LayoutYaxisSpikemodeToaxis LayoutYaxisSpikemode = "toaxis" + LayoutYaxisSpikemodeAcross LayoutYaxisSpikemode = "across" + LayoutYaxisSpikemodeMarker LayoutYaxisSpikemode = "marker" + + // Extra + +) diff --git a/generated/v2.29.1/graph_objects/mesh3d_gen.go b/generated/v2.29.1/graph_objects/mesh3d_gen.go new file mode 100644 index 0000000..e3f4dce --- /dev/null +++ b/generated/v2.29.1/graph_objects/mesh3d_gen.go @@ -0,0 +1,1283 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeMesh3d TraceType = "mesh3d" + +func (trace *Mesh3d) GetType() TraceType { + return TraceTypeMesh3d +} + +// Mesh3d 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 +type Mesh3d struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Alphahull + // arrayOK: false + // type: number + // 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. + Alphahull float64 `json:"alphahull,omitempty"` + + // Autocolorscale + // arrayOK: false + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the color of the whole mesh + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *Mesh3dColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Contour + // role: Object + Contour *Mesh3dContour `json:"contour,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Delaunayaxis + // default: z + // type: enumerated + // 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. + Delaunayaxis Mesh3dDelaunayaxis `json:"delaunayaxis,omitempty"` + + // Facecolor + // arrayOK: false + // type: data_array + // Sets the color of each face Overrides *color* and *vertexcolor*. + Facecolor interface{} `json:"facecolor,omitempty"` + + // Facecolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `facecolor`. + Facecolorsrc String `json:"facecolorsrc,omitempty"` + + // Flatshading + // arrayOK: false + // type: boolean + // Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low-poly look via flat reflections. + Flatshading Bool `json:"flatshading,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo Mesh3dHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *Mesh3dHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // Same as `text`. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // I + // arrayOK: false + // 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. + I interface{} `json:"i,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Intensity + // arrayOK: false + // type: data_array + // Sets the intensity values for vertices or cells as defined by `intensitymode`. It can be used for plotting fields on meshes. + Intensity interface{} `json:"intensity,omitempty"` + + // Intensitymode + // default: vertex + // type: enumerated + // Determines the source of `intensity` values. + Intensitymode Mesh3dIntensitymode `json:"intensitymode,omitempty"` + + // Intensitysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `intensity`. + Intensitysrc String `json:"intensitysrc,omitempty"` + + // Isrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `i`. + Isrc String `json:"isrc,omitempty"` + + // J + // arrayOK: false + // 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. + J interface{} `json:"j,omitempty"` + + // Jsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `j`. + Jsrc String `json:"jsrc,omitempty"` + + // K + // arrayOK: false + // 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. + K interface{} `json:"k,omitempty"` + + // Ksrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `k`. + Ksrc String `json:"ksrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *Mesh3dLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Lighting + // role: Object + Lighting *Mesh3dLighting `json:"lighting,omitempty"` + + // Lightposition + // role: Object + Lightposition *Mesh3dLightposition `json:"lightposition,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // 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. + Opacity float64 `json:"opacity,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Scene + // arrayOK: false + // type: subplotid + // 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. + Scene String `json:"scene,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Showscale + // arrayOK: false + // type: boolean + // Determines whether or not a colorbar is displayed for this trace. + Showscale Bool `json:"showscale,omitempty"` + + // Stream + // role: Object + Stream *Mesh3dStream `json:"stream,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Vertexcolor + // arrayOK: false + // 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. + Vertexcolor interface{} `json:"vertexcolor,omitempty"` + + // Vertexcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `vertexcolor`. + Vertexcolorsrc String `json:"vertexcolorsrc,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible Mesh3dVisible `json:"visible,omitempty"` + + // X + // arrayOK: false + // 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. + X interface{} `json:"x,omitempty"` + + // Xcalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `x` date data. + Xcalendar Mesh3dXcalendar `json:"xcalendar,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // 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. + Y interface{} `json:"y,omitempty"` + + // Ycalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `y` date data. + Ycalendar Mesh3dYcalendar `json:"ycalendar,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` + + // Z + // arrayOK: false + // 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. + Z interface{} `json:"z,omitempty"` + + // Zcalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `z` date data. + Zcalendar Mesh3dZcalendar `json:"zcalendar,omitempty"` + + // Zhoverformat + // arrayOK: false + // 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`. + Zhoverformat String `json:"zhoverformat,omitempty"` + + // Zsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `z`. + Zsrc String `json:"zsrc,omitempty"` +} + +// Mesh3dColorbarTickfont Sets the color bar's tick label font +type Mesh3dColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// Mesh3dColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type Mesh3dColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// Mesh3dColorbarTitle +type Mesh3dColorbarTitle struct { + + // Font + // role: Object + Font *Mesh3dColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side Mesh3dColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// Mesh3dColorbar +type Mesh3dColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat Mesh3dColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode Mesh3dColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation Mesh3dColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent Mesh3dColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix Mesh3dColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix Mesh3dColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode Mesh3dColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *Mesh3dColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow Mesh3dColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition Mesh3dColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode Mesh3dColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks Mesh3dColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *Mesh3dColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor Mesh3dColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref Mesh3dColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor Mesh3dColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref Mesh3dColorbarYref `json:"yref,omitempty"` +} + +// Mesh3dContour +type Mesh3dContour struct { + + // Color + // arrayOK: false + // type: color + // Sets the color of the contour lines. + Color Color `json:"color,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // Sets whether or not dynamic contours are shown on hover + Show Bool `json:"show,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width of the contour lines. + Width float64 `json:"width,omitempty"` +} + +// Mesh3dHoverlabelFont Sets the font used in hover labels. +type Mesh3dHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// Mesh3dHoverlabel +type Mesh3dHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align Mesh3dHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *Mesh3dHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// Mesh3dLegendgrouptitleFont Sets this legend group's title font. +type Mesh3dLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// Mesh3dLegendgrouptitle +type Mesh3dLegendgrouptitle struct { + + // Font + // role: Object + Font *Mesh3dLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// Mesh3dLighting +type Mesh3dLighting struct { + + // Ambient + // arrayOK: false + // type: number + // Ambient light increases overall color visibility but can wash out the image. + Ambient float64 `json:"ambient,omitempty"` + + // Diffuse + // arrayOK: false + // type: number + // Represents the extent that incident rays are reflected in a range of angles. + Diffuse float64 `json:"diffuse,omitempty"` + + // Facenormalsepsilon + // arrayOK: false + // type: number + // Epsilon for face normals calculation avoids math issues arising from degenerate geometry. + Facenormalsepsilon float64 `json:"facenormalsepsilon,omitempty"` + + // Fresnel + // arrayOK: false + // type: number + // 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. + Fresnel float64 `json:"fresnel,omitempty"` + + // Roughness + // arrayOK: false + // type: number + // Alters specular reflection; the rougher the surface, the wider and less contrasty the shine. + Roughness float64 `json:"roughness,omitempty"` + + // Specular + // arrayOK: false + // type: number + // Represents the level that incident rays are reflected in a single direction, causing shine. + Specular float64 `json:"specular,omitempty"` + + // Vertexnormalsepsilon + // arrayOK: false + // type: number + // Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry. + Vertexnormalsepsilon float64 `json:"vertexnormalsepsilon,omitempty"` +} + +// Mesh3dLightposition +type Mesh3dLightposition struct { + + // X + // arrayOK: false + // type: number + // Numeric vector, representing the X coordinate for each vertex. + X float64 `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: number + // Numeric vector, representing the Y coordinate for each vertex. + Y float64 `json:"y,omitempty"` + + // Z + // arrayOK: false + // type: number + // Numeric vector, representing the Z coordinate for each vertex. + Z float64 `json:"z,omitempty"` +} + +// Mesh3dStream +type Mesh3dStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// Mesh3dColorbarExponentformat 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. +type Mesh3dColorbarExponentformat string + +const ( + Mesh3dColorbarExponentformatNone Mesh3dColorbarExponentformat = "none" + Mesh3dColorbarExponentformatE1 Mesh3dColorbarExponentformat = "e" + Mesh3dColorbarExponentformatE2 Mesh3dColorbarExponentformat = "E" + Mesh3dColorbarExponentformatPower Mesh3dColorbarExponentformat = "power" + Mesh3dColorbarExponentformatSI Mesh3dColorbarExponentformat = "SI" + Mesh3dColorbarExponentformatB Mesh3dColorbarExponentformat = "B" +) + +// Mesh3dColorbarLenmode 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. +type Mesh3dColorbarLenmode string + +const ( + Mesh3dColorbarLenmodeFraction Mesh3dColorbarLenmode = "fraction" + Mesh3dColorbarLenmodePixels Mesh3dColorbarLenmode = "pixels" +) + +// Mesh3dColorbarOrientation Sets the orientation of the colorbar. +type Mesh3dColorbarOrientation string + +const ( + Mesh3dColorbarOrientationH Mesh3dColorbarOrientation = "h" + Mesh3dColorbarOrientationV Mesh3dColorbarOrientation = "v" +) + +// Mesh3dColorbarShowexponent 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. +type Mesh3dColorbarShowexponent string + +const ( + Mesh3dColorbarShowexponentAll Mesh3dColorbarShowexponent = "all" + Mesh3dColorbarShowexponentFirst Mesh3dColorbarShowexponent = "first" + Mesh3dColorbarShowexponentLast Mesh3dColorbarShowexponent = "last" + Mesh3dColorbarShowexponentNone Mesh3dColorbarShowexponent = "none" +) + +// Mesh3dColorbarShowtickprefix 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. +type Mesh3dColorbarShowtickprefix string + +const ( + Mesh3dColorbarShowtickprefixAll Mesh3dColorbarShowtickprefix = "all" + Mesh3dColorbarShowtickprefixFirst Mesh3dColorbarShowtickprefix = "first" + Mesh3dColorbarShowtickprefixLast Mesh3dColorbarShowtickprefix = "last" + Mesh3dColorbarShowtickprefixNone Mesh3dColorbarShowtickprefix = "none" +) + +// Mesh3dColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type Mesh3dColorbarShowticksuffix string + +const ( + Mesh3dColorbarShowticksuffixAll Mesh3dColorbarShowticksuffix = "all" + Mesh3dColorbarShowticksuffixFirst Mesh3dColorbarShowticksuffix = "first" + Mesh3dColorbarShowticksuffixLast Mesh3dColorbarShowticksuffix = "last" + Mesh3dColorbarShowticksuffixNone Mesh3dColorbarShowticksuffix = "none" +) + +// Mesh3dColorbarThicknessmode 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. +type Mesh3dColorbarThicknessmode string + +const ( + Mesh3dColorbarThicknessmodeFraction Mesh3dColorbarThicknessmode = "fraction" + Mesh3dColorbarThicknessmodePixels Mesh3dColorbarThicknessmode = "pixels" +) + +// Mesh3dColorbarTicklabeloverflow 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*. +type Mesh3dColorbarTicklabeloverflow string + +const ( + Mesh3dColorbarTicklabeloverflowAllow Mesh3dColorbarTicklabeloverflow = "allow" + Mesh3dColorbarTicklabeloverflowHidePastDiv Mesh3dColorbarTicklabeloverflow = "hide past div" + Mesh3dColorbarTicklabeloverflowHidePastDomain Mesh3dColorbarTicklabeloverflow = "hide past domain" +) + +// Mesh3dColorbarTicklabelposition 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*. +type Mesh3dColorbarTicklabelposition string + +const ( + Mesh3dColorbarTicklabelpositionOutside Mesh3dColorbarTicklabelposition = "outside" + Mesh3dColorbarTicklabelpositionInside Mesh3dColorbarTicklabelposition = "inside" + Mesh3dColorbarTicklabelpositionOutsideTop Mesh3dColorbarTicklabelposition = "outside top" + Mesh3dColorbarTicklabelpositionInsideTop Mesh3dColorbarTicklabelposition = "inside top" + Mesh3dColorbarTicklabelpositionOutsideLeft Mesh3dColorbarTicklabelposition = "outside left" + Mesh3dColorbarTicklabelpositionInsideLeft Mesh3dColorbarTicklabelposition = "inside left" + Mesh3dColorbarTicklabelpositionOutsideRight Mesh3dColorbarTicklabelposition = "outside right" + Mesh3dColorbarTicklabelpositionInsideRight Mesh3dColorbarTicklabelposition = "inside right" + Mesh3dColorbarTicklabelpositionOutsideBottom Mesh3dColorbarTicklabelposition = "outside bottom" + Mesh3dColorbarTicklabelpositionInsideBottom Mesh3dColorbarTicklabelposition = "inside bottom" +) + +// Mesh3dColorbarTickmode 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). +type Mesh3dColorbarTickmode string + +const ( + Mesh3dColorbarTickmodeAuto Mesh3dColorbarTickmode = "auto" + Mesh3dColorbarTickmodeLinear Mesh3dColorbarTickmode = "linear" + Mesh3dColorbarTickmodeArray Mesh3dColorbarTickmode = "array" +) + +// Mesh3dColorbarTicks 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. +type Mesh3dColorbarTicks string + +const ( + Mesh3dColorbarTicksOutside Mesh3dColorbarTicks = "outside" + Mesh3dColorbarTicksInside Mesh3dColorbarTicks = "inside" + Mesh3dColorbarTicksEmpty Mesh3dColorbarTicks = "" +) + +// Mesh3dColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type Mesh3dColorbarTitleSide string + +const ( + Mesh3dColorbarTitleSideRight Mesh3dColorbarTitleSide = "right" + Mesh3dColorbarTitleSideTop Mesh3dColorbarTitleSide = "top" + Mesh3dColorbarTitleSideBottom Mesh3dColorbarTitleSide = "bottom" +) + +// Mesh3dColorbarXanchor 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*. +type Mesh3dColorbarXanchor string + +const ( + Mesh3dColorbarXanchorLeft Mesh3dColorbarXanchor = "left" + Mesh3dColorbarXanchorCenter Mesh3dColorbarXanchor = "center" + Mesh3dColorbarXanchorRight Mesh3dColorbarXanchor = "right" +) + +// Mesh3dColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type Mesh3dColorbarXref string + +const ( + Mesh3dColorbarXrefContainer Mesh3dColorbarXref = "container" + Mesh3dColorbarXrefPaper Mesh3dColorbarXref = "paper" +) + +// Mesh3dColorbarYanchor 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*. +type Mesh3dColorbarYanchor string + +const ( + Mesh3dColorbarYanchorTop Mesh3dColorbarYanchor = "top" + Mesh3dColorbarYanchorMiddle Mesh3dColorbarYanchor = "middle" + Mesh3dColorbarYanchorBottom Mesh3dColorbarYanchor = "bottom" +) + +// Mesh3dColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type Mesh3dColorbarYref string + +const ( + Mesh3dColorbarYrefContainer Mesh3dColorbarYref = "container" + Mesh3dColorbarYrefPaper Mesh3dColorbarYref = "paper" +) + +// Mesh3dDelaunayaxis 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. +type Mesh3dDelaunayaxis string + +const ( + Mesh3dDelaunayaxisX Mesh3dDelaunayaxis = "x" + Mesh3dDelaunayaxisY Mesh3dDelaunayaxis = "y" + Mesh3dDelaunayaxisZ Mesh3dDelaunayaxis = "z" +) + +// Mesh3dHoverlabelAlign 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 +type Mesh3dHoverlabelAlign string + +const ( + Mesh3dHoverlabelAlignLeft Mesh3dHoverlabelAlign = "left" + Mesh3dHoverlabelAlignRight Mesh3dHoverlabelAlign = "right" + Mesh3dHoverlabelAlignAuto Mesh3dHoverlabelAlign = "auto" +) + +// Mesh3dIntensitymode Determines the source of `intensity` values. +type Mesh3dIntensitymode string + +const ( + Mesh3dIntensitymodeVertex Mesh3dIntensitymode = "vertex" + Mesh3dIntensitymodeCell Mesh3dIntensitymode = "cell" +) + +// Mesh3dVisible 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). +type Mesh3dVisible interface{} + +var ( + Mesh3dVisibleTrue Mesh3dVisible = true + Mesh3dVisibleFalse Mesh3dVisible = false + Mesh3dVisibleLegendonly Mesh3dVisible = "legendonly" +) + +// Mesh3dXcalendar Sets the calendar system to use with `x` date data. +type Mesh3dXcalendar string + +const ( + Mesh3dXcalendarChinese Mesh3dXcalendar = "chinese" + Mesh3dXcalendarCoptic Mesh3dXcalendar = "coptic" + Mesh3dXcalendarDiscworld Mesh3dXcalendar = "discworld" + Mesh3dXcalendarEthiopian Mesh3dXcalendar = "ethiopian" + Mesh3dXcalendarGregorian Mesh3dXcalendar = "gregorian" + Mesh3dXcalendarHebrew Mesh3dXcalendar = "hebrew" + Mesh3dXcalendarIslamic Mesh3dXcalendar = "islamic" + Mesh3dXcalendarJalali Mesh3dXcalendar = "jalali" + Mesh3dXcalendarJulian Mesh3dXcalendar = "julian" + Mesh3dXcalendarMayan Mesh3dXcalendar = "mayan" + Mesh3dXcalendarNanakshahi Mesh3dXcalendar = "nanakshahi" + Mesh3dXcalendarNepali Mesh3dXcalendar = "nepali" + Mesh3dXcalendarPersian Mesh3dXcalendar = "persian" + Mesh3dXcalendarTaiwan Mesh3dXcalendar = "taiwan" + Mesh3dXcalendarThai Mesh3dXcalendar = "thai" + Mesh3dXcalendarUmmalqura Mesh3dXcalendar = "ummalqura" +) + +// Mesh3dYcalendar Sets the calendar system to use with `y` date data. +type Mesh3dYcalendar string + +const ( + Mesh3dYcalendarChinese Mesh3dYcalendar = "chinese" + Mesh3dYcalendarCoptic Mesh3dYcalendar = "coptic" + Mesh3dYcalendarDiscworld Mesh3dYcalendar = "discworld" + Mesh3dYcalendarEthiopian Mesh3dYcalendar = "ethiopian" + Mesh3dYcalendarGregorian Mesh3dYcalendar = "gregorian" + Mesh3dYcalendarHebrew Mesh3dYcalendar = "hebrew" + Mesh3dYcalendarIslamic Mesh3dYcalendar = "islamic" + Mesh3dYcalendarJalali Mesh3dYcalendar = "jalali" + Mesh3dYcalendarJulian Mesh3dYcalendar = "julian" + Mesh3dYcalendarMayan Mesh3dYcalendar = "mayan" + Mesh3dYcalendarNanakshahi Mesh3dYcalendar = "nanakshahi" + Mesh3dYcalendarNepali Mesh3dYcalendar = "nepali" + Mesh3dYcalendarPersian Mesh3dYcalendar = "persian" + Mesh3dYcalendarTaiwan Mesh3dYcalendar = "taiwan" + Mesh3dYcalendarThai Mesh3dYcalendar = "thai" + Mesh3dYcalendarUmmalqura Mesh3dYcalendar = "ummalqura" +) + +// Mesh3dZcalendar Sets the calendar system to use with `z` date data. +type Mesh3dZcalendar string + +const ( + Mesh3dZcalendarChinese Mesh3dZcalendar = "chinese" + Mesh3dZcalendarCoptic Mesh3dZcalendar = "coptic" + Mesh3dZcalendarDiscworld Mesh3dZcalendar = "discworld" + Mesh3dZcalendarEthiopian Mesh3dZcalendar = "ethiopian" + Mesh3dZcalendarGregorian Mesh3dZcalendar = "gregorian" + Mesh3dZcalendarHebrew Mesh3dZcalendar = "hebrew" + Mesh3dZcalendarIslamic Mesh3dZcalendar = "islamic" + Mesh3dZcalendarJalali Mesh3dZcalendar = "jalali" + Mesh3dZcalendarJulian Mesh3dZcalendar = "julian" + Mesh3dZcalendarMayan Mesh3dZcalendar = "mayan" + Mesh3dZcalendarNanakshahi Mesh3dZcalendar = "nanakshahi" + Mesh3dZcalendarNepali Mesh3dZcalendar = "nepali" + Mesh3dZcalendarPersian Mesh3dZcalendar = "persian" + Mesh3dZcalendarTaiwan Mesh3dZcalendar = "taiwan" + Mesh3dZcalendarThai Mesh3dZcalendar = "thai" + Mesh3dZcalendarUmmalqura Mesh3dZcalendar = "ummalqura" +) + +// Mesh3dHoverinfo 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. +type Mesh3dHoverinfo string + +const ( + // Flags + Mesh3dHoverinfoX Mesh3dHoverinfo = "x" + Mesh3dHoverinfoY Mesh3dHoverinfo = "y" + Mesh3dHoverinfoZ Mesh3dHoverinfo = "z" + Mesh3dHoverinfoText Mesh3dHoverinfo = "text" + Mesh3dHoverinfoName Mesh3dHoverinfo = "name" + + // Extra + Mesh3dHoverinfoAll Mesh3dHoverinfo = "all" + Mesh3dHoverinfoNone Mesh3dHoverinfo = "none" + Mesh3dHoverinfoSkip Mesh3dHoverinfo = "skip" +) diff --git a/generated/v2.29.1/graph_objects/ohlc_gen.go b/generated/v2.29.1/graph_objects/ohlc_gen.go new file mode 100644 index 0000000..fdc811b --- /dev/null +++ b/generated/v2.29.1/graph_objects/ohlc_gen.go @@ -0,0 +1,595 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeOhlc TraceType = "ohlc" + +func (trace *Ohlc) GetType() TraceType { + return TraceTypeOhlc +} + +// Ohlc 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. +type Ohlc struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Close + // arrayOK: false + // type: data_array + // Sets the close values. + Close interface{} `json:"close,omitempty"` + + // Closesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `close`. + Closesrc String `json:"closesrc,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Decreasing + // role: Object + Decreasing *OhlcDecreasing `json:"decreasing,omitempty"` + + // High + // arrayOK: false + // type: data_array + // Sets the high values. + High interface{} `json:"high,omitempty"` + + // Highsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `high`. + Highsrc String `json:"highsrc,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo OhlcHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *OhlcHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // Same as `text`. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Increasing + // role: Object + Increasing *OhlcIncreasing `json:"increasing,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *OhlcLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *OhlcLine `json:"line,omitempty"` + + // Low + // arrayOK: false + // type: data_array + // Sets the low values. + Low interface{} `json:"low,omitempty"` + + // Lowsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `low`. + Lowsrc String `json:"lowsrc,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Open + // arrayOK: false + // type: data_array + // Sets the open values. + Open interface{} `json:"open,omitempty"` + + // Opensrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `open`. + Opensrc String `json:"opensrc,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Stream + // role: Object + Stream *OhlcStream `json:"stream,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the width of the open/close tick marks relative to the *x* minimal interval. + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible OhlcVisible `json:"visible,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the x coordinates. If absent, linear coordinate will be generated. + X interface{} `json:"x,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Xcalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `x` date data. + Xcalendar OhlcXcalendar `json:"xcalendar,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xperiod + // arrayOK: false + // type: any + // Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer. + Xperiod interface{} `json:"xperiod,omitempty"` + + // Xperiod0 + // arrayOK: false + // type: any + // 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. + Xperiod0 interface{} `json:"xperiod0,omitempty"` + + // Xperiodalignment + // default: middle + // type: enumerated + // Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. + Xperiodalignment OhlcXperiodalignment `json:"xperiodalignment,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` +} + +// OhlcDecreasingLine +type OhlcDecreasingLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the line color. + Color Color `json:"color,omitempty"` + + // Dash + // arrayOK: false + // type: string + // 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*). + Dash String `json:"dash,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width (in px). + Width float64 `json:"width,omitempty"` +} + +// OhlcDecreasing +type OhlcDecreasing struct { + + // Line + // role: Object + Line *OhlcDecreasingLine `json:"line,omitempty"` +} + +// OhlcHoverlabelFont Sets the font used in hover labels. +type OhlcHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// OhlcHoverlabel +type OhlcHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align OhlcHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *OhlcHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` + + // Split + // arrayOK: false + // type: boolean + // Show hover information (open, close, high, low) in separate labels. + Split Bool `json:"split,omitempty"` +} + +// OhlcIncreasingLine +type OhlcIncreasingLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the line color. + Color Color `json:"color,omitempty"` + + // Dash + // arrayOK: false + // type: string + // 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*). + Dash String `json:"dash,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width (in px). + Width float64 `json:"width,omitempty"` +} + +// OhlcIncreasing +type OhlcIncreasing struct { + + // Line + // role: Object + Line *OhlcIncreasingLine `json:"line,omitempty"` +} + +// OhlcLegendgrouptitleFont Sets this legend group's title font. +type OhlcLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// OhlcLegendgrouptitle +type OhlcLegendgrouptitle struct { + + // Font + // role: Object + Font *OhlcLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// OhlcLine +type OhlcLine struct { + + // Dash + // arrayOK: false + // type: string + // 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`. + Dash String `json:"dash,omitempty"` + + // Width + // arrayOK: false + // type: number + // [object Object] Note that this style setting can also be set per direction via `increasing.line.width` and `decreasing.line.width`. + Width float64 `json:"width,omitempty"` +} + +// OhlcStream +type OhlcStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// OhlcHoverlabelAlign 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 +type OhlcHoverlabelAlign string + +const ( + OhlcHoverlabelAlignLeft OhlcHoverlabelAlign = "left" + OhlcHoverlabelAlignRight OhlcHoverlabelAlign = "right" + OhlcHoverlabelAlignAuto OhlcHoverlabelAlign = "auto" +) + +// OhlcVisible 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). +type OhlcVisible interface{} + +var ( + OhlcVisibleTrue OhlcVisible = true + OhlcVisibleFalse OhlcVisible = false + OhlcVisibleLegendonly OhlcVisible = "legendonly" +) + +// OhlcXcalendar Sets the calendar system to use with `x` date data. +type OhlcXcalendar string + +const ( + OhlcXcalendarChinese OhlcXcalendar = "chinese" + OhlcXcalendarCoptic OhlcXcalendar = "coptic" + OhlcXcalendarDiscworld OhlcXcalendar = "discworld" + OhlcXcalendarEthiopian OhlcXcalendar = "ethiopian" + OhlcXcalendarGregorian OhlcXcalendar = "gregorian" + OhlcXcalendarHebrew OhlcXcalendar = "hebrew" + OhlcXcalendarIslamic OhlcXcalendar = "islamic" + OhlcXcalendarJalali OhlcXcalendar = "jalali" + OhlcXcalendarJulian OhlcXcalendar = "julian" + OhlcXcalendarMayan OhlcXcalendar = "mayan" + OhlcXcalendarNanakshahi OhlcXcalendar = "nanakshahi" + OhlcXcalendarNepali OhlcXcalendar = "nepali" + OhlcXcalendarPersian OhlcXcalendar = "persian" + OhlcXcalendarTaiwan OhlcXcalendar = "taiwan" + OhlcXcalendarThai OhlcXcalendar = "thai" + OhlcXcalendarUmmalqura OhlcXcalendar = "ummalqura" +) + +// OhlcXperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. +type OhlcXperiodalignment string + +const ( + OhlcXperiodalignmentStart OhlcXperiodalignment = "start" + OhlcXperiodalignmentMiddle OhlcXperiodalignment = "middle" + OhlcXperiodalignmentEnd OhlcXperiodalignment = "end" +) + +// OhlcHoverinfo 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. +type OhlcHoverinfo string + +const ( + // Flags + OhlcHoverinfoX OhlcHoverinfo = "x" + OhlcHoverinfoY OhlcHoverinfo = "y" + OhlcHoverinfoZ OhlcHoverinfo = "z" + OhlcHoverinfoText OhlcHoverinfo = "text" + OhlcHoverinfoName OhlcHoverinfo = "name" + + // Extra + OhlcHoverinfoAll OhlcHoverinfo = "all" + OhlcHoverinfoNone OhlcHoverinfo = "none" + OhlcHoverinfoSkip OhlcHoverinfo = "skip" +) diff --git a/generated/v2.29.1/graph_objects/parcats_gen.go b/generated/v2.29.1/graph_objects/parcats_gen.go new file mode 100644 index 0000000..be41595 --- /dev/null +++ b/generated/v2.29.1/graph_objects/parcats_gen.go @@ -0,0 +1,914 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeParcats TraceType = "parcats" + +func (trace *Parcats) GetType() TraceType { + return TraceTypeParcats +} + +// Parcats Parallel categories diagram for multidimensional categorical data. +type Parcats struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Arrangement + // default: perpendicular + // type: enumerated + // 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. + Arrangement ParcatsArrangement `json:"arrangement,omitempty"` + + // Bundlecolors + // arrayOK: false + // type: boolean + // Sort paths so that like colors are bundled together within each category. + Bundlecolors Bool `json:"bundlecolors,omitempty"` + + // Counts + // arrayOK: true + // type: number + // The number of observations represented by each state. Defaults to 1 so that each state represents one observation + Counts float64 `json:"counts,omitempty"` + + // Countssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `counts`. + Countssrc String `json:"countssrc,omitempty"` + + // Dimensions + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Dimensions interface{} `json:"dimensions,omitempty"` + + // Domain + // role: Object + Domain *ParcatsDomain `json:"domain,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo ParcatsHoverinfo `json:"hoverinfo,omitempty"` + + // Hoveron + // default: category + // type: enumerated + // 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. + Hoveron ParcatsHoveron `json:"hoveron,omitempty"` + + // Hovertemplate + // arrayOK: false + // 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* flagFinally, the template string has access to variables `count`, `probability`, `category`, `categorycount`, `colorcount` and `bandcolorcount`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Labelfont + // role: Object + Labelfont *ParcatsLabelfont `json:"labelfont,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *ParcatsLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *ParcatsLine `json:"line,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Sortpaths + // default: forward + // type: enumerated + // 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. + Sortpaths ParcatsSortpaths `json:"sortpaths,omitempty"` + + // Stream + // role: Object + Stream *ParcatsStream `json:"stream,omitempty"` + + // Tickfont + // role: Object + Tickfont *ParcatsTickfont `json:"tickfont,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible ParcatsVisible `json:"visible,omitempty"` +} + +// ParcatsDomain +type ParcatsDomain struct { + + // Column + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this column in the grid for this parcats trace . + Column int64 `json:"column,omitempty"` + + // Row + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this row in the grid for this parcats trace . + Row int64 `json:"row,omitempty"` + + // X + // arrayOK: false + // type: info_array + // Sets the horizontal domain of this parcats trace (in plot fraction). + X interface{} `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: info_array + // Sets the vertical domain of this parcats trace (in plot fraction). + Y interface{} `json:"y,omitempty"` +} + +// ParcatsLabelfont Sets the font for the `dimension` labels. +type ParcatsLabelfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ParcatsLegendgrouptitleFont Sets this legend group's title font. +type ParcatsLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ParcatsLegendgrouptitle +type ParcatsLegendgrouptitle struct { + + // Font + // role: Object + Font *ParcatsLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// ParcatsLineColorbarTickfont Sets the color bar's tick label font +type ParcatsLineColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ParcatsLineColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type ParcatsLineColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ParcatsLineColorbarTitle +type ParcatsLineColorbarTitle struct { + + // Font + // role: Object + Font *ParcatsLineColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side ParcatsLineColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// ParcatsLineColorbar +type ParcatsLineColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat ParcatsLineColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode ParcatsLineColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ParcatsLineColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent ParcatsLineColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix ParcatsLineColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix ParcatsLineColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode ParcatsLineColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *ParcatsLineColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ParcatsLineColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition ParcatsLineColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode ParcatsLineColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks ParcatsLineColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *ParcatsLineColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor ParcatsLineColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref ParcatsLineColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor ParcatsLineColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref ParcatsLineColorbarYref `json:"yref,omitempty"` +} + +// ParcatsLine +type ParcatsLine struct { + + // Autocolorscale + // arrayOK: false + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *ParcatsLineColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Hovertemplate + // arrayOK: false + // 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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Shape + // default: linear + // type: enumerated + // Sets the shape of the paths. If `linear`, paths are composed of straight lines. If `hspline`, paths are composed of horizontal curved splines + Shape ParcatsLineShape `json:"shape,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` +} + +// ParcatsStream +type ParcatsStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// ParcatsTickfont Sets the font for the `category` labels. +type ParcatsTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ParcatsArrangement 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. +type ParcatsArrangement string + +const ( + ParcatsArrangementPerpendicular ParcatsArrangement = "perpendicular" + ParcatsArrangementFreeform ParcatsArrangement = "freeform" + ParcatsArrangementFixed ParcatsArrangement = "fixed" +) + +// ParcatsHoveron 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. +type ParcatsHoveron string + +const ( + ParcatsHoveronCategory ParcatsHoveron = "category" + ParcatsHoveronColor ParcatsHoveron = "color" + ParcatsHoveronDimension ParcatsHoveron = "dimension" +) + +// ParcatsLineColorbarExponentformat 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. +type ParcatsLineColorbarExponentformat string + +const ( + ParcatsLineColorbarExponentformatNone ParcatsLineColorbarExponentformat = "none" + ParcatsLineColorbarExponentformatE1 ParcatsLineColorbarExponentformat = "e" + ParcatsLineColorbarExponentformatE2 ParcatsLineColorbarExponentformat = "E" + ParcatsLineColorbarExponentformatPower ParcatsLineColorbarExponentformat = "power" + ParcatsLineColorbarExponentformatSI ParcatsLineColorbarExponentformat = "SI" + ParcatsLineColorbarExponentformatB ParcatsLineColorbarExponentformat = "B" +) + +// ParcatsLineColorbarLenmode 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. +type ParcatsLineColorbarLenmode string + +const ( + ParcatsLineColorbarLenmodeFraction ParcatsLineColorbarLenmode = "fraction" + ParcatsLineColorbarLenmodePixels ParcatsLineColorbarLenmode = "pixels" +) + +// ParcatsLineColorbarOrientation Sets the orientation of the colorbar. +type ParcatsLineColorbarOrientation string + +const ( + ParcatsLineColorbarOrientationH ParcatsLineColorbarOrientation = "h" + ParcatsLineColorbarOrientationV ParcatsLineColorbarOrientation = "v" +) + +// ParcatsLineColorbarShowexponent 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. +type ParcatsLineColorbarShowexponent string + +const ( + ParcatsLineColorbarShowexponentAll ParcatsLineColorbarShowexponent = "all" + ParcatsLineColorbarShowexponentFirst ParcatsLineColorbarShowexponent = "first" + ParcatsLineColorbarShowexponentLast ParcatsLineColorbarShowexponent = "last" + ParcatsLineColorbarShowexponentNone ParcatsLineColorbarShowexponent = "none" +) + +// ParcatsLineColorbarShowtickprefix 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. +type ParcatsLineColorbarShowtickprefix string + +const ( + ParcatsLineColorbarShowtickprefixAll ParcatsLineColorbarShowtickprefix = "all" + ParcatsLineColorbarShowtickprefixFirst ParcatsLineColorbarShowtickprefix = "first" + ParcatsLineColorbarShowtickprefixLast ParcatsLineColorbarShowtickprefix = "last" + ParcatsLineColorbarShowtickprefixNone ParcatsLineColorbarShowtickprefix = "none" +) + +// ParcatsLineColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type ParcatsLineColorbarShowticksuffix string + +const ( + ParcatsLineColorbarShowticksuffixAll ParcatsLineColorbarShowticksuffix = "all" + ParcatsLineColorbarShowticksuffixFirst ParcatsLineColorbarShowticksuffix = "first" + ParcatsLineColorbarShowticksuffixLast ParcatsLineColorbarShowticksuffix = "last" + ParcatsLineColorbarShowticksuffixNone ParcatsLineColorbarShowticksuffix = "none" +) + +// ParcatsLineColorbarThicknessmode 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. +type ParcatsLineColorbarThicknessmode string + +const ( + ParcatsLineColorbarThicknessmodeFraction ParcatsLineColorbarThicknessmode = "fraction" + ParcatsLineColorbarThicknessmodePixels ParcatsLineColorbarThicknessmode = "pixels" +) + +// ParcatsLineColorbarTicklabeloverflow 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*. +type ParcatsLineColorbarTicklabeloverflow string + +const ( + ParcatsLineColorbarTicklabeloverflowAllow ParcatsLineColorbarTicklabeloverflow = "allow" + ParcatsLineColorbarTicklabeloverflowHidePastDiv ParcatsLineColorbarTicklabeloverflow = "hide past div" + ParcatsLineColorbarTicklabeloverflowHidePastDomain ParcatsLineColorbarTicklabeloverflow = "hide past domain" +) + +// ParcatsLineColorbarTicklabelposition 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*. +type ParcatsLineColorbarTicklabelposition string + +const ( + ParcatsLineColorbarTicklabelpositionOutside ParcatsLineColorbarTicklabelposition = "outside" + ParcatsLineColorbarTicklabelpositionInside ParcatsLineColorbarTicklabelposition = "inside" + ParcatsLineColorbarTicklabelpositionOutsideTop ParcatsLineColorbarTicklabelposition = "outside top" + ParcatsLineColorbarTicklabelpositionInsideTop ParcatsLineColorbarTicklabelposition = "inside top" + ParcatsLineColorbarTicklabelpositionOutsideLeft ParcatsLineColorbarTicklabelposition = "outside left" + ParcatsLineColorbarTicklabelpositionInsideLeft ParcatsLineColorbarTicklabelposition = "inside left" + ParcatsLineColorbarTicklabelpositionOutsideRight ParcatsLineColorbarTicklabelposition = "outside right" + ParcatsLineColorbarTicklabelpositionInsideRight ParcatsLineColorbarTicklabelposition = "inside right" + ParcatsLineColorbarTicklabelpositionOutsideBottom ParcatsLineColorbarTicklabelposition = "outside bottom" + ParcatsLineColorbarTicklabelpositionInsideBottom ParcatsLineColorbarTicklabelposition = "inside bottom" +) + +// ParcatsLineColorbarTickmode 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). +type ParcatsLineColorbarTickmode string + +const ( + ParcatsLineColorbarTickmodeAuto ParcatsLineColorbarTickmode = "auto" + ParcatsLineColorbarTickmodeLinear ParcatsLineColorbarTickmode = "linear" + ParcatsLineColorbarTickmodeArray ParcatsLineColorbarTickmode = "array" +) + +// ParcatsLineColorbarTicks 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. +type ParcatsLineColorbarTicks string + +const ( + ParcatsLineColorbarTicksOutside ParcatsLineColorbarTicks = "outside" + ParcatsLineColorbarTicksInside ParcatsLineColorbarTicks = "inside" + ParcatsLineColorbarTicksEmpty ParcatsLineColorbarTicks = "" +) + +// ParcatsLineColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type ParcatsLineColorbarTitleSide string + +const ( + ParcatsLineColorbarTitleSideRight ParcatsLineColorbarTitleSide = "right" + ParcatsLineColorbarTitleSideTop ParcatsLineColorbarTitleSide = "top" + ParcatsLineColorbarTitleSideBottom ParcatsLineColorbarTitleSide = "bottom" +) + +// ParcatsLineColorbarXanchor 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*. +type ParcatsLineColorbarXanchor string + +const ( + ParcatsLineColorbarXanchorLeft ParcatsLineColorbarXanchor = "left" + ParcatsLineColorbarXanchorCenter ParcatsLineColorbarXanchor = "center" + ParcatsLineColorbarXanchorRight ParcatsLineColorbarXanchor = "right" +) + +// ParcatsLineColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type ParcatsLineColorbarXref string + +const ( + ParcatsLineColorbarXrefContainer ParcatsLineColorbarXref = "container" + ParcatsLineColorbarXrefPaper ParcatsLineColorbarXref = "paper" +) + +// ParcatsLineColorbarYanchor 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*. +type ParcatsLineColorbarYanchor string + +const ( + ParcatsLineColorbarYanchorTop ParcatsLineColorbarYanchor = "top" + ParcatsLineColorbarYanchorMiddle ParcatsLineColorbarYanchor = "middle" + ParcatsLineColorbarYanchorBottom ParcatsLineColorbarYanchor = "bottom" +) + +// ParcatsLineColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type ParcatsLineColorbarYref string + +const ( + ParcatsLineColorbarYrefContainer ParcatsLineColorbarYref = "container" + ParcatsLineColorbarYrefPaper ParcatsLineColorbarYref = "paper" +) + +// ParcatsLineShape Sets the shape of the paths. If `linear`, paths are composed of straight lines. If `hspline`, paths are composed of horizontal curved splines +type ParcatsLineShape string + +const ( + ParcatsLineShapeLinear ParcatsLineShape = "linear" + ParcatsLineShapeHspline ParcatsLineShape = "hspline" +) + +// ParcatsSortpaths 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. +type ParcatsSortpaths string + +const ( + ParcatsSortpathsForward ParcatsSortpaths = "forward" + ParcatsSortpathsBackward ParcatsSortpaths = "backward" +) + +// ParcatsVisible 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). +type ParcatsVisible interface{} + +var ( + ParcatsVisibleTrue ParcatsVisible = true + ParcatsVisibleFalse ParcatsVisible = false + ParcatsVisibleLegendonly ParcatsVisible = "legendonly" +) + +// ParcatsHoverinfo 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. +type ParcatsHoverinfo string + +const ( + // Flags + ParcatsHoverinfoCount ParcatsHoverinfo = "count" + ParcatsHoverinfoProbability ParcatsHoverinfo = "probability" + + // Extra + ParcatsHoverinfoAll ParcatsHoverinfo = "all" + ParcatsHoverinfoNone ParcatsHoverinfo = "none" + ParcatsHoverinfoSkip ParcatsHoverinfo = "skip" +) diff --git a/generated/v2.29.1/graph_objects/parcoords_gen.go b/generated/v2.29.1/graph_objects/parcoords_gen.go new file mode 100644 index 0000000..c0fdaab --- /dev/null +++ b/generated/v2.29.1/graph_objects/parcoords_gen.go @@ -0,0 +1,916 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeParcoords TraceType = "parcoords" + +func (trace *Parcoords) GetType() TraceType { + return TraceTypeParcoords +} + +// Parcoords Parallel coordinates for multidimensional exploratory data analysis. The samples are specified in `dimensions`. The colors are set in `line.color`. +type Parcoords struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Dimensions + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Dimensions interface{} `json:"dimensions,omitempty"` + + // Domain + // role: Object + Domain *ParcoordsDomain `json:"domain,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Labelangle + // arrayOK: false + // 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*. + Labelangle float64 `json:"labelangle,omitempty"` + + // Labelfont + // role: Object + Labelfont *ParcoordsLabelfont `json:"labelfont,omitempty"` + + // Labelside + // default: top + // type: enumerated + // 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*. + Labelside ParcoordsLabelside `json:"labelside,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *ParcoordsLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *ParcoordsLine `json:"line,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Rangefont + // role: Object + Rangefont *ParcoordsRangefont `json:"rangefont,omitempty"` + + // Stream + // role: Object + Stream *ParcoordsStream `json:"stream,omitempty"` + + // Tickfont + // role: Object + Tickfont *ParcoordsTickfont `json:"tickfont,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Unselected + // role: Object + Unselected *ParcoordsUnselected `json:"unselected,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible ParcoordsVisible `json:"visible,omitempty"` +} + +// ParcoordsDomain +type ParcoordsDomain struct { + + // Column + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this column in the grid for this parcoords trace . + Column int64 `json:"column,omitempty"` + + // Row + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this row in the grid for this parcoords trace . + Row int64 `json:"row,omitempty"` + + // X + // arrayOK: false + // type: info_array + // Sets the horizontal domain of this parcoords trace (in plot fraction). + X interface{} `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: info_array + // Sets the vertical domain of this parcoords trace (in plot fraction). + Y interface{} `json:"y,omitempty"` +} + +// ParcoordsLabelfont Sets the font for the `dimension` labels. +type ParcoordsLabelfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ParcoordsLegendgrouptitleFont Sets this legend group's title font. +type ParcoordsLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ParcoordsLegendgrouptitle +type ParcoordsLegendgrouptitle struct { + + // Font + // role: Object + Font *ParcoordsLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// ParcoordsLineColorbarTickfont Sets the color bar's tick label font +type ParcoordsLineColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ParcoordsLineColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type ParcoordsLineColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ParcoordsLineColorbarTitle +type ParcoordsLineColorbarTitle struct { + + // Font + // role: Object + Font *ParcoordsLineColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side ParcoordsLineColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// ParcoordsLineColorbar +type ParcoordsLineColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat ParcoordsLineColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode ParcoordsLineColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ParcoordsLineColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent ParcoordsLineColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix ParcoordsLineColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix ParcoordsLineColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode ParcoordsLineColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *ParcoordsLineColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ParcoordsLineColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition ParcoordsLineColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode ParcoordsLineColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks ParcoordsLineColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *ParcoordsLineColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor ParcoordsLineColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref ParcoordsLineColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor ParcoordsLineColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref ParcoordsLineColorbarYref `json:"yref,omitempty"` +} + +// ParcoordsLine +type ParcoordsLine struct { + + // Autocolorscale + // arrayOK: false + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *ParcoordsLineColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: [[%!s(float64=0) #440154] [%!s(float64=0.06274509803921569) #48186a] [%!s(float64=0.12549019607843137) #472d7b] [%!s(float64=0.18823529411764706) #424086] [%!s(float64=0.25098039215686274) #3b528b] [%!s(float64=0.3137254901960784) #33638d] [%!s(float64=0.3764705882352941) #2c728e] [%!s(float64=0.4392156862745098) #26828e] [%!s(float64=0.5019607843137255) #21918c] [%!s(float64=0.5647058823529412) #1fa088] [%!s(float64=0.6274509803921569) #28ae80] [%!s(float64=0.6901960784313725) #3fbc73] [%!s(float64=0.7529411764705882) #5ec962] [%!s(float64=0.8156862745098039) #84d44b] [%!s(float64=0.8784313725490196) #addc30] [%!s(float64=0.9411764705882353) #d8e219] [%!s(float64=1) #fde725]] + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` +} + +// ParcoordsRangefont Sets the font for the `dimension` range values. +type ParcoordsRangefont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ParcoordsStream +type ParcoordsStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// ParcoordsTickfont Sets the font for the `dimension` tick values. +type ParcoordsTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ParcoordsUnselectedLine +type ParcoordsUnselectedLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the base color of unselected lines. in connection with `unselected.line.opacity`. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // 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`. + Opacity float64 `json:"opacity,omitempty"` +} + +// ParcoordsUnselected +type ParcoordsUnselected struct { + + // Line + // role: Object + Line *ParcoordsUnselectedLine `json:"line,omitempty"` +} + +// ParcoordsLabelside 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*. +type ParcoordsLabelside string + +const ( + ParcoordsLabelsideTop ParcoordsLabelside = "top" + ParcoordsLabelsideBottom ParcoordsLabelside = "bottom" +) + +// ParcoordsLineColorbarExponentformat 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. +type ParcoordsLineColorbarExponentformat string + +const ( + ParcoordsLineColorbarExponentformatNone ParcoordsLineColorbarExponentformat = "none" + ParcoordsLineColorbarExponentformatE1 ParcoordsLineColorbarExponentformat = "e" + ParcoordsLineColorbarExponentformatE2 ParcoordsLineColorbarExponentformat = "E" + ParcoordsLineColorbarExponentformatPower ParcoordsLineColorbarExponentformat = "power" + ParcoordsLineColorbarExponentformatSI ParcoordsLineColorbarExponentformat = "SI" + ParcoordsLineColorbarExponentformatB ParcoordsLineColorbarExponentformat = "B" +) + +// ParcoordsLineColorbarLenmode 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. +type ParcoordsLineColorbarLenmode string + +const ( + ParcoordsLineColorbarLenmodeFraction ParcoordsLineColorbarLenmode = "fraction" + ParcoordsLineColorbarLenmodePixels ParcoordsLineColorbarLenmode = "pixels" +) + +// ParcoordsLineColorbarOrientation Sets the orientation of the colorbar. +type ParcoordsLineColorbarOrientation string + +const ( + ParcoordsLineColorbarOrientationH ParcoordsLineColorbarOrientation = "h" + ParcoordsLineColorbarOrientationV ParcoordsLineColorbarOrientation = "v" +) + +// ParcoordsLineColorbarShowexponent 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. +type ParcoordsLineColorbarShowexponent string + +const ( + ParcoordsLineColorbarShowexponentAll ParcoordsLineColorbarShowexponent = "all" + ParcoordsLineColorbarShowexponentFirst ParcoordsLineColorbarShowexponent = "first" + ParcoordsLineColorbarShowexponentLast ParcoordsLineColorbarShowexponent = "last" + ParcoordsLineColorbarShowexponentNone ParcoordsLineColorbarShowexponent = "none" +) + +// ParcoordsLineColorbarShowtickprefix 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. +type ParcoordsLineColorbarShowtickprefix string + +const ( + ParcoordsLineColorbarShowtickprefixAll ParcoordsLineColorbarShowtickprefix = "all" + ParcoordsLineColorbarShowtickprefixFirst ParcoordsLineColorbarShowtickprefix = "first" + ParcoordsLineColorbarShowtickprefixLast ParcoordsLineColorbarShowtickprefix = "last" + ParcoordsLineColorbarShowtickprefixNone ParcoordsLineColorbarShowtickprefix = "none" +) + +// ParcoordsLineColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type ParcoordsLineColorbarShowticksuffix string + +const ( + ParcoordsLineColorbarShowticksuffixAll ParcoordsLineColorbarShowticksuffix = "all" + ParcoordsLineColorbarShowticksuffixFirst ParcoordsLineColorbarShowticksuffix = "first" + ParcoordsLineColorbarShowticksuffixLast ParcoordsLineColorbarShowticksuffix = "last" + ParcoordsLineColorbarShowticksuffixNone ParcoordsLineColorbarShowticksuffix = "none" +) + +// ParcoordsLineColorbarThicknessmode 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. +type ParcoordsLineColorbarThicknessmode string + +const ( + ParcoordsLineColorbarThicknessmodeFraction ParcoordsLineColorbarThicknessmode = "fraction" + ParcoordsLineColorbarThicknessmodePixels ParcoordsLineColorbarThicknessmode = "pixels" +) + +// ParcoordsLineColorbarTicklabeloverflow 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*. +type ParcoordsLineColorbarTicklabeloverflow string + +const ( + ParcoordsLineColorbarTicklabeloverflowAllow ParcoordsLineColorbarTicklabeloverflow = "allow" + ParcoordsLineColorbarTicklabeloverflowHidePastDiv ParcoordsLineColorbarTicklabeloverflow = "hide past div" + ParcoordsLineColorbarTicklabeloverflowHidePastDomain ParcoordsLineColorbarTicklabeloverflow = "hide past domain" +) + +// ParcoordsLineColorbarTicklabelposition 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*. +type ParcoordsLineColorbarTicklabelposition string + +const ( + ParcoordsLineColorbarTicklabelpositionOutside ParcoordsLineColorbarTicklabelposition = "outside" + ParcoordsLineColorbarTicklabelpositionInside ParcoordsLineColorbarTicklabelposition = "inside" + ParcoordsLineColorbarTicklabelpositionOutsideTop ParcoordsLineColorbarTicklabelposition = "outside top" + ParcoordsLineColorbarTicklabelpositionInsideTop ParcoordsLineColorbarTicklabelposition = "inside top" + ParcoordsLineColorbarTicklabelpositionOutsideLeft ParcoordsLineColorbarTicklabelposition = "outside left" + ParcoordsLineColorbarTicklabelpositionInsideLeft ParcoordsLineColorbarTicklabelposition = "inside left" + ParcoordsLineColorbarTicklabelpositionOutsideRight ParcoordsLineColorbarTicklabelposition = "outside right" + ParcoordsLineColorbarTicklabelpositionInsideRight ParcoordsLineColorbarTicklabelposition = "inside right" + ParcoordsLineColorbarTicklabelpositionOutsideBottom ParcoordsLineColorbarTicklabelposition = "outside bottom" + ParcoordsLineColorbarTicklabelpositionInsideBottom ParcoordsLineColorbarTicklabelposition = "inside bottom" +) + +// ParcoordsLineColorbarTickmode 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). +type ParcoordsLineColorbarTickmode string + +const ( + ParcoordsLineColorbarTickmodeAuto ParcoordsLineColorbarTickmode = "auto" + ParcoordsLineColorbarTickmodeLinear ParcoordsLineColorbarTickmode = "linear" + ParcoordsLineColorbarTickmodeArray ParcoordsLineColorbarTickmode = "array" +) + +// ParcoordsLineColorbarTicks 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. +type ParcoordsLineColorbarTicks string + +const ( + ParcoordsLineColorbarTicksOutside ParcoordsLineColorbarTicks = "outside" + ParcoordsLineColorbarTicksInside ParcoordsLineColorbarTicks = "inside" + ParcoordsLineColorbarTicksEmpty ParcoordsLineColorbarTicks = "" +) + +// ParcoordsLineColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type ParcoordsLineColorbarTitleSide string + +const ( + ParcoordsLineColorbarTitleSideRight ParcoordsLineColorbarTitleSide = "right" + ParcoordsLineColorbarTitleSideTop ParcoordsLineColorbarTitleSide = "top" + ParcoordsLineColorbarTitleSideBottom ParcoordsLineColorbarTitleSide = "bottom" +) + +// ParcoordsLineColorbarXanchor 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*. +type ParcoordsLineColorbarXanchor string + +const ( + ParcoordsLineColorbarXanchorLeft ParcoordsLineColorbarXanchor = "left" + ParcoordsLineColorbarXanchorCenter ParcoordsLineColorbarXanchor = "center" + ParcoordsLineColorbarXanchorRight ParcoordsLineColorbarXanchor = "right" +) + +// ParcoordsLineColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type ParcoordsLineColorbarXref string + +const ( + ParcoordsLineColorbarXrefContainer ParcoordsLineColorbarXref = "container" + ParcoordsLineColorbarXrefPaper ParcoordsLineColorbarXref = "paper" +) + +// ParcoordsLineColorbarYanchor 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*. +type ParcoordsLineColorbarYanchor string + +const ( + ParcoordsLineColorbarYanchorTop ParcoordsLineColorbarYanchor = "top" + ParcoordsLineColorbarYanchorMiddle ParcoordsLineColorbarYanchor = "middle" + ParcoordsLineColorbarYanchorBottom ParcoordsLineColorbarYanchor = "bottom" +) + +// ParcoordsLineColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type ParcoordsLineColorbarYref string + +const ( + ParcoordsLineColorbarYrefContainer ParcoordsLineColorbarYref = "container" + ParcoordsLineColorbarYrefPaper ParcoordsLineColorbarYref = "paper" +) + +// ParcoordsVisible 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). +type ParcoordsVisible interface{} + +var ( + ParcoordsVisibleTrue ParcoordsVisible = true + ParcoordsVisibleFalse ParcoordsVisible = false + ParcoordsVisibleLegendonly ParcoordsVisible = "legendonly" +) diff --git a/generated/v2.29.1/graph_objects/pie_gen.go b/generated/v2.29.1/graph_objects/pie_gen.go new file mode 100644 index 0000000..8cb8922 --- /dev/null +++ b/generated/v2.29.1/graph_objects/pie_gen.go @@ -0,0 +1,919 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypePie TraceType = "pie" + +func (trace *Pie) GetType() TraceType { + return TraceTypePie +} + +// Pie 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` +type Pie struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Automargin + // arrayOK: false + // type: boolean + // Determines whether outside text labels can push the margins. + Automargin Bool `json:"automargin,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Direction + // default: counterclockwise + // type: enumerated + // Specifies the direction at which succeeding sectors follow one another. + Direction PieDirection `json:"direction,omitempty"` + + // Dlabel + // arrayOK: false + // type: number + // Sets the label step. See `label0` for more info. + Dlabel float64 `json:"dlabel,omitempty"` + + // Domain + // role: Object + Domain *PieDomain `json:"domain,omitempty"` + + // Hole + // arrayOK: false + // type: number + // Sets the fraction of the radius to cut out of the pie. Use this to make a donut chart. + Hole float64 `json:"hole,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo PieHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *PieHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Finally, the template string has access to variables `label`, `color`, `value`, `percent` and `text`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Insidetextfont + // role: Object + Insidetextfont *PieInsidetextfont `json:"insidetextfont,omitempty"` + + // Insidetextorientation + // default: auto + // type: enumerated + // 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. + Insidetextorientation PieInsidetextorientation `json:"insidetextorientation,omitempty"` + + // Label0 + // arrayOK: false + // type: number + // Alternate to `labels`. Builds a numeric set of labels. Use with `dlabel` where `label0` is the starting label and `dlabel` the step. + Label0 float64 `json:"label0,omitempty"` + + // Labels + // arrayOK: false + // 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. + Labels interface{} `json:"labels,omitempty"` + + // Labelssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `labels`. + Labelssrc String `json:"labelssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *PieLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Marker + // role: Object + Marker *PieMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Outsidetextfont + // role: Object + Outsidetextfont *PieOutsidetextfont `json:"outsidetextfont,omitempty"` + + // Pull + // arrayOK: true + // type: number + // 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. + Pull float64 `json:"pull,omitempty"` + + // Pullsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `pull`. + Pullsrc String `json:"pullsrc,omitempty"` + + // Rotation + // arrayOK: false + // type: angle + // Instead of the first slice starting at 12 o'clock, rotate to some other angle. + Rotation float64 `json:"rotation,omitempty"` + + // Scalegroup + // arrayOK: false + // 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. + Scalegroup String `json:"scalegroup,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Sort + // arrayOK: false + // type: boolean + // Determines whether or not the sectors are reordered from largest to smallest. + Sort Bool `json:"sort,omitempty"` + + // Stream + // role: Object + Stream *PieStream `json:"stream,omitempty"` + + // Text + // arrayOK: false + // 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. + Text interface{} `json:"text,omitempty"` + + // Textfont + // role: Object + Textfont *PieTextfont `json:"textfont,omitempty"` + + // Textinfo + // default: %!s() + // type: flaglist + // Determines which trace information appear on the graph. + Textinfo PieTextinfo `json:"textinfo,omitempty"` + + // Textposition + // default: auto + // type: enumerated + // Specifies the location of the `textinfo`. + Textposition PieTextposition `json:"textposition,omitempty"` + + // Textpositionsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `textposition`. + Textpositionsrc String `json:"textpositionsrc,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: true + // 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`, `color`, `value`, `percent` and `text`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Texttemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `texttemplate`. + Texttemplatesrc String `json:"texttemplatesrc,omitempty"` + + // Title + // role: Object + Title *PieTitle `json:"title,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Values + // arrayOK: false + // type: data_array + // Sets the values of the sectors. If omitted, we count occurrences of each label. + Values interface{} `json:"values,omitempty"` + + // Valuessrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `values`. + Valuessrc String `json:"valuessrc,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible PieVisible `json:"visible,omitempty"` +} + +// PieDomain +type PieDomain struct { + + // Column + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this column in the grid for this pie trace . + Column int64 `json:"column,omitempty"` + + // Row + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this row in the grid for this pie trace . + Row int64 `json:"row,omitempty"` + + // X + // arrayOK: false + // type: info_array + // Sets the horizontal domain of this pie trace (in plot fraction). + X interface{} `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: info_array + // Sets the vertical domain of this pie trace (in plot fraction). + Y interface{} `json:"y,omitempty"` +} + +// PieHoverlabelFont Sets the font used in hover labels. +type PieHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// PieHoverlabel +type PieHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align PieHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *PieHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// PieInsidetextfont Sets the font used for `textinfo` lying inside the sector. +type PieInsidetextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// PieLegendgrouptitleFont Sets this legend group's title font. +type PieLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// PieLegendgrouptitle +type PieLegendgrouptitle struct { + + // Font + // role: Object + Font *PieLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// PieMarkerLine +type PieMarkerLine struct { + + // Color + // arrayOK: true + // type: color + // Sets the color of the line enclosing each sector. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the line enclosing each sector. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// PieMarkerPattern Sets the pattern within the marker. +type PieMarkerPattern struct { + + // Bgcolor + // arrayOK: true + // type: color + // 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. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Fgcolor + // arrayOK: true + // type: color + // 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`. + Fgcolor Color `json:"fgcolor,omitempty"` + + // Fgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `fgcolor`. + Fgcolorsrc String `json:"fgcolorsrc,omitempty"` + + // Fgopacity + // arrayOK: false + // type: number + // Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1. + Fgopacity float64 `json:"fgopacity,omitempty"` + + // Fillmode + // default: replace + // type: enumerated + // Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. + Fillmode PieMarkerPatternFillmode `json:"fillmode,omitempty"` + + // Shape + // default: + // type: enumerated + // Sets the shape of the pattern fill. By default, no pattern is used for filling the area. + Shape PieMarkerPatternShape `json:"shape,omitempty"` + + // Shapesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `shape`. + Shapesrc String `json:"shapesrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Solidity + // arrayOK: true + // type: number + // 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. + Solidity float64 `json:"solidity,omitempty"` + + // Soliditysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `solidity`. + Soliditysrc String `json:"soliditysrc,omitempty"` +} + +// PieMarker +type PieMarker struct { + + // Colors + // arrayOK: false + // type: data_array + // Sets the color of each sector. If not specified, the default trace color set is used to pick the sector colors. + Colors interface{} `json:"colors,omitempty"` + + // Colorssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `colors`. + Colorssrc String `json:"colorssrc,omitempty"` + + // Line + // role: Object + Line *PieMarkerLine `json:"line,omitempty"` + + // Pattern + // role: Object + Pattern *PieMarkerPattern `json:"pattern,omitempty"` +} + +// PieOutsidetextfont Sets the font used for `textinfo` lying outside the sector. +type PieOutsidetextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// PieStream +type PieStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// PieTextfont Sets the font used for `textinfo`. +type PieTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// PieTitleFont Sets the font used for `title`. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type PieTitleFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// PieTitle +type PieTitle struct { + + // Font + // role: Object + Font *PieTitleFont `json:"font,omitempty"` + + // Position + // default: %!s() + // type: enumerated + // Specifies the location of the `title`. Note that the title's position used to be set by the now deprecated `titleposition` attribute. + Position PieTitlePosition `json:"position,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the chart. If it is empty, no title is displayed. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// PieDirection Specifies the direction at which succeeding sectors follow one another. +type PieDirection string + +const ( + PieDirectionClockwise PieDirection = "clockwise" + PieDirectionCounterclockwise PieDirection = "counterclockwise" +) + +// PieHoverlabelAlign 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 +type PieHoverlabelAlign string + +const ( + PieHoverlabelAlignLeft PieHoverlabelAlign = "left" + PieHoverlabelAlignRight PieHoverlabelAlign = "right" + PieHoverlabelAlignAuto PieHoverlabelAlign = "auto" +) + +// PieInsidetextorientation 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. +type PieInsidetextorientation string + +const ( + PieInsidetextorientationHorizontal PieInsidetextorientation = "horizontal" + PieInsidetextorientationRadial PieInsidetextorientation = "radial" + PieInsidetextorientationTangential PieInsidetextorientation = "tangential" + PieInsidetextorientationAuto PieInsidetextorientation = "auto" +) + +// PieMarkerPatternFillmode Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. +type PieMarkerPatternFillmode string + +const ( + PieMarkerPatternFillmodeReplace PieMarkerPatternFillmode = "replace" + PieMarkerPatternFillmodeOverlay PieMarkerPatternFillmode = "overlay" +) + +// PieMarkerPatternShape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. +type PieMarkerPatternShape string + +const ( + PieMarkerPatternShapeEmpty PieMarkerPatternShape = "" + PieMarkerPatternShapeSlash PieMarkerPatternShape = "/" + PieMarkerPatternShapeDoublebackslash PieMarkerPatternShape = "\\" + PieMarkerPatternShapeX PieMarkerPatternShape = "x" + PieMarkerPatternShapeHyphenHyphen PieMarkerPatternShape = "-" + PieMarkerPatternShapeOr PieMarkerPatternShape = "|" + PieMarkerPatternShapePlus PieMarkerPatternShape = "+" + PieMarkerPatternShapeDot PieMarkerPatternShape = "." +) + +// PieTextposition Specifies the location of the `textinfo`. +type PieTextposition string + +const ( + PieTextpositionInside PieTextposition = "inside" + PieTextpositionOutside PieTextposition = "outside" + PieTextpositionAuto PieTextposition = "auto" + PieTextpositionNone PieTextposition = "none" +) + +// PieTitlePosition Specifies the location of the `title`. Note that the title's position used to be set by the now deprecated `titleposition` attribute. +type PieTitlePosition string + +const ( + PieTitlePositionTopLeft PieTitlePosition = "top left" + PieTitlePositionTopCenter PieTitlePosition = "top center" + PieTitlePositionTopRight PieTitlePosition = "top right" + PieTitlePositionMiddleCenter PieTitlePosition = "middle center" + PieTitlePositionBottomLeft PieTitlePosition = "bottom left" + PieTitlePositionBottomCenter PieTitlePosition = "bottom center" + PieTitlePositionBottomRight PieTitlePosition = "bottom right" +) + +// PieVisible 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). +type PieVisible interface{} + +var ( + PieVisibleTrue PieVisible = true + PieVisibleFalse PieVisible = false + PieVisibleLegendonly PieVisible = "legendonly" +) + +// PieHoverinfo 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. +type PieHoverinfo string + +const ( + // Flags + PieHoverinfoLabel PieHoverinfo = "label" + PieHoverinfoText PieHoverinfo = "text" + PieHoverinfoValue PieHoverinfo = "value" + PieHoverinfoPercent PieHoverinfo = "percent" + PieHoverinfoName PieHoverinfo = "name" + + // Extra + PieHoverinfoAll PieHoverinfo = "all" + PieHoverinfoNone PieHoverinfo = "none" + PieHoverinfoSkip PieHoverinfo = "skip" +) + +// PieTextinfo Determines which trace information appear on the graph. +type PieTextinfo string + +const ( + // Flags + PieTextinfoLabel PieTextinfo = "label" + PieTextinfoText PieTextinfo = "text" + PieTextinfoValue PieTextinfo = "value" + PieTextinfoPercent PieTextinfo = "percent" + + // Extra + PieTextinfoNone PieTextinfo = "none" +) diff --git a/generated/v2.29.1/graph_objects/plotly_gen.go b/generated/v2.29.1/graph_objects/plotly_gen.go new file mode 100644 index 0000000..4158d9f --- /dev/null +++ b/generated/v2.29.1/graph_objects/plotly_gen.go @@ -0,0 +1,98 @@ +package grob + +import ( + "encoding/json" +) + +// TraceType is the type for the TraceType field on every trace +type TraceType string + +// Trace Every trace implements this interface +// It is useful for autocompletion, it is a better idea to use +// type assertions/switches to identify trace types +type Trace interface { + GetType() TraceType +} + +// Traces is a slice of Traces +type Traces []Trace + +// Fig is the base type for figures. +type Fig struct { + // 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. + // https://plotly.com/javascript/reference + Data Traces `json:"data,omitempty"` + + // 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. + // https://plotly.com/javascript/reference/layout + Layout *Layout `json:"layout,omitempty"` + + // 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. + // https://plotly.com/javascript/configuration-options + Config *Config `json:"config,omitempty"` + + // Animation is not yet implemented, feel free to insert custom a struct + Animation interface{} `json:"animation,omitempty"` +} + +// AddTraces Is a shorthand to add figures to a given figure. It handles the case where the Traces value is nil. +func (fig *Fig) AddTraces(traces ...Trace) { + if fig.Data == nil { + fig.Data = make(Traces, 0) + } + fig.Data = append(fig.Data, traces...) +} + +// UnmarshalJSON is a custom unmarshal function to properly handle special cases. +func (fig *Fig) UnmarshalJSON(data []byte) error { + var err error + tmp := unmarshalFig{} + err = json.Unmarshal(data, &tmp) + if err != nil { + return err + } + + fig.Layout = tmp.Layout + fig.Config = tmp.Config + + for i := range tmp.Data { + trace, err := UnmarshalTrace(tmp.Data[i]) + if err != nil { + return err + } + fig.AddTraces(trace) + } + return nil +} + +type unmarshalFig struct { + Data []json.RawMessage `json:"data,omitempty"` + Layout *Layout `json:"layout,omitempty"` + Config *Config `json:"config,omitempty"` +} + +// Bool represents a *bool value. Needed to tell the differenc between false and nil. +type Bool *bool + +var ( + trueValue bool = true + falseValue bool = false + + // True is a *bool with true value + True Bool = &trueValue + // False is a *bool with false value + False Bool = &falseValue +) + +// String is a string value, can be a []string if arrayOK is true. +// numeric values are converted to string by plotly, so [] can work +type String interface{} + +// Color A string describing color. Supported formats: - hex (e.g. '#d3d3d3') - rgb (e.g. 'rgb(255, 0, 0)') - rgba (e.g. 'rgb(255, 0, 0, 0.5)') - hsl (e.g. 'hsl(0, 100%, 50%)') - hsv (e.g. 'hsv(0, 100%, 100%)') - named colors (full list: http://www.w3.org/TR/css3-color/#svg-color)", +type Color interface{} + +// ColorList A list of colors. Must be an {array} containing valid colors. +type ColorList []Color + +// ColorScale A Plotly colorscale either picked by a name: (any of Greys, YlGnBu, Greens, YlOrRd, Bluered, RdBu, Reds, Blues, Picnic, Rainbow, Portland, Jet, Hot, Blackbody, Earth, Electric, Viridis, Cividis ) customized as an {array} of 2-element {arrays} where the first element is the normalized color level value (starting at *0* and ending at *1*), and the second item is a valid color string. +type ColorScale interface{} diff --git a/generated/v2.29.1/graph_objects/pointcloud_gen.go b/generated/v2.29.1/graph_objects/pointcloud_gen.go new file mode 100644 index 0000000..99069de --- /dev/null +++ b/generated/v2.29.1/graph_objects/pointcloud_gen.go @@ -0,0 +1,474 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypePointcloud TraceType = "pointcloud" + +func (trace *Pointcloud) GetType() TraceType { + return TraceTypePointcloud +} + +// Pointcloud *pointcloud* trace is deprecated! Please consider switching to the *scattergl* trace type. The data visualized as a point cloud set in `x` and `y` using the WebGl plotting engine. +type Pointcloud struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo PointcloudHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *PointcloudHoverlabel `json:"hoverlabel,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Indices + // arrayOK: false + // type: data_array + // A sequential value, 0..n, supply it to avoid creating this array inside plotting. If specified, it must be a typed `Int32Array` array. Its length must be equal to or greater than the number of points. For the best performance and memory use, create one large `indices` typed array that is guaranteed to be at least as long as the largest number of points during use, and reuse it on each `Plotly.restyle()` call. + Indices interface{} `json:"indices,omitempty"` + + // Indicessrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `indices`. + Indicessrc String `json:"indicessrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *PointcloudLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Marker + // role: Object + Marker *PointcloudMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Stream + // role: Object + Stream *PointcloudStream `json:"stream,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible PointcloudVisible `json:"visible,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the x coordinates. + X interface{} `json:"x,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Xbounds + // arrayOK: false + // type: data_array + // Specify `xbounds` in the shape of `[xMin, xMax] to avoid looping through the `xy` typed array. Use it in conjunction with `xy` and `ybounds` for the performance benefits. + Xbounds interface{} `json:"xbounds,omitempty"` + + // Xboundssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `xbounds`. + Xboundssrc String `json:"xboundssrc,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Xy + // arrayOK: false + // type: data_array + // Faster alternative to specifying `x` and `y` separately. If supplied, it must be a typed `Float32Array` array that represents points such that `xy[i * 2] = x[i]` and `xy[i * 2 + 1] = y[i]` + Xy interface{} `json:"xy,omitempty"` + + // Xysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `xy`. + Xysrc String `json:"xysrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the y coordinates. + Y interface{} `json:"y,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` + + // Ybounds + // arrayOK: false + // type: data_array + // Specify `ybounds` in the shape of `[yMin, yMax] to avoid looping through the `xy` typed array. Use it in conjunction with `xy` and `xbounds` for the performance benefits. + Ybounds interface{} `json:"ybounds,omitempty"` + + // Yboundssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ybounds`. + Yboundssrc String `json:"yboundssrc,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` +} + +// PointcloudHoverlabelFont Sets the font used in hover labels. +type PointcloudHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// PointcloudHoverlabel +type PointcloudHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align PointcloudHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *PointcloudHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// PointcloudLegendgrouptitleFont Sets this legend group's title font. +type PointcloudLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// PointcloudLegendgrouptitle +type PointcloudLegendgrouptitle struct { + + // Font + // role: Object + Font *PointcloudLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// PointcloudMarkerBorder +type PointcloudMarkerBorder struct { + + // Arearatio + // arrayOK: false + // type: number + // Specifies what fraction of the marker area is covered with the border. + Arearatio float64 `json:"arearatio,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the stroke color. It accepts a specific color. If the color is not fully opaque and there are hundreds of thousands of points, it may cause slower zooming and panning. + Color Color `json:"color,omitempty"` +} + +// PointcloudMarker +type PointcloudMarker struct { + + // Blend + // arrayOK: false + // type: boolean + // Determines if colors are blended together for a translucency effect in case `opacity` is specified as a value less then `1`. Setting `blend` to `true` reduces zoom/pan speed if used with large numbers of points. + Blend Bool `json:"blend,omitempty"` + + // Border + // role: Object + Border *PointcloudMarkerBorder `json:"border,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the marker fill color. It accepts a specific color. If the color is not fully opaque and there are hundreds of thousands of points, it may cause slower zooming and panning. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity. The default value is `1` (fully opaque). If the markers are not fully opaque and there are hundreds of thousands of points, it may cause slower zooming and panning. Opacity fades the color even if `blend` is left on `false` even if there is no translucency effect in that case. + Opacity float64 `json:"opacity,omitempty"` + + // Sizemax + // arrayOK: false + // type: number + // Sets the maximum size (in px) of the rendered marker points. Effective when the `pointcloud` shows only few points. + Sizemax float64 `json:"sizemax,omitempty"` + + // Sizemin + // arrayOK: false + // type: number + // Sets the minimum size (in px) of the rendered marker points, effective when the `pointcloud` shows a million or more points. + Sizemin float64 `json:"sizemin,omitempty"` +} + +// PointcloudStream +type PointcloudStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// PointcloudHoverlabelAlign 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 +type PointcloudHoverlabelAlign string + +const ( + PointcloudHoverlabelAlignLeft PointcloudHoverlabelAlign = "left" + PointcloudHoverlabelAlignRight PointcloudHoverlabelAlign = "right" + PointcloudHoverlabelAlignAuto PointcloudHoverlabelAlign = "auto" +) + +// PointcloudVisible 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). +type PointcloudVisible interface{} + +var ( + PointcloudVisibleTrue PointcloudVisible = true + PointcloudVisibleFalse PointcloudVisible = false + PointcloudVisibleLegendonly PointcloudVisible = "legendonly" +) + +// PointcloudHoverinfo 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. +type PointcloudHoverinfo string + +const ( + // Flags + PointcloudHoverinfoX PointcloudHoverinfo = "x" + PointcloudHoverinfoY PointcloudHoverinfo = "y" + PointcloudHoverinfoZ PointcloudHoverinfo = "z" + PointcloudHoverinfoText PointcloudHoverinfo = "text" + PointcloudHoverinfoName PointcloudHoverinfo = "name" + + // Extra + PointcloudHoverinfoAll PointcloudHoverinfo = "all" + PointcloudHoverinfoNone PointcloudHoverinfo = "none" + PointcloudHoverinfoSkip PointcloudHoverinfo = "skip" +) diff --git a/generated/v2.29.1/graph_objects/sankey_gen.go b/generated/v2.29.1/graph_objects/sankey_gen.go new file mode 100644 index 0000000..a35494c --- /dev/null +++ b/generated/v2.29.1/graph_objects/sankey_gen.go @@ -0,0 +1,939 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeSankey TraceType = "sankey" + +func (trace *Sankey) GetType() TraceType { + return TraceTypeSankey +} + +// Sankey 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. +type Sankey struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Arrangement + // default: snap + // type: enumerated + // 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. + Arrangement SankeyArrangement `json:"arrangement,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Domain + // role: Object + Domain *SankeyDomain `json:"domain,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo SankeyHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *SankeyHoverlabel `json:"hoverlabel,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *SankeyLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Link + // role: Object + Link *SankeyLink `json:"link,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Node + // role: Object + Node *SankeyNode `json:"node,omitempty"` + + // Orientation + // default: h + // type: enumerated + // Sets the orientation of the Sankey diagram. + Orientation SankeyOrientation `json:"orientation,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Stream + // role: Object + Stream *SankeyStream `json:"stream,omitempty"` + + // Textfont + // role: Object + Textfont *SankeyTextfont `json:"textfont,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Valueformat + // arrayOK: false + // 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. + Valueformat String `json:"valueformat,omitempty"` + + // Valuesuffix + // arrayOK: false + // type: string + // Adds a unit to follow the value in the hover tooltip. Add a space if a separation is necessary from the value. + Valuesuffix String `json:"valuesuffix,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible SankeyVisible `json:"visible,omitempty"` +} + +// SankeyDomain +type SankeyDomain struct { + + // Column + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this column in the grid for this sankey trace . + Column int64 `json:"column,omitempty"` + + // Row + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this row in the grid for this sankey trace . + Row int64 `json:"row,omitempty"` + + // X + // arrayOK: false + // type: info_array + // Sets the horizontal domain of this sankey trace (in plot fraction). + X interface{} `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: info_array + // Sets the vertical domain of this sankey trace (in plot fraction). + Y interface{} `json:"y,omitempty"` +} + +// SankeyHoverlabelFont Sets the font used in hover labels. +type SankeyHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// SankeyHoverlabel +type SankeyHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align SankeyHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *SankeyHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// SankeyLegendgrouptitleFont Sets this legend group's title font. +type SankeyLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// SankeyLegendgrouptitle +type SankeyLegendgrouptitle struct { + + // Font + // role: Object + Font *SankeyLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// SankeyLinkHoverlabelFont Sets the font used in hover labels. +type SankeyLinkHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// SankeyLinkHoverlabel +type SankeyLinkHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align SankeyLinkHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *SankeyLinkHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// SankeyLinkLine +type SankeyLinkLine struct { + + // Color + // arrayOK: true + // type: color + // Sets the color of the `line` around each `link`. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the `line` around each `link`. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// SankeyLink The links of the Sankey plot. +type SankeyLink struct { + + // Arrowlen + // arrayOK: false + // type: number + // Sets the length (in px) of the links arrow, if 0 no arrow will be drawn. + Arrowlen float64 `json:"arrowlen,omitempty"` + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Colorscales + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Colorscales interface{} `json:"colorscales,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Customdata + // arrayOK: false + // type: data_array + // Assigns extra data to each link. + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Hovercolor + // arrayOK: true + // type: color + // 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. + Hovercolor Color `json:"hovercolor,omitempty"` + + // Hovercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovercolor`. + Hovercolorsrc String `json:"hovercolorsrc,omitempty"` + + // Hoverinfo + // default: all + // type: enumerated + // 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. + Hoverinfo SankeyLinkHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *SankeyLinkHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Variables `source` and `target` are node objects.Finally, the template string has access to variables `value` and `label`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Label + // arrayOK: false + // type: data_array + // The shown name of the link. + Label interface{} `json:"label,omitempty"` + + // Labelsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `label`. + Labelsrc String `json:"labelsrc,omitempty"` + + // Line + // role: Object + Line *SankeyLinkLine `json:"line,omitempty"` + + // Source + // arrayOK: false + // type: data_array + // An integer number `[0..nodes.length - 1]` that represents the source node. + Source interface{} `json:"source,omitempty"` + + // Sourcesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `source`. + Sourcesrc String `json:"sourcesrc,omitempty"` + + // Target + // arrayOK: false + // type: data_array + // An integer number `[0..nodes.length - 1]` that represents the target node. + Target interface{} `json:"target,omitempty"` + + // Targetsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `target`. + Targetsrc String `json:"targetsrc,omitempty"` + + // Value + // arrayOK: false + // type: data_array + // A numeric value representing the flow volume value. + Value interface{} `json:"value,omitempty"` + + // Valuesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `value`. + Valuesrc String `json:"valuesrc,omitempty"` +} + +// SankeyNodeHoverlabelFont Sets the font used in hover labels. +type SankeyNodeHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// SankeyNodeHoverlabel +type SankeyNodeHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align SankeyNodeHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *SankeyNodeHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// SankeyNodeLine +type SankeyNodeLine struct { + + // Color + // arrayOK: true + // type: color + // Sets the color of the `line` around each `node`. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the `line` around each `node`. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// SankeyNode The nodes of the Sankey plot. +type SankeyNode struct { + + // Align + // default: justify + // type: enumerated + // Sets the alignment method used to position the nodes along the horizontal axis. + Align SankeyNodeAlign `json:"align,omitempty"` + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Customdata + // arrayOK: false + // type: data_array + // Assigns extra data to each node. + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Groups + // arrayOK: false + // type: info_array + // Groups of nodes. Each group is defined by an array with the indices of the nodes it contains. Multiple groups can be specified. + Groups interface{} `json:"groups,omitempty"` + + // Hoverinfo + // default: all + // type: enumerated + // 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. + Hoverinfo SankeyNodeHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *SankeyNodeHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Variables `sourceLinks` and `targetLinks` are arrays of link objects.Finally, the template string has access to variables `value` and `label`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Label + // arrayOK: false + // type: data_array + // The shown name of the node. + Label interface{} `json:"label,omitempty"` + + // Labelsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `label`. + Labelsrc String `json:"labelsrc,omitempty"` + + // Line + // role: Object + Line *SankeyNodeLine `json:"line,omitempty"` + + // Pad + // arrayOK: false + // type: number + // Sets the padding (in px) between the `nodes`. + Pad float64 `json:"pad,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness (in px) of the `nodes`. + Thickness float64 `json:"thickness,omitempty"` + + // X + // arrayOK: false + // type: data_array + // The normalized horizontal position of the node. + X interface{} `json:"x,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // The normalized vertical position of the node. + Y interface{} `json:"y,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` +} + +// SankeyStream +type SankeyStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// SankeyTextfont Sets the font for node labels +type SankeyTextfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// SankeyArrangement 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. +type SankeyArrangement string + +const ( + SankeyArrangementSnap SankeyArrangement = "snap" + SankeyArrangementPerpendicular SankeyArrangement = "perpendicular" + SankeyArrangementFreeform SankeyArrangement = "freeform" + SankeyArrangementFixed SankeyArrangement = "fixed" +) + +// SankeyHoverlabelAlign 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 +type SankeyHoverlabelAlign string + +const ( + SankeyHoverlabelAlignLeft SankeyHoverlabelAlign = "left" + SankeyHoverlabelAlignRight SankeyHoverlabelAlign = "right" + SankeyHoverlabelAlignAuto SankeyHoverlabelAlign = "auto" +) + +// SankeyLinkHoverinfo 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. +type SankeyLinkHoverinfo string + +const ( + SankeyLinkHoverinfoAll SankeyLinkHoverinfo = "all" + SankeyLinkHoverinfoNone SankeyLinkHoverinfo = "none" + SankeyLinkHoverinfoSkip SankeyLinkHoverinfo = "skip" +) + +// SankeyLinkHoverlabelAlign 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 +type SankeyLinkHoverlabelAlign string + +const ( + SankeyLinkHoverlabelAlignLeft SankeyLinkHoverlabelAlign = "left" + SankeyLinkHoverlabelAlignRight SankeyLinkHoverlabelAlign = "right" + SankeyLinkHoverlabelAlignAuto SankeyLinkHoverlabelAlign = "auto" +) + +// SankeyNodeAlign Sets the alignment method used to position the nodes along the horizontal axis. +type SankeyNodeAlign string + +const ( + SankeyNodeAlignJustify SankeyNodeAlign = "justify" + SankeyNodeAlignLeft SankeyNodeAlign = "left" + SankeyNodeAlignRight SankeyNodeAlign = "right" + SankeyNodeAlignCenter SankeyNodeAlign = "center" +) + +// SankeyNodeHoverinfo 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. +type SankeyNodeHoverinfo string + +const ( + SankeyNodeHoverinfoAll SankeyNodeHoverinfo = "all" + SankeyNodeHoverinfoNone SankeyNodeHoverinfo = "none" + SankeyNodeHoverinfoSkip SankeyNodeHoverinfo = "skip" +) + +// SankeyNodeHoverlabelAlign 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 +type SankeyNodeHoverlabelAlign string + +const ( + SankeyNodeHoverlabelAlignLeft SankeyNodeHoverlabelAlign = "left" + SankeyNodeHoverlabelAlignRight SankeyNodeHoverlabelAlign = "right" + SankeyNodeHoverlabelAlignAuto SankeyNodeHoverlabelAlign = "auto" +) + +// SankeyOrientation Sets the orientation of the Sankey diagram. +type SankeyOrientation string + +const ( + SankeyOrientationV SankeyOrientation = "v" + SankeyOrientationH SankeyOrientation = "h" +) + +// SankeyVisible 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). +type SankeyVisible interface{} + +var ( + SankeyVisibleTrue SankeyVisible = true + SankeyVisibleFalse SankeyVisible = false + SankeyVisibleLegendonly SankeyVisible = "legendonly" +) + +// SankeyHoverinfo 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. +type SankeyHoverinfo string + +const ( + // Flags + + // Extra + SankeyHoverinfoAll SankeyHoverinfo = "all" + SankeyHoverinfoNone SankeyHoverinfo = "none" + SankeyHoverinfoSkip SankeyHoverinfo = "skip" +) diff --git a/generated/v2.29.1/graph_objects/scatter3d_gen.go b/generated/v2.29.1/graph_objects/scatter3d_gen.go new file mode 100644 index 0000000..f735702 --- /dev/null +++ b/generated/v2.29.1/graph_objects/scatter3d_gen.go @@ -0,0 +1,2366 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeScatter3d TraceType = "scatter3d" + +func (trace *Scatter3d) GetType() TraceType { + return TraceTypeScatter3d +} + +// Scatter3d 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`. +type Scatter3d struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Connectgaps + // arrayOK: false + // type: boolean + // Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected. + Connectgaps Bool `json:"connectgaps,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // ErrorX + // role: Object + ErrorX *Scatter3dErrorX `json:"error_x,omitempty"` + + // ErrorY + // role: Object + ErrorY *Scatter3dErrorY `json:"error_y,omitempty"` + + // ErrorZ + // role: Object + ErrorZ *Scatter3dErrorZ `json:"error_z,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo Scatter3dHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *Scatter3dHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *Scatter3dLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *Scatter3dLine `json:"line,omitempty"` + + // Marker + // role: Object + Marker *Scatter3dMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Mode + // default: lines+markers + // type: flaglist + // 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*. + Mode Scatter3dMode `json:"mode,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Projection + // role: Object + Projection *Scatter3dProjection `json:"projection,omitempty"` + + // Scene + // arrayOK: false + // type: subplotid + // 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. + Scene String `json:"scene,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Stream + // role: Object + Stream *Scatter3dStream `json:"stream,omitempty"` + + // Surfaceaxis + // default: %!s(float64=-1) + // type: enumerated + // 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. + Surfaceaxis Scatter3dSurfaceaxis `json:"surfaceaxis,omitempty"` + + // Surfacecolor + // arrayOK: false + // type: color + // Sets the surface fill color. + Surfacecolor Color `json:"surfacecolor,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textfont + // role: Object + Textfont *Scatter3dTextfont `json:"textfont,omitempty"` + + // Textposition + // default: top center + // type: enumerated + // Sets the positions of the `text` elements with respects to the (x,y) coordinates. + Textposition Scatter3dTextposition `json:"textposition,omitempty"` + + // Textpositionsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `textposition`. + Textpositionsrc String `json:"textpositionsrc,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: true + // 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. + Texttemplate String `json:"texttemplate,omitempty"` + + // Texttemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `texttemplate`. + Texttemplatesrc String `json:"texttemplatesrc,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible Scatter3dVisible `json:"visible,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the x coordinates. + X interface{} `json:"x,omitempty"` + + // Xcalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `x` date data. + Xcalendar Scatter3dXcalendar `json:"xcalendar,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the y coordinates. + Y interface{} `json:"y,omitempty"` + + // Ycalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `y` date data. + Ycalendar Scatter3dYcalendar `json:"ycalendar,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` + + // Z + // arrayOK: false + // type: data_array + // Sets the z coordinates. + Z interface{} `json:"z,omitempty"` + + // Zcalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `z` date data. + Zcalendar Scatter3dZcalendar `json:"zcalendar,omitempty"` + + // Zhoverformat + // arrayOK: false + // 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`. + Zhoverformat String `json:"zhoverformat,omitempty"` + + // Zsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `z`. + Zsrc String `json:"zsrc,omitempty"` +} + +// Scatter3dErrorX +type Scatter3dErrorX struct { + + // Array + // arrayOK: false + // type: data_array + // Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data. + Array interface{} `json:"array,omitempty"` + + // Arrayminus + // arrayOK: false + // 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. + Arrayminus interface{} `json:"arrayminus,omitempty"` + + // Arrayminussrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `arrayminus`. + Arrayminussrc String `json:"arrayminussrc,omitempty"` + + // Arraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `array`. + Arraysrc String `json:"arraysrc,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the stoke color of the error bars. + Color Color `json:"color,omitempty"` + + // CopyZstyle + // arrayOK: false + // type: boolean + // + CopyZstyle Bool `json:"copy_zstyle,omitempty"` + + // Symmetric + // arrayOK: false + // 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. + Symmetric Bool `json:"symmetric,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness (in px) of the error bars. + Thickness float64 `json:"thickness,omitempty"` + + // Traceref + // arrayOK: false + // type: integer + // + Traceref int64 `json:"traceref,omitempty"` + + // Tracerefminus + // arrayOK: false + // type: integer + // + Tracerefminus int64 `json:"tracerefminus,omitempty"` + + // Type + // default: %!s() + // type: enumerated + // 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`. + Type Scatter3dErrorXType `json:"type,omitempty"` + + // Value + // arrayOK: false + // type: number + // 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. + Value float64 `json:"value,omitempty"` + + // Valueminus + // arrayOK: false + // type: number + // 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 + Valueminus float64 `json:"valueminus,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Determines whether or not this set of error bars is visible. + Visible Bool `json:"visible,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of the cross-bar at both ends of the error bars. + Width float64 `json:"width,omitempty"` +} + +// Scatter3dErrorY +type Scatter3dErrorY struct { + + // Array + // arrayOK: false + // type: data_array + // Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data. + Array interface{} `json:"array,omitempty"` + + // Arrayminus + // arrayOK: false + // 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. + Arrayminus interface{} `json:"arrayminus,omitempty"` + + // Arrayminussrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `arrayminus`. + Arrayminussrc String `json:"arrayminussrc,omitempty"` + + // Arraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `array`. + Arraysrc String `json:"arraysrc,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the stoke color of the error bars. + Color Color `json:"color,omitempty"` + + // CopyZstyle + // arrayOK: false + // type: boolean + // + CopyZstyle Bool `json:"copy_zstyle,omitempty"` + + // Symmetric + // arrayOK: false + // 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. + Symmetric Bool `json:"symmetric,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness (in px) of the error bars. + Thickness float64 `json:"thickness,omitempty"` + + // Traceref + // arrayOK: false + // type: integer + // + Traceref int64 `json:"traceref,omitempty"` + + // Tracerefminus + // arrayOK: false + // type: integer + // + Tracerefminus int64 `json:"tracerefminus,omitempty"` + + // Type + // default: %!s() + // type: enumerated + // 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`. + Type Scatter3dErrorYType `json:"type,omitempty"` + + // Value + // arrayOK: false + // type: number + // 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. + Value float64 `json:"value,omitempty"` + + // Valueminus + // arrayOK: false + // type: number + // 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 + Valueminus float64 `json:"valueminus,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Determines whether or not this set of error bars is visible. + Visible Bool `json:"visible,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of the cross-bar at both ends of the error bars. + Width float64 `json:"width,omitempty"` +} + +// Scatter3dErrorZ +type Scatter3dErrorZ struct { + + // Array + // arrayOK: false + // type: data_array + // Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data. + Array interface{} `json:"array,omitempty"` + + // Arrayminus + // arrayOK: false + // 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. + Arrayminus interface{} `json:"arrayminus,omitempty"` + + // Arrayminussrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `arrayminus`. + Arrayminussrc String `json:"arrayminussrc,omitempty"` + + // Arraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `array`. + Arraysrc String `json:"arraysrc,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the stoke color of the error bars. + Color Color `json:"color,omitempty"` + + // Symmetric + // arrayOK: false + // 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. + Symmetric Bool `json:"symmetric,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness (in px) of the error bars. + Thickness float64 `json:"thickness,omitempty"` + + // Traceref + // arrayOK: false + // type: integer + // + Traceref int64 `json:"traceref,omitempty"` + + // Tracerefminus + // arrayOK: false + // type: integer + // + Tracerefminus int64 `json:"tracerefminus,omitempty"` + + // Type + // default: %!s() + // type: enumerated + // 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`. + Type Scatter3dErrorZType `json:"type,omitempty"` + + // Value + // arrayOK: false + // type: number + // 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. + Value float64 `json:"value,omitempty"` + + // Valueminus + // arrayOK: false + // type: number + // 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 + Valueminus float64 `json:"valueminus,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Determines whether or not this set of error bars is visible. + Visible Bool `json:"visible,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of the cross-bar at both ends of the error bars. + Width float64 `json:"width,omitempty"` +} + +// Scatter3dHoverlabelFont Sets the font used in hover labels. +type Scatter3dHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// Scatter3dHoverlabel +type Scatter3dHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align Scatter3dHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *Scatter3dHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// Scatter3dLegendgrouptitleFont Sets this legend group's title font. +type Scatter3dLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// Scatter3dLegendgrouptitle +type Scatter3dLegendgrouptitle struct { + + // Font + // role: Object + Font *Scatter3dLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// Scatter3dLineColorbarTickfont Sets the color bar's tick label font +type Scatter3dLineColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// Scatter3dLineColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type Scatter3dLineColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// Scatter3dLineColorbarTitle +type Scatter3dLineColorbarTitle struct { + + // Font + // role: Object + Font *Scatter3dLineColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side Scatter3dLineColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// Scatter3dLineColorbar +type Scatter3dLineColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat Scatter3dLineColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode Scatter3dLineColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation Scatter3dLineColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent Scatter3dLineColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix Scatter3dLineColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix Scatter3dLineColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode Scatter3dLineColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *Scatter3dLineColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow Scatter3dLineColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition Scatter3dLineColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode Scatter3dLineColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks Scatter3dLineColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *Scatter3dLineColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor Scatter3dLineColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref Scatter3dLineColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor Scatter3dLineColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref Scatter3dLineColorbarYref `json:"yref,omitempty"` +} + +// Scatter3dLine +type Scatter3dLine struct { + + // Autocolorscale + // arrayOK: false + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *Scatter3dLineColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Dash + // default: solid + // type: enumerated + // Sets the dash style of the lines. + Dash Scatter3dLineDash `json:"dash,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width (in px). + Width float64 `json:"width,omitempty"` +} + +// Scatter3dMarkerColorbarTickfont Sets the color bar's tick label font +type Scatter3dMarkerColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// Scatter3dMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type Scatter3dMarkerColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// Scatter3dMarkerColorbarTitle +type Scatter3dMarkerColorbarTitle struct { + + // Font + // role: Object + Font *Scatter3dMarkerColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side Scatter3dMarkerColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// Scatter3dMarkerColorbar +type Scatter3dMarkerColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat Scatter3dMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode Scatter3dMarkerColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation Scatter3dMarkerColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent Scatter3dMarkerColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix Scatter3dMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix Scatter3dMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode Scatter3dMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *Scatter3dMarkerColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow Scatter3dMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition Scatter3dMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode Scatter3dMarkerColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks Scatter3dMarkerColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *Scatter3dMarkerColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor Scatter3dMarkerColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref Scatter3dMarkerColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor Scatter3dMarkerColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref Scatter3dMarkerColorbarYref `json:"yref,omitempty"` +} + +// Scatter3dMarkerLine +type Scatter3dMarkerLine struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of the lines bounding the marker points. + Width float64 `json:"width,omitempty"` +} + +// Scatter3dMarker +type Scatter3dMarker struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *Scatter3dMarkerColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Line + // role: Object + Line *Scatter3dMarkerLine `json:"line,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // 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. + Opacity float64 `json:"opacity,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the marker size (in px). + Size float64 `json:"size,omitempty"` + + // Sizemin + // arrayOK: false + // 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. + Sizemin float64 `json:"sizemin,omitempty"` + + // Sizemode + // default: diameter + // type: enumerated + // 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. + Sizemode Scatter3dMarkerSizemode `json:"sizemode,omitempty"` + + // Sizeref + // arrayOK: false + // type: number + // 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`. + Sizeref float64 `json:"sizeref,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Symbol + // default: circle + // type: enumerated + // Sets the marker symbol type. + Symbol Scatter3dMarkerSymbol `json:"symbol,omitempty"` + + // Symbolsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `symbol`. + Symbolsrc String `json:"symbolsrc,omitempty"` +} + +// Scatter3dProjectionX +type Scatter3dProjectionX struct { + + // Opacity + // arrayOK: false + // type: number + // Sets the projection color. + Opacity float64 `json:"opacity,omitempty"` + + // Scale + // arrayOK: false + // type: number + // Sets the scale factor determining the size of the projection marker points. + Scale float64 `json:"scale,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // Sets whether or not projections are shown along the x axis. + Show Bool `json:"show,omitempty"` +} + +// Scatter3dProjectionY +type Scatter3dProjectionY struct { + + // Opacity + // arrayOK: false + // type: number + // Sets the projection color. + Opacity float64 `json:"opacity,omitempty"` + + // Scale + // arrayOK: false + // type: number + // Sets the scale factor determining the size of the projection marker points. + Scale float64 `json:"scale,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // Sets whether or not projections are shown along the y axis. + Show Bool `json:"show,omitempty"` +} + +// Scatter3dProjectionZ +type Scatter3dProjectionZ struct { + + // Opacity + // arrayOK: false + // type: number + // Sets the projection color. + Opacity float64 `json:"opacity,omitempty"` + + // Scale + // arrayOK: false + // type: number + // Sets the scale factor determining the size of the projection marker points. + Scale float64 `json:"scale,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // Sets whether or not projections are shown along the z axis. + Show Bool `json:"show,omitempty"` +} + +// Scatter3dProjection +type Scatter3dProjection struct { + + // X + // role: Object + X *Scatter3dProjectionX `json:"x,omitempty"` + + // Y + // role: Object + Y *Scatter3dProjectionY `json:"y,omitempty"` + + // Z + // role: Object + Z *Scatter3dProjectionZ `json:"z,omitempty"` +} + +// Scatter3dStream +type Scatter3dStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// Scatter3dTextfont +type Scatter3dTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// Scatter3dErrorXType 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`. +type Scatter3dErrorXType string + +const ( + Scatter3dErrorXTypePercent Scatter3dErrorXType = "percent" + Scatter3dErrorXTypeConstant Scatter3dErrorXType = "constant" + Scatter3dErrorXTypeSqrt Scatter3dErrorXType = "sqrt" + Scatter3dErrorXTypeData Scatter3dErrorXType = "data" +) + +// Scatter3dErrorYType 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`. +type Scatter3dErrorYType string + +const ( + Scatter3dErrorYTypePercent Scatter3dErrorYType = "percent" + Scatter3dErrorYTypeConstant Scatter3dErrorYType = "constant" + Scatter3dErrorYTypeSqrt Scatter3dErrorYType = "sqrt" + Scatter3dErrorYTypeData Scatter3dErrorYType = "data" +) + +// Scatter3dErrorZType 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`. +type Scatter3dErrorZType string + +const ( + Scatter3dErrorZTypePercent Scatter3dErrorZType = "percent" + Scatter3dErrorZTypeConstant Scatter3dErrorZType = "constant" + Scatter3dErrorZTypeSqrt Scatter3dErrorZType = "sqrt" + Scatter3dErrorZTypeData Scatter3dErrorZType = "data" +) + +// Scatter3dHoverlabelAlign 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 +type Scatter3dHoverlabelAlign string + +const ( + Scatter3dHoverlabelAlignLeft Scatter3dHoverlabelAlign = "left" + Scatter3dHoverlabelAlignRight Scatter3dHoverlabelAlign = "right" + Scatter3dHoverlabelAlignAuto Scatter3dHoverlabelAlign = "auto" +) + +// Scatter3dLineColorbarExponentformat 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. +type Scatter3dLineColorbarExponentformat string + +const ( + Scatter3dLineColorbarExponentformatNone Scatter3dLineColorbarExponentformat = "none" + Scatter3dLineColorbarExponentformatE1 Scatter3dLineColorbarExponentformat = "e" + Scatter3dLineColorbarExponentformatE2 Scatter3dLineColorbarExponentformat = "E" + Scatter3dLineColorbarExponentformatPower Scatter3dLineColorbarExponentformat = "power" + Scatter3dLineColorbarExponentformatSI Scatter3dLineColorbarExponentformat = "SI" + Scatter3dLineColorbarExponentformatB Scatter3dLineColorbarExponentformat = "B" +) + +// Scatter3dLineColorbarLenmode 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. +type Scatter3dLineColorbarLenmode string + +const ( + Scatter3dLineColorbarLenmodeFraction Scatter3dLineColorbarLenmode = "fraction" + Scatter3dLineColorbarLenmodePixels Scatter3dLineColorbarLenmode = "pixels" +) + +// Scatter3dLineColorbarOrientation Sets the orientation of the colorbar. +type Scatter3dLineColorbarOrientation string + +const ( + Scatter3dLineColorbarOrientationH Scatter3dLineColorbarOrientation = "h" + Scatter3dLineColorbarOrientationV Scatter3dLineColorbarOrientation = "v" +) + +// Scatter3dLineColorbarShowexponent 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. +type Scatter3dLineColorbarShowexponent string + +const ( + Scatter3dLineColorbarShowexponentAll Scatter3dLineColorbarShowexponent = "all" + Scatter3dLineColorbarShowexponentFirst Scatter3dLineColorbarShowexponent = "first" + Scatter3dLineColorbarShowexponentLast Scatter3dLineColorbarShowexponent = "last" + Scatter3dLineColorbarShowexponentNone Scatter3dLineColorbarShowexponent = "none" +) + +// Scatter3dLineColorbarShowtickprefix 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. +type Scatter3dLineColorbarShowtickprefix string + +const ( + Scatter3dLineColorbarShowtickprefixAll Scatter3dLineColorbarShowtickprefix = "all" + Scatter3dLineColorbarShowtickprefixFirst Scatter3dLineColorbarShowtickprefix = "first" + Scatter3dLineColorbarShowtickprefixLast Scatter3dLineColorbarShowtickprefix = "last" + Scatter3dLineColorbarShowtickprefixNone Scatter3dLineColorbarShowtickprefix = "none" +) + +// Scatter3dLineColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type Scatter3dLineColorbarShowticksuffix string + +const ( + Scatter3dLineColorbarShowticksuffixAll Scatter3dLineColorbarShowticksuffix = "all" + Scatter3dLineColorbarShowticksuffixFirst Scatter3dLineColorbarShowticksuffix = "first" + Scatter3dLineColorbarShowticksuffixLast Scatter3dLineColorbarShowticksuffix = "last" + Scatter3dLineColorbarShowticksuffixNone Scatter3dLineColorbarShowticksuffix = "none" +) + +// Scatter3dLineColorbarThicknessmode 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. +type Scatter3dLineColorbarThicknessmode string + +const ( + Scatter3dLineColorbarThicknessmodeFraction Scatter3dLineColorbarThicknessmode = "fraction" + Scatter3dLineColorbarThicknessmodePixels Scatter3dLineColorbarThicknessmode = "pixels" +) + +// Scatter3dLineColorbarTicklabeloverflow 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*. +type Scatter3dLineColorbarTicklabeloverflow string + +const ( + Scatter3dLineColorbarTicklabeloverflowAllow Scatter3dLineColorbarTicklabeloverflow = "allow" + Scatter3dLineColorbarTicklabeloverflowHidePastDiv Scatter3dLineColorbarTicklabeloverflow = "hide past div" + Scatter3dLineColorbarTicklabeloverflowHidePastDomain Scatter3dLineColorbarTicklabeloverflow = "hide past domain" +) + +// Scatter3dLineColorbarTicklabelposition 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*. +type Scatter3dLineColorbarTicklabelposition string + +const ( + Scatter3dLineColorbarTicklabelpositionOutside Scatter3dLineColorbarTicklabelposition = "outside" + Scatter3dLineColorbarTicklabelpositionInside Scatter3dLineColorbarTicklabelposition = "inside" + Scatter3dLineColorbarTicklabelpositionOutsideTop Scatter3dLineColorbarTicklabelposition = "outside top" + Scatter3dLineColorbarTicklabelpositionInsideTop Scatter3dLineColorbarTicklabelposition = "inside top" + Scatter3dLineColorbarTicklabelpositionOutsideLeft Scatter3dLineColorbarTicklabelposition = "outside left" + Scatter3dLineColorbarTicklabelpositionInsideLeft Scatter3dLineColorbarTicklabelposition = "inside left" + Scatter3dLineColorbarTicklabelpositionOutsideRight Scatter3dLineColorbarTicklabelposition = "outside right" + Scatter3dLineColorbarTicklabelpositionInsideRight Scatter3dLineColorbarTicklabelposition = "inside right" + Scatter3dLineColorbarTicklabelpositionOutsideBottom Scatter3dLineColorbarTicklabelposition = "outside bottom" + Scatter3dLineColorbarTicklabelpositionInsideBottom Scatter3dLineColorbarTicklabelposition = "inside bottom" +) + +// Scatter3dLineColorbarTickmode 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). +type Scatter3dLineColorbarTickmode string + +const ( + Scatter3dLineColorbarTickmodeAuto Scatter3dLineColorbarTickmode = "auto" + Scatter3dLineColorbarTickmodeLinear Scatter3dLineColorbarTickmode = "linear" + Scatter3dLineColorbarTickmodeArray Scatter3dLineColorbarTickmode = "array" +) + +// Scatter3dLineColorbarTicks 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. +type Scatter3dLineColorbarTicks string + +const ( + Scatter3dLineColorbarTicksOutside Scatter3dLineColorbarTicks = "outside" + Scatter3dLineColorbarTicksInside Scatter3dLineColorbarTicks = "inside" + Scatter3dLineColorbarTicksEmpty Scatter3dLineColorbarTicks = "" +) + +// Scatter3dLineColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type Scatter3dLineColorbarTitleSide string + +const ( + Scatter3dLineColorbarTitleSideRight Scatter3dLineColorbarTitleSide = "right" + Scatter3dLineColorbarTitleSideTop Scatter3dLineColorbarTitleSide = "top" + Scatter3dLineColorbarTitleSideBottom Scatter3dLineColorbarTitleSide = "bottom" +) + +// Scatter3dLineColorbarXanchor 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*. +type Scatter3dLineColorbarXanchor string + +const ( + Scatter3dLineColorbarXanchorLeft Scatter3dLineColorbarXanchor = "left" + Scatter3dLineColorbarXanchorCenter Scatter3dLineColorbarXanchor = "center" + Scatter3dLineColorbarXanchorRight Scatter3dLineColorbarXanchor = "right" +) + +// Scatter3dLineColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type Scatter3dLineColorbarXref string + +const ( + Scatter3dLineColorbarXrefContainer Scatter3dLineColorbarXref = "container" + Scatter3dLineColorbarXrefPaper Scatter3dLineColorbarXref = "paper" +) + +// Scatter3dLineColorbarYanchor 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*. +type Scatter3dLineColorbarYanchor string + +const ( + Scatter3dLineColorbarYanchorTop Scatter3dLineColorbarYanchor = "top" + Scatter3dLineColorbarYanchorMiddle Scatter3dLineColorbarYanchor = "middle" + Scatter3dLineColorbarYanchorBottom Scatter3dLineColorbarYanchor = "bottom" +) + +// Scatter3dLineColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type Scatter3dLineColorbarYref string + +const ( + Scatter3dLineColorbarYrefContainer Scatter3dLineColorbarYref = "container" + Scatter3dLineColorbarYrefPaper Scatter3dLineColorbarYref = "paper" +) + +// Scatter3dLineDash Sets the dash style of the lines. +type Scatter3dLineDash string + +const ( + Scatter3dLineDashDash Scatter3dLineDash = "dash" + Scatter3dLineDashDashdot Scatter3dLineDash = "dashdot" + Scatter3dLineDashDot Scatter3dLineDash = "dot" + Scatter3dLineDashLongdash Scatter3dLineDash = "longdash" + Scatter3dLineDashLongdashdot Scatter3dLineDash = "longdashdot" + Scatter3dLineDashSolid Scatter3dLineDash = "solid" +) + +// Scatter3dMarkerColorbarExponentformat 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. +type Scatter3dMarkerColorbarExponentformat string + +const ( + Scatter3dMarkerColorbarExponentformatNone Scatter3dMarkerColorbarExponentformat = "none" + Scatter3dMarkerColorbarExponentformatE1 Scatter3dMarkerColorbarExponentformat = "e" + Scatter3dMarkerColorbarExponentformatE2 Scatter3dMarkerColorbarExponentformat = "E" + Scatter3dMarkerColorbarExponentformatPower Scatter3dMarkerColorbarExponentformat = "power" + Scatter3dMarkerColorbarExponentformatSI Scatter3dMarkerColorbarExponentformat = "SI" + Scatter3dMarkerColorbarExponentformatB Scatter3dMarkerColorbarExponentformat = "B" +) + +// Scatter3dMarkerColorbarLenmode 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. +type Scatter3dMarkerColorbarLenmode string + +const ( + Scatter3dMarkerColorbarLenmodeFraction Scatter3dMarkerColorbarLenmode = "fraction" + Scatter3dMarkerColorbarLenmodePixels Scatter3dMarkerColorbarLenmode = "pixels" +) + +// Scatter3dMarkerColorbarOrientation Sets the orientation of the colorbar. +type Scatter3dMarkerColorbarOrientation string + +const ( + Scatter3dMarkerColorbarOrientationH Scatter3dMarkerColorbarOrientation = "h" + Scatter3dMarkerColorbarOrientationV Scatter3dMarkerColorbarOrientation = "v" +) + +// Scatter3dMarkerColorbarShowexponent 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. +type Scatter3dMarkerColorbarShowexponent string + +const ( + Scatter3dMarkerColorbarShowexponentAll Scatter3dMarkerColorbarShowexponent = "all" + Scatter3dMarkerColorbarShowexponentFirst Scatter3dMarkerColorbarShowexponent = "first" + Scatter3dMarkerColorbarShowexponentLast Scatter3dMarkerColorbarShowexponent = "last" + Scatter3dMarkerColorbarShowexponentNone Scatter3dMarkerColorbarShowexponent = "none" +) + +// Scatter3dMarkerColorbarShowtickprefix 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. +type Scatter3dMarkerColorbarShowtickprefix string + +const ( + Scatter3dMarkerColorbarShowtickprefixAll Scatter3dMarkerColorbarShowtickprefix = "all" + Scatter3dMarkerColorbarShowtickprefixFirst Scatter3dMarkerColorbarShowtickprefix = "first" + Scatter3dMarkerColorbarShowtickprefixLast Scatter3dMarkerColorbarShowtickprefix = "last" + Scatter3dMarkerColorbarShowtickprefixNone Scatter3dMarkerColorbarShowtickprefix = "none" +) + +// Scatter3dMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type Scatter3dMarkerColorbarShowticksuffix string + +const ( + Scatter3dMarkerColorbarShowticksuffixAll Scatter3dMarkerColorbarShowticksuffix = "all" + Scatter3dMarkerColorbarShowticksuffixFirst Scatter3dMarkerColorbarShowticksuffix = "first" + Scatter3dMarkerColorbarShowticksuffixLast Scatter3dMarkerColorbarShowticksuffix = "last" + Scatter3dMarkerColorbarShowticksuffixNone Scatter3dMarkerColorbarShowticksuffix = "none" +) + +// Scatter3dMarkerColorbarThicknessmode 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. +type Scatter3dMarkerColorbarThicknessmode string + +const ( + Scatter3dMarkerColorbarThicknessmodeFraction Scatter3dMarkerColorbarThicknessmode = "fraction" + Scatter3dMarkerColorbarThicknessmodePixels Scatter3dMarkerColorbarThicknessmode = "pixels" +) + +// Scatter3dMarkerColorbarTicklabeloverflow 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*. +type Scatter3dMarkerColorbarTicklabeloverflow string + +const ( + Scatter3dMarkerColorbarTicklabeloverflowAllow Scatter3dMarkerColorbarTicklabeloverflow = "allow" + Scatter3dMarkerColorbarTicklabeloverflowHidePastDiv Scatter3dMarkerColorbarTicklabeloverflow = "hide past div" + Scatter3dMarkerColorbarTicklabeloverflowHidePastDomain Scatter3dMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// Scatter3dMarkerColorbarTicklabelposition 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*. +type Scatter3dMarkerColorbarTicklabelposition string + +const ( + Scatter3dMarkerColorbarTicklabelpositionOutside Scatter3dMarkerColorbarTicklabelposition = "outside" + Scatter3dMarkerColorbarTicklabelpositionInside Scatter3dMarkerColorbarTicklabelposition = "inside" + Scatter3dMarkerColorbarTicklabelpositionOutsideTop Scatter3dMarkerColorbarTicklabelposition = "outside top" + Scatter3dMarkerColorbarTicklabelpositionInsideTop Scatter3dMarkerColorbarTicklabelposition = "inside top" + Scatter3dMarkerColorbarTicklabelpositionOutsideLeft Scatter3dMarkerColorbarTicklabelposition = "outside left" + Scatter3dMarkerColorbarTicklabelpositionInsideLeft Scatter3dMarkerColorbarTicklabelposition = "inside left" + Scatter3dMarkerColorbarTicklabelpositionOutsideRight Scatter3dMarkerColorbarTicklabelposition = "outside right" + Scatter3dMarkerColorbarTicklabelpositionInsideRight Scatter3dMarkerColorbarTicklabelposition = "inside right" + Scatter3dMarkerColorbarTicklabelpositionOutsideBottom Scatter3dMarkerColorbarTicklabelposition = "outside bottom" + Scatter3dMarkerColorbarTicklabelpositionInsideBottom Scatter3dMarkerColorbarTicklabelposition = "inside bottom" +) + +// Scatter3dMarkerColorbarTickmode 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). +type Scatter3dMarkerColorbarTickmode string + +const ( + Scatter3dMarkerColorbarTickmodeAuto Scatter3dMarkerColorbarTickmode = "auto" + Scatter3dMarkerColorbarTickmodeLinear Scatter3dMarkerColorbarTickmode = "linear" + Scatter3dMarkerColorbarTickmodeArray Scatter3dMarkerColorbarTickmode = "array" +) + +// Scatter3dMarkerColorbarTicks 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. +type Scatter3dMarkerColorbarTicks string + +const ( + Scatter3dMarkerColorbarTicksOutside Scatter3dMarkerColorbarTicks = "outside" + Scatter3dMarkerColorbarTicksInside Scatter3dMarkerColorbarTicks = "inside" + Scatter3dMarkerColorbarTicksEmpty Scatter3dMarkerColorbarTicks = "" +) + +// Scatter3dMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type Scatter3dMarkerColorbarTitleSide string + +const ( + Scatter3dMarkerColorbarTitleSideRight Scatter3dMarkerColorbarTitleSide = "right" + Scatter3dMarkerColorbarTitleSideTop Scatter3dMarkerColorbarTitleSide = "top" + Scatter3dMarkerColorbarTitleSideBottom Scatter3dMarkerColorbarTitleSide = "bottom" +) + +// Scatter3dMarkerColorbarXanchor 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*. +type Scatter3dMarkerColorbarXanchor string + +const ( + Scatter3dMarkerColorbarXanchorLeft Scatter3dMarkerColorbarXanchor = "left" + Scatter3dMarkerColorbarXanchorCenter Scatter3dMarkerColorbarXanchor = "center" + Scatter3dMarkerColorbarXanchorRight Scatter3dMarkerColorbarXanchor = "right" +) + +// Scatter3dMarkerColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type Scatter3dMarkerColorbarXref string + +const ( + Scatter3dMarkerColorbarXrefContainer Scatter3dMarkerColorbarXref = "container" + Scatter3dMarkerColorbarXrefPaper Scatter3dMarkerColorbarXref = "paper" +) + +// Scatter3dMarkerColorbarYanchor 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*. +type Scatter3dMarkerColorbarYanchor string + +const ( + Scatter3dMarkerColorbarYanchorTop Scatter3dMarkerColorbarYanchor = "top" + Scatter3dMarkerColorbarYanchorMiddle Scatter3dMarkerColorbarYanchor = "middle" + Scatter3dMarkerColorbarYanchorBottom Scatter3dMarkerColorbarYanchor = "bottom" +) + +// Scatter3dMarkerColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type Scatter3dMarkerColorbarYref string + +const ( + Scatter3dMarkerColorbarYrefContainer Scatter3dMarkerColorbarYref = "container" + Scatter3dMarkerColorbarYrefPaper Scatter3dMarkerColorbarYref = "paper" +) + +// Scatter3dMarkerSizemode 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. +type Scatter3dMarkerSizemode string + +const ( + Scatter3dMarkerSizemodeDiameter Scatter3dMarkerSizemode = "diameter" + Scatter3dMarkerSizemodeArea Scatter3dMarkerSizemode = "area" +) + +// Scatter3dMarkerSymbol Sets the marker symbol type. +type Scatter3dMarkerSymbol string + +const ( + Scatter3dMarkerSymbolCircle Scatter3dMarkerSymbol = "circle" + Scatter3dMarkerSymbolCircleOpen Scatter3dMarkerSymbol = "circle-open" + Scatter3dMarkerSymbolCross Scatter3dMarkerSymbol = "cross" + Scatter3dMarkerSymbolDiamond Scatter3dMarkerSymbol = "diamond" + Scatter3dMarkerSymbolDiamondOpen Scatter3dMarkerSymbol = "diamond-open" + Scatter3dMarkerSymbolSquare Scatter3dMarkerSymbol = "square" + Scatter3dMarkerSymbolSquareOpen Scatter3dMarkerSymbol = "square-open" + Scatter3dMarkerSymbolX Scatter3dMarkerSymbol = "x" +) + +// Scatter3dSurfaceaxis 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. +type Scatter3dSurfaceaxis interface{} + +var ( + Scatter3dSurfaceaxisNumberNegative1 Scatter3dSurfaceaxis = -1 + Scatter3dSurfaceaxisNumber0 Scatter3dSurfaceaxis = 0 + Scatter3dSurfaceaxisNumber1 Scatter3dSurfaceaxis = 1 + Scatter3dSurfaceaxisNumber2 Scatter3dSurfaceaxis = 2 +) + +// Scatter3dTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. +type Scatter3dTextposition string + +const ( + Scatter3dTextpositionTopLeft Scatter3dTextposition = "top left" + Scatter3dTextpositionTopCenter Scatter3dTextposition = "top center" + Scatter3dTextpositionTopRight Scatter3dTextposition = "top right" + Scatter3dTextpositionMiddleLeft Scatter3dTextposition = "middle left" + Scatter3dTextpositionMiddleCenter Scatter3dTextposition = "middle center" + Scatter3dTextpositionMiddleRight Scatter3dTextposition = "middle right" + Scatter3dTextpositionBottomLeft Scatter3dTextposition = "bottom left" + Scatter3dTextpositionBottomCenter Scatter3dTextposition = "bottom center" + Scatter3dTextpositionBottomRight Scatter3dTextposition = "bottom right" +) + +// Scatter3dVisible 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). +type Scatter3dVisible interface{} + +var ( + Scatter3dVisibleTrue Scatter3dVisible = true + Scatter3dVisibleFalse Scatter3dVisible = false + Scatter3dVisibleLegendonly Scatter3dVisible = "legendonly" +) + +// Scatter3dXcalendar Sets the calendar system to use with `x` date data. +type Scatter3dXcalendar string + +const ( + Scatter3dXcalendarChinese Scatter3dXcalendar = "chinese" + Scatter3dXcalendarCoptic Scatter3dXcalendar = "coptic" + Scatter3dXcalendarDiscworld Scatter3dXcalendar = "discworld" + Scatter3dXcalendarEthiopian Scatter3dXcalendar = "ethiopian" + Scatter3dXcalendarGregorian Scatter3dXcalendar = "gregorian" + Scatter3dXcalendarHebrew Scatter3dXcalendar = "hebrew" + Scatter3dXcalendarIslamic Scatter3dXcalendar = "islamic" + Scatter3dXcalendarJalali Scatter3dXcalendar = "jalali" + Scatter3dXcalendarJulian Scatter3dXcalendar = "julian" + Scatter3dXcalendarMayan Scatter3dXcalendar = "mayan" + Scatter3dXcalendarNanakshahi Scatter3dXcalendar = "nanakshahi" + Scatter3dXcalendarNepali Scatter3dXcalendar = "nepali" + Scatter3dXcalendarPersian Scatter3dXcalendar = "persian" + Scatter3dXcalendarTaiwan Scatter3dXcalendar = "taiwan" + Scatter3dXcalendarThai Scatter3dXcalendar = "thai" + Scatter3dXcalendarUmmalqura Scatter3dXcalendar = "ummalqura" +) + +// Scatter3dYcalendar Sets the calendar system to use with `y` date data. +type Scatter3dYcalendar string + +const ( + Scatter3dYcalendarChinese Scatter3dYcalendar = "chinese" + Scatter3dYcalendarCoptic Scatter3dYcalendar = "coptic" + Scatter3dYcalendarDiscworld Scatter3dYcalendar = "discworld" + Scatter3dYcalendarEthiopian Scatter3dYcalendar = "ethiopian" + Scatter3dYcalendarGregorian Scatter3dYcalendar = "gregorian" + Scatter3dYcalendarHebrew Scatter3dYcalendar = "hebrew" + Scatter3dYcalendarIslamic Scatter3dYcalendar = "islamic" + Scatter3dYcalendarJalali Scatter3dYcalendar = "jalali" + Scatter3dYcalendarJulian Scatter3dYcalendar = "julian" + Scatter3dYcalendarMayan Scatter3dYcalendar = "mayan" + Scatter3dYcalendarNanakshahi Scatter3dYcalendar = "nanakshahi" + Scatter3dYcalendarNepali Scatter3dYcalendar = "nepali" + Scatter3dYcalendarPersian Scatter3dYcalendar = "persian" + Scatter3dYcalendarTaiwan Scatter3dYcalendar = "taiwan" + Scatter3dYcalendarThai Scatter3dYcalendar = "thai" + Scatter3dYcalendarUmmalqura Scatter3dYcalendar = "ummalqura" +) + +// Scatter3dZcalendar Sets the calendar system to use with `z` date data. +type Scatter3dZcalendar string + +const ( + Scatter3dZcalendarChinese Scatter3dZcalendar = "chinese" + Scatter3dZcalendarCoptic Scatter3dZcalendar = "coptic" + Scatter3dZcalendarDiscworld Scatter3dZcalendar = "discworld" + Scatter3dZcalendarEthiopian Scatter3dZcalendar = "ethiopian" + Scatter3dZcalendarGregorian Scatter3dZcalendar = "gregorian" + Scatter3dZcalendarHebrew Scatter3dZcalendar = "hebrew" + Scatter3dZcalendarIslamic Scatter3dZcalendar = "islamic" + Scatter3dZcalendarJalali Scatter3dZcalendar = "jalali" + Scatter3dZcalendarJulian Scatter3dZcalendar = "julian" + Scatter3dZcalendarMayan Scatter3dZcalendar = "mayan" + Scatter3dZcalendarNanakshahi Scatter3dZcalendar = "nanakshahi" + Scatter3dZcalendarNepali Scatter3dZcalendar = "nepali" + Scatter3dZcalendarPersian Scatter3dZcalendar = "persian" + Scatter3dZcalendarTaiwan Scatter3dZcalendar = "taiwan" + Scatter3dZcalendarThai Scatter3dZcalendar = "thai" + Scatter3dZcalendarUmmalqura Scatter3dZcalendar = "ummalqura" +) + +// Scatter3dHoverinfo 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. +type Scatter3dHoverinfo string + +const ( + // Flags + Scatter3dHoverinfoX Scatter3dHoverinfo = "x" + Scatter3dHoverinfoY Scatter3dHoverinfo = "y" + Scatter3dHoverinfoZ Scatter3dHoverinfo = "z" + Scatter3dHoverinfoText Scatter3dHoverinfo = "text" + Scatter3dHoverinfoName Scatter3dHoverinfo = "name" + + // Extra + Scatter3dHoverinfoAll Scatter3dHoverinfo = "all" + Scatter3dHoverinfoNone Scatter3dHoverinfo = "none" + Scatter3dHoverinfoSkip Scatter3dHoverinfo = "skip" +) + +// Scatter3dMode 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*. +type Scatter3dMode string + +const ( + // Flags + Scatter3dModeLines Scatter3dMode = "lines" + Scatter3dModeMarkers Scatter3dMode = "markers" + Scatter3dModeText Scatter3dMode = "text" + + // Extra + Scatter3dModeNone Scatter3dMode = "none" +) diff --git a/generated/v2.29.1/graph_objects/scatter_gen.go b/generated/v2.29.1/graph_objects/scatter_gen.go new file mode 100644 index 0000000..a45ebe8 --- /dev/null +++ b/generated/v2.29.1/graph_objects/scatter_gen.go @@ -0,0 +1,2546 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeScatter TraceType = "scatter" + +func (trace *Scatter) GetType() TraceType { + return TraceTypeScatter +} + +// Scatter 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. +type Scatter struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Alignmentgroup + // arrayOK: false + // 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. + Alignmentgroup String `json:"alignmentgroup,omitempty"` + + // Cliponaxis + // arrayOK: false + // 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*. + Cliponaxis Bool `json:"cliponaxis,omitempty"` + + // Connectgaps + // arrayOK: false + // type: boolean + // Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected. + Connectgaps Bool `json:"connectgaps,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Dx + // arrayOK: false + // type: number + // Sets the x coordinate step. See `x0` for more info. + Dx float64 `json:"dx,omitempty"` + + // Dy + // arrayOK: false + // type: number + // Sets the y coordinate step. See `y0` for more info. + Dy float64 `json:"dy,omitempty"` + + // ErrorX + // role: Object + ErrorX *ScatterErrorX `json:"error_x,omitempty"` + + // ErrorY + // role: Object + ErrorY *ScatterErrorY `json:"error_y,omitempty"` + + // Fill + // default: %!s() + // type: enumerated + // 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. + Fill ScatterFill `json:"fill,omitempty"` + + // Fillcolor + // arrayOK: false + // 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. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Fillpattern + // role: Object + Fillpattern *ScatterFillpattern `json:"fillpattern,omitempty"` + + // Groupnorm + // default: + // type: enumerated + // 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. + Groupnorm ScatterGroupnorm `json:"groupnorm,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo ScatterHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *ScatterHoverlabel `json:"hoverlabel,omitempty"` + + // Hoveron + // default: %!s() + // type: flaglist + // 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*. + Hoveron ScatterHoveron `json:"hoveron,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *ScatterLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *ScatterLine `json:"line,omitempty"` + + // Marker + // role: Object + Marker *ScatterMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Mode + // default: %!s() + // type: flaglist + // 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*. + Mode ScatterMode `json:"mode,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Offsetgroup + // arrayOK: false + // 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. + Offsetgroup String `json:"offsetgroup,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Orientation + // default: %!s() + // type: enumerated + // 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`. + Orientation ScatterOrientation `json:"orientation,omitempty"` + + // Selected + // role: Object + Selected *ScatterSelected `json:"selected,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Stackgaps + // default: infer zero + // type: enumerated + // 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. + Stackgaps ScatterStackgaps `json:"stackgaps,omitempty"` + + // Stackgroup + // arrayOK: false + // 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. + Stackgroup String `json:"stackgroup,omitempty"` + + // Stream + // role: Object + Stream *ScatterStream `json:"stream,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textfont + // role: Object + Textfont *ScatterTextfont `json:"textfont,omitempty"` + + // Textposition + // default: middle center + // type: enumerated + // Sets the positions of the `text` elements with respects to the (x,y) coordinates. + Textposition ScatterTextposition `json:"textposition,omitempty"` + + // Textpositionsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `textposition`. + Textpositionsrc String `json:"textpositionsrc,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: true + // 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. + Texttemplate String `json:"texttemplate,omitempty"` + + // Texttemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `texttemplate`. + Texttemplatesrc String `json:"texttemplatesrc,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Unselected + // role: Object + Unselected *ScatterUnselected `json:"unselected,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible ScatterVisible `json:"visible,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the x coordinates. + X interface{} `json:"x,omitempty"` + + // X0 + // arrayOK: false + // type: any + // Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step. + X0 interface{} `json:"x0,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Xcalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `x` date data. + Xcalendar ScatterXcalendar `json:"xcalendar,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xperiod + // arrayOK: false + // type: any + // Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer. + Xperiod interface{} `json:"xperiod,omitempty"` + + // Xperiod0 + // arrayOK: false + // type: any + // 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. + Xperiod0 interface{} `json:"xperiod0,omitempty"` + + // Xperiodalignment + // default: middle + // type: enumerated + // Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. + Xperiodalignment ScatterXperiodalignment `json:"xperiodalignment,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the y coordinates. + Y interface{} `json:"y,omitempty"` + + // Y0 + // arrayOK: false + // type: any + // Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step. + Y0 interface{} `json:"y0,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` + + // Ycalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `y` date data. + Ycalendar ScatterYcalendar `json:"ycalendar,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Yperiod + // arrayOK: false + // type: any + // Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the y axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer. + Yperiod interface{} `json:"yperiod,omitempty"` + + // Yperiod0 + // arrayOK: false + // type: any + // 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. + Yperiod0 interface{} `json:"yperiod0,omitempty"` + + // Yperiodalignment + // default: middle + // type: enumerated + // Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis. + Yperiodalignment ScatterYperiodalignment `json:"yperiodalignment,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` +} + +// ScatterErrorX +type ScatterErrorX struct { + + // Array + // arrayOK: false + // type: data_array + // Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data. + Array interface{} `json:"array,omitempty"` + + // Arrayminus + // arrayOK: false + // 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. + Arrayminus interface{} `json:"arrayminus,omitempty"` + + // Arrayminussrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `arrayminus`. + Arrayminussrc String `json:"arrayminussrc,omitempty"` + + // Arraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `array`. + Arraysrc String `json:"arraysrc,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the stoke color of the error bars. + Color Color `json:"color,omitempty"` + + // CopyYstyle + // arrayOK: false + // type: boolean + // + CopyYstyle Bool `json:"copy_ystyle,omitempty"` + + // Symmetric + // arrayOK: false + // 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. + Symmetric Bool `json:"symmetric,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness (in px) of the error bars. + Thickness float64 `json:"thickness,omitempty"` + + // Traceref + // arrayOK: false + // type: integer + // + Traceref int64 `json:"traceref,omitempty"` + + // Tracerefminus + // arrayOK: false + // type: integer + // + Tracerefminus int64 `json:"tracerefminus,omitempty"` + + // Type + // default: %!s() + // type: enumerated + // 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`. + Type ScatterErrorXType `json:"type,omitempty"` + + // Value + // arrayOK: false + // type: number + // 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. + Value float64 `json:"value,omitempty"` + + // Valueminus + // arrayOK: false + // type: number + // 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 + Valueminus float64 `json:"valueminus,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Determines whether or not this set of error bars is visible. + Visible Bool `json:"visible,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of the cross-bar at both ends of the error bars. + Width float64 `json:"width,omitempty"` +} + +// ScatterErrorY +type ScatterErrorY struct { + + // Array + // arrayOK: false + // type: data_array + // Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data. + Array interface{} `json:"array,omitempty"` + + // Arrayminus + // arrayOK: false + // 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. + Arrayminus interface{} `json:"arrayminus,omitempty"` + + // Arrayminussrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `arrayminus`. + Arrayminussrc String `json:"arrayminussrc,omitempty"` + + // Arraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `array`. + Arraysrc String `json:"arraysrc,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the stoke color of the error bars. + Color Color `json:"color,omitempty"` + + // Symmetric + // arrayOK: false + // 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. + Symmetric Bool `json:"symmetric,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness (in px) of the error bars. + Thickness float64 `json:"thickness,omitempty"` + + // Traceref + // arrayOK: false + // type: integer + // + Traceref int64 `json:"traceref,omitempty"` + + // Tracerefminus + // arrayOK: false + // type: integer + // + Tracerefminus int64 `json:"tracerefminus,omitempty"` + + // Type + // default: %!s() + // type: enumerated + // 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`. + Type ScatterErrorYType `json:"type,omitempty"` + + // Value + // arrayOK: false + // type: number + // 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. + Value float64 `json:"value,omitempty"` + + // Valueminus + // arrayOK: false + // type: number + // 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 + Valueminus float64 `json:"valueminus,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Determines whether or not this set of error bars is visible. + Visible Bool `json:"visible,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of the cross-bar at both ends of the error bars. + Width float64 `json:"width,omitempty"` +} + +// ScatterFillpattern Sets the pattern within the marker. +type ScatterFillpattern struct { + + // Bgcolor + // arrayOK: true + // type: color + // 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. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Fgcolor + // arrayOK: true + // type: color + // 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`. + Fgcolor Color `json:"fgcolor,omitempty"` + + // Fgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `fgcolor`. + Fgcolorsrc String `json:"fgcolorsrc,omitempty"` + + // Fgopacity + // arrayOK: false + // type: number + // Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1. + Fgopacity float64 `json:"fgopacity,omitempty"` + + // Fillmode + // default: replace + // type: enumerated + // Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. + Fillmode ScatterFillpatternFillmode `json:"fillmode,omitempty"` + + // Shape + // default: + // type: enumerated + // Sets the shape of the pattern fill. By default, no pattern is used for filling the area. + Shape ScatterFillpatternShape `json:"shape,omitempty"` + + // Shapesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `shape`. + Shapesrc String `json:"shapesrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Solidity + // arrayOK: true + // type: number + // 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. + Solidity float64 `json:"solidity,omitempty"` + + // Soliditysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `solidity`. + Soliditysrc String `json:"soliditysrc,omitempty"` +} + +// ScatterHoverlabelFont Sets the font used in hover labels. +type ScatterHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ScatterHoverlabel +type ScatterHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align ScatterHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *ScatterHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// ScatterLegendgrouptitleFont Sets this legend group's title font. +type ScatterLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScatterLegendgrouptitle +type ScatterLegendgrouptitle struct { + + // Font + // role: Object + Font *ScatterLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// ScatterLine +type ScatterLine struct { + + // Backoff + // arrayOK: true + // type: number + // 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*. + Backoff float64 `json:"backoff,omitempty"` + + // Backoffsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `backoff`. + Backoffsrc String `json:"backoffsrc,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the line color. + Color Color `json:"color,omitempty"` + + // Dash + // arrayOK: false + // type: string + // 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*). + Dash String `json:"dash,omitempty"` + + // Shape + // default: linear + // type: enumerated + // Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes. + Shape ScatterLineShape `json:"shape,omitempty"` + + // Simplify + // arrayOK: false + // type: boolean + // 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. + Simplify Bool `json:"simplify,omitempty"` + + // Smoothing + // arrayOK: false + // type: number + // 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). + Smoothing float64 `json:"smoothing,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width (in px). + Width float64 `json:"width,omitempty"` +} + +// ScatterMarkerColorbarTickfont Sets the color bar's tick label font +type ScatterMarkerColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScatterMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type ScatterMarkerColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScatterMarkerColorbarTitle +type ScatterMarkerColorbarTitle struct { + + // Font + // role: Object + Font *ScatterMarkerColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side ScatterMarkerColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// ScatterMarkerColorbar +type ScatterMarkerColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat ScatterMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode ScatterMarkerColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ScatterMarkerColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent ScatterMarkerColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix ScatterMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix ScatterMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode ScatterMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *ScatterMarkerColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ScatterMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition ScatterMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode ScatterMarkerColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks ScatterMarkerColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *ScatterMarkerColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor ScatterMarkerColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref ScatterMarkerColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor ScatterMarkerColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref ScatterMarkerColorbarYref `json:"yref,omitempty"` +} + +// ScatterMarkerGradient +type ScatterMarkerGradient struct { + + // Color + // arrayOK: true + // type: color + // Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Type + // default: none + // type: enumerated + // Sets the type of gradient used to fill the markers + Type ScatterMarkerGradientType `json:"type,omitempty"` + + // Typesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `type`. + Typesrc String `json:"typesrc,omitempty"` +} + +// ScatterMarkerLine +type ScatterMarkerLine struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the lines bounding the marker points. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// ScatterMarker +type ScatterMarker struct { + + // Angle + // arrayOK: true + // type: angle + // Sets the marker angle in respect to `angleref`. + Angle float64 `json:"angle,omitempty"` + + // Angleref + // default: up + // type: enumerated + // 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. + Angleref ScatterMarkerAngleref `json:"angleref,omitempty"` + + // Anglesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `angle`. + Anglesrc String `json:"anglesrc,omitempty"` + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *ScatterMarkerColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Gradient + // role: Object + Gradient *ScatterMarkerGradient `json:"gradient,omitempty"` + + // Line + // role: Object + Line *ScatterMarkerLine `json:"line,omitempty"` + + // Maxdisplayed + // arrayOK: false + // type: number + // Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit. + Maxdisplayed float64 `json:"maxdisplayed,omitempty"` + + // Opacity + // arrayOK: true + // type: number + // Sets the marker opacity. + Opacity float64 `json:"opacity,omitempty"` + + // Opacitysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `opacity`. + Opacitysrc String `json:"opacitysrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the marker size (in px). + Size float64 `json:"size,omitempty"` + + // Sizemin + // arrayOK: false + // 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. + Sizemin float64 `json:"sizemin,omitempty"` + + // Sizemode + // default: diameter + // type: enumerated + // 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. + Sizemode ScatterMarkerSizemode `json:"sizemode,omitempty"` + + // Sizeref + // arrayOK: false + // type: number + // 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`. + Sizeref float64 `json:"sizeref,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Standoff + // arrayOK: true + // type: number + // 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. + Standoff float64 `json:"standoff,omitempty"` + + // Standoffsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `standoff`. + Standoffsrc String `json:"standoffsrc,omitempty"` + + // Symbol + // default: circle + // type: enumerated + // 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. + Symbol ScatterMarkerSymbol `json:"symbol,omitempty"` + + // Symbolsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `symbol`. + Symbolsrc String `json:"symbolsrc,omitempty"` +} + +// ScatterSelectedMarker +type ScatterSelectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of selected points. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of selected points. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of selected points. + Size float64 `json:"size,omitempty"` +} + +// ScatterSelectedTextfont +type ScatterSelectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of selected points. + Color Color `json:"color,omitempty"` +} + +// ScatterSelected +type ScatterSelected struct { + + // Marker + // role: Object + Marker *ScatterSelectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *ScatterSelectedTextfont `json:"textfont,omitempty"` +} + +// ScatterStream +type ScatterStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// ScatterTextfont Sets the text font. +type ScatterTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ScatterUnselectedMarker +type ScatterUnselectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of unselected points, applied only when a selection exists. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of unselected points, applied only when a selection exists. + Size float64 `json:"size,omitempty"` +} + +// ScatterUnselectedTextfont +type ScatterUnselectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` +} + +// ScatterUnselected +type ScatterUnselected struct { + + // Marker + // role: Object + Marker *ScatterUnselectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *ScatterUnselectedTextfont `json:"textfont,omitempty"` +} + +// ScatterErrorXType 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`. +type ScatterErrorXType string + +const ( + ScatterErrorXTypePercent ScatterErrorXType = "percent" + ScatterErrorXTypeConstant ScatterErrorXType = "constant" + ScatterErrorXTypeSqrt ScatterErrorXType = "sqrt" + ScatterErrorXTypeData ScatterErrorXType = "data" +) + +// ScatterErrorYType 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`. +type ScatterErrorYType string + +const ( + ScatterErrorYTypePercent ScatterErrorYType = "percent" + ScatterErrorYTypeConstant ScatterErrorYType = "constant" + ScatterErrorYTypeSqrt ScatterErrorYType = "sqrt" + ScatterErrorYTypeData ScatterErrorYType = "data" +) + +// ScatterFill 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. +type ScatterFill string + +const ( + ScatterFillNone ScatterFill = "none" + ScatterFillTozeroy ScatterFill = "tozeroy" + ScatterFillTozerox ScatterFill = "tozerox" + ScatterFillTonexty ScatterFill = "tonexty" + ScatterFillTonextx ScatterFill = "tonextx" + ScatterFillToself ScatterFill = "toself" + ScatterFillTonext ScatterFill = "tonext" +) + +// ScatterFillpatternFillmode Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. +type ScatterFillpatternFillmode string + +const ( + ScatterFillpatternFillmodeReplace ScatterFillpatternFillmode = "replace" + ScatterFillpatternFillmodeOverlay ScatterFillpatternFillmode = "overlay" +) + +// ScatterFillpatternShape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. +type ScatterFillpatternShape string + +const ( + ScatterFillpatternShapeEmpty ScatterFillpatternShape = "" + ScatterFillpatternShapeSlash ScatterFillpatternShape = "/" + ScatterFillpatternShapeDoublebackslash ScatterFillpatternShape = "\\" + ScatterFillpatternShapeX ScatterFillpatternShape = "x" + ScatterFillpatternShapeHyphenHyphen ScatterFillpatternShape = "-" + ScatterFillpatternShapeOr ScatterFillpatternShape = "|" + ScatterFillpatternShapePlus ScatterFillpatternShape = "+" + ScatterFillpatternShapeDot ScatterFillpatternShape = "." +) + +// ScatterGroupnorm 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. +type ScatterGroupnorm string + +const ( + ScatterGroupnormEmpty ScatterGroupnorm = "" + ScatterGroupnormFraction ScatterGroupnorm = "fraction" + ScatterGroupnormPercent ScatterGroupnorm = "percent" +) + +// ScatterHoverlabelAlign 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 +type ScatterHoverlabelAlign string + +const ( + ScatterHoverlabelAlignLeft ScatterHoverlabelAlign = "left" + ScatterHoverlabelAlignRight ScatterHoverlabelAlign = "right" + ScatterHoverlabelAlignAuto ScatterHoverlabelAlign = "auto" +) + +// ScatterLineShape Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes. +type ScatterLineShape string + +const ( + ScatterLineShapeLinear ScatterLineShape = "linear" + ScatterLineShapeSpline ScatterLineShape = "spline" + ScatterLineShapeHv ScatterLineShape = "hv" + ScatterLineShapeVh ScatterLineShape = "vh" + ScatterLineShapeHvh ScatterLineShape = "hvh" + ScatterLineShapeVhv ScatterLineShape = "vhv" +) + +// ScatterMarkerAngleref 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. +type ScatterMarkerAngleref string + +const ( + ScatterMarkerAnglerefPrevious ScatterMarkerAngleref = "previous" + ScatterMarkerAnglerefUp ScatterMarkerAngleref = "up" +) + +// ScatterMarkerColorbarExponentformat 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. +type ScatterMarkerColorbarExponentformat string + +const ( + ScatterMarkerColorbarExponentformatNone ScatterMarkerColorbarExponentformat = "none" + ScatterMarkerColorbarExponentformatE1 ScatterMarkerColorbarExponentformat = "e" + ScatterMarkerColorbarExponentformatE2 ScatterMarkerColorbarExponentformat = "E" + ScatterMarkerColorbarExponentformatPower ScatterMarkerColorbarExponentformat = "power" + ScatterMarkerColorbarExponentformatSI ScatterMarkerColorbarExponentformat = "SI" + ScatterMarkerColorbarExponentformatB ScatterMarkerColorbarExponentformat = "B" +) + +// ScatterMarkerColorbarLenmode 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. +type ScatterMarkerColorbarLenmode string + +const ( + ScatterMarkerColorbarLenmodeFraction ScatterMarkerColorbarLenmode = "fraction" + ScatterMarkerColorbarLenmodePixels ScatterMarkerColorbarLenmode = "pixels" +) + +// ScatterMarkerColorbarOrientation Sets the orientation of the colorbar. +type ScatterMarkerColorbarOrientation string + +const ( + ScatterMarkerColorbarOrientationH ScatterMarkerColorbarOrientation = "h" + ScatterMarkerColorbarOrientationV ScatterMarkerColorbarOrientation = "v" +) + +// ScatterMarkerColorbarShowexponent 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. +type ScatterMarkerColorbarShowexponent string + +const ( + ScatterMarkerColorbarShowexponentAll ScatterMarkerColorbarShowexponent = "all" + ScatterMarkerColorbarShowexponentFirst ScatterMarkerColorbarShowexponent = "first" + ScatterMarkerColorbarShowexponentLast ScatterMarkerColorbarShowexponent = "last" + ScatterMarkerColorbarShowexponentNone ScatterMarkerColorbarShowexponent = "none" +) + +// ScatterMarkerColorbarShowtickprefix 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. +type ScatterMarkerColorbarShowtickprefix string + +const ( + ScatterMarkerColorbarShowtickprefixAll ScatterMarkerColorbarShowtickprefix = "all" + ScatterMarkerColorbarShowtickprefixFirst ScatterMarkerColorbarShowtickprefix = "first" + ScatterMarkerColorbarShowtickprefixLast ScatterMarkerColorbarShowtickprefix = "last" + ScatterMarkerColorbarShowtickprefixNone ScatterMarkerColorbarShowtickprefix = "none" +) + +// ScatterMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type ScatterMarkerColorbarShowticksuffix string + +const ( + ScatterMarkerColorbarShowticksuffixAll ScatterMarkerColorbarShowticksuffix = "all" + ScatterMarkerColorbarShowticksuffixFirst ScatterMarkerColorbarShowticksuffix = "first" + ScatterMarkerColorbarShowticksuffixLast ScatterMarkerColorbarShowticksuffix = "last" + ScatterMarkerColorbarShowticksuffixNone ScatterMarkerColorbarShowticksuffix = "none" +) + +// ScatterMarkerColorbarThicknessmode 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. +type ScatterMarkerColorbarThicknessmode string + +const ( + ScatterMarkerColorbarThicknessmodeFraction ScatterMarkerColorbarThicknessmode = "fraction" + ScatterMarkerColorbarThicknessmodePixels ScatterMarkerColorbarThicknessmode = "pixels" +) + +// ScatterMarkerColorbarTicklabeloverflow 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*. +type ScatterMarkerColorbarTicklabeloverflow string + +const ( + ScatterMarkerColorbarTicklabeloverflowAllow ScatterMarkerColorbarTicklabeloverflow = "allow" + ScatterMarkerColorbarTicklabeloverflowHidePastDiv ScatterMarkerColorbarTicklabeloverflow = "hide past div" + ScatterMarkerColorbarTicklabeloverflowHidePastDomain ScatterMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// ScatterMarkerColorbarTicklabelposition 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*. +type ScatterMarkerColorbarTicklabelposition string + +const ( + ScatterMarkerColorbarTicklabelpositionOutside ScatterMarkerColorbarTicklabelposition = "outside" + ScatterMarkerColorbarTicklabelpositionInside ScatterMarkerColorbarTicklabelposition = "inside" + ScatterMarkerColorbarTicklabelpositionOutsideTop ScatterMarkerColorbarTicklabelposition = "outside top" + ScatterMarkerColorbarTicklabelpositionInsideTop ScatterMarkerColorbarTicklabelposition = "inside top" + ScatterMarkerColorbarTicklabelpositionOutsideLeft ScatterMarkerColorbarTicklabelposition = "outside left" + ScatterMarkerColorbarTicklabelpositionInsideLeft ScatterMarkerColorbarTicklabelposition = "inside left" + ScatterMarkerColorbarTicklabelpositionOutsideRight ScatterMarkerColorbarTicklabelposition = "outside right" + ScatterMarkerColorbarTicklabelpositionInsideRight ScatterMarkerColorbarTicklabelposition = "inside right" + ScatterMarkerColorbarTicklabelpositionOutsideBottom ScatterMarkerColorbarTicklabelposition = "outside bottom" + ScatterMarkerColorbarTicklabelpositionInsideBottom ScatterMarkerColorbarTicklabelposition = "inside bottom" +) + +// ScatterMarkerColorbarTickmode 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). +type ScatterMarkerColorbarTickmode string + +const ( + ScatterMarkerColorbarTickmodeAuto ScatterMarkerColorbarTickmode = "auto" + ScatterMarkerColorbarTickmodeLinear ScatterMarkerColorbarTickmode = "linear" + ScatterMarkerColorbarTickmodeArray ScatterMarkerColorbarTickmode = "array" +) + +// ScatterMarkerColorbarTicks 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. +type ScatterMarkerColorbarTicks string + +const ( + ScatterMarkerColorbarTicksOutside ScatterMarkerColorbarTicks = "outside" + ScatterMarkerColorbarTicksInside ScatterMarkerColorbarTicks = "inside" + ScatterMarkerColorbarTicksEmpty ScatterMarkerColorbarTicks = "" +) + +// ScatterMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type ScatterMarkerColorbarTitleSide string + +const ( + ScatterMarkerColorbarTitleSideRight ScatterMarkerColorbarTitleSide = "right" + ScatterMarkerColorbarTitleSideTop ScatterMarkerColorbarTitleSide = "top" + ScatterMarkerColorbarTitleSideBottom ScatterMarkerColorbarTitleSide = "bottom" +) + +// ScatterMarkerColorbarXanchor 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*. +type ScatterMarkerColorbarXanchor string + +const ( + ScatterMarkerColorbarXanchorLeft ScatterMarkerColorbarXanchor = "left" + ScatterMarkerColorbarXanchorCenter ScatterMarkerColorbarXanchor = "center" + ScatterMarkerColorbarXanchorRight ScatterMarkerColorbarXanchor = "right" +) + +// ScatterMarkerColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type ScatterMarkerColorbarXref string + +const ( + ScatterMarkerColorbarXrefContainer ScatterMarkerColorbarXref = "container" + ScatterMarkerColorbarXrefPaper ScatterMarkerColorbarXref = "paper" +) + +// ScatterMarkerColorbarYanchor 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*. +type ScatterMarkerColorbarYanchor string + +const ( + ScatterMarkerColorbarYanchorTop ScatterMarkerColorbarYanchor = "top" + ScatterMarkerColorbarYanchorMiddle ScatterMarkerColorbarYanchor = "middle" + ScatterMarkerColorbarYanchorBottom ScatterMarkerColorbarYanchor = "bottom" +) + +// ScatterMarkerColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type ScatterMarkerColorbarYref string + +const ( + ScatterMarkerColorbarYrefContainer ScatterMarkerColorbarYref = "container" + ScatterMarkerColorbarYrefPaper ScatterMarkerColorbarYref = "paper" +) + +// ScatterMarkerGradientType Sets the type of gradient used to fill the markers +type ScatterMarkerGradientType string + +const ( + ScatterMarkerGradientTypeRadial ScatterMarkerGradientType = "radial" + ScatterMarkerGradientTypeHorizontal ScatterMarkerGradientType = "horizontal" + ScatterMarkerGradientTypeVertical ScatterMarkerGradientType = "vertical" + ScatterMarkerGradientTypeNone ScatterMarkerGradientType = "none" +) + +// ScatterMarkerSizemode 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. +type ScatterMarkerSizemode string + +const ( + ScatterMarkerSizemodeDiameter ScatterMarkerSizemode = "diameter" + ScatterMarkerSizemodeArea ScatterMarkerSizemode = "area" +) + +// ScatterMarkerSymbol 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. +type ScatterMarkerSymbol interface{} + +var ( + ScatterMarkerSymbolNumber0 ScatterMarkerSymbol = 0 + ScatterMarkerSymbol0 ScatterMarkerSymbol = "0" + ScatterMarkerSymbolCircle ScatterMarkerSymbol = "circle" + ScatterMarkerSymbolNumber100 ScatterMarkerSymbol = 100 + ScatterMarkerSymbol100 ScatterMarkerSymbol = "100" + ScatterMarkerSymbolCircleOpen ScatterMarkerSymbol = "circle-open" + ScatterMarkerSymbolNumber200 ScatterMarkerSymbol = 200 + ScatterMarkerSymbol200 ScatterMarkerSymbol = "200" + ScatterMarkerSymbolCircleDot ScatterMarkerSymbol = "circle-dot" + ScatterMarkerSymbolNumber300 ScatterMarkerSymbol = 300 + ScatterMarkerSymbol300 ScatterMarkerSymbol = "300" + ScatterMarkerSymbolCircleOpenDot ScatterMarkerSymbol = "circle-open-dot" + ScatterMarkerSymbolNumber1 ScatterMarkerSymbol = 1 + ScatterMarkerSymbol1 ScatterMarkerSymbol = "1" + ScatterMarkerSymbolSquare ScatterMarkerSymbol = "square" + ScatterMarkerSymbolNumber101 ScatterMarkerSymbol = 101 + ScatterMarkerSymbol101 ScatterMarkerSymbol = "101" + ScatterMarkerSymbolSquareOpen ScatterMarkerSymbol = "square-open" + ScatterMarkerSymbolNumber201 ScatterMarkerSymbol = 201 + ScatterMarkerSymbol201 ScatterMarkerSymbol = "201" + ScatterMarkerSymbolSquareDot ScatterMarkerSymbol = "square-dot" + ScatterMarkerSymbolNumber301 ScatterMarkerSymbol = 301 + ScatterMarkerSymbol301 ScatterMarkerSymbol = "301" + ScatterMarkerSymbolSquareOpenDot ScatterMarkerSymbol = "square-open-dot" + ScatterMarkerSymbolNumber2 ScatterMarkerSymbol = 2 + ScatterMarkerSymbol2 ScatterMarkerSymbol = "2" + ScatterMarkerSymbolDiamond ScatterMarkerSymbol = "diamond" + ScatterMarkerSymbolNumber102 ScatterMarkerSymbol = 102 + ScatterMarkerSymbol102 ScatterMarkerSymbol = "102" + ScatterMarkerSymbolDiamondOpen ScatterMarkerSymbol = "diamond-open" + ScatterMarkerSymbolNumber202 ScatterMarkerSymbol = 202 + ScatterMarkerSymbol202 ScatterMarkerSymbol = "202" + ScatterMarkerSymbolDiamondDot ScatterMarkerSymbol = "diamond-dot" + ScatterMarkerSymbolNumber302 ScatterMarkerSymbol = 302 + ScatterMarkerSymbol302 ScatterMarkerSymbol = "302" + ScatterMarkerSymbolDiamondOpenDot ScatterMarkerSymbol = "diamond-open-dot" + ScatterMarkerSymbolNumber3 ScatterMarkerSymbol = 3 + ScatterMarkerSymbol3 ScatterMarkerSymbol = "3" + ScatterMarkerSymbolCross ScatterMarkerSymbol = "cross" + ScatterMarkerSymbolNumber103 ScatterMarkerSymbol = 103 + ScatterMarkerSymbol103 ScatterMarkerSymbol = "103" + ScatterMarkerSymbolCrossOpen ScatterMarkerSymbol = "cross-open" + ScatterMarkerSymbolNumber203 ScatterMarkerSymbol = 203 + ScatterMarkerSymbol203 ScatterMarkerSymbol = "203" + ScatterMarkerSymbolCrossDot ScatterMarkerSymbol = "cross-dot" + ScatterMarkerSymbolNumber303 ScatterMarkerSymbol = 303 + ScatterMarkerSymbol303 ScatterMarkerSymbol = "303" + ScatterMarkerSymbolCrossOpenDot ScatterMarkerSymbol = "cross-open-dot" + ScatterMarkerSymbolNumber4 ScatterMarkerSymbol = 4 + ScatterMarkerSymbol4 ScatterMarkerSymbol = "4" + ScatterMarkerSymbolX ScatterMarkerSymbol = "x" + ScatterMarkerSymbolNumber104 ScatterMarkerSymbol = 104 + ScatterMarkerSymbol104 ScatterMarkerSymbol = "104" + ScatterMarkerSymbolXOpen ScatterMarkerSymbol = "x-open" + ScatterMarkerSymbolNumber204 ScatterMarkerSymbol = 204 + ScatterMarkerSymbol204 ScatterMarkerSymbol = "204" + ScatterMarkerSymbolXDot ScatterMarkerSymbol = "x-dot" + ScatterMarkerSymbolNumber304 ScatterMarkerSymbol = 304 + ScatterMarkerSymbol304 ScatterMarkerSymbol = "304" + ScatterMarkerSymbolXOpenDot ScatterMarkerSymbol = "x-open-dot" + ScatterMarkerSymbolNumber5 ScatterMarkerSymbol = 5 + ScatterMarkerSymbol5 ScatterMarkerSymbol = "5" + ScatterMarkerSymbolTriangleUp ScatterMarkerSymbol = "triangle-up" + ScatterMarkerSymbolNumber105 ScatterMarkerSymbol = 105 + ScatterMarkerSymbol105 ScatterMarkerSymbol = "105" + ScatterMarkerSymbolTriangleUpOpen ScatterMarkerSymbol = "triangle-up-open" + ScatterMarkerSymbolNumber205 ScatterMarkerSymbol = 205 + ScatterMarkerSymbol205 ScatterMarkerSymbol = "205" + ScatterMarkerSymbolTriangleUpDot ScatterMarkerSymbol = "triangle-up-dot" + ScatterMarkerSymbolNumber305 ScatterMarkerSymbol = 305 + ScatterMarkerSymbol305 ScatterMarkerSymbol = "305" + ScatterMarkerSymbolTriangleUpOpenDot ScatterMarkerSymbol = "triangle-up-open-dot" + ScatterMarkerSymbolNumber6 ScatterMarkerSymbol = 6 + ScatterMarkerSymbol6 ScatterMarkerSymbol = "6" + ScatterMarkerSymbolTriangleDown ScatterMarkerSymbol = "triangle-down" + ScatterMarkerSymbolNumber106 ScatterMarkerSymbol = 106 + ScatterMarkerSymbol106 ScatterMarkerSymbol = "106" + ScatterMarkerSymbolTriangleDownOpen ScatterMarkerSymbol = "triangle-down-open" + ScatterMarkerSymbolNumber206 ScatterMarkerSymbol = 206 + ScatterMarkerSymbol206 ScatterMarkerSymbol = "206" + ScatterMarkerSymbolTriangleDownDot ScatterMarkerSymbol = "triangle-down-dot" + ScatterMarkerSymbolNumber306 ScatterMarkerSymbol = 306 + ScatterMarkerSymbol306 ScatterMarkerSymbol = "306" + ScatterMarkerSymbolTriangleDownOpenDot ScatterMarkerSymbol = "triangle-down-open-dot" + ScatterMarkerSymbolNumber7 ScatterMarkerSymbol = 7 + ScatterMarkerSymbol7 ScatterMarkerSymbol = "7" + ScatterMarkerSymbolTriangleLeft ScatterMarkerSymbol = "triangle-left" + ScatterMarkerSymbolNumber107 ScatterMarkerSymbol = 107 + ScatterMarkerSymbol107 ScatterMarkerSymbol = "107" + ScatterMarkerSymbolTriangleLeftOpen ScatterMarkerSymbol = "triangle-left-open" + ScatterMarkerSymbolNumber207 ScatterMarkerSymbol = 207 + ScatterMarkerSymbol207 ScatterMarkerSymbol = "207" + ScatterMarkerSymbolTriangleLeftDot ScatterMarkerSymbol = "triangle-left-dot" + ScatterMarkerSymbolNumber307 ScatterMarkerSymbol = 307 + ScatterMarkerSymbol307 ScatterMarkerSymbol = "307" + ScatterMarkerSymbolTriangleLeftOpenDot ScatterMarkerSymbol = "triangle-left-open-dot" + ScatterMarkerSymbolNumber8 ScatterMarkerSymbol = 8 + ScatterMarkerSymbol8 ScatterMarkerSymbol = "8" + ScatterMarkerSymbolTriangleRight ScatterMarkerSymbol = "triangle-right" + ScatterMarkerSymbolNumber108 ScatterMarkerSymbol = 108 + ScatterMarkerSymbol108 ScatterMarkerSymbol = "108" + ScatterMarkerSymbolTriangleRightOpen ScatterMarkerSymbol = "triangle-right-open" + ScatterMarkerSymbolNumber208 ScatterMarkerSymbol = 208 + ScatterMarkerSymbol208 ScatterMarkerSymbol = "208" + ScatterMarkerSymbolTriangleRightDot ScatterMarkerSymbol = "triangle-right-dot" + ScatterMarkerSymbolNumber308 ScatterMarkerSymbol = 308 + ScatterMarkerSymbol308 ScatterMarkerSymbol = "308" + ScatterMarkerSymbolTriangleRightOpenDot ScatterMarkerSymbol = "triangle-right-open-dot" + ScatterMarkerSymbolNumber9 ScatterMarkerSymbol = 9 + ScatterMarkerSymbol9 ScatterMarkerSymbol = "9" + ScatterMarkerSymbolTriangleNe ScatterMarkerSymbol = "triangle-ne" + ScatterMarkerSymbolNumber109 ScatterMarkerSymbol = 109 + ScatterMarkerSymbol109 ScatterMarkerSymbol = "109" + ScatterMarkerSymbolTriangleNeOpen ScatterMarkerSymbol = "triangle-ne-open" + ScatterMarkerSymbolNumber209 ScatterMarkerSymbol = 209 + ScatterMarkerSymbol209 ScatterMarkerSymbol = "209" + ScatterMarkerSymbolTriangleNeDot ScatterMarkerSymbol = "triangle-ne-dot" + ScatterMarkerSymbolNumber309 ScatterMarkerSymbol = 309 + ScatterMarkerSymbol309 ScatterMarkerSymbol = "309" + ScatterMarkerSymbolTriangleNeOpenDot ScatterMarkerSymbol = "triangle-ne-open-dot" + ScatterMarkerSymbolNumber10 ScatterMarkerSymbol = 10 + ScatterMarkerSymbol10 ScatterMarkerSymbol = "10" + ScatterMarkerSymbolTriangleSe ScatterMarkerSymbol = "triangle-se" + ScatterMarkerSymbolNumber110 ScatterMarkerSymbol = 110 + ScatterMarkerSymbol110 ScatterMarkerSymbol = "110" + ScatterMarkerSymbolTriangleSeOpen ScatterMarkerSymbol = "triangle-se-open" + ScatterMarkerSymbolNumber210 ScatterMarkerSymbol = 210 + ScatterMarkerSymbol210 ScatterMarkerSymbol = "210" + ScatterMarkerSymbolTriangleSeDot ScatterMarkerSymbol = "triangle-se-dot" + ScatterMarkerSymbolNumber310 ScatterMarkerSymbol = 310 + ScatterMarkerSymbol310 ScatterMarkerSymbol = "310" + ScatterMarkerSymbolTriangleSeOpenDot ScatterMarkerSymbol = "triangle-se-open-dot" + ScatterMarkerSymbolNumber11 ScatterMarkerSymbol = 11 + ScatterMarkerSymbol11 ScatterMarkerSymbol = "11" + ScatterMarkerSymbolTriangleSw ScatterMarkerSymbol = "triangle-sw" + ScatterMarkerSymbolNumber111 ScatterMarkerSymbol = 111 + ScatterMarkerSymbol111 ScatterMarkerSymbol = "111" + ScatterMarkerSymbolTriangleSwOpen ScatterMarkerSymbol = "triangle-sw-open" + ScatterMarkerSymbolNumber211 ScatterMarkerSymbol = 211 + ScatterMarkerSymbol211 ScatterMarkerSymbol = "211" + ScatterMarkerSymbolTriangleSwDot ScatterMarkerSymbol = "triangle-sw-dot" + ScatterMarkerSymbolNumber311 ScatterMarkerSymbol = 311 + ScatterMarkerSymbol311 ScatterMarkerSymbol = "311" + ScatterMarkerSymbolTriangleSwOpenDot ScatterMarkerSymbol = "triangle-sw-open-dot" + ScatterMarkerSymbolNumber12 ScatterMarkerSymbol = 12 + ScatterMarkerSymbol12 ScatterMarkerSymbol = "12" + ScatterMarkerSymbolTriangleNw ScatterMarkerSymbol = "triangle-nw" + ScatterMarkerSymbolNumber112 ScatterMarkerSymbol = 112 + ScatterMarkerSymbol112 ScatterMarkerSymbol = "112" + ScatterMarkerSymbolTriangleNwOpen ScatterMarkerSymbol = "triangle-nw-open" + ScatterMarkerSymbolNumber212 ScatterMarkerSymbol = 212 + ScatterMarkerSymbol212 ScatterMarkerSymbol = "212" + ScatterMarkerSymbolTriangleNwDot ScatterMarkerSymbol = "triangle-nw-dot" + ScatterMarkerSymbolNumber312 ScatterMarkerSymbol = 312 + ScatterMarkerSymbol312 ScatterMarkerSymbol = "312" + ScatterMarkerSymbolTriangleNwOpenDot ScatterMarkerSymbol = "triangle-nw-open-dot" + ScatterMarkerSymbolNumber13 ScatterMarkerSymbol = 13 + ScatterMarkerSymbol13 ScatterMarkerSymbol = "13" + ScatterMarkerSymbolPentagon ScatterMarkerSymbol = "pentagon" + ScatterMarkerSymbolNumber113 ScatterMarkerSymbol = 113 + ScatterMarkerSymbol113 ScatterMarkerSymbol = "113" + ScatterMarkerSymbolPentagonOpen ScatterMarkerSymbol = "pentagon-open" + ScatterMarkerSymbolNumber213 ScatterMarkerSymbol = 213 + ScatterMarkerSymbol213 ScatterMarkerSymbol = "213" + ScatterMarkerSymbolPentagonDot ScatterMarkerSymbol = "pentagon-dot" + ScatterMarkerSymbolNumber313 ScatterMarkerSymbol = 313 + ScatterMarkerSymbol313 ScatterMarkerSymbol = "313" + ScatterMarkerSymbolPentagonOpenDot ScatterMarkerSymbol = "pentagon-open-dot" + ScatterMarkerSymbolNumber14 ScatterMarkerSymbol = 14 + ScatterMarkerSymbol14 ScatterMarkerSymbol = "14" + ScatterMarkerSymbolHexagon ScatterMarkerSymbol = "hexagon" + ScatterMarkerSymbolNumber114 ScatterMarkerSymbol = 114 + ScatterMarkerSymbol114 ScatterMarkerSymbol = "114" + ScatterMarkerSymbolHexagonOpen ScatterMarkerSymbol = "hexagon-open" + ScatterMarkerSymbolNumber214 ScatterMarkerSymbol = 214 + ScatterMarkerSymbol214 ScatterMarkerSymbol = "214" + ScatterMarkerSymbolHexagonDot ScatterMarkerSymbol = "hexagon-dot" + ScatterMarkerSymbolNumber314 ScatterMarkerSymbol = 314 + ScatterMarkerSymbol314 ScatterMarkerSymbol = "314" + ScatterMarkerSymbolHexagonOpenDot ScatterMarkerSymbol = "hexagon-open-dot" + ScatterMarkerSymbolNumber15 ScatterMarkerSymbol = 15 + ScatterMarkerSymbol15 ScatterMarkerSymbol = "15" + ScatterMarkerSymbolHexagon2 ScatterMarkerSymbol = "hexagon2" + ScatterMarkerSymbolNumber115 ScatterMarkerSymbol = 115 + ScatterMarkerSymbol115 ScatterMarkerSymbol = "115" + ScatterMarkerSymbolHexagon2Open ScatterMarkerSymbol = "hexagon2-open" + ScatterMarkerSymbolNumber215 ScatterMarkerSymbol = 215 + ScatterMarkerSymbol215 ScatterMarkerSymbol = "215" + ScatterMarkerSymbolHexagon2Dot ScatterMarkerSymbol = "hexagon2-dot" + ScatterMarkerSymbolNumber315 ScatterMarkerSymbol = 315 + ScatterMarkerSymbol315 ScatterMarkerSymbol = "315" + ScatterMarkerSymbolHexagon2OpenDot ScatterMarkerSymbol = "hexagon2-open-dot" + ScatterMarkerSymbolNumber16 ScatterMarkerSymbol = 16 + ScatterMarkerSymbol16 ScatterMarkerSymbol = "16" + ScatterMarkerSymbolOctagon ScatterMarkerSymbol = "octagon" + ScatterMarkerSymbolNumber116 ScatterMarkerSymbol = 116 + ScatterMarkerSymbol116 ScatterMarkerSymbol = "116" + ScatterMarkerSymbolOctagonOpen ScatterMarkerSymbol = "octagon-open" + ScatterMarkerSymbolNumber216 ScatterMarkerSymbol = 216 + ScatterMarkerSymbol216 ScatterMarkerSymbol = "216" + ScatterMarkerSymbolOctagonDot ScatterMarkerSymbol = "octagon-dot" + ScatterMarkerSymbolNumber316 ScatterMarkerSymbol = 316 + ScatterMarkerSymbol316 ScatterMarkerSymbol = "316" + ScatterMarkerSymbolOctagonOpenDot ScatterMarkerSymbol = "octagon-open-dot" + ScatterMarkerSymbolNumber17 ScatterMarkerSymbol = 17 + ScatterMarkerSymbol17 ScatterMarkerSymbol = "17" + ScatterMarkerSymbolStar ScatterMarkerSymbol = "star" + ScatterMarkerSymbolNumber117 ScatterMarkerSymbol = 117 + ScatterMarkerSymbol117 ScatterMarkerSymbol = "117" + ScatterMarkerSymbolStarOpen ScatterMarkerSymbol = "star-open" + ScatterMarkerSymbolNumber217 ScatterMarkerSymbol = 217 + ScatterMarkerSymbol217 ScatterMarkerSymbol = "217" + ScatterMarkerSymbolStarDot ScatterMarkerSymbol = "star-dot" + ScatterMarkerSymbolNumber317 ScatterMarkerSymbol = 317 + ScatterMarkerSymbol317 ScatterMarkerSymbol = "317" + ScatterMarkerSymbolStarOpenDot ScatterMarkerSymbol = "star-open-dot" + ScatterMarkerSymbolNumber18 ScatterMarkerSymbol = 18 + ScatterMarkerSymbol18 ScatterMarkerSymbol = "18" + ScatterMarkerSymbolHexagram ScatterMarkerSymbol = "hexagram" + ScatterMarkerSymbolNumber118 ScatterMarkerSymbol = 118 + ScatterMarkerSymbol118 ScatterMarkerSymbol = "118" + ScatterMarkerSymbolHexagramOpen ScatterMarkerSymbol = "hexagram-open" + ScatterMarkerSymbolNumber218 ScatterMarkerSymbol = 218 + ScatterMarkerSymbol218 ScatterMarkerSymbol = "218" + ScatterMarkerSymbolHexagramDot ScatterMarkerSymbol = "hexagram-dot" + ScatterMarkerSymbolNumber318 ScatterMarkerSymbol = 318 + ScatterMarkerSymbol318 ScatterMarkerSymbol = "318" + ScatterMarkerSymbolHexagramOpenDot ScatterMarkerSymbol = "hexagram-open-dot" + ScatterMarkerSymbolNumber19 ScatterMarkerSymbol = 19 + ScatterMarkerSymbol19 ScatterMarkerSymbol = "19" + ScatterMarkerSymbolStarTriangleUp ScatterMarkerSymbol = "star-triangle-up" + ScatterMarkerSymbolNumber119 ScatterMarkerSymbol = 119 + ScatterMarkerSymbol119 ScatterMarkerSymbol = "119" + ScatterMarkerSymbolStarTriangleUpOpen ScatterMarkerSymbol = "star-triangle-up-open" + ScatterMarkerSymbolNumber219 ScatterMarkerSymbol = 219 + ScatterMarkerSymbol219 ScatterMarkerSymbol = "219" + ScatterMarkerSymbolStarTriangleUpDot ScatterMarkerSymbol = "star-triangle-up-dot" + ScatterMarkerSymbolNumber319 ScatterMarkerSymbol = 319 + ScatterMarkerSymbol319 ScatterMarkerSymbol = "319" + ScatterMarkerSymbolStarTriangleUpOpenDot ScatterMarkerSymbol = "star-triangle-up-open-dot" + ScatterMarkerSymbolNumber20 ScatterMarkerSymbol = 20 + ScatterMarkerSymbol20 ScatterMarkerSymbol = "20" + ScatterMarkerSymbolStarTriangleDown ScatterMarkerSymbol = "star-triangle-down" + ScatterMarkerSymbolNumber120 ScatterMarkerSymbol = 120 + ScatterMarkerSymbol120 ScatterMarkerSymbol = "120" + ScatterMarkerSymbolStarTriangleDownOpen ScatterMarkerSymbol = "star-triangle-down-open" + ScatterMarkerSymbolNumber220 ScatterMarkerSymbol = 220 + ScatterMarkerSymbol220 ScatterMarkerSymbol = "220" + ScatterMarkerSymbolStarTriangleDownDot ScatterMarkerSymbol = "star-triangle-down-dot" + ScatterMarkerSymbolNumber320 ScatterMarkerSymbol = 320 + ScatterMarkerSymbol320 ScatterMarkerSymbol = "320" + ScatterMarkerSymbolStarTriangleDownOpenDot ScatterMarkerSymbol = "star-triangle-down-open-dot" + ScatterMarkerSymbolNumber21 ScatterMarkerSymbol = 21 + ScatterMarkerSymbol21 ScatterMarkerSymbol = "21" + ScatterMarkerSymbolStarSquare ScatterMarkerSymbol = "star-square" + ScatterMarkerSymbolNumber121 ScatterMarkerSymbol = 121 + ScatterMarkerSymbol121 ScatterMarkerSymbol = "121" + ScatterMarkerSymbolStarSquareOpen ScatterMarkerSymbol = "star-square-open" + ScatterMarkerSymbolNumber221 ScatterMarkerSymbol = 221 + ScatterMarkerSymbol221 ScatterMarkerSymbol = "221" + ScatterMarkerSymbolStarSquareDot ScatterMarkerSymbol = "star-square-dot" + ScatterMarkerSymbolNumber321 ScatterMarkerSymbol = 321 + ScatterMarkerSymbol321 ScatterMarkerSymbol = "321" + ScatterMarkerSymbolStarSquareOpenDot ScatterMarkerSymbol = "star-square-open-dot" + ScatterMarkerSymbolNumber22 ScatterMarkerSymbol = 22 + ScatterMarkerSymbol22 ScatterMarkerSymbol = "22" + ScatterMarkerSymbolStarDiamond ScatterMarkerSymbol = "star-diamond" + ScatterMarkerSymbolNumber122 ScatterMarkerSymbol = 122 + ScatterMarkerSymbol122 ScatterMarkerSymbol = "122" + ScatterMarkerSymbolStarDiamondOpen ScatterMarkerSymbol = "star-diamond-open" + ScatterMarkerSymbolNumber222 ScatterMarkerSymbol = 222 + ScatterMarkerSymbol222 ScatterMarkerSymbol = "222" + ScatterMarkerSymbolStarDiamondDot ScatterMarkerSymbol = "star-diamond-dot" + ScatterMarkerSymbolNumber322 ScatterMarkerSymbol = 322 + ScatterMarkerSymbol322 ScatterMarkerSymbol = "322" + ScatterMarkerSymbolStarDiamondOpenDot ScatterMarkerSymbol = "star-diamond-open-dot" + ScatterMarkerSymbolNumber23 ScatterMarkerSymbol = 23 + ScatterMarkerSymbol23 ScatterMarkerSymbol = "23" + ScatterMarkerSymbolDiamondTall ScatterMarkerSymbol = "diamond-tall" + ScatterMarkerSymbolNumber123 ScatterMarkerSymbol = 123 + ScatterMarkerSymbol123 ScatterMarkerSymbol = "123" + ScatterMarkerSymbolDiamondTallOpen ScatterMarkerSymbol = "diamond-tall-open" + ScatterMarkerSymbolNumber223 ScatterMarkerSymbol = 223 + ScatterMarkerSymbol223 ScatterMarkerSymbol = "223" + ScatterMarkerSymbolDiamondTallDot ScatterMarkerSymbol = "diamond-tall-dot" + ScatterMarkerSymbolNumber323 ScatterMarkerSymbol = 323 + ScatterMarkerSymbol323 ScatterMarkerSymbol = "323" + ScatterMarkerSymbolDiamondTallOpenDot ScatterMarkerSymbol = "diamond-tall-open-dot" + ScatterMarkerSymbolNumber24 ScatterMarkerSymbol = 24 + ScatterMarkerSymbol24 ScatterMarkerSymbol = "24" + ScatterMarkerSymbolDiamondWide ScatterMarkerSymbol = "diamond-wide" + ScatterMarkerSymbolNumber124 ScatterMarkerSymbol = 124 + ScatterMarkerSymbol124 ScatterMarkerSymbol = "124" + ScatterMarkerSymbolDiamondWideOpen ScatterMarkerSymbol = "diamond-wide-open" + ScatterMarkerSymbolNumber224 ScatterMarkerSymbol = 224 + ScatterMarkerSymbol224 ScatterMarkerSymbol = "224" + ScatterMarkerSymbolDiamondWideDot ScatterMarkerSymbol = "diamond-wide-dot" + ScatterMarkerSymbolNumber324 ScatterMarkerSymbol = 324 + ScatterMarkerSymbol324 ScatterMarkerSymbol = "324" + ScatterMarkerSymbolDiamondWideOpenDot ScatterMarkerSymbol = "diamond-wide-open-dot" + ScatterMarkerSymbolNumber25 ScatterMarkerSymbol = 25 + ScatterMarkerSymbol25 ScatterMarkerSymbol = "25" + ScatterMarkerSymbolHourglass ScatterMarkerSymbol = "hourglass" + ScatterMarkerSymbolNumber125 ScatterMarkerSymbol = 125 + ScatterMarkerSymbol125 ScatterMarkerSymbol = "125" + ScatterMarkerSymbolHourglassOpen ScatterMarkerSymbol = "hourglass-open" + ScatterMarkerSymbolNumber26 ScatterMarkerSymbol = 26 + ScatterMarkerSymbol26 ScatterMarkerSymbol = "26" + ScatterMarkerSymbolBowtie ScatterMarkerSymbol = "bowtie" + ScatterMarkerSymbolNumber126 ScatterMarkerSymbol = 126 + ScatterMarkerSymbol126 ScatterMarkerSymbol = "126" + ScatterMarkerSymbolBowtieOpen ScatterMarkerSymbol = "bowtie-open" + ScatterMarkerSymbolNumber27 ScatterMarkerSymbol = 27 + ScatterMarkerSymbol27 ScatterMarkerSymbol = "27" + ScatterMarkerSymbolCircleCross ScatterMarkerSymbol = "circle-cross" + ScatterMarkerSymbolNumber127 ScatterMarkerSymbol = 127 + ScatterMarkerSymbol127 ScatterMarkerSymbol = "127" + ScatterMarkerSymbolCircleCrossOpen ScatterMarkerSymbol = "circle-cross-open" + ScatterMarkerSymbolNumber28 ScatterMarkerSymbol = 28 + ScatterMarkerSymbol28 ScatterMarkerSymbol = "28" + ScatterMarkerSymbolCircleX ScatterMarkerSymbol = "circle-x" + ScatterMarkerSymbolNumber128 ScatterMarkerSymbol = 128 + ScatterMarkerSymbol128 ScatterMarkerSymbol = "128" + ScatterMarkerSymbolCircleXOpen ScatterMarkerSymbol = "circle-x-open" + ScatterMarkerSymbolNumber29 ScatterMarkerSymbol = 29 + ScatterMarkerSymbol29 ScatterMarkerSymbol = "29" + ScatterMarkerSymbolSquareCross ScatterMarkerSymbol = "square-cross" + ScatterMarkerSymbolNumber129 ScatterMarkerSymbol = 129 + ScatterMarkerSymbol129 ScatterMarkerSymbol = "129" + ScatterMarkerSymbolSquareCrossOpen ScatterMarkerSymbol = "square-cross-open" + ScatterMarkerSymbolNumber30 ScatterMarkerSymbol = 30 + ScatterMarkerSymbol30 ScatterMarkerSymbol = "30" + ScatterMarkerSymbolSquareX ScatterMarkerSymbol = "square-x" + ScatterMarkerSymbolNumber130 ScatterMarkerSymbol = 130 + ScatterMarkerSymbol130 ScatterMarkerSymbol = "130" + ScatterMarkerSymbolSquareXOpen ScatterMarkerSymbol = "square-x-open" + ScatterMarkerSymbolNumber31 ScatterMarkerSymbol = 31 + ScatterMarkerSymbol31 ScatterMarkerSymbol = "31" + ScatterMarkerSymbolDiamondCross ScatterMarkerSymbol = "diamond-cross" + ScatterMarkerSymbolNumber131 ScatterMarkerSymbol = 131 + ScatterMarkerSymbol131 ScatterMarkerSymbol = "131" + ScatterMarkerSymbolDiamondCrossOpen ScatterMarkerSymbol = "diamond-cross-open" + ScatterMarkerSymbolNumber32 ScatterMarkerSymbol = 32 + ScatterMarkerSymbol32 ScatterMarkerSymbol = "32" + ScatterMarkerSymbolDiamondX ScatterMarkerSymbol = "diamond-x" + ScatterMarkerSymbolNumber132 ScatterMarkerSymbol = 132 + ScatterMarkerSymbol132 ScatterMarkerSymbol = "132" + ScatterMarkerSymbolDiamondXOpen ScatterMarkerSymbol = "diamond-x-open" + ScatterMarkerSymbolNumber33 ScatterMarkerSymbol = 33 + ScatterMarkerSymbol33 ScatterMarkerSymbol = "33" + ScatterMarkerSymbolCrossThin ScatterMarkerSymbol = "cross-thin" + ScatterMarkerSymbolNumber133 ScatterMarkerSymbol = 133 + ScatterMarkerSymbol133 ScatterMarkerSymbol = "133" + ScatterMarkerSymbolCrossThinOpen ScatterMarkerSymbol = "cross-thin-open" + ScatterMarkerSymbolNumber34 ScatterMarkerSymbol = 34 + ScatterMarkerSymbol34 ScatterMarkerSymbol = "34" + ScatterMarkerSymbolXThin ScatterMarkerSymbol = "x-thin" + ScatterMarkerSymbolNumber134 ScatterMarkerSymbol = 134 + ScatterMarkerSymbol134 ScatterMarkerSymbol = "134" + ScatterMarkerSymbolXThinOpen ScatterMarkerSymbol = "x-thin-open" + ScatterMarkerSymbolNumber35 ScatterMarkerSymbol = 35 + ScatterMarkerSymbol35 ScatterMarkerSymbol = "35" + ScatterMarkerSymbolAsterisk ScatterMarkerSymbol = "asterisk" + ScatterMarkerSymbolNumber135 ScatterMarkerSymbol = 135 + ScatterMarkerSymbol135 ScatterMarkerSymbol = "135" + ScatterMarkerSymbolAsteriskOpen ScatterMarkerSymbol = "asterisk-open" + ScatterMarkerSymbolNumber36 ScatterMarkerSymbol = 36 + ScatterMarkerSymbol36 ScatterMarkerSymbol = "36" + ScatterMarkerSymbolHash ScatterMarkerSymbol = "hash" + ScatterMarkerSymbolNumber136 ScatterMarkerSymbol = 136 + ScatterMarkerSymbol136 ScatterMarkerSymbol = "136" + ScatterMarkerSymbolHashOpen ScatterMarkerSymbol = "hash-open" + ScatterMarkerSymbolNumber236 ScatterMarkerSymbol = 236 + ScatterMarkerSymbol236 ScatterMarkerSymbol = "236" + ScatterMarkerSymbolHashDot ScatterMarkerSymbol = "hash-dot" + ScatterMarkerSymbolNumber336 ScatterMarkerSymbol = 336 + ScatterMarkerSymbol336 ScatterMarkerSymbol = "336" + ScatterMarkerSymbolHashOpenDot ScatterMarkerSymbol = "hash-open-dot" + ScatterMarkerSymbolNumber37 ScatterMarkerSymbol = 37 + ScatterMarkerSymbol37 ScatterMarkerSymbol = "37" + ScatterMarkerSymbolYUp ScatterMarkerSymbol = "y-up" + ScatterMarkerSymbolNumber137 ScatterMarkerSymbol = 137 + ScatterMarkerSymbol137 ScatterMarkerSymbol = "137" + ScatterMarkerSymbolYUpOpen ScatterMarkerSymbol = "y-up-open" + ScatterMarkerSymbolNumber38 ScatterMarkerSymbol = 38 + ScatterMarkerSymbol38 ScatterMarkerSymbol = "38" + ScatterMarkerSymbolYDown ScatterMarkerSymbol = "y-down" + ScatterMarkerSymbolNumber138 ScatterMarkerSymbol = 138 + ScatterMarkerSymbol138 ScatterMarkerSymbol = "138" + ScatterMarkerSymbolYDownOpen ScatterMarkerSymbol = "y-down-open" + ScatterMarkerSymbolNumber39 ScatterMarkerSymbol = 39 + ScatterMarkerSymbol39 ScatterMarkerSymbol = "39" + ScatterMarkerSymbolYLeft ScatterMarkerSymbol = "y-left" + ScatterMarkerSymbolNumber139 ScatterMarkerSymbol = 139 + ScatterMarkerSymbol139 ScatterMarkerSymbol = "139" + ScatterMarkerSymbolYLeftOpen ScatterMarkerSymbol = "y-left-open" + ScatterMarkerSymbolNumber40 ScatterMarkerSymbol = 40 + ScatterMarkerSymbol40 ScatterMarkerSymbol = "40" + ScatterMarkerSymbolYRight ScatterMarkerSymbol = "y-right" + ScatterMarkerSymbolNumber140 ScatterMarkerSymbol = 140 + ScatterMarkerSymbol140 ScatterMarkerSymbol = "140" + ScatterMarkerSymbolYRightOpen ScatterMarkerSymbol = "y-right-open" + ScatterMarkerSymbolNumber41 ScatterMarkerSymbol = 41 + ScatterMarkerSymbol41 ScatterMarkerSymbol = "41" + ScatterMarkerSymbolLineEw ScatterMarkerSymbol = "line-ew" + ScatterMarkerSymbolNumber141 ScatterMarkerSymbol = 141 + ScatterMarkerSymbol141 ScatterMarkerSymbol = "141" + ScatterMarkerSymbolLineEwOpen ScatterMarkerSymbol = "line-ew-open" + ScatterMarkerSymbolNumber42 ScatterMarkerSymbol = 42 + ScatterMarkerSymbol42 ScatterMarkerSymbol = "42" + ScatterMarkerSymbolLineNs ScatterMarkerSymbol = "line-ns" + ScatterMarkerSymbolNumber142 ScatterMarkerSymbol = 142 + ScatterMarkerSymbol142 ScatterMarkerSymbol = "142" + ScatterMarkerSymbolLineNsOpen ScatterMarkerSymbol = "line-ns-open" + ScatterMarkerSymbolNumber43 ScatterMarkerSymbol = 43 + ScatterMarkerSymbol43 ScatterMarkerSymbol = "43" + ScatterMarkerSymbolLineNe ScatterMarkerSymbol = "line-ne" + ScatterMarkerSymbolNumber143 ScatterMarkerSymbol = 143 + ScatterMarkerSymbol143 ScatterMarkerSymbol = "143" + ScatterMarkerSymbolLineNeOpen ScatterMarkerSymbol = "line-ne-open" + ScatterMarkerSymbolNumber44 ScatterMarkerSymbol = 44 + ScatterMarkerSymbol44 ScatterMarkerSymbol = "44" + ScatterMarkerSymbolLineNw ScatterMarkerSymbol = "line-nw" + ScatterMarkerSymbolNumber144 ScatterMarkerSymbol = 144 + ScatterMarkerSymbol144 ScatterMarkerSymbol = "144" + ScatterMarkerSymbolLineNwOpen ScatterMarkerSymbol = "line-nw-open" + ScatterMarkerSymbolNumber45 ScatterMarkerSymbol = 45 + ScatterMarkerSymbol45 ScatterMarkerSymbol = "45" + ScatterMarkerSymbolArrowUp ScatterMarkerSymbol = "arrow-up" + ScatterMarkerSymbolNumber145 ScatterMarkerSymbol = 145 + ScatterMarkerSymbol145 ScatterMarkerSymbol = "145" + ScatterMarkerSymbolArrowUpOpen ScatterMarkerSymbol = "arrow-up-open" + ScatterMarkerSymbolNumber46 ScatterMarkerSymbol = 46 + ScatterMarkerSymbol46 ScatterMarkerSymbol = "46" + ScatterMarkerSymbolArrowDown ScatterMarkerSymbol = "arrow-down" + ScatterMarkerSymbolNumber146 ScatterMarkerSymbol = 146 + ScatterMarkerSymbol146 ScatterMarkerSymbol = "146" + ScatterMarkerSymbolArrowDownOpen ScatterMarkerSymbol = "arrow-down-open" + ScatterMarkerSymbolNumber47 ScatterMarkerSymbol = 47 + ScatterMarkerSymbol47 ScatterMarkerSymbol = "47" + ScatterMarkerSymbolArrowLeft ScatterMarkerSymbol = "arrow-left" + ScatterMarkerSymbolNumber147 ScatterMarkerSymbol = 147 + ScatterMarkerSymbol147 ScatterMarkerSymbol = "147" + ScatterMarkerSymbolArrowLeftOpen ScatterMarkerSymbol = "arrow-left-open" + ScatterMarkerSymbolNumber48 ScatterMarkerSymbol = 48 + ScatterMarkerSymbol48 ScatterMarkerSymbol = "48" + ScatterMarkerSymbolArrowRight ScatterMarkerSymbol = "arrow-right" + ScatterMarkerSymbolNumber148 ScatterMarkerSymbol = 148 + ScatterMarkerSymbol148 ScatterMarkerSymbol = "148" + ScatterMarkerSymbolArrowRightOpen ScatterMarkerSymbol = "arrow-right-open" + ScatterMarkerSymbolNumber49 ScatterMarkerSymbol = 49 + ScatterMarkerSymbol49 ScatterMarkerSymbol = "49" + ScatterMarkerSymbolArrowBarUp ScatterMarkerSymbol = "arrow-bar-up" + ScatterMarkerSymbolNumber149 ScatterMarkerSymbol = 149 + ScatterMarkerSymbol149 ScatterMarkerSymbol = "149" + ScatterMarkerSymbolArrowBarUpOpen ScatterMarkerSymbol = "arrow-bar-up-open" + ScatterMarkerSymbolNumber50 ScatterMarkerSymbol = 50 + ScatterMarkerSymbol50 ScatterMarkerSymbol = "50" + ScatterMarkerSymbolArrowBarDown ScatterMarkerSymbol = "arrow-bar-down" + ScatterMarkerSymbolNumber150 ScatterMarkerSymbol = 150 + ScatterMarkerSymbol150 ScatterMarkerSymbol = "150" + ScatterMarkerSymbolArrowBarDownOpen ScatterMarkerSymbol = "arrow-bar-down-open" + ScatterMarkerSymbolNumber51 ScatterMarkerSymbol = 51 + ScatterMarkerSymbol51 ScatterMarkerSymbol = "51" + ScatterMarkerSymbolArrowBarLeft ScatterMarkerSymbol = "arrow-bar-left" + ScatterMarkerSymbolNumber151 ScatterMarkerSymbol = 151 + ScatterMarkerSymbol151 ScatterMarkerSymbol = "151" + ScatterMarkerSymbolArrowBarLeftOpen ScatterMarkerSymbol = "arrow-bar-left-open" + ScatterMarkerSymbolNumber52 ScatterMarkerSymbol = 52 + ScatterMarkerSymbol52 ScatterMarkerSymbol = "52" + ScatterMarkerSymbolArrowBarRight ScatterMarkerSymbol = "arrow-bar-right" + ScatterMarkerSymbolNumber152 ScatterMarkerSymbol = 152 + ScatterMarkerSymbol152 ScatterMarkerSymbol = "152" + ScatterMarkerSymbolArrowBarRightOpen ScatterMarkerSymbol = "arrow-bar-right-open" + ScatterMarkerSymbolNumber53 ScatterMarkerSymbol = 53 + ScatterMarkerSymbol53 ScatterMarkerSymbol = "53" + ScatterMarkerSymbolArrow ScatterMarkerSymbol = "arrow" + ScatterMarkerSymbolNumber153 ScatterMarkerSymbol = 153 + ScatterMarkerSymbol153 ScatterMarkerSymbol = "153" + ScatterMarkerSymbolArrowOpen ScatterMarkerSymbol = "arrow-open" + ScatterMarkerSymbolNumber54 ScatterMarkerSymbol = 54 + ScatterMarkerSymbol54 ScatterMarkerSymbol = "54" + ScatterMarkerSymbolArrowWide ScatterMarkerSymbol = "arrow-wide" + ScatterMarkerSymbolNumber154 ScatterMarkerSymbol = 154 + ScatterMarkerSymbol154 ScatterMarkerSymbol = "154" + ScatterMarkerSymbolArrowWideOpen ScatterMarkerSymbol = "arrow-wide-open" +) + +// ScatterOrientation 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`. +type ScatterOrientation string + +const ( + ScatterOrientationV ScatterOrientation = "v" + ScatterOrientationH ScatterOrientation = "h" +) + +// ScatterStackgaps 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. +type ScatterStackgaps string + +const ( + ScatterStackgapsInferZero ScatterStackgaps = "infer zero" + ScatterStackgapsInterpolate ScatterStackgaps = "interpolate" +) + +// ScatterTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. +type ScatterTextposition string + +const ( + ScatterTextpositionTopLeft ScatterTextposition = "top left" + ScatterTextpositionTopCenter ScatterTextposition = "top center" + ScatterTextpositionTopRight ScatterTextposition = "top right" + ScatterTextpositionMiddleLeft ScatterTextposition = "middle left" + ScatterTextpositionMiddleCenter ScatterTextposition = "middle center" + ScatterTextpositionMiddleRight ScatterTextposition = "middle right" + ScatterTextpositionBottomLeft ScatterTextposition = "bottom left" + ScatterTextpositionBottomCenter ScatterTextposition = "bottom center" + ScatterTextpositionBottomRight ScatterTextposition = "bottom right" +) + +// ScatterVisible 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). +type ScatterVisible interface{} + +var ( + ScatterVisibleTrue ScatterVisible = true + ScatterVisibleFalse ScatterVisible = false + ScatterVisibleLegendonly ScatterVisible = "legendonly" +) + +// ScatterXcalendar Sets the calendar system to use with `x` date data. +type ScatterXcalendar string + +const ( + ScatterXcalendarChinese ScatterXcalendar = "chinese" + ScatterXcalendarCoptic ScatterXcalendar = "coptic" + ScatterXcalendarDiscworld ScatterXcalendar = "discworld" + ScatterXcalendarEthiopian ScatterXcalendar = "ethiopian" + ScatterXcalendarGregorian ScatterXcalendar = "gregorian" + ScatterXcalendarHebrew ScatterXcalendar = "hebrew" + ScatterXcalendarIslamic ScatterXcalendar = "islamic" + ScatterXcalendarJalali ScatterXcalendar = "jalali" + ScatterXcalendarJulian ScatterXcalendar = "julian" + ScatterXcalendarMayan ScatterXcalendar = "mayan" + ScatterXcalendarNanakshahi ScatterXcalendar = "nanakshahi" + ScatterXcalendarNepali ScatterXcalendar = "nepali" + ScatterXcalendarPersian ScatterXcalendar = "persian" + ScatterXcalendarTaiwan ScatterXcalendar = "taiwan" + ScatterXcalendarThai ScatterXcalendar = "thai" + ScatterXcalendarUmmalqura ScatterXcalendar = "ummalqura" +) + +// ScatterXperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. +type ScatterXperiodalignment string + +const ( + ScatterXperiodalignmentStart ScatterXperiodalignment = "start" + ScatterXperiodalignmentMiddle ScatterXperiodalignment = "middle" + ScatterXperiodalignmentEnd ScatterXperiodalignment = "end" +) + +// ScatterYcalendar Sets the calendar system to use with `y` date data. +type ScatterYcalendar string + +const ( + ScatterYcalendarChinese ScatterYcalendar = "chinese" + ScatterYcalendarCoptic ScatterYcalendar = "coptic" + ScatterYcalendarDiscworld ScatterYcalendar = "discworld" + ScatterYcalendarEthiopian ScatterYcalendar = "ethiopian" + ScatterYcalendarGregorian ScatterYcalendar = "gregorian" + ScatterYcalendarHebrew ScatterYcalendar = "hebrew" + ScatterYcalendarIslamic ScatterYcalendar = "islamic" + ScatterYcalendarJalali ScatterYcalendar = "jalali" + ScatterYcalendarJulian ScatterYcalendar = "julian" + ScatterYcalendarMayan ScatterYcalendar = "mayan" + ScatterYcalendarNanakshahi ScatterYcalendar = "nanakshahi" + ScatterYcalendarNepali ScatterYcalendar = "nepali" + ScatterYcalendarPersian ScatterYcalendar = "persian" + ScatterYcalendarTaiwan ScatterYcalendar = "taiwan" + ScatterYcalendarThai ScatterYcalendar = "thai" + ScatterYcalendarUmmalqura ScatterYcalendar = "ummalqura" +) + +// ScatterYperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis. +type ScatterYperiodalignment string + +const ( + ScatterYperiodalignmentStart ScatterYperiodalignment = "start" + ScatterYperiodalignmentMiddle ScatterYperiodalignment = "middle" + ScatterYperiodalignmentEnd ScatterYperiodalignment = "end" +) + +// ScatterHoverinfo 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. +type ScatterHoverinfo string + +const ( + // Flags + ScatterHoverinfoX ScatterHoverinfo = "x" + ScatterHoverinfoY ScatterHoverinfo = "y" + ScatterHoverinfoZ ScatterHoverinfo = "z" + ScatterHoverinfoText ScatterHoverinfo = "text" + ScatterHoverinfoName ScatterHoverinfo = "name" + + // Extra + ScatterHoverinfoAll ScatterHoverinfo = "all" + ScatterHoverinfoNone ScatterHoverinfo = "none" + ScatterHoverinfoSkip ScatterHoverinfo = "skip" +) + +// ScatterHoveron 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*. +type ScatterHoveron string + +const ( + // Flags + ScatterHoveronPoints ScatterHoveron = "points" + ScatterHoveronFills ScatterHoveron = "fills" + + // Extra + +) + +// ScatterMode 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*. +type ScatterMode string + +const ( + // Flags + ScatterModeLines ScatterMode = "lines" + ScatterModeMarkers ScatterMode = "markers" + ScatterModeText ScatterMode = "text" + + // Extra + ScatterModeNone ScatterMode = "none" +) diff --git a/generated/v2.29.1/graph_objects/scattercarpet_gen.go b/generated/v2.29.1/graph_objects/scattercarpet_gen.go new file mode 100644 index 0000000..a76ff3c --- /dev/null +++ b/generated/v2.29.1/graph_objects/scattercarpet_gen.go @@ -0,0 +1,2012 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeScattercarpet TraceType = "scattercarpet" + +func (trace *Scattercarpet) GetType() TraceType { + return TraceTypeScattercarpet +} + +// Scattercarpet Plots a scatter trace on either the first carpet axis or the carpet axis with a matching `carpet` attribute. +type Scattercarpet struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // A + // arrayOK: false + // type: data_array + // Sets the a-axis coordinates. + A interface{} `json:"a,omitempty"` + + // Asrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `a`. + Asrc String `json:"asrc,omitempty"` + + // B + // arrayOK: false + // type: data_array + // Sets the b-axis coordinates. + B interface{} `json:"b,omitempty"` + + // Bsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `b`. + Bsrc String `json:"bsrc,omitempty"` + + // Carpet + // arrayOK: false + // type: string + // An identifier for this carpet, so that `scattercarpet` and `contourcarpet` traces can specify a carpet plot on which they lie + Carpet String `json:"carpet,omitempty"` + + // Connectgaps + // arrayOK: false + // type: boolean + // Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected. + Connectgaps Bool `json:"connectgaps,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Fill + // default: none + // type: enumerated + // 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. + Fill ScattercarpetFill `json:"fill,omitempty"` + + // Fillcolor + // arrayOK: false + // 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. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo ScattercarpetHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *ScattercarpetHoverlabel `json:"hoverlabel,omitempty"` + + // Hoveron + // default: %!s() + // type: flaglist + // 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*. + Hoveron ScattercarpetHoveron `json:"hoveron,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *ScattercarpetLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *ScattercarpetLine `json:"line,omitempty"` + + // Marker + // role: Object + Marker *ScattercarpetMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Mode + // default: markers + // type: flaglist + // 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*. + Mode ScattercarpetMode `json:"mode,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Selected + // role: Object + Selected *ScattercarpetSelected `json:"selected,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Stream + // role: Object + Stream *ScattercarpetStream `json:"stream,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textfont + // role: Object + Textfont *ScattercarpetTextfont `json:"textfont,omitempty"` + + // Textposition + // default: middle center + // type: enumerated + // Sets the positions of the `text` elements with respects to the (x,y) coordinates. + Textposition ScattercarpetTextposition `json:"textposition,omitempty"` + + // Textpositionsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `textposition`. + Textpositionsrc String `json:"textpositionsrc,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: true + // 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 `a`, `b` and `text`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Texttemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `texttemplate`. + Texttemplatesrc String `json:"texttemplatesrc,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Unselected + // role: Object + Unselected *ScattercarpetUnselected `json:"unselected,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible ScattercarpetVisible `json:"visible,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` +} + +// ScattercarpetHoverlabelFont Sets the font used in hover labels. +type ScattercarpetHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ScattercarpetHoverlabel +type ScattercarpetHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align ScattercarpetHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *ScattercarpetHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// ScattercarpetLegendgrouptitleFont Sets this legend group's title font. +type ScattercarpetLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScattercarpetLegendgrouptitle +type ScattercarpetLegendgrouptitle struct { + + // Font + // role: Object + Font *ScattercarpetLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// ScattercarpetLine +type ScattercarpetLine struct { + + // Backoff + // arrayOK: true + // type: number + // 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*. + Backoff float64 `json:"backoff,omitempty"` + + // Backoffsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `backoff`. + Backoffsrc String `json:"backoffsrc,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the line color. + Color Color `json:"color,omitempty"` + + // Dash + // arrayOK: false + // type: string + // 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*). + Dash String `json:"dash,omitempty"` + + // Shape + // default: linear + // type: enumerated + // Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes. + Shape ScattercarpetLineShape `json:"shape,omitempty"` + + // Smoothing + // arrayOK: false + // type: number + // 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). + Smoothing float64 `json:"smoothing,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width (in px). + Width float64 `json:"width,omitempty"` +} + +// ScattercarpetMarkerColorbarTickfont Sets the color bar's tick label font +type ScattercarpetMarkerColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScattercarpetMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type ScattercarpetMarkerColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScattercarpetMarkerColorbarTitle +type ScattercarpetMarkerColorbarTitle struct { + + // Font + // role: Object + Font *ScattercarpetMarkerColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side ScattercarpetMarkerColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// ScattercarpetMarkerColorbar +type ScattercarpetMarkerColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat ScattercarpetMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode ScattercarpetMarkerColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ScattercarpetMarkerColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent ScattercarpetMarkerColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix ScattercarpetMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix ScattercarpetMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode ScattercarpetMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *ScattercarpetMarkerColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ScattercarpetMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition ScattercarpetMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode ScattercarpetMarkerColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks ScattercarpetMarkerColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *ScattercarpetMarkerColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor ScattercarpetMarkerColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref ScattercarpetMarkerColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor ScattercarpetMarkerColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref ScattercarpetMarkerColorbarYref `json:"yref,omitempty"` +} + +// ScattercarpetMarkerGradient +type ScattercarpetMarkerGradient struct { + + // Color + // arrayOK: true + // type: color + // Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Type + // default: none + // type: enumerated + // Sets the type of gradient used to fill the markers + Type ScattercarpetMarkerGradientType `json:"type,omitempty"` + + // Typesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `type`. + Typesrc String `json:"typesrc,omitempty"` +} + +// ScattercarpetMarkerLine +type ScattercarpetMarkerLine struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the lines bounding the marker points. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// ScattercarpetMarker +type ScattercarpetMarker struct { + + // Angle + // arrayOK: true + // type: angle + // Sets the marker angle in respect to `angleref`. + Angle float64 `json:"angle,omitempty"` + + // Angleref + // default: up + // type: enumerated + // 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. + Angleref ScattercarpetMarkerAngleref `json:"angleref,omitempty"` + + // Anglesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `angle`. + Anglesrc String `json:"anglesrc,omitempty"` + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *ScattercarpetMarkerColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Gradient + // role: Object + Gradient *ScattercarpetMarkerGradient `json:"gradient,omitempty"` + + // Line + // role: Object + Line *ScattercarpetMarkerLine `json:"line,omitempty"` + + // Maxdisplayed + // arrayOK: false + // type: number + // Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit. + Maxdisplayed float64 `json:"maxdisplayed,omitempty"` + + // Opacity + // arrayOK: true + // type: number + // Sets the marker opacity. + Opacity float64 `json:"opacity,omitempty"` + + // Opacitysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `opacity`. + Opacitysrc String `json:"opacitysrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the marker size (in px). + Size float64 `json:"size,omitempty"` + + // Sizemin + // arrayOK: false + // 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. + Sizemin float64 `json:"sizemin,omitempty"` + + // Sizemode + // default: diameter + // type: enumerated + // 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. + Sizemode ScattercarpetMarkerSizemode `json:"sizemode,omitempty"` + + // Sizeref + // arrayOK: false + // type: number + // 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`. + Sizeref float64 `json:"sizeref,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Standoff + // arrayOK: true + // type: number + // 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. + Standoff float64 `json:"standoff,omitempty"` + + // Standoffsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `standoff`. + Standoffsrc String `json:"standoffsrc,omitempty"` + + // Symbol + // default: circle + // type: enumerated + // 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. + Symbol ScattercarpetMarkerSymbol `json:"symbol,omitempty"` + + // Symbolsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `symbol`. + Symbolsrc String `json:"symbolsrc,omitempty"` +} + +// ScattercarpetSelectedMarker +type ScattercarpetSelectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of selected points. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of selected points. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of selected points. + Size float64 `json:"size,omitempty"` +} + +// ScattercarpetSelectedTextfont +type ScattercarpetSelectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of selected points. + Color Color `json:"color,omitempty"` +} + +// ScattercarpetSelected +type ScattercarpetSelected struct { + + // Marker + // role: Object + Marker *ScattercarpetSelectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *ScattercarpetSelectedTextfont `json:"textfont,omitempty"` +} + +// ScattercarpetStream +type ScattercarpetStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// ScattercarpetTextfont Sets the text font. +type ScattercarpetTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ScattercarpetUnselectedMarker +type ScattercarpetUnselectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of unselected points, applied only when a selection exists. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of unselected points, applied only when a selection exists. + Size float64 `json:"size,omitempty"` +} + +// ScattercarpetUnselectedTextfont +type ScattercarpetUnselectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` +} + +// ScattercarpetUnselected +type ScattercarpetUnselected struct { + + // Marker + // role: Object + Marker *ScattercarpetUnselectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *ScattercarpetUnselectedTextfont `json:"textfont,omitempty"` +} + +// ScattercarpetFill 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. +type ScattercarpetFill string + +const ( + ScattercarpetFillNone ScattercarpetFill = "none" + ScattercarpetFillToself ScattercarpetFill = "toself" + ScattercarpetFillTonext ScattercarpetFill = "tonext" +) + +// ScattercarpetHoverlabelAlign 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 +type ScattercarpetHoverlabelAlign string + +const ( + ScattercarpetHoverlabelAlignLeft ScattercarpetHoverlabelAlign = "left" + ScattercarpetHoverlabelAlignRight ScattercarpetHoverlabelAlign = "right" + ScattercarpetHoverlabelAlignAuto ScattercarpetHoverlabelAlign = "auto" +) + +// ScattercarpetLineShape Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes. +type ScattercarpetLineShape string + +const ( + ScattercarpetLineShapeLinear ScattercarpetLineShape = "linear" + ScattercarpetLineShapeSpline ScattercarpetLineShape = "spline" +) + +// ScattercarpetMarkerAngleref 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. +type ScattercarpetMarkerAngleref string + +const ( + ScattercarpetMarkerAnglerefPrevious ScattercarpetMarkerAngleref = "previous" + ScattercarpetMarkerAnglerefUp ScattercarpetMarkerAngleref = "up" +) + +// ScattercarpetMarkerColorbarExponentformat 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. +type ScattercarpetMarkerColorbarExponentformat string + +const ( + ScattercarpetMarkerColorbarExponentformatNone ScattercarpetMarkerColorbarExponentformat = "none" + ScattercarpetMarkerColorbarExponentformatE1 ScattercarpetMarkerColorbarExponentformat = "e" + ScattercarpetMarkerColorbarExponentformatE2 ScattercarpetMarkerColorbarExponentformat = "E" + ScattercarpetMarkerColorbarExponentformatPower ScattercarpetMarkerColorbarExponentformat = "power" + ScattercarpetMarkerColorbarExponentformatSI ScattercarpetMarkerColorbarExponentformat = "SI" + ScattercarpetMarkerColorbarExponentformatB ScattercarpetMarkerColorbarExponentformat = "B" +) + +// ScattercarpetMarkerColorbarLenmode 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. +type ScattercarpetMarkerColorbarLenmode string + +const ( + ScattercarpetMarkerColorbarLenmodeFraction ScattercarpetMarkerColorbarLenmode = "fraction" + ScattercarpetMarkerColorbarLenmodePixels ScattercarpetMarkerColorbarLenmode = "pixels" +) + +// ScattercarpetMarkerColorbarOrientation Sets the orientation of the colorbar. +type ScattercarpetMarkerColorbarOrientation string + +const ( + ScattercarpetMarkerColorbarOrientationH ScattercarpetMarkerColorbarOrientation = "h" + ScattercarpetMarkerColorbarOrientationV ScattercarpetMarkerColorbarOrientation = "v" +) + +// ScattercarpetMarkerColorbarShowexponent 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. +type ScattercarpetMarkerColorbarShowexponent string + +const ( + ScattercarpetMarkerColorbarShowexponentAll ScattercarpetMarkerColorbarShowexponent = "all" + ScattercarpetMarkerColorbarShowexponentFirst ScattercarpetMarkerColorbarShowexponent = "first" + ScattercarpetMarkerColorbarShowexponentLast ScattercarpetMarkerColorbarShowexponent = "last" + ScattercarpetMarkerColorbarShowexponentNone ScattercarpetMarkerColorbarShowexponent = "none" +) + +// ScattercarpetMarkerColorbarShowtickprefix 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. +type ScattercarpetMarkerColorbarShowtickprefix string + +const ( + ScattercarpetMarkerColorbarShowtickprefixAll ScattercarpetMarkerColorbarShowtickprefix = "all" + ScattercarpetMarkerColorbarShowtickprefixFirst ScattercarpetMarkerColorbarShowtickprefix = "first" + ScattercarpetMarkerColorbarShowtickprefixLast ScattercarpetMarkerColorbarShowtickprefix = "last" + ScattercarpetMarkerColorbarShowtickprefixNone ScattercarpetMarkerColorbarShowtickprefix = "none" +) + +// ScattercarpetMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type ScattercarpetMarkerColorbarShowticksuffix string + +const ( + ScattercarpetMarkerColorbarShowticksuffixAll ScattercarpetMarkerColorbarShowticksuffix = "all" + ScattercarpetMarkerColorbarShowticksuffixFirst ScattercarpetMarkerColorbarShowticksuffix = "first" + ScattercarpetMarkerColorbarShowticksuffixLast ScattercarpetMarkerColorbarShowticksuffix = "last" + ScattercarpetMarkerColorbarShowticksuffixNone ScattercarpetMarkerColorbarShowticksuffix = "none" +) + +// ScattercarpetMarkerColorbarThicknessmode 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. +type ScattercarpetMarkerColorbarThicknessmode string + +const ( + ScattercarpetMarkerColorbarThicknessmodeFraction ScattercarpetMarkerColorbarThicknessmode = "fraction" + ScattercarpetMarkerColorbarThicknessmodePixels ScattercarpetMarkerColorbarThicknessmode = "pixels" +) + +// ScattercarpetMarkerColorbarTicklabeloverflow 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*. +type ScattercarpetMarkerColorbarTicklabeloverflow string + +const ( + ScattercarpetMarkerColorbarTicklabeloverflowAllow ScattercarpetMarkerColorbarTicklabeloverflow = "allow" + ScattercarpetMarkerColorbarTicklabeloverflowHidePastDiv ScattercarpetMarkerColorbarTicklabeloverflow = "hide past div" + ScattercarpetMarkerColorbarTicklabeloverflowHidePastDomain ScattercarpetMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// ScattercarpetMarkerColorbarTicklabelposition 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*. +type ScattercarpetMarkerColorbarTicklabelposition string + +const ( + ScattercarpetMarkerColorbarTicklabelpositionOutside ScattercarpetMarkerColorbarTicklabelposition = "outside" + ScattercarpetMarkerColorbarTicklabelpositionInside ScattercarpetMarkerColorbarTicklabelposition = "inside" + ScattercarpetMarkerColorbarTicklabelpositionOutsideTop ScattercarpetMarkerColorbarTicklabelposition = "outside top" + ScattercarpetMarkerColorbarTicklabelpositionInsideTop ScattercarpetMarkerColorbarTicklabelposition = "inside top" + ScattercarpetMarkerColorbarTicklabelpositionOutsideLeft ScattercarpetMarkerColorbarTicklabelposition = "outside left" + ScattercarpetMarkerColorbarTicklabelpositionInsideLeft ScattercarpetMarkerColorbarTicklabelposition = "inside left" + ScattercarpetMarkerColorbarTicklabelpositionOutsideRight ScattercarpetMarkerColorbarTicklabelposition = "outside right" + ScattercarpetMarkerColorbarTicklabelpositionInsideRight ScattercarpetMarkerColorbarTicklabelposition = "inside right" + ScattercarpetMarkerColorbarTicklabelpositionOutsideBottom ScattercarpetMarkerColorbarTicklabelposition = "outside bottom" + ScattercarpetMarkerColorbarTicklabelpositionInsideBottom ScattercarpetMarkerColorbarTicklabelposition = "inside bottom" +) + +// ScattercarpetMarkerColorbarTickmode 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). +type ScattercarpetMarkerColorbarTickmode string + +const ( + ScattercarpetMarkerColorbarTickmodeAuto ScattercarpetMarkerColorbarTickmode = "auto" + ScattercarpetMarkerColorbarTickmodeLinear ScattercarpetMarkerColorbarTickmode = "linear" + ScattercarpetMarkerColorbarTickmodeArray ScattercarpetMarkerColorbarTickmode = "array" +) + +// ScattercarpetMarkerColorbarTicks 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. +type ScattercarpetMarkerColorbarTicks string + +const ( + ScattercarpetMarkerColorbarTicksOutside ScattercarpetMarkerColorbarTicks = "outside" + ScattercarpetMarkerColorbarTicksInside ScattercarpetMarkerColorbarTicks = "inside" + ScattercarpetMarkerColorbarTicksEmpty ScattercarpetMarkerColorbarTicks = "" +) + +// ScattercarpetMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type ScattercarpetMarkerColorbarTitleSide string + +const ( + ScattercarpetMarkerColorbarTitleSideRight ScattercarpetMarkerColorbarTitleSide = "right" + ScattercarpetMarkerColorbarTitleSideTop ScattercarpetMarkerColorbarTitleSide = "top" + ScattercarpetMarkerColorbarTitleSideBottom ScattercarpetMarkerColorbarTitleSide = "bottom" +) + +// ScattercarpetMarkerColorbarXanchor 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*. +type ScattercarpetMarkerColorbarXanchor string + +const ( + ScattercarpetMarkerColorbarXanchorLeft ScattercarpetMarkerColorbarXanchor = "left" + ScattercarpetMarkerColorbarXanchorCenter ScattercarpetMarkerColorbarXanchor = "center" + ScattercarpetMarkerColorbarXanchorRight ScattercarpetMarkerColorbarXanchor = "right" +) + +// ScattercarpetMarkerColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type ScattercarpetMarkerColorbarXref string + +const ( + ScattercarpetMarkerColorbarXrefContainer ScattercarpetMarkerColorbarXref = "container" + ScattercarpetMarkerColorbarXrefPaper ScattercarpetMarkerColorbarXref = "paper" +) + +// ScattercarpetMarkerColorbarYanchor 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*. +type ScattercarpetMarkerColorbarYanchor string + +const ( + ScattercarpetMarkerColorbarYanchorTop ScattercarpetMarkerColorbarYanchor = "top" + ScattercarpetMarkerColorbarYanchorMiddle ScattercarpetMarkerColorbarYanchor = "middle" + ScattercarpetMarkerColorbarYanchorBottom ScattercarpetMarkerColorbarYanchor = "bottom" +) + +// ScattercarpetMarkerColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type ScattercarpetMarkerColorbarYref string + +const ( + ScattercarpetMarkerColorbarYrefContainer ScattercarpetMarkerColorbarYref = "container" + ScattercarpetMarkerColorbarYrefPaper ScattercarpetMarkerColorbarYref = "paper" +) + +// ScattercarpetMarkerGradientType Sets the type of gradient used to fill the markers +type ScattercarpetMarkerGradientType string + +const ( + ScattercarpetMarkerGradientTypeRadial ScattercarpetMarkerGradientType = "radial" + ScattercarpetMarkerGradientTypeHorizontal ScattercarpetMarkerGradientType = "horizontal" + ScattercarpetMarkerGradientTypeVertical ScattercarpetMarkerGradientType = "vertical" + ScattercarpetMarkerGradientTypeNone ScattercarpetMarkerGradientType = "none" +) + +// ScattercarpetMarkerSizemode 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. +type ScattercarpetMarkerSizemode string + +const ( + ScattercarpetMarkerSizemodeDiameter ScattercarpetMarkerSizemode = "diameter" + ScattercarpetMarkerSizemodeArea ScattercarpetMarkerSizemode = "area" +) + +// ScattercarpetMarkerSymbol 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. +type ScattercarpetMarkerSymbol interface{} + +var ( + ScattercarpetMarkerSymbolNumber0 ScattercarpetMarkerSymbol = 0 + ScattercarpetMarkerSymbol0 ScattercarpetMarkerSymbol = "0" + ScattercarpetMarkerSymbolCircle ScattercarpetMarkerSymbol = "circle" + ScattercarpetMarkerSymbolNumber100 ScattercarpetMarkerSymbol = 100 + ScattercarpetMarkerSymbol100 ScattercarpetMarkerSymbol = "100" + ScattercarpetMarkerSymbolCircleOpen ScattercarpetMarkerSymbol = "circle-open" + ScattercarpetMarkerSymbolNumber200 ScattercarpetMarkerSymbol = 200 + ScattercarpetMarkerSymbol200 ScattercarpetMarkerSymbol = "200" + ScattercarpetMarkerSymbolCircleDot ScattercarpetMarkerSymbol = "circle-dot" + ScattercarpetMarkerSymbolNumber300 ScattercarpetMarkerSymbol = 300 + ScattercarpetMarkerSymbol300 ScattercarpetMarkerSymbol = "300" + ScattercarpetMarkerSymbolCircleOpenDot ScattercarpetMarkerSymbol = "circle-open-dot" + ScattercarpetMarkerSymbolNumber1 ScattercarpetMarkerSymbol = 1 + ScattercarpetMarkerSymbol1 ScattercarpetMarkerSymbol = "1" + ScattercarpetMarkerSymbolSquare ScattercarpetMarkerSymbol = "square" + ScattercarpetMarkerSymbolNumber101 ScattercarpetMarkerSymbol = 101 + ScattercarpetMarkerSymbol101 ScattercarpetMarkerSymbol = "101" + ScattercarpetMarkerSymbolSquareOpen ScattercarpetMarkerSymbol = "square-open" + ScattercarpetMarkerSymbolNumber201 ScattercarpetMarkerSymbol = 201 + ScattercarpetMarkerSymbol201 ScattercarpetMarkerSymbol = "201" + ScattercarpetMarkerSymbolSquareDot ScattercarpetMarkerSymbol = "square-dot" + ScattercarpetMarkerSymbolNumber301 ScattercarpetMarkerSymbol = 301 + ScattercarpetMarkerSymbol301 ScattercarpetMarkerSymbol = "301" + ScattercarpetMarkerSymbolSquareOpenDot ScattercarpetMarkerSymbol = "square-open-dot" + ScattercarpetMarkerSymbolNumber2 ScattercarpetMarkerSymbol = 2 + ScattercarpetMarkerSymbol2 ScattercarpetMarkerSymbol = "2" + ScattercarpetMarkerSymbolDiamond ScattercarpetMarkerSymbol = "diamond" + ScattercarpetMarkerSymbolNumber102 ScattercarpetMarkerSymbol = 102 + ScattercarpetMarkerSymbol102 ScattercarpetMarkerSymbol = "102" + ScattercarpetMarkerSymbolDiamondOpen ScattercarpetMarkerSymbol = "diamond-open" + ScattercarpetMarkerSymbolNumber202 ScattercarpetMarkerSymbol = 202 + ScattercarpetMarkerSymbol202 ScattercarpetMarkerSymbol = "202" + ScattercarpetMarkerSymbolDiamondDot ScattercarpetMarkerSymbol = "diamond-dot" + ScattercarpetMarkerSymbolNumber302 ScattercarpetMarkerSymbol = 302 + ScattercarpetMarkerSymbol302 ScattercarpetMarkerSymbol = "302" + ScattercarpetMarkerSymbolDiamondOpenDot ScattercarpetMarkerSymbol = "diamond-open-dot" + ScattercarpetMarkerSymbolNumber3 ScattercarpetMarkerSymbol = 3 + ScattercarpetMarkerSymbol3 ScattercarpetMarkerSymbol = "3" + ScattercarpetMarkerSymbolCross ScattercarpetMarkerSymbol = "cross" + ScattercarpetMarkerSymbolNumber103 ScattercarpetMarkerSymbol = 103 + ScattercarpetMarkerSymbol103 ScattercarpetMarkerSymbol = "103" + ScattercarpetMarkerSymbolCrossOpen ScattercarpetMarkerSymbol = "cross-open" + ScattercarpetMarkerSymbolNumber203 ScattercarpetMarkerSymbol = 203 + ScattercarpetMarkerSymbol203 ScattercarpetMarkerSymbol = "203" + ScattercarpetMarkerSymbolCrossDot ScattercarpetMarkerSymbol = "cross-dot" + ScattercarpetMarkerSymbolNumber303 ScattercarpetMarkerSymbol = 303 + ScattercarpetMarkerSymbol303 ScattercarpetMarkerSymbol = "303" + ScattercarpetMarkerSymbolCrossOpenDot ScattercarpetMarkerSymbol = "cross-open-dot" + ScattercarpetMarkerSymbolNumber4 ScattercarpetMarkerSymbol = 4 + ScattercarpetMarkerSymbol4 ScattercarpetMarkerSymbol = "4" + ScattercarpetMarkerSymbolX ScattercarpetMarkerSymbol = "x" + ScattercarpetMarkerSymbolNumber104 ScattercarpetMarkerSymbol = 104 + ScattercarpetMarkerSymbol104 ScattercarpetMarkerSymbol = "104" + ScattercarpetMarkerSymbolXOpen ScattercarpetMarkerSymbol = "x-open" + ScattercarpetMarkerSymbolNumber204 ScattercarpetMarkerSymbol = 204 + ScattercarpetMarkerSymbol204 ScattercarpetMarkerSymbol = "204" + ScattercarpetMarkerSymbolXDot ScattercarpetMarkerSymbol = "x-dot" + ScattercarpetMarkerSymbolNumber304 ScattercarpetMarkerSymbol = 304 + ScattercarpetMarkerSymbol304 ScattercarpetMarkerSymbol = "304" + ScattercarpetMarkerSymbolXOpenDot ScattercarpetMarkerSymbol = "x-open-dot" + ScattercarpetMarkerSymbolNumber5 ScattercarpetMarkerSymbol = 5 + ScattercarpetMarkerSymbol5 ScattercarpetMarkerSymbol = "5" + ScattercarpetMarkerSymbolTriangleUp ScattercarpetMarkerSymbol = "triangle-up" + ScattercarpetMarkerSymbolNumber105 ScattercarpetMarkerSymbol = 105 + ScattercarpetMarkerSymbol105 ScattercarpetMarkerSymbol = "105" + ScattercarpetMarkerSymbolTriangleUpOpen ScattercarpetMarkerSymbol = "triangle-up-open" + ScattercarpetMarkerSymbolNumber205 ScattercarpetMarkerSymbol = 205 + ScattercarpetMarkerSymbol205 ScattercarpetMarkerSymbol = "205" + ScattercarpetMarkerSymbolTriangleUpDot ScattercarpetMarkerSymbol = "triangle-up-dot" + ScattercarpetMarkerSymbolNumber305 ScattercarpetMarkerSymbol = 305 + ScattercarpetMarkerSymbol305 ScattercarpetMarkerSymbol = "305" + ScattercarpetMarkerSymbolTriangleUpOpenDot ScattercarpetMarkerSymbol = "triangle-up-open-dot" + ScattercarpetMarkerSymbolNumber6 ScattercarpetMarkerSymbol = 6 + ScattercarpetMarkerSymbol6 ScattercarpetMarkerSymbol = "6" + ScattercarpetMarkerSymbolTriangleDown ScattercarpetMarkerSymbol = "triangle-down" + ScattercarpetMarkerSymbolNumber106 ScattercarpetMarkerSymbol = 106 + ScattercarpetMarkerSymbol106 ScattercarpetMarkerSymbol = "106" + ScattercarpetMarkerSymbolTriangleDownOpen ScattercarpetMarkerSymbol = "triangle-down-open" + ScattercarpetMarkerSymbolNumber206 ScattercarpetMarkerSymbol = 206 + ScattercarpetMarkerSymbol206 ScattercarpetMarkerSymbol = "206" + ScattercarpetMarkerSymbolTriangleDownDot ScattercarpetMarkerSymbol = "triangle-down-dot" + ScattercarpetMarkerSymbolNumber306 ScattercarpetMarkerSymbol = 306 + ScattercarpetMarkerSymbol306 ScattercarpetMarkerSymbol = "306" + ScattercarpetMarkerSymbolTriangleDownOpenDot ScattercarpetMarkerSymbol = "triangle-down-open-dot" + ScattercarpetMarkerSymbolNumber7 ScattercarpetMarkerSymbol = 7 + ScattercarpetMarkerSymbol7 ScattercarpetMarkerSymbol = "7" + ScattercarpetMarkerSymbolTriangleLeft ScattercarpetMarkerSymbol = "triangle-left" + ScattercarpetMarkerSymbolNumber107 ScattercarpetMarkerSymbol = 107 + ScattercarpetMarkerSymbol107 ScattercarpetMarkerSymbol = "107" + ScattercarpetMarkerSymbolTriangleLeftOpen ScattercarpetMarkerSymbol = "triangle-left-open" + ScattercarpetMarkerSymbolNumber207 ScattercarpetMarkerSymbol = 207 + ScattercarpetMarkerSymbol207 ScattercarpetMarkerSymbol = "207" + ScattercarpetMarkerSymbolTriangleLeftDot ScattercarpetMarkerSymbol = "triangle-left-dot" + ScattercarpetMarkerSymbolNumber307 ScattercarpetMarkerSymbol = 307 + ScattercarpetMarkerSymbol307 ScattercarpetMarkerSymbol = "307" + ScattercarpetMarkerSymbolTriangleLeftOpenDot ScattercarpetMarkerSymbol = "triangle-left-open-dot" + ScattercarpetMarkerSymbolNumber8 ScattercarpetMarkerSymbol = 8 + ScattercarpetMarkerSymbol8 ScattercarpetMarkerSymbol = "8" + ScattercarpetMarkerSymbolTriangleRight ScattercarpetMarkerSymbol = "triangle-right" + ScattercarpetMarkerSymbolNumber108 ScattercarpetMarkerSymbol = 108 + ScattercarpetMarkerSymbol108 ScattercarpetMarkerSymbol = "108" + ScattercarpetMarkerSymbolTriangleRightOpen ScattercarpetMarkerSymbol = "triangle-right-open" + ScattercarpetMarkerSymbolNumber208 ScattercarpetMarkerSymbol = 208 + ScattercarpetMarkerSymbol208 ScattercarpetMarkerSymbol = "208" + ScattercarpetMarkerSymbolTriangleRightDot ScattercarpetMarkerSymbol = "triangle-right-dot" + ScattercarpetMarkerSymbolNumber308 ScattercarpetMarkerSymbol = 308 + ScattercarpetMarkerSymbol308 ScattercarpetMarkerSymbol = "308" + ScattercarpetMarkerSymbolTriangleRightOpenDot ScattercarpetMarkerSymbol = "triangle-right-open-dot" + ScattercarpetMarkerSymbolNumber9 ScattercarpetMarkerSymbol = 9 + ScattercarpetMarkerSymbol9 ScattercarpetMarkerSymbol = "9" + ScattercarpetMarkerSymbolTriangleNe ScattercarpetMarkerSymbol = "triangle-ne" + ScattercarpetMarkerSymbolNumber109 ScattercarpetMarkerSymbol = 109 + ScattercarpetMarkerSymbol109 ScattercarpetMarkerSymbol = "109" + ScattercarpetMarkerSymbolTriangleNeOpen ScattercarpetMarkerSymbol = "triangle-ne-open" + ScattercarpetMarkerSymbolNumber209 ScattercarpetMarkerSymbol = 209 + ScattercarpetMarkerSymbol209 ScattercarpetMarkerSymbol = "209" + ScattercarpetMarkerSymbolTriangleNeDot ScattercarpetMarkerSymbol = "triangle-ne-dot" + ScattercarpetMarkerSymbolNumber309 ScattercarpetMarkerSymbol = 309 + ScattercarpetMarkerSymbol309 ScattercarpetMarkerSymbol = "309" + ScattercarpetMarkerSymbolTriangleNeOpenDot ScattercarpetMarkerSymbol = "triangle-ne-open-dot" + ScattercarpetMarkerSymbolNumber10 ScattercarpetMarkerSymbol = 10 + ScattercarpetMarkerSymbol10 ScattercarpetMarkerSymbol = "10" + ScattercarpetMarkerSymbolTriangleSe ScattercarpetMarkerSymbol = "triangle-se" + ScattercarpetMarkerSymbolNumber110 ScattercarpetMarkerSymbol = 110 + ScattercarpetMarkerSymbol110 ScattercarpetMarkerSymbol = "110" + ScattercarpetMarkerSymbolTriangleSeOpen ScattercarpetMarkerSymbol = "triangle-se-open" + ScattercarpetMarkerSymbolNumber210 ScattercarpetMarkerSymbol = 210 + ScattercarpetMarkerSymbol210 ScattercarpetMarkerSymbol = "210" + ScattercarpetMarkerSymbolTriangleSeDot ScattercarpetMarkerSymbol = "triangle-se-dot" + ScattercarpetMarkerSymbolNumber310 ScattercarpetMarkerSymbol = 310 + ScattercarpetMarkerSymbol310 ScattercarpetMarkerSymbol = "310" + ScattercarpetMarkerSymbolTriangleSeOpenDot ScattercarpetMarkerSymbol = "triangle-se-open-dot" + ScattercarpetMarkerSymbolNumber11 ScattercarpetMarkerSymbol = 11 + ScattercarpetMarkerSymbol11 ScattercarpetMarkerSymbol = "11" + ScattercarpetMarkerSymbolTriangleSw ScattercarpetMarkerSymbol = "triangle-sw" + ScattercarpetMarkerSymbolNumber111 ScattercarpetMarkerSymbol = 111 + ScattercarpetMarkerSymbol111 ScattercarpetMarkerSymbol = "111" + ScattercarpetMarkerSymbolTriangleSwOpen ScattercarpetMarkerSymbol = "triangle-sw-open" + ScattercarpetMarkerSymbolNumber211 ScattercarpetMarkerSymbol = 211 + ScattercarpetMarkerSymbol211 ScattercarpetMarkerSymbol = "211" + ScattercarpetMarkerSymbolTriangleSwDot ScattercarpetMarkerSymbol = "triangle-sw-dot" + ScattercarpetMarkerSymbolNumber311 ScattercarpetMarkerSymbol = 311 + ScattercarpetMarkerSymbol311 ScattercarpetMarkerSymbol = "311" + ScattercarpetMarkerSymbolTriangleSwOpenDot ScattercarpetMarkerSymbol = "triangle-sw-open-dot" + ScattercarpetMarkerSymbolNumber12 ScattercarpetMarkerSymbol = 12 + ScattercarpetMarkerSymbol12 ScattercarpetMarkerSymbol = "12" + ScattercarpetMarkerSymbolTriangleNw ScattercarpetMarkerSymbol = "triangle-nw" + ScattercarpetMarkerSymbolNumber112 ScattercarpetMarkerSymbol = 112 + ScattercarpetMarkerSymbol112 ScattercarpetMarkerSymbol = "112" + ScattercarpetMarkerSymbolTriangleNwOpen ScattercarpetMarkerSymbol = "triangle-nw-open" + ScattercarpetMarkerSymbolNumber212 ScattercarpetMarkerSymbol = 212 + ScattercarpetMarkerSymbol212 ScattercarpetMarkerSymbol = "212" + ScattercarpetMarkerSymbolTriangleNwDot ScattercarpetMarkerSymbol = "triangle-nw-dot" + ScattercarpetMarkerSymbolNumber312 ScattercarpetMarkerSymbol = 312 + ScattercarpetMarkerSymbol312 ScattercarpetMarkerSymbol = "312" + ScattercarpetMarkerSymbolTriangleNwOpenDot ScattercarpetMarkerSymbol = "triangle-nw-open-dot" + ScattercarpetMarkerSymbolNumber13 ScattercarpetMarkerSymbol = 13 + ScattercarpetMarkerSymbol13 ScattercarpetMarkerSymbol = "13" + ScattercarpetMarkerSymbolPentagon ScattercarpetMarkerSymbol = "pentagon" + ScattercarpetMarkerSymbolNumber113 ScattercarpetMarkerSymbol = 113 + ScattercarpetMarkerSymbol113 ScattercarpetMarkerSymbol = "113" + ScattercarpetMarkerSymbolPentagonOpen ScattercarpetMarkerSymbol = "pentagon-open" + ScattercarpetMarkerSymbolNumber213 ScattercarpetMarkerSymbol = 213 + ScattercarpetMarkerSymbol213 ScattercarpetMarkerSymbol = "213" + ScattercarpetMarkerSymbolPentagonDot ScattercarpetMarkerSymbol = "pentagon-dot" + ScattercarpetMarkerSymbolNumber313 ScattercarpetMarkerSymbol = 313 + ScattercarpetMarkerSymbol313 ScattercarpetMarkerSymbol = "313" + ScattercarpetMarkerSymbolPentagonOpenDot ScattercarpetMarkerSymbol = "pentagon-open-dot" + ScattercarpetMarkerSymbolNumber14 ScattercarpetMarkerSymbol = 14 + ScattercarpetMarkerSymbol14 ScattercarpetMarkerSymbol = "14" + ScattercarpetMarkerSymbolHexagon ScattercarpetMarkerSymbol = "hexagon" + ScattercarpetMarkerSymbolNumber114 ScattercarpetMarkerSymbol = 114 + ScattercarpetMarkerSymbol114 ScattercarpetMarkerSymbol = "114" + ScattercarpetMarkerSymbolHexagonOpen ScattercarpetMarkerSymbol = "hexagon-open" + ScattercarpetMarkerSymbolNumber214 ScattercarpetMarkerSymbol = 214 + ScattercarpetMarkerSymbol214 ScattercarpetMarkerSymbol = "214" + ScattercarpetMarkerSymbolHexagonDot ScattercarpetMarkerSymbol = "hexagon-dot" + ScattercarpetMarkerSymbolNumber314 ScattercarpetMarkerSymbol = 314 + ScattercarpetMarkerSymbol314 ScattercarpetMarkerSymbol = "314" + ScattercarpetMarkerSymbolHexagonOpenDot ScattercarpetMarkerSymbol = "hexagon-open-dot" + ScattercarpetMarkerSymbolNumber15 ScattercarpetMarkerSymbol = 15 + ScattercarpetMarkerSymbol15 ScattercarpetMarkerSymbol = "15" + ScattercarpetMarkerSymbolHexagon2 ScattercarpetMarkerSymbol = "hexagon2" + ScattercarpetMarkerSymbolNumber115 ScattercarpetMarkerSymbol = 115 + ScattercarpetMarkerSymbol115 ScattercarpetMarkerSymbol = "115" + ScattercarpetMarkerSymbolHexagon2Open ScattercarpetMarkerSymbol = "hexagon2-open" + ScattercarpetMarkerSymbolNumber215 ScattercarpetMarkerSymbol = 215 + ScattercarpetMarkerSymbol215 ScattercarpetMarkerSymbol = "215" + ScattercarpetMarkerSymbolHexagon2Dot ScattercarpetMarkerSymbol = "hexagon2-dot" + ScattercarpetMarkerSymbolNumber315 ScattercarpetMarkerSymbol = 315 + ScattercarpetMarkerSymbol315 ScattercarpetMarkerSymbol = "315" + ScattercarpetMarkerSymbolHexagon2OpenDot ScattercarpetMarkerSymbol = "hexagon2-open-dot" + ScattercarpetMarkerSymbolNumber16 ScattercarpetMarkerSymbol = 16 + ScattercarpetMarkerSymbol16 ScattercarpetMarkerSymbol = "16" + ScattercarpetMarkerSymbolOctagon ScattercarpetMarkerSymbol = "octagon" + ScattercarpetMarkerSymbolNumber116 ScattercarpetMarkerSymbol = 116 + ScattercarpetMarkerSymbol116 ScattercarpetMarkerSymbol = "116" + ScattercarpetMarkerSymbolOctagonOpen ScattercarpetMarkerSymbol = "octagon-open" + ScattercarpetMarkerSymbolNumber216 ScattercarpetMarkerSymbol = 216 + ScattercarpetMarkerSymbol216 ScattercarpetMarkerSymbol = "216" + ScattercarpetMarkerSymbolOctagonDot ScattercarpetMarkerSymbol = "octagon-dot" + ScattercarpetMarkerSymbolNumber316 ScattercarpetMarkerSymbol = 316 + ScattercarpetMarkerSymbol316 ScattercarpetMarkerSymbol = "316" + ScattercarpetMarkerSymbolOctagonOpenDot ScattercarpetMarkerSymbol = "octagon-open-dot" + ScattercarpetMarkerSymbolNumber17 ScattercarpetMarkerSymbol = 17 + ScattercarpetMarkerSymbol17 ScattercarpetMarkerSymbol = "17" + ScattercarpetMarkerSymbolStar ScattercarpetMarkerSymbol = "star" + ScattercarpetMarkerSymbolNumber117 ScattercarpetMarkerSymbol = 117 + ScattercarpetMarkerSymbol117 ScattercarpetMarkerSymbol = "117" + ScattercarpetMarkerSymbolStarOpen ScattercarpetMarkerSymbol = "star-open" + ScattercarpetMarkerSymbolNumber217 ScattercarpetMarkerSymbol = 217 + ScattercarpetMarkerSymbol217 ScattercarpetMarkerSymbol = "217" + ScattercarpetMarkerSymbolStarDot ScattercarpetMarkerSymbol = "star-dot" + ScattercarpetMarkerSymbolNumber317 ScattercarpetMarkerSymbol = 317 + ScattercarpetMarkerSymbol317 ScattercarpetMarkerSymbol = "317" + ScattercarpetMarkerSymbolStarOpenDot ScattercarpetMarkerSymbol = "star-open-dot" + ScattercarpetMarkerSymbolNumber18 ScattercarpetMarkerSymbol = 18 + ScattercarpetMarkerSymbol18 ScattercarpetMarkerSymbol = "18" + ScattercarpetMarkerSymbolHexagram ScattercarpetMarkerSymbol = "hexagram" + ScattercarpetMarkerSymbolNumber118 ScattercarpetMarkerSymbol = 118 + ScattercarpetMarkerSymbol118 ScattercarpetMarkerSymbol = "118" + ScattercarpetMarkerSymbolHexagramOpen ScattercarpetMarkerSymbol = "hexagram-open" + ScattercarpetMarkerSymbolNumber218 ScattercarpetMarkerSymbol = 218 + ScattercarpetMarkerSymbol218 ScattercarpetMarkerSymbol = "218" + ScattercarpetMarkerSymbolHexagramDot ScattercarpetMarkerSymbol = "hexagram-dot" + ScattercarpetMarkerSymbolNumber318 ScattercarpetMarkerSymbol = 318 + ScattercarpetMarkerSymbol318 ScattercarpetMarkerSymbol = "318" + ScattercarpetMarkerSymbolHexagramOpenDot ScattercarpetMarkerSymbol = "hexagram-open-dot" + ScattercarpetMarkerSymbolNumber19 ScattercarpetMarkerSymbol = 19 + ScattercarpetMarkerSymbol19 ScattercarpetMarkerSymbol = "19" + ScattercarpetMarkerSymbolStarTriangleUp ScattercarpetMarkerSymbol = "star-triangle-up" + ScattercarpetMarkerSymbolNumber119 ScattercarpetMarkerSymbol = 119 + ScattercarpetMarkerSymbol119 ScattercarpetMarkerSymbol = "119" + ScattercarpetMarkerSymbolStarTriangleUpOpen ScattercarpetMarkerSymbol = "star-triangle-up-open" + ScattercarpetMarkerSymbolNumber219 ScattercarpetMarkerSymbol = 219 + ScattercarpetMarkerSymbol219 ScattercarpetMarkerSymbol = "219" + ScattercarpetMarkerSymbolStarTriangleUpDot ScattercarpetMarkerSymbol = "star-triangle-up-dot" + ScattercarpetMarkerSymbolNumber319 ScattercarpetMarkerSymbol = 319 + ScattercarpetMarkerSymbol319 ScattercarpetMarkerSymbol = "319" + ScattercarpetMarkerSymbolStarTriangleUpOpenDot ScattercarpetMarkerSymbol = "star-triangle-up-open-dot" + ScattercarpetMarkerSymbolNumber20 ScattercarpetMarkerSymbol = 20 + ScattercarpetMarkerSymbol20 ScattercarpetMarkerSymbol = "20" + ScattercarpetMarkerSymbolStarTriangleDown ScattercarpetMarkerSymbol = "star-triangle-down" + ScattercarpetMarkerSymbolNumber120 ScattercarpetMarkerSymbol = 120 + ScattercarpetMarkerSymbol120 ScattercarpetMarkerSymbol = "120" + ScattercarpetMarkerSymbolStarTriangleDownOpen ScattercarpetMarkerSymbol = "star-triangle-down-open" + ScattercarpetMarkerSymbolNumber220 ScattercarpetMarkerSymbol = 220 + ScattercarpetMarkerSymbol220 ScattercarpetMarkerSymbol = "220" + ScattercarpetMarkerSymbolStarTriangleDownDot ScattercarpetMarkerSymbol = "star-triangle-down-dot" + ScattercarpetMarkerSymbolNumber320 ScattercarpetMarkerSymbol = 320 + ScattercarpetMarkerSymbol320 ScattercarpetMarkerSymbol = "320" + ScattercarpetMarkerSymbolStarTriangleDownOpenDot ScattercarpetMarkerSymbol = "star-triangle-down-open-dot" + ScattercarpetMarkerSymbolNumber21 ScattercarpetMarkerSymbol = 21 + ScattercarpetMarkerSymbol21 ScattercarpetMarkerSymbol = "21" + ScattercarpetMarkerSymbolStarSquare ScattercarpetMarkerSymbol = "star-square" + ScattercarpetMarkerSymbolNumber121 ScattercarpetMarkerSymbol = 121 + ScattercarpetMarkerSymbol121 ScattercarpetMarkerSymbol = "121" + ScattercarpetMarkerSymbolStarSquareOpen ScattercarpetMarkerSymbol = "star-square-open" + ScattercarpetMarkerSymbolNumber221 ScattercarpetMarkerSymbol = 221 + ScattercarpetMarkerSymbol221 ScattercarpetMarkerSymbol = "221" + ScattercarpetMarkerSymbolStarSquareDot ScattercarpetMarkerSymbol = "star-square-dot" + ScattercarpetMarkerSymbolNumber321 ScattercarpetMarkerSymbol = 321 + ScattercarpetMarkerSymbol321 ScattercarpetMarkerSymbol = "321" + ScattercarpetMarkerSymbolStarSquareOpenDot ScattercarpetMarkerSymbol = "star-square-open-dot" + ScattercarpetMarkerSymbolNumber22 ScattercarpetMarkerSymbol = 22 + ScattercarpetMarkerSymbol22 ScattercarpetMarkerSymbol = "22" + ScattercarpetMarkerSymbolStarDiamond ScattercarpetMarkerSymbol = "star-diamond" + ScattercarpetMarkerSymbolNumber122 ScattercarpetMarkerSymbol = 122 + ScattercarpetMarkerSymbol122 ScattercarpetMarkerSymbol = "122" + ScattercarpetMarkerSymbolStarDiamondOpen ScattercarpetMarkerSymbol = "star-diamond-open" + ScattercarpetMarkerSymbolNumber222 ScattercarpetMarkerSymbol = 222 + ScattercarpetMarkerSymbol222 ScattercarpetMarkerSymbol = "222" + ScattercarpetMarkerSymbolStarDiamondDot ScattercarpetMarkerSymbol = "star-diamond-dot" + ScattercarpetMarkerSymbolNumber322 ScattercarpetMarkerSymbol = 322 + ScattercarpetMarkerSymbol322 ScattercarpetMarkerSymbol = "322" + ScattercarpetMarkerSymbolStarDiamondOpenDot ScattercarpetMarkerSymbol = "star-diamond-open-dot" + ScattercarpetMarkerSymbolNumber23 ScattercarpetMarkerSymbol = 23 + ScattercarpetMarkerSymbol23 ScattercarpetMarkerSymbol = "23" + ScattercarpetMarkerSymbolDiamondTall ScattercarpetMarkerSymbol = "diamond-tall" + ScattercarpetMarkerSymbolNumber123 ScattercarpetMarkerSymbol = 123 + ScattercarpetMarkerSymbol123 ScattercarpetMarkerSymbol = "123" + ScattercarpetMarkerSymbolDiamondTallOpen ScattercarpetMarkerSymbol = "diamond-tall-open" + ScattercarpetMarkerSymbolNumber223 ScattercarpetMarkerSymbol = 223 + ScattercarpetMarkerSymbol223 ScattercarpetMarkerSymbol = "223" + ScattercarpetMarkerSymbolDiamondTallDot ScattercarpetMarkerSymbol = "diamond-tall-dot" + ScattercarpetMarkerSymbolNumber323 ScattercarpetMarkerSymbol = 323 + ScattercarpetMarkerSymbol323 ScattercarpetMarkerSymbol = "323" + ScattercarpetMarkerSymbolDiamondTallOpenDot ScattercarpetMarkerSymbol = "diamond-tall-open-dot" + ScattercarpetMarkerSymbolNumber24 ScattercarpetMarkerSymbol = 24 + ScattercarpetMarkerSymbol24 ScattercarpetMarkerSymbol = "24" + ScattercarpetMarkerSymbolDiamondWide ScattercarpetMarkerSymbol = "diamond-wide" + ScattercarpetMarkerSymbolNumber124 ScattercarpetMarkerSymbol = 124 + ScattercarpetMarkerSymbol124 ScattercarpetMarkerSymbol = "124" + ScattercarpetMarkerSymbolDiamondWideOpen ScattercarpetMarkerSymbol = "diamond-wide-open" + ScattercarpetMarkerSymbolNumber224 ScattercarpetMarkerSymbol = 224 + ScattercarpetMarkerSymbol224 ScattercarpetMarkerSymbol = "224" + ScattercarpetMarkerSymbolDiamondWideDot ScattercarpetMarkerSymbol = "diamond-wide-dot" + ScattercarpetMarkerSymbolNumber324 ScattercarpetMarkerSymbol = 324 + ScattercarpetMarkerSymbol324 ScattercarpetMarkerSymbol = "324" + ScattercarpetMarkerSymbolDiamondWideOpenDot ScattercarpetMarkerSymbol = "diamond-wide-open-dot" + ScattercarpetMarkerSymbolNumber25 ScattercarpetMarkerSymbol = 25 + ScattercarpetMarkerSymbol25 ScattercarpetMarkerSymbol = "25" + ScattercarpetMarkerSymbolHourglass ScattercarpetMarkerSymbol = "hourglass" + ScattercarpetMarkerSymbolNumber125 ScattercarpetMarkerSymbol = 125 + ScattercarpetMarkerSymbol125 ScattercarpetMarkerSymbol = "125" + ScattercarpetMarkerSymbolHourglassOpen ScattercarpetMarkerSymbol = "hourglass-open" + ScattercarpetMarkerSymbolNumber26 ScattercarpetMarkerSymbol = 26 + ScattercarpetMarkerSymbol26 ScattercarpetMarkerSymbol = "26" + ScattercarpetMarkerSymbolBowtie ScattercarpetMarkerSymbol = "bowtie" + ScattercarpetMarkerSymbolNumber126 ScattercarpetMarkerSymbol = 126 + ScattercarpetMarkerSymbol126 ScattercarpetMarkerSymbol = "126" + ScattercarpetMarkerSymbolBowtieOpen ScattercarpetMarkerSymbol = "bowtie-open" + ScattercarpetMarkerSymbolNumber27 ScattercarpetMarkerSymbol = 27 + ScattercarpetMarkerSymbol27 ScattercarpetMarkerSymbol = "27" + ScattercarpetMarkerSymbolCircleCross ScattercarpetMarkerSymbol = "circle-cross" + ScattercarpetMarkerSymbolNumber127 ScattercarpetMarkerSymbol = 127 + ScattercarpetMarkerSymbol127 ScattercarpetMarkerSymbol = "127" + ScattercarpetMarkerSymbolCircleCrossOpen ScattercarpetMarkerSymbol = "circle-cross-open" + ScattercarpetMarkerSymbolNumber28 ScattercarpetMarkerSymbol = 28 + ScattercarpetMarkerSymbol28 ScattercarpetMarkerSymbol = "28" + ScattercarpetMarkerSymbolCircleX ScattercarpetMarkerSymbol = "circle-x" + ScattercarpetMarkerSymbolNumber128 ScattercarpetMarkerSymbol = 128 + ScattercarpetMarkerSymbol128 ScattercarpetMarkerSymbol = "128" + ScattercarpetMarkerSymbolCircleXOpen ScattercarpetMarkerSymbol = "circle-x-open" + ScattercarpetMarkerSymbolNumber29 ScattercarpetMarkerSymbol = 29 + ScattercarpetMarkerSymbol29 ScattercarpetMarkerSymbol = "29" + ScattercarpetMarkerSymbolSquareCross ScattercarpetMarkerSymbol = "square-cross" + ScattercarpetMarkerSymbolNumber129 ScattercarpetMarkerSymbol = 129 + ScattercarpetMarkerSymbol129 ScattercarpetMarkerSymbol = "129" + ScattercarpetMarkerSymbolSquareCrossOpen ScattercarpetMarkerSymbol = "square-cross-open" + ScattercarpetMarkerSymbolNumber30 ScattercarpetMarkerSymbol = 30 + ScattercarpetMarkerSymbol30 ScattercarpetMarkerSymbol = "30" + ScattercarpetMarkerSymbolSquareX ScattercarpetMarkerSymbol = "square-x" + ScattercarpetMarkerSymbolNumber130 ScattercarpetMarkerSymbol = 130 + ScattercarpetMarkerSymbol130 ScattercarpetMarkerSymbol = "130" + ScattercarpetMarkerSymbolSquareXOpen ScattercarpetMarkerSymbol = "square-x-open" + ScattercarpetMarkerSymbolNumber31 ScattercarpetMarkerSymbol = 31 + ScattercarpetMarkerSymbol31 ScattercarpetMarkerSymbol = "31" + ScattercarpetMarkerSymbolDiamondCross ScattercarpetMarkerSymbol = "diamond-cross" + ScattercarpetMarkerSymbolNumber131 ScattercarpetMarkerSymbol = 131 + ScattercarpetMarkerSymbol131 ScattercarpetMarkerSymbol = "131" + ScattercarpetMarkerSymbolDiamondCrossOpen ScattercarpetMarkerSymbol = "diamond-cross-open" + ScattercarpetMarkerSymbolNumber32 ScattercarpetMarkerSymbol = 32 + ScattercarpetMarkerSymbol32 ScattercarpetMarkerSymbol = "32" + ScattercarpetMarkerSymbolDiamondX ScattercarpetMarkerSymbol = "diamond-x" + ScattercarpetMarkerSymbolNumber132 ScattercarpetMarkerSymbol = 132 + ScattercarpetMarkerSymbol132 ScattercarpetMarkerSymbol = "132" + ScattercarpetMarkerSymbolDiamondXOpen ScattercarpetMarkerSymbol = "diamond-x-open" + ScattercarpetMarkerSymbolNumber33 ScattercarpetMarkerSymbol = 33 + ScattercarpetMarkerSymbol33 ScattercarpetMarkerSymbol = "33" + ScattercarpetMarkerSymbolCrossThin ScattercarpetMarkerSymbol = "cross-thin" + ScattercarpetMarkerSymbolNumber133 ScattercarpetMarkerSymbol = 133 + ScattercarpetMarkerSymbol133 ScattercarpetMarkerSymbol = "133" + ScattercarpetMarkerSymbolCrossThinOpen ScattercarpetMarkerSymbol = "cross-thin-open" + ScattercarpetMarkerSymbolNumber34 ScattercarpetMarkerSymbol = 34 + ScattercarpetMarkerSymbol34 ScattercarpetMarkerSymbol = "34" + ScattercarpetMarkerSymbolXThin ScattercarpetMarkerSymbol = "x-thin" + ScattercarpetMarkerSymbolNumber134 ScattercarpetMarkerSymbol = 134 + ScattercarpetMarkerSymbol134 ScattercarpetMarkerSymbol = "134" + ScattercarpetMarkerSymbolXThinOpen ScattercarpetMarkerSymbol = "x-thin-open" + ScattercarpetMarkerSymbolNumber35 ScattercarpetMarkerSymbol = 35 + ScattercarpetMarkerSymbol35 ScattercarpetMarkerSymbol = "35" + ScattercarpetMarkerSymbolAsterisk ScattercarpetMarkerSymbol = "asterisk" + ScattercarpetMarkerSymbolNumber135 ScattercarpetMarkerSymbol = 135 + ScattercarpetMarkerSymbol135 ScattercarpetMarkerSymbol = "135" + ScattercarpetMarkerSymbolAsteriskOpen ScattercarpetMarkerSymbol = "asterisk-open" + ScattercarpetMarkerSymbolNumber36 ScattercarpetMarkerSymbol = 36 + ScattercarpetMarkerSymbol36 ScattercarpetMarkerSymbol = "36" + ScattercarpetMarkerSymbolHash ScattercarpetMarkerSymbol = "hash" + ScattercarpetMarkerSymbolNumber136 ScattercarpetMarkerSymbol = 136 + ScattercarpetMarkerSymbol136 ScattercarpetMarkerSymbol = "136" + ScattercarpetMarkerSymbolHashOpen ScattercarpetMarkerSymbol = "hash-open" + ScattercarpetMarkerSymbolNumber236 ScattercarpetMarkerSymbol = 236 + ScattercarpetMarkerSymbol236 ScattercarpetMarkerSymbol = "236" + ScattercarpetMarkerSymbolHashDot ScattercarpetMarkerSymbol = "hash-dot" + ScattercarpetMarkerSymbolNumber336 ScattercarpetMarkerSymbol = 336 + ScattercarpetMarkerSymbol336 ScattercarpetMarkerSymbol = "336" + ScattercarpetMarkerSymbolHashOpenDot ScattercarpetMarkerSymbol = "hash-open-dot" + ScattercarpetMarkerSymbolNumber37 ScattercarpetMarkerSymbol = 37 + ScattercarpetMarkerSymbol37 ScattercarpetMarkerSymbol = "37" + ScattercarpetMarkerSymbolYUp ScattercarpetMarkerSymbol = "y-up" + ScattercarpetMarkerSymbolNumber137 ScattercarpetMarkerSymbol = 137 + ScattercarpetMarkerSymbol137 ScattercarpetMarkerSymbol = "137" + ScattercarpetMarkerSymbolYUpOpen ScattercarpetMarkerSymbol = "y-up-open" + ScattercarpetMarkerSymbolNumber38 ScattercarpetMarkerSymbol = 38 + ScattercarpetMarkerSymbol38 ScattercarpetMarkerSymbol = "38" + ScattercarpetMarkerSymbolYDown ScattercarpetMarkerSymbol = "y-down" + ScattercarpetMarkerSymbolNumber138 ScattercarpetMarkerSymbol = 138 + ScattercarpetMarkerSymbol138 ScattercarpetMarkerSymbol = "138" + ScattercarpetMarkerSymbolYDownOpen ScattercarpetMarkerSymbol = "y-down-open" + ScattercarpetMarkerSymbolNumber39 ScattercarpetMarkerSymbol = 39 + ScattercarpetMarkerSymbol39 ScattercarpetMarkerSymbol = "39" + ScattercarpetMarkerSymbolYLeft ScattercarpetMarkerSymbol = "y-left" + ScattercarpetMarkerSymbolNumber139 ScattercarpetMarkerSymbol = 139 + ScattercarpetMarkerSymbol139 ScattercarpetMarkerSymbol = "139" + ScattercarpetMarkerSymbolYLeftOpen ScattercarpetMarkerSymbol = "y-left-open" + ScattercarpetMarkerSymbolNumber40 ScattercarpetMarkerSymbol = 40 + ScattercarpetMarkerSymbol40 ScattercarpetMarkerSymbol = "40" + ScattercarpetMarkerSymbolYRight ScattercarpetMarkerSymbol = "y-right" + ScattercarpetMarkerSymbolNumber140 ScattercarpetMarkerSymbol = 140 + ScattercarpetMarkerSymbol140 ScattercarpetMarkerSymbol = "140" + ScattercarpetMarkerSymbolYRightOpen ScattercarpetMarkerSymbol = "y-right-open" + ScattercarpetMarkerSymbolNumber41 ScattercarpetMarkerSymbol = 41 + ScattercarpetMarkerSymbol41 ScattercarpetMarkerSymbol = "41" + ScattercarpetMarkerSymbolLineEw ScattercarpetMarkerSymbol = "line-ew" + ScattercarpetMarkerSymbolNumber141 ScattercarpetMarkerSymbol = 141 + ScattercarpetMarkerSymbol141 ScattercarpetMarkerSymbol = "141" + ScattercarpetMarkerSymbolLineEwOpen ScattercarpetMarkerSymbol = "line-ew-open" + ScattercarpetMarkerSymbolNumber42 ScattercarpetMarkerSymbol = 42 + ScattercarpetMarkerSymbol42 ScattercarpetMarkerSymbol = "42" + ScattercarpetMarkerSymbolLineNs ScattercarpetMarkerSymbol = "line-ns" + ScattercarpetMarkerSymbolNumber142 ScattercarpetMarkerSymbol = 142 + ScattercarpetMarkerSymbol142 ScattercarpetMarkerSymbol = "142" + ScattercarpetMarkerSymbolLineNsOpen ScattercarpetMarkerSymbol = "line-ns-open" + ScattercarpetMarkerSymbolNumber43 ScattercarpetMarkerSymbol = 43 + ScattercarpetMarkerSymbol43 ScattercarpetMarkerSymbol = "43" + ScattercarpetMarkerSymbolLineNe ScattercarpetMarkerSymbol = "line-ne" + ScattercarpetMarkerSymbolNumber143 ScattercarpetMarkerSymbol = 143 + ScattercarpetMarkerSymbol143 ScattercarpetMarkerSymbol = "143" + ScattercarpetMarkerSymbolLineNeOpen ScattercarpetMarkerSymbol = "line-ne-open" + ScattercarpetMarkerSymbolNumber44 ScattercarpetMarkerSymbol = 44 + ScattercarpetMarkerSymbol44 ScattercarpetMarkerSymbol = "44" + ScattercarpetMarkerSymbolLineNw ScattercarpetMarkerSymbol = "line-nw" + ScattercarpetMarkerSymbolNumber144 ScattercarpetMarkerSymbol = 144 + ScattercarpetMarkerSymbol144 ScattercarpetMarkerSymbol = "144" + ScattercarpetMarkerSymbolLineNwOpen ScattercarpetMarkerSymbol = "line-nw-open" + ScattercarpetMarkerSymbolNumber45 ScattercarpetMarkerSymbol = 45 + ScattercarpetMarkerSymbol45 ScattercarpetMarkerSymbol = "45" + ScattercarpetMarkerSymbolArrowUp ScattercarpetMarkerSymbol = "arrow-up" + ScattercarpetMarkerSymbolNumber145 ScattercarpetMarkerSymbol = 145 + ScattercarpetMarkerSymbol145 ScattercarpetMarkerSymbol = "145" + ScattercarpetMarkerSymbolArrowUpOpen ScattercarpetMarkerSymbol = "arrow-up-open" + ScattercarpetMarkerSymbolNumber46 ScattercarpetMarkerSymbol = 46 + ScattercarpetMarkerSymbol46 ScattercarpetMarkerSymbol = "46" + ScattercarpetMarkerSymbolArrowDown ScattercarpetMarkerSymbol = "arrow-down" + ScattercarpetMarkerSymbolNumber146 ScattercarpetMarkerSymbol = 146 + ScattercarpetMarkerSymbol146 ScattercarpetMarkerSymbol = "146" + ScattercarpetMarkerSymbolArrowDownOpen ScattercarpetMarkerSymbol = "arrow-down-open" + ScattercarpetMarkerSymbolNumber47 ScattercarpetMarkerSymbol = 47 + ScattercarpetMarkerSymbol47 ScattercarpetMarkerSymbol = "47" + ScattercarpetMarkerSymbolArrowLeft ScattercarpetMarkerSymbol = "arrow-left" + ScattercarpetMarkerSymbolNumber147 ScattercarpetMarkerSymbol = 147 + ScattercarpetMarkerSymbol147 ScattercarpetMarkerSymbol = "147" + ScattercarpetMarkerSymbolArrowLeftOpen ScattercarpetMarkerSymbol = "arrow-left-open" + ScattercarpetMarkerSymbolNumber48 ScattercarpetMarkerSymbol = 48 + ScattercarpetMarkerSymbol48 ScattercarpetMarkerSymbol = "48" + ScattercarpetMarkerSymbolArrowRight ScattercarpetMarkerSymbol = "arrow-right" + ScattercarpetMarkerSymbolNumber148 ScattercarpetMarkerSymbol = 148 + ScattercarpetMarkerSymbol148 ScattercarpetMarkerSymbol = "148" + ScattercarpetMarkerSymbolArrowRightOpen ScattercarpetMarkerSymbol = "arrow-right-open" + ScattercarpetMarkerSymbolNumber49 ScattercarpetMarkerSymbol = 49 + ScattercarpetMarkerSymbol49 ScattercarpetMarkerSymbol = "49" + ScattercarpetMarkerSymbolArrowBarUp ScattercarpetMarkerSymbol = "arrow-bar-up" + ScattercarpetMarkerSymbolNumber149 ScattercarpetMarkerSymbol = 149 + ScattercarpetMarkerSymbol149 ScattercarpetMarkerSymbol = "149" + ScattercarpetMarkerSymbolArrowBarUpOpen ScattercarpetMarkerSymbol = "arrow-bar-up-open" + ScattercarpetMarkerSymbolNumber50 ScattercarpetMarkerSymbol = 50 + ScattercarpetMarkerSymbol50 ScattercarpetMarkerSymbol = "50" + ScattercarpetMarkerSymbolArrowBarDown ScattercarpetMarkerSymbol = "arrow-bar-down" + ScattercarpetMarkerSymbolNumber150 ScattercarpetMarkerSymbol = 150 + ScattercarpetMarkerSymbol150 ScattercarpetMarkerSymbol = "150" + ScattercarpetMarkerSymbolArrowBarDownOpen ScattercarpetMarkerSymbol = "arrow-bar-down-open" + ScattercarpetMarkerSymbolNumber51 ScattercarpetMarkerSymbol = 51 + ScattercarpetMarkerSymbol51 ScattercarpetMarkerSymbol = "51" + ScattercarpetMarkerSymbolArrowBarLeft ScattercarpetMarkerSymbol = "arrow-bar-left" + ScattercarpetMarkerSymbolNumber151 ScattercarpetMarkerSymbol = 151 + ScattercarpetMarkerSymbol151 ScattercarpetMarkerSymbol = "151" + ScattercarpetMarkerSymbolArrowBarLeftOpen ScattercarpetMarkerSymbol = "arrow-bar-left-open" + ScattercarpetMarkerSymbolNumber52 ScattercarpetMarkerSymbol = 52 + ScattercarpetMarkerSymbol52 ScattercarpetMarkerSymbol = "52" + ScattercarpetMarkerSymbolArrowBarRight ScattercarpetMarkerSymbol = "arrow-bar-right" + ScattercarpetMarkerSymbolNumber152 ScattercarpetMarkerSymbol = 152 + ScattercarpetMarkerSymbol152 ScattercarpetMarkerSymbol = "152" + ScattercarpetMarkerSymbolArrowBarRightOpen ScattercarpetMarkerSymbol = "arrow-bar-right-open" + ScattercarpetMarkerSymbolNumber53 ScattercarpetMarkerSymbol = 53 + ScattercarpetMarkerSymbol53 ScattercarpetMarkerSymbol = "53" + ScattercarpetMarkerSymbolArrow ScattercarpetMarkerSymbol = "arrow" + ScattercarpetMarkerSymbolNumber153 ScattercarpetMarkerSymbol = 153 + ScattercarpetMarkerSymbol153 ScattercarpetMarkerSymbol = "153" + ScattercarpetMarkerSymbolArrowOpen ScattercarpetMarkerSymbol = "arrow-open" + ScattercarpetMarkerSymbolNumber54 ScattercarpetMarkerSymbol = 54 + ScattercarpetMarkerSymbol54 ScattercarpetMarkerSymbol = "54" + ScattercarpetMarkerSymbolArrowWide ScattercarpetMarkerSymbol = "arrow-wide" + ScattercarpetMarkerSymbolNumber154 ScattercarpetMarkerSymbol = 154 + ScattercarpetMarkerSymbol154 ScattercarpetMarkerSymbol = "154" + ScattercarpetMarkerSymbolArrowWideOpen ScattercarpetMarkerSymbol = "arrow-wide-open" +) + +// ScattercarpetTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. +type ScattercarpetTextposition string + +const ( + ScattercarpetTextpositionTopLeft ScattercarpetTextposition = "top left" + ScattercarpetTextpositionTopCenter ScattercarpetTextposition = "top center" + ScattercarpetTextpositionTopRight ScattercarpetTextposition = "top right" + ScattercarpetTextpositionMiddleLeft ScattercarpetTextposition = "middle left" + ScattercarpetTextpositionMiddleCenter ScattercarpetTextposition = "middle center" + ScattercarpetTextpositionMiddleRight ScattercarpetTextposition = "middle right" + ScattercarpetTextpositionBottomLeft ScattercarpetTextposition = "bottom left" + ScattercarpetTextpositionBottomCenter ScattercarpetTextposition = "bottom center" + ScattercarpetTextpositionBottomRight ScattercarpetTextposition = "bottom right" +) + +// ScattercarpetVisible 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). +type ScattercarpetVisible interface{} + +var ( + ScattercarpetVisibleTrue ScattercarpetVisible = true + ScattercarpetVisibleFalse ScattercarpetVisible = false + ScattercarpetVisibleLegendonly ScattercarpetVisible = "legendonly" +) + +// ScattercarpetHoverinfo 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. +type ScattercarpetHoverinfo string + +const ( + // Flags + ScattercarpetHoverinfoA ScattercarpetHoverinfo = "a" + ScattercarpetHoverinfoB ScattercarpetHoverinfo = "b" + ScattercarpetHoverinfoText ScattercarpetHoverinfo = "text" + ScattercarpetHoverinfoName ScattercarpetHoverinfo = "name" + + // Extra + ScattercarpetHoverinfoAll ScattercarpetHoverinfo = "all" + ScattercarpetHoverinfoNone ScattercarpetHoverinfo = "none" + ScattercarpetHoverinfoSkip ScattercarpetHoverinfo = "skip" +) + +// ScattercarpetHoveron 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*. +type ScattercarpetHoveron string + +const ( + // Flags + ScattercarpetHoveronPoints ScattercarpetHoveron = "points" + ScattercarpetHoveronFills ScattercarpetHoveron = "fills" + + // Extra + +) + +// ScattercarpetMode 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*. +type ScattercarpetMode string + +const ( + // Flags + ScattercarpetModeLines ScattercarpetMode = "lines" + ScattercarpetModeMarkers ScattercarpetMode = "markers" + ScattercarpetModeText ScattercarpetMode = "text" + + // Extra + ScattercarpetModeNone ScattercarpetMode = "none" +) diff --git a/generated/v2.29.1/graph_objects/scattergeo_gen.go b/generated/v2.29.1/graph_objects/scattergeo_gen.go new file mode 100644 index 0000000..f9961d7 --- /dev/null +++ b/generated/v2.29.1/graph_objects/scattergeo_gen.go @@ -0,0 +1,1985 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeScattergeo TraceType = "scattergeo" + +func (trace *Scattergeo) GetType() TraceType { + return TraceTypeScattergeo +} + +// Scattergeo 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`. +type Scattergeo struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Connectgaps + // arrayOK: false + // type: boolean + // Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected. + Connectgaps Bool `json:"connectgaps,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Featureidkey + // arrayOK: false + // type: string + // 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*. + Featureidkey String `json:"featureidkey,omitempty"` + + // Fill + // default: none + // type: enumerated + // 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. + Fill ScattergeoFill `json:"fill,omitempty"` + + // Fillcolor + // arrayOK: false + // 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. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Geo + // arrayOK: false + // type: subplotid + // 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. + Geo String `json:"geo,omitempty"` + + // Geojson + // arrayOK: false + // type: any + // 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*. + Geojson interface{} `json:"geojson,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo ScattergeoHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *ScattergeoHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Lat + // arrayOK: false + // type: data_array + // Sets the latitude coordinates (in degrees North). + Lat interface{} `json:"lat,omitempty"` + + // Latsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `lat`. + Latsrc String `json:"latsrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *ScattergeoLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *ScattergeoLine `json:"line,omitempty"` + + // Locationmode + // default: ISO-3 + // type: enumerated + // 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. + Locationmode ScattergeoLocationmode `json:"locationmode,omitempty"` + + // Locations + // arrayOK: false + // 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. + Locations interface{} `json:"locations,omitempty"` + + // Locationssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `locations`. + Locationssrc String `json:"locationssrc,omitempty"` + + // Lon + // arrayOK: false + // type: data_array + // Sets the longitude coordinates (in degrees East). + Lon interface{} `json:"lon,omitempty"` + + // Lonsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `lon`. + Lonsrc String `json:"lonsrc,omitempty"` + + // Marker + // role: Object + Marker *ScattergeoMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Mode + // default: markers + // type: flaglist + // 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*. + Mode ScattergeoMode `json:"mode,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Selected + // role: Object + Selected *ScattergeoSelected `json:"selected,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Stream + // role: Object + Stream *ScattergeoStream `json:"stream,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textfont + // role: Object + Textfont *ScattergeoTextfont `json:"textfont,omitempty"` + + // Textposition + // default: middle center + // type: enumerated + // Sets the positions of the `text` elements with respects to the (x,y) coordinates. + Textposition ScattergeoTextposition `json:"textposition,omitempty"` + + // Textpositionsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `textposition`. + Textpositionsrc String `json:"textpositionsrc,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: true + // 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 `lat`, `lon`, `location` and `text`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Texttemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `texttemplate`. + Texttemplatesrc String `json:"texttemplatesrc,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Unselected + // role: Object + Unselected *ScattergeoUnselected `json:"unselected,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible ScattergeoVisible `json:"visible,omitempty"` +} + +// ScattergeoHoverlabelFont Sets the font used in hover labels. +type ScattergeoHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ScattergeoHoverlabel +type ScattergeoHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align ScattergeoHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *ScattergeoHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// ScattergeoLegendgrouptitleFont Sets this legend group's title font. +type ScattergeoLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScattergeoLegendgrouptitle +type ScattergeoLegendgrouptitle struct { + + // Font + // role: Object + Font *ScattergeoLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// ScattergeoLine +type ScattergeoLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the line color. + Color Color `json:"color,omitempty"` + + // Dash + // arrayOK: false + // type: string + // 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*). + Dash String `json:"dash,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width (in px). + Width float64 `json:"width,omitempty"` +} + +// ScattergeoMarkerColorbarTickfont Sets the color bar's tick label font +type ScattergeoMarkerColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScattergeoMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type ScattergeoMarkerColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScattergeoMarkerColorbarTitle +type ScattergeoMarkerColorbarTitle struct { + + // Font + // role: Object + Font *ScattergeoMarkerColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side ScattergeoMarkerColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// ScattergeoMarkerColorbar +type ScattergeoMarkerColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat ScattergeoMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode ScattergeoMarkerColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ScattergeoMarkerColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent ScattergeoMarkerColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix ScattergeoMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix ScattergeoMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode ScattergeoMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *ScattergeoMarkerColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ScattergeoMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition ScattergeoMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode ScattergeoMarkerColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks ScattergeoMarkerColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *ScattergeoMarkerColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor ScattergeoMarkerColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref ScattergeoMarkerColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor ScattergeoMarkerColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref ScattergeoMarkerColorbarYref `json:"yref,omitempty"` +} + +// ScattergeoMarkerGradient +type ScattergeoMarkerGradient struct { + + // Color + // arrayOK: true + // type: color + // Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Type + // default: none + // type: enumerated + // Sets the type of gradient used to fill the markers + Type ScattergeoMarkerGradientType `json:"type,omitempty"` + + // Typesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `type`. + Typesrc String `json:"typesrc,omitempty"` +} + +// ScattergeoMarkerLine +type ScattergeoMarkerLine struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the lines bounding the marker points. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// ScattergeoMarker +type ScattergeoMarker struct { + + // Angle + // arrayOK: true + // type: angle + // Sets the marker angle in respect to `angleref`. + Angle float64 `json:"angle,omitempty"` + + // Angleref + // default: up + // type: enumerated + // 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. + Angleref ScattergeoMarkerAngleref `json:"angleref,omitempty"` + + // Anglesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `angle`. + Anglesrc String `json:"anglesrc,omitempty"` + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *ScattergeoMarkerColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Gradient + // role: Object + Gradient *ScattergeoMarkerGradient `json:"gradient,omitempty"` + + // Line + // role: Object + Line *ScattergeoMarkerLine `json:"line,omitempty"` + + // Opacity + // arrayOK: true + // type: number + // Sets the marker opacity. + Opacity float64 `json:"opacity,omitempty"` + + // Opacitysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `opacity`. + Opacitysrc String `json:"opacitysrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the marker size (in px). + Size float64 `json:"size,omitempty"` + + // Sizemin + // arrayOK: false + // 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. + Sizemin float64 `json:"sizemin,omitempty"` + + // Sizemode + // default: diameter + // type: enumerated + // 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. + Sizemode ScattergeoMarkerSizemode `json:"sizemode,omitempty"` + + // Sizeref + // arrayOK: false + // type: number + // 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`. + Sizeref float64 `json:"sizeref,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Standoff + // arrayOK: true + // type: number + // 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. + Standoff float64 `json:"standoff,omitempty"` + + // Standoffsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `standoff`. + Standoffsrc String `json:"standoffsrc,omitempty"` + + // Symbol + // default: circle + // type: enumerated + // 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. + Symbol ScattergeoMarkerSymbol `json:"symbol,omitempty"` + + // Symbolsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `symbol`. + Symbolsrc String `json:"symbolsrc,omitempty"` +} + +// ScattergeoSelectedMarker +type ScattergeoSelectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of selected points. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of selected points. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of selected points. + Size float64 `json:"size,omitempty"` +} + +// ScattergeoSelectedTextfont +type ScattergeoSelectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of selected points. + Color Color `json:"color,omitempty"` +} + +// ScattergeoSelected +type ScattergeoSelected struct { + + // Marker + // role: Object + Marker *ScattergeoSelectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *ScattergeoSelectedTextfont `json:"textfont,omitempty"` +} + +// ScattergeoStream +type ScattergeoStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// ScattergeoTextfont Sets the text font. +type ScattergeoTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ScattergeoUnselectedMarker +type ScattergeoUnselectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of unselected points, applied only when a selection exists. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of unselected points, applied only when a selection exists. + Size float64 `json:"size,omitempty"` +} + +// ScattergeoUnselectedTextfont +type ScattergeoUnselectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` +} + +// ScattergeoUnselected +type ScattergeoUnselected struct { + + // Marker + // role: Object + Marker *ScattergeoUnselectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *ScattergeoUnselectedTextfont `json:"textfont,omitempty"` +} + +// ScattergeoFill 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. +type ScattergeoFill string + +const ( + ScattergeoFillNone ScattergeoFill = "none" + ScattergeoFillToself ScattergeoFill = "toself" +) + +// ScattergeoHoverlabelAlign 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 +type ScattergeoHoverlabelAlign string + +const ( + ScattergeoHoverlabelAlignLeft ScattergeoHoverlabelAlign = "left" + ScattergeoHoverlabelAlignRight ScattergeoHoverlabelAlign = "right" + ScattergeoHoverlabelAlignAuto ScattergeoHoverlabelAlign = "auto" +) + +// ScattergeoLocationmode 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. +type ScattergeoLocationmode string + +const ( + ScattergeoLocationmodeISO3 ScattergeoLocationmode = "ISO-3" + ScattergeoLocationmodeUSAStates ScattergeoLocationmode = "USA-states" + ScattergeoLocationmodeCountryNames ScattergeoLocationmode = "country names" + ScattergeoLocationmodeGeojsonId ScattergeoLocationmode = "geojson-id" +) + +// ScattergeoMarkerAngleref 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. +type ScattergeoMarkerAngleref string + +const ( + ScattergeoMarkerAnglerefPrevious ScattergeoMarkerAngleref = "previous" + ScattergeoMarkerAnglerefUp ScattergeoMarkerAngleref = "up" + ScattergeoMarkerAnglerefNorth ScattergeoMarkerAngleref = "north" +) + +// ScattergeoMarkerColorbarExponentformat 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. +type ScattergeoMarkerColorbarExponentformat string + +const ( + ScattergeoMarkerColorbarExponentformatNone ScattergeoMarkerColorbarExponentformat = "none" + ScattergeoMarkerColorbarExponentformatE1 ScattergeoMarkerColorbarExponentformat = "e" + ScattergeoMarkerColorbarExponentformatE2 ScattergeoMarkerColorbarExponentformat = "E" + ScattergeoMarkerColorbarExponentformatPower ScattergeoMarkerColorbarExponentformat = "power" + ScattergeoMarkerColorbarExponentformatSI ScattergeoMarkerColorbarExponentformat = "SI" + ScattergeoMarkerColorbarExponentformatB ScattergeoMarkerColorbarExponentformat = "B" +) + +// ScattergeoMarkerColorbarLenmode 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. +type ScattergeoMarkerColorbarLenmode string + +const ( + ScattergeoMarkerColorbarLenmodeFraction ScattergeoMarkerColorbarLenmode = "fraction" + ScattergeoMarkerColorbarLenmodePixels ScattergeoMarkerColorbarLenmode = "pixels" +) + +// ScattergeoMarkerColorbarOrientation Sets the orientation of the colorbar. +type ScattergeoMarkerColorbarOrientation string + +const ( + ScattergeoMarkerColorbarOrientationH ScattergeoMarkerColorbarOrientation = "h" + ScattergeoMarkerColorbarOrientationV ScattergeoMarkerColorbarOrientation = "v" +) + +// ScattergeoMarkerColorbarShowexponent 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. +type ScattergeoMarkerColorbarShowexponent string + +const ( + ScattergeoMarkerColorbarShowexponentAll ScattergeoMarkerColorbarShowexponent = "all" + ScattergeoMarkerColorbarShowexponentFirst ScattergeoMarkerColorbarShowexponent = "first" + ScattergeoMarkerColorbarShowexponentLast ScattergeoMarkerColorbarShowexponent = "last" + ScattergeoMarkerColorbarShowexponentNone ScattergeoMarkerColorbarShowexponent = "none" +) + +// ScattergeoMarkerColorbarShowtickprefix 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. +type ScattergeoMarkerColorbarShowtickprefix string + +const ( + ScattergeoMarkerColorbarShowtickprefixAll ScattergeoMarkerColorbarShowtickprefix = "all" + ScattergeoMarkerColorbarShowtickprefixFirst ScattergeoMarkerColorbarShowtickprefix = "first" + ScattergeoMarkerColorbarShowtickprefixLast ScattergeoMarkerColorbarShowtickprefix = "last" + ScattergeoMarkerColorbarShowtickprefixNone ScattergeoMarkerColorbarShowtickprefix = "none" +) + +// ScattergeoMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type ScattergeoMarkerColorbarShowticksuffix string + +const ( + ScattergeoMarkerColorbarShowticksuffixAll ScattergeoMarkerColorbarShowticksuffix = "all" + ScattergeoMarkerColorbarShowticksuffixFirst ScattergeoMarkerColorbarShowticksuffix = "first" + ScattergeoMarkerColorbarShowticksuffixLast ScattergeoMarkerColorbarShowticksuffix = "last" + ScattergeoMarkerColorbarShowticksuffixNone ScattergeoMarkerColorbarShowticksuffix = "none" +) + +// ScattergeoMarkerColorbarThicknessmode 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. +type ScattergeoMarkerColorbarThicknessmode string + +const ( + ScattergeoMarkerColorbarThicknessmodeFraction ScattergeoMarkerColorbarThicknessmode = "fraction" + ScattergeoMarkerColorbarThicknessmodePixels ScattergeoMarkerColorbarThicknessmode = "pixels" +) + +// ScattergeoMarkerColorbarTicklabeloverflow 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*. +type ScattergeoMarkerColorbarTicklabeloverflow string + +const ( + ScattergeoMarkerColorbarTicklabeloverflowAllow ScattergeoMarkerColorbarTicklabeloverflow = "allow" + ScattergeoMarkerColorbarTicklabeloverflowHidePastDiv ScattergeoMarkerColorbarTicklabeloverflow = "hide past div" + ScattergeoMarkerColorbarTicklabeloverflowHidePastDomain ScattergeoMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// ScattergeoMarkerColorbarTicklabelposition 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*. +type ScattergeoMarkerColorbarTicklabelposition string + +const ( + ScattergeoMarkerColorbarTicklabelpositionOutside ScattergeoMarkerColorbarTicklabelposition = "outside" + ScattergeoMarkerColorbarTicklabelpositionInside ScattergeoMarkerColorbarTicklabelposition = "inside" + ScattergeoMarkerColorbarTicklabelpositionOutsideTop ScattergeoMarkerColorbarTicklabelposition = "outside top" + ScattergeoMarkerColorbarTicklabelpositionInsideTop ScattergeoMarkerColorbarTicklabelposition = "inside top" + ScattergeoMarkerColorbarTicklabelpositionOutsideLeft ScattergeoMarkerColorbarTicklabelposition = "outside left" + ScattergeoMarkerColorbarTicklabelpositionInsideLeft ScattergeoMarkerColorbarTicklabelposition = "inside left" + ScattergeoMarkerColorbarTicklabelpositionOutsideRight ScattergeoMarkerColorbarTicklabelposition = "outside right" + ScattergeoMarkerColorbarTicklabelpositionInsideRight ScattergeoMarkerColorbarTicklabelposition = "inside right" + ScattergeoMarkerColorbarTicklabelpositionOutsideBottom ScattergeoMarkerColorbarTicklabelposition = "outside bottom" + ScattergeoMarkerColorbarTicklabelpositionInsideBottom ScattergeoMarkerColorbarTicklabelposition = "inside bottom" +) + +// ScattergeoMarkerColorbarTickmode 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). +type ScattergeoMarkerColorbarTickmode string + +const ( + ScattergeoMarkerColorbarTickmodeAuto ScattergeoMarkerColorbarTickmode = "auto" + ScattergeoMarkerColorbarTickmodeLinear ScattergeoMarkerColorbarTickmode = "linear" + ScattergeoMarkerColorbarTickmodeArray ScattergeoMarkerColorbarTickmode = "array" +) + +// ScattergeoMarkerColorbarTicks 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. +type ScattergeoMarkerColorbarTicks string + +const ( + ScattergeoMarkerColorbarTicksOutside ScattergeoMarkerColorbarTicks = "outside" + ScattergeoMarkerColorbarTicksInside ScattergeoMarkerColorbarTicks = "inside" + ScattergeoMarkerColorbarTicksEmpty ScattergeoMarkerColorbarTicks = "" +) + +// ScattergeoMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type ScattergeoMarkerColorbarTitleSide string + +const ( + ScattergeoMarkerColorbarTitleSideRight ScattergeoMarkerColorbarTitleSide = "right" + ScattergeoMarkerColorbarTitleSideTop ScattergeoMarkerColorbarTitleSide = "top" + ScattergeoMarkerColorbarTitleSideBottom ScattergeoMarkerColorbarTitleSide = "bottom" +) + +// ScattergeoMarkerColorbarXanchor 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*. +type ScattergeoMarkerColorbarXanchor string + +const ( + ScattergeoMarkerColorbarXanchorLeft ScattergeoMarkerColorbarXanchor = "left" + ScattergeoMarkerColorbarXanchorCenter ScattergeoMarkerColorbarXanchor = "center" + ScattergeoMarkerColorbarXanchorRight ScattergeoMarkerColorbarXanchor = "right" +) + +// ScattergeoMarkerColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type ScattergeoMarkerColorbarXref string + +const ( + ScattergeoMarkerColorbarXrefContainer ScattergeoMarkerColorbarXref = "container" + ScattergeoMarkerColorbarXrefPaper ScattergeoMarkerColorbarXref = "paper" +) + +// ScattergeoMarkerColorbarYanchor 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*. +type ScattergeoMarkerColorbarYanchor string + +const ( + ScattergeoMarkerColorbarYanchorTop ScattergeoMarkerColorbarYanchor = "top" + ScattergeoMarkerColorbarYanchorMiddle ScattergeoMarkerColorbarYanchor = "middle" + ScattergeoMarkerColorbarYanchorBottom ScattergeoMarkerColorbarYanchor = "bottom" +) + +// ScattergeoMarkerColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type ScattergeoMarkerColorbarYref string + +const ( + ScattergeoMarkerColorbarYrefContainer ScattergeoMarkerColorbarYref = "container" + ScattergeoMarkerColorbarYrefPaper ScattergeoMarkerColorbarYref = "paper" +) + +// ScattergeoMarkerGradientType Sets the type of gradient used to fill the markers +type ScattergeoMarkerGradientType string + +const ( + ScattergeoMarkerGradientTypeRadial ScattergeoMarkerGradientType = "radial" + ScattergeoMarkerGradientTypeHorizontal ScattergeoMarkerGradientType = "horizontal" + ScattergeoMarkerGradientTypeVertical ScattergeoMarkerGradientType = "vertical" + ScattergeoMarkerGradientTypeNone ScattergeoMarkerGradientType = "none" +) + +// ScattergeoMarkerSizemode 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. +type ScattergeoMarkerSizemode string + +const ( + ScattergeoMarkerSizemodeDiameter ScattergeoMarkerSizemode = "diameter" + ScattergeoMarkerSizemodeArea ScattergeoMarkerSizemode = "area" +) + +// ScattergeoMarkerSymbol 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. +type ScattergeoMarkerSymbol interface{} + +var ( + ScattergeoMarkerSymbolNumber0 ScattergeoMarkerSymbol = 0 + ScattergeoMarkerSymbol0 ScattergeoMarkerSymbol = "0" + ScattergeoMarkerSymbolCircle ScattergeoMarkerSymbol = "circle" + ScattergeoMarkerSymbolNumber100 ScattergeoMarkerSymbol = 100 + ScattergeoMarkerSymbol100 ScattergeoMarkerSymbol = "100" + ScattergeoMarkerSymbolCircleOpen ScattergeoMarkerSymbol = "circle-open" + ScattergeoMarkerSymbolNumber200 ScattergeoMarkerSymbol = 200 + ScattergeoMarkerSymbol200 ScattergeoMarkerSymbol = "200" + ScattergeoMarkerSymbolCircleDot ScattergeoMarkerSymbol = "circle-dot" + ScattergeoMarkerSymbolNumber300 ScattergeoMarkerSymbol = 300 + ScattergeoMarkerSymbol300 ScattergeoMarkerSymbol = "300" + ScattergeoMarkerSymbolCircleOpenDot ScattergeoMarkerSymbol = "circle-open-dot" + ScattergeoMarkerSymbolNumber1 ScattergeoMarkerSymbol = 1 + ScattergeoMarkerSymbol1 ScattergeoMarkerSymbol = "1" + ScattergeoMarkerSymbolSquare ScattergeoMarkerSymbol = "square" + ScattergeoMarkerSymbolNumber101 ScattergeoMarkerSymbol = 101 + ScattergeoMarkerSymbol101 ScattergeoMarkerSymbol = "101" + ScattergeoMarkerSymbolSquareOpen ScattergeoMarkerSymbol = "square-open" + ScattergeoMarkerSymbolNumber201 ScattergeoMarkerSymbol = 201 + ScattergeoMarkerSymbol201 ScattergeoMarkerSymbol = "201" + ScattergeoMarkerSymbolSquareDot ScattergeoMarkerSymbol = "square-dot" + ScattergeoMarkerSymbolNumber301 ScattergeoMarkerSymbol = 301 + ScattergeoMarkerSymbol301 ScattergeoMarkerSymbol = "301" + ScattergeoMarkerSymbolSquareOpenDot ScattergeoMarkerSymbol = "square-open-dot" + ScattergeoMarkerSymbolNumber2 ScattergeoMarkerSymbol = 2 + ScattergeoMarkerSymbol2 ScattergeoMarkerSymbol = "2" + ScattergeoMarkerSymbolDiamond ScattergeoMarkerSymbol = "diamond" + ScattergeoMarkerSymbolNumber102 ScattergeoMarkerSymbol = 102 + ScattergeoMarkerSymbol102 ScattergeoMarkerSymbol = "102" + ScattergeoMarkerSymbolDiamondOpen ScattergeoMarkerSymbol = "diamond-open" + ScattergeoMarkerSymbolNumber202 ScattergeoMarkerSymbol = 202 + ScattergeoMarkerSymbol202 ScattergeoMarkerSymbol = "202" + ScattergeoMarkerSymbolDiamondDot ScattergeoMarkerSymbol = "diamond-dot" + ScattergeoMarkerSymbolNumber302 ScattergeoMarkerSymbol = 302 + ScattergeoMarkerSymbol302 ScattergeoMarkerSymbol = "302" + ScattergeoMarkerSymbolDiamondOpenDot ScattergeoMarkerSymbol = "diamond-open-dot" + ScattergeoMarkerSymbolNumber3 ScattergeoMarkerSymbol = 3 + ScattergeoMarkerSymbol3 ScattergeoMarkerSymbol = "3" + ScattergeoMarkerSymbolCross ScattergeoMarkerSymbol = "cross" + ScattergeoMarkerSymbolNumber103 ScattergeoMarkerSymbol = 103 + ScattergeoMarkerSymbol103 ScattergeoMarkerSymbol = "103" + ScattergeoMarkerSymbolCrossOpen ScattergeoMarkerSymbol = "cross-open" + ScattergeoMarkerSymbolNumber203 ScattergeoMarkerSymbol = 203 + ScattergeoMarkerSymbol203 ScattergeoMarkerSymbol = "203" + ScattergeoMarkerSymbolCrossDot ScattergeoMarkerSymbol = "cross-dot" + ScattergeoMarkerSymbolNumber303 ScattergeoMarkerSymbol = 303 + ScattergeoMarkerSymbol303 ScattergeoMarkerSymbol = "303" + ScattergeoMarkerSymbolCrossOpenDot ScattergeoMarkerSymbol = "cross-open-dot" + ScattergeoMarkerSymbolNumber4 ScattergeoMarkerSymbol = 4 + ScattergeoMarkerSymbol4 ScattergeoMarkerSymbol = "4" + ScattergeoMarkerSymbolX ScattergeoMarkerSymbol = "x" + ScattergeoMarkerSymbolNumber104 ScattergeoMarkerSymbol = 104 + ScattergeoMarkerSymbol104 ScattergeoMarkerSymbol = "104" + ScattergeoMarkerSymbolXOpen ScattergeoMarkerSymbol = "x-open" + ScattergeoMarkerSymbolNumber204 ScattergeoMarkerSymbol = 204 + ScattergeoMarkerSymbol204 ScattergeoMarkerSymbol = "204" + ScattergeoMarkerSymbolXDot ScattergeoMarkerSymbol = "x-dot" + ScattergeoMarkerSymbolNumber304 ScattergeoMarkerSymbol = 304 + ScattergeoMarkerSymbol304 ScattergeoMarkerSymbol = "304" + ScattergeoMarkerSymbolXOpenDot ScattergeoMarkerSymbol = "x-open-dot" + ScattergeoMarkerSymbolNumber5 ScattergeoMarkerSymbol = 5 + ScattergeoMarkerSymbol5 ScattergeoMarkerSymbol = "5" + ScattergeoMarkerSymbolTriangleUp ScattergeoMarkerSymbol = "triangle-up" + ScattergeoMarkerSymbolNumber105 ScattergeoMarkerSymbol = 105 + ScattergeoMarkerSymbol105 ScattergeoMarkerSymbol = "105" + ScattergeoMarkerSymbolTriangleUpOpen ScattergeoMarkerSymbol = "triangle-up-open" + ScattergeoMarkerSymbolNumber205 ScattergeoMarkerSymbol = 205 + ScattergeoMarkerSymbol205 ScattergeoMarkerSymbol = "205" + ScattergeoMarkerSymbolTriangleUpDot ScattergeoMarkerSymbol = "triangle-up-dot" + ScattergeoMarkerSymbolNumber305 ScattergeoMarkerSymbol = 305 + ScattergeoMarkerSymbol305 ScattergeoMarkerSymbol = "305" + ScattergeoMarkerSymbolTriangleUpOpenDot ScattergeoMarkerSymbol = "triangle-up-open-dot" + ScattergeoMarkerSymbolNumber6 ScattergeoMarkerSymbol = 6 + ScattergeoMarkerSymbol6 ScattergeoMarkerSymbol = "6" + ScattergeoMarkerSymbolTriangleDown ScattergeoMarkerSymbol = "triangle-down" + ScattergeoMarkerSymbolNumber106 ScattergeoMarkerSymbol = 106 + ScattergeoMarkerSymbol106 ScattergeoMarkerSymbol = "106" + ScattergeoMarkerSymbolTriangleDownOpen ScattergeoMarkerSymbol = "triangle-down-open" + ScattergeoMarkerSymbolNumber206 ScattergeoMarkerSymbol = 206 + ScattergeoMarkerSymbol206 ScattergeoMarkerSymbol = "206" + ScattergeoMarkerSymbolTriangleDownDot ScattergeoMarkerSymbol = "triangle-down-dot" + ScattergeoMarkerSymbolNumber306 ScattergeoMarkerSymbol = 306 + ScattergeoMarkerSymbol306 ScattergeoMarkerSymbol = "306" + ScattergeoMarkerSymbolTriangleDownOpenDot ScattergeoMarkerSymbol = "triangle-down-open-dot" + ScattergeoMarkerSymbolNumber7 ScattergeoMarkerSymbol = 7 + ScattergeoMarkerSymbol7 ScattergeoMarkerSymbol = "7" + ScattergeoMarkerSymbolTriangleLeft ScattergeoMarkerSymbol = "triangle-left" + ScattergeoMarkerSymbolNumber107 ScattergeoMarkerSymbol = 107 + ScattergeoMarkerSymbol107 ScattergeoMarkerSymbol = "107" + ScattergeoMarkerSymbolTriangleLeftOpen ScattergeoMarkerSymbol = "triangle-left-open" + ScattergeoMarkerSymbolNumber207 ScattergeoMarkerSymbol = 207 + ScattergeoMarkerSymbol207 ScattergeoMarkerSymbol = "207" + ScattergeoMarkerSymbolTriangleLeftDot ScattergeoMarkerSymbol = "triangle-left-dot" + ScattergeoMarkerSymbolNumber307 ScattergeoMarkerSymbol = 307 + ScattergeoMarkerSymbol307 ScattergeoMarkerSymbol = "307" + ScattergeoMarkerSymbolTriangleLeftOpenDot ScattergeoMarkerSymbol = "triangle-left-open-dot" + ScattergeoMarkerSymbolNumber8 ScattergeoMarkerSymbol = 8 + ScattergeoMarkerSymbol8 ScattergeoMarkerSymbol = "8" + ScattergeoMarkerSymbolTriangleRight ScattergeoMarkerSymbol = "triangle-right" + ScattergeoMarkerSymbolNumber108 ScattergeoMarkerSymbol = 108 + ScattergeoMarkerSymbol108 ScattergeoMarkerSymbol = "108" + ScattergeoMarkerSymbolTriangleRightOpen ScattergeoMarkerSymbol = "triangle-right-open" + ScattergeoMarkerSymbolNumber208 ScattergeoMarkerSymbol = 208 + ScattergeoMarkerSymbol208 ScattergeoMarkerSymbol = "208" + ScattergeoMarkerSymbolTriangleRightDot ScattergeoMarkerSymbol = "triangle-right-dot" + ScattergeoMarkerSymbolNumber308 ScattergeoMarkerSymbol = 308 + ScattergeoMarkerSymbol308 ScattergeoMarkerSymbol = "308" + ScattergeoMarkerSymbolTriangleRightOpenDot ScattergeoMarkerSymbol = "triangle-right-open-dot" + ScattergeoMarkerSymbolNumber9 ScattergeoMarkerSymbol = 9 + ScattergeoMarkerSymbol9 ScattergeoMarkerSymbol = "9" + ScattergeoMarkerSymbolTriangleNe ScattergeoMarkerSymbol = "triangle-ne" + ScattergeoMarkerSymbolNumber109 ScattergeoMarkerSymbol = 109 + ScattergeoMarkerSymbol109 ScattergeoMarkerSymbol = "109" + ScattergeoMarkerSymbolTriangleNeOpen ScattergeoMarkerSymbol = "triangle-ne-open" + ScattergeoMarkerSymbolNumber209 ScattergeoMarkerSymbol = 209 + ScattergeoMarkerSymbol209 ScattergeoMarkerSymbol = "209" + ScattergeoMarkerSymbolTriangleNeDot ScattergeoMarkerSymbol = "triangle-ne-dot" + ScattergeoMarkerSymbolNumber309 ScattergeoMarkerSymbol = 309 + ScattergeoMarkerSymbol309 ScattergeoMarkerSymbol = "309" + ScattergeoMarkerSymbolTriangleNeOpenDot ScattergeoMarkerSymbol = "triangle-ne-open-dot" + ScattergeoMarkerSymbolNumber10 ScattergeoMarkerSymbol = 10 + ScattergeoMarkerSymbol10 ScattergeoMarkerSymbol = "10" + ScattergeoMarkerSymbolTriangleSe ScattergeoMarkerSymbol = "triangle-se" + ScattergeoMarkerSymbolNumber110 ScattergeoMarkerSymbol = 110 + ScattergeoMarkerSymbol110 ScattergeoMarkerSymbol = "110" + ScattergeoMarkerSymbolTriangleSeOpen ScattergeoMarkerSymbol = "triangle-se-open" + ScattergeoMarkerSymbolNumber210 ScattergeoMarkerSymbol = 210 + ScattergeoMarkerSymbol210 ScattergeoMarkerSymbol = "210" + ScattergeoMarkerSymbolTriangleSeDot ScattergeoMarkerSymbol = "triangle-se-dot" + ScattergeoMarkerSymbolNumber310 ScattergeoMarkerSymbol = 310 + ScattergeoMarkerSymbol310 ScattergeoMarkerSymbol = "310" + ScattergeoMarkerSymbolTriangleSeOpenDot ScattergeoMarkerSymbol = "triangle-se-open-dot" + ScattergeoMarkerSymbolNumber11 ScattergeoMarkerSymbol = 11 + ScattergeoMarkerSymbol11 ScattergeoMarkerSymbol = "11" + ScattergeoMarkerSymbolTriangleSw ScattergeoMarkerSymbol = "triangle-sw" + ScattergeoMarkerSymbolNumber111 ScattergeoMarkerSymbol = 111 + ScattergeoMarkerSymbol111 ScattergeoMarkerSymbol = "111" + ScattergeoMarkerSymbolTriangleSwOpen ScattergeoMarkerSymbol = "triangle-sw-open" + ScattergeoMarkerSymbolNumber211 ScattergeoMarkerSymbol = 211 + ScattergeoMarkerSymbol211 ScattergeoMarkerSymbol = "211" + ScattergeoMarkerSymbolTriangleSwDot ScattergeoMarkerSymbol = "triangle-sw-dot" + ScattergeoMarkerSymbolNumber311 ScattergeoMarkerSymbol = 311 + ScattergeoMarkerSymbol311 ScattergeoMarkerSymbol = "311" + ScattergeoMarkerSymbolTriangleSwOpenDot ScattergeoMarkerSymbol = "triangle-sw-open-dot" + ScattergeoMarkerSymbolNumber12 ScattergeoMarkerSymbol = 12 + ScattergeoMarkerSymbol12 ScattergeoMarkerSymbol = "12" + ScattergeoMarkerSymbolTriangleNw ScattergeoMarkerSymbol = "triangle-nw" + ScattergeoMarkerSymbolNumber112 ScattergeoMarkerSymbol = 112 + ScattergeoMarkerSymbol112 ScattergeoMarkerSymbol = "112" + ScattergeoMarkerSymbolTriangleNwOpen ScattergeoMarkerSymbol = "triangle-nw-open" + ScattergeoMarkerSymbolNumber212 ScattergeoMarkerSymbol = 212 + ScattergeoMarkerSymbol212 ScattergeoMarkerSymbol = "212" + ScattergeoMarkerSymbolTriangleNwDot ScattergeoMarkerSymbol = "triangle-nw-dot" + ScattergeoMarkerSymbolNumber312 ScattergeoMarkerSymbol = 312 + ScattergeoMarkerSymbol312 ScattergeoMarkerSymbol = "312" + ScattergeoMarkerSymbolTriangleNwOpenDot ScattergeoMarkerSymbol = "triangle-nw-open-dot" + ScattergeoMarkerSymbolNumber13 ScattergeoMarkerSymbol = 13 + ScattergeoMarkerSymbol13 ScattergeoMarkerSymbol = "13" + ScattergeoMarkerSymbolPentagon ScattergeoMarkerSymbol = "pentagon" + ScattergeoMarkerSymbolNumber113 ScattergeoMarkerSymbol = 113 + ScattergeoMarkerSymbol113 ScattergeoMarkerSymbol = "113" + ScattergeoMarkerSymbolPentagonOpen ScattergeoMarkerSymbol = "pentagon-open" + ScattergeoMarkerSymbolNumber213 ScattergeoMarkerSymbol = 213 + ScattergeoMarkerSymbol213 ScattergeoMarkerSymbol = "213" + ScattergeoMarkerSymbolPentagonDot ScattergeoMarkerSymbol = "pentagon-dot" + ScattergeoMarkerSymbolNumber313 ScattergeoMarkerSymbol = 313 + ScattergeoMarkerSymbol313 ScattergeoMarkerSymbol = "313" + ScattergeoMarkerSymbolPentagonOpenDot ScattergeoMarkerSymbol = "pentagon-open-dot" + ScattergeoMarkerSymbolNumber14 ScattergeoMarkerSymbol = 14 + ScattergeoMarkerSymbol14 ScattergeoMarkerSymbol = "14" + ScattergeoMarkerSymbolHexagon ScattergeoMarkerSymbol = "hexagon" + ScattergeoMarkerSymbolNumber114 ScattergeoMarkerSymbol = 114 + ScattergeoMarkerSymbol114 ScattergeoMarkerSymbol = "114" + ScattergeoMarkerSymbolHexagonOpen ScattergeoMarkerSymbol = "hexagon-open" + ScattergeoMarkerSymbolNumber214 ScattergeoMarkerSymbol = 214 + ScattergeoMarkerSymbol214 ScattergeoMarkerSymbol = "214" + ScattergeoMarkerSymbolHexagonDot ScattergeoMarkerSymbol = "hexagon-dot" + ScattergeoMarkerSymbolNumber314 ScattergeoMarkerSymbol = 314 + ScattergeoMarkerSymbol314 ScattergeoMarkerSymbol = "314" + ScattergeoMarkerSymbolHexagonOpenDot ScattergeoMarkerSymbol = "hexagon-open-dot" + ScattergeoMarkerSymbolNumber15 ScattergeoMarkerSymbol = 15 + ScattergeoMarkerSymbol15 ScattergeoMarkerSymbol = "15" + ScattergeoMarkerSymbolHexagon2 ScattergeoMarkerSymbol = "hexagon2" + ScattergeoMarkerSymbolNumber115 ScattergeoMarkerSymbol = 115 + ScattergeoMarkerSymbol115 ScattergeoMarkerSymbol = "115" + ScattergeoMarkerSymbolHexagon2Open ScattergeoMarkerSymbol = "hexagon2-open" + ScattergeoMarkerSymbolNumber215 ScattergeoMarkerSymbol = 215 + ScattergeoMarkerSymbol215 ScattergeoMarkerSymbol = "215" + ScattergeoMarkerSymbolHexagon2Dot ScattergeoMarkerSymbol = "hexagon2-dot" + ScattergeoMarkerSymbolNumber315 ScattergeoMarkerSymbol = 315 + ScattergeoMarkerSymbol315 ScattergeoMarkerSymbol = "315" + ScattergeoMarkerSymbolHexagon2OpenDot ScattergeoMarkerSymbol = "hexagon2-open-dot" + ScattergeoMarkerSymbolNumber16 ScattergeoMarkerSymbol = 16 + ScattergeoMarkerSymbol16 ScattergeoMarkerSymbol = "16" + ScattergeoMarkerSymbolOctagon ScattergeoMarkerSymbol = "octagon" + ScattergeoMarkerSymbolNumber116 ScattergeoMarkerSymbol = 116 + ScattergeoMarkerSymbol116 ScattergeoMarkerSymbol = "116" + ScattergeoMarkerSymbolOctagonOpen ScattergeoMarkerSymbol = "octagon-open" + ScattergeoMarkerSymbolNumber216 ScattergeoMarkerSymbol = 216 + ScattergeoMarkerSymbol216 ScattergeoMarkerSymbol = "216" + ScattergeoMarkerSymbolOctagonDot ScattergeoMarkerSymbol = "octagon-dot" + ScattergeoMarkerSymbolNumber316 ScattergeoMarkerSymbol = 316 + ScattergeoMarkerSymbol316 ScattergeoMarkerSymbol = "316" + ScattergeoMarkerSymbolOctagonOpenDot ScattergeoMarkerSymbol = "octagon-open-dot" + ScattergeoMarkerSymbolNumber17 ScattergeoMarkerSymbol = 17 + ScattergeoMarkerSymbol17 ScattergeoMarkerSymbol = "17" + ScattergeoMarkerSymbolStar ScattergeoMarkerSymbol = "star" + ScattergeoMarkerSymbolNumber117 ScattergeoMarkerSymbol = 117 + ScattergeoMarkerSymbol117 ScattergeoMarkerSymbol = "117" + ScattergeoMarkerSymbolStarOpen ScattergeoMarkerSymbol = "star-open" + ScattergeoMarkerSymbolNumber217 ScattergeoMarkerSymbol = 217 + ScattergeoMarkerSymbol217 ScattergeoMarkerSymbol = "217" + ScattergeoMarkerSymbolStarDot ScattergeoMarkerSymbol = "star-dot" + ScattergeoMarkerSymbolNumber317 ScattergeoMarkerSymbol = 317 + ScattergeoMarkerSymbol317 ScattergeoMarkerSymbol = "317" + ScattergeoMarkerSymbolStarOpenDot ScattergeoMarkerSymbol = "star-open-dot" + ScattergeoMarkerSymbolNumber18 ScattergeoMarkerSymbol = 18 + ScattergeoMarkerSymbol18 ScattergeoMarkerSymbol = "18" + ScattergeoMarkerSymbolHexagram ScattergeoMarkerSymbol = "hexagram" + ScattergeoMarkerSymbolNumber118 ScattergeoMarkerSymbol = 118 + ScattergeoMarkerSymbol118 ScattergeoMarkerSymbol = "118" + ScattergeoMarkerSymbolHexagramOpen ScattergeoMarkerSymbol = "hexagram-open" + ScattergeoMarkerSymbolNumber218 ScattergeoMarkerSymbol = 218 + ScattergeoMarkerSymbol218 ScattergeoMarkerSymbol = "218" + ScattergeoMarkerSymbolHexagramDot ScattergeoMarkerSymbol = "hexagram-dot" + ScattergeoMarkerSymbolNumber318 ScattergeoMarkerSymbol = 318 + ScattergeoMarkerSymbol318 ScattergeoMarkerSymbol = "318" + ScattergeoMarkerSymbolHexagramOpenDot ScattergeoMarkerSymbol = "hexagram-open-dot" + ScattergeoMarkerSymbolNumber19 ScattergeoMarkerSymbol = 19 + ScattergeoMarkerSymbol19 ScattergeoMarkerSymbol = "19" + ScattergeoMarkerSymbolStarTriangleUp ScattergeoMarkerSymbol = "star-triangle-up" + ScattergeoMarkerSymbolNumber119 ScattergeoMarkerSymbol = 119 + ScattergeoMarkerSymbol119 ScattergeoMarkerSymbol = "119" + ScattergeoMarkerSymbolStarTriangleUpOpen ScattergeoMarkerSymbol = "star-triangle-up-open" + ScattergeoMarkerSymbolNumber219 ScattergeoMarkerSymbol = 219 + ScattergeoMarkerSymbol219 ScattergeoMarkerSymbol = "219" + ScattergeoMarkerSymbolStarTriangleUpDot ScattergeoMarkerSymbol = "star-triangle-up-dot" + ScattergeoMarkerSymbolNumber319 ScattergeoMarkerSymbol = 319 + ScattergeoMarkerSymbol319 ScattergeoMarkerSymbol = "319" + ScattergeoMarkerSymbolStarTriangleUpOpenDot ScattergeoMarkerSymbol = "star-triangle-up-open-dot" + ScattergeoMarkerSymbolNumber20 ScattergeoMarkerSymbol = 20 + ScattergeoMarkerSymbol20 ScattergeoMarkerSymbol = "20" + ScattergeoMarkerSymbolStarTriangleDown ScattergeoMarkerSymbol = "star-triangle-down" + ScattergeoMarkerSymbolNumber120 ScattergeoMarkerSymbol = 120 + ScattergeoMarkerSymbol120 ScattergeoMarkerSymbol = "120" + ScattergeoMarkerSymbolStarTriangleDownOpen ScattergeoMarkerSymbol = "star-triangle-down-open" + ScattergeoMarkerSymbolNumber220 ScattergeoMarkerSymbol = 220 + ScattergeoMarkerSymbol220 ScattergeoMarkerSymbol = "220" + ScattergeoMarkerSymbolStarTriangleDownDot ScattergeoMarkerSymbol = "star-triangle-down-dot" + ScattergeoMarkerSymbolNumber320 ScattergeoMarkerSymbol = 320 + ScattergeoMarkerSymbol320 ScattergeoMarkerSymbol = "320" + ScattergeoMarkerSymbolStarTriangleDownOpenDot ScattergeoMarkerSymbol = "star-triangle-down-open-dot" + ScattergeoMarkerSymbolNumber21 ScattergeoMarkerSymbol = 21 + ScattergeoMarkerSymbol21 ScattergeoMarkerSymbol = "21" + ScattergeoMarkerSymbolStarSquare ScattergeoMarkerSymbol = "star-square" + ScattergeoMarkerSymbolNumber121 ScattergeoMarkerSymbol = 121 + ScattergeoMarkerSymbol121 ScattergeoMarkerSymbol = "121" + ScattergeoMarkerSymbolStarSquareOpen ScattergeoMarkerSymbol = "star-square-open" + ScattergeoMarkerSymbolNumber221 ScattergeoMarkerSymbol = 221 + ScattergeoMarkerSymbol221 ScattergeoMarkerSymbol = "221" + ScattergeoMarkerSymbolStarSquareDot ScattergeoMarkerSymbol = "star-square-dot" + ScattergeoMarkerSymbolNumber321 ScattergeoMarkerSymbol = 321 + ScattergeoMarkerSymbol321 ScattergeoMarkerSymbol = "321" + ScattergeoMarkerSymbolStarSquareOpenDot ScattergeoMarkerSymbol = "star-square-open-dot" + ScattergeoMarkerSymbolNumber22 ScattergeoMarkerSymbol = 22 + ScattergeoMarkerSymbol22 ScattergeoMarkerSymbol = "22" + ScattergeoMarkerSymbolStarDiamond ScattergeoMarkerSymbol = "star-diamond" + ScattergeoMarkerSymbolNumber122 ScattergeoMarkerSymbol = 122 + ScattergeoMarkerSymbol122 ScattergeoMarkerSymbol = "122" + ScattergeoMarkerSymbolStarDiamondOpen ScattergeoMarkerSymbol = "star-diamond-open" + ScattergeoMarkerSymbolNumber222 ScattergeoMarkerSymbol = 222 + ScattergeoMarkerSymbol222 ScattergeoMarkerSymbol = "222" + ScattergeoMarkerSymbolStarDiamondDot ScattergeoMarkerSymbol = "star-diamond-dot" + ScattergeoMarkerSymbolNumber322 ScattergeoMarkerSymbol = 322 + ScattergeoMarkerSymbol322 ScattergeoMarkerSymbol = "322" + ScattergeoMarkerSymbolStarDiamondOpenDot ScattergeoMarkerSymbol = "star-diamond-open-dot" + ScattergeoMarkerSymbolNumber23 ScattergeoMarkerSymbol = 23 + ScattergeoMarkerSymbol23 ScattergeoMarkerSymbol = "23" + ScattergeoMarkerSymbolDiamondTall ScattergeoMarkerSymbol = "diamond-tall" + ScattergeoMarkerSymbolNumber123 ScattergeoMarkerSymbol = 123 + ScattergeoMarkerSymbol123 ScattergeoMarkerSymbol = "123" + ScattergeoMarkerSymbolDiamondTallOpen ScattergeoMarkerSymbol = "diamond-tall-open" + ScattergeoMarkerSymbolNumber223 ScattergeoMarkerSymbol = 223 + ScattergeoMarkerSymbol223 ScattergeoMarkerSymbol = "223" + ScattergeoMarkerSymbolDiamondTallDot ScattergeoMarkerSymbol = "diamond-tall-dot" + ScattergeoMarkerSymbolNumber323 ScattergeoMarkerSymbol = 323 + ScattergeoMarkerSymbol323 ScattergeoMarkerSymbol = "323" + ScattergeoMarkerSymbolDiamondTallOpenDot ScattergeoMarkerSymbol = "diamond-tall-open-dot" + ScattergeoMarkerSymbolNumber24 ScattergeoMarkerSymbol = 24 + ScattergeoMarkerSymbol24 ScattergeoMarkerSymbol = "24" + ScattergeoMarkerSymbolDiamondWide ScattergeoMarkerSymbol = "diamond-wide" + ScattergeoMarkerSymbolNumber124 ScattergeoMarkerSymbol = 124 + ScattergeoMarkerSymbol124 ScattergeoMarkerSymbol = "124" + ScattergeoMarkerSymbolDiamondWideOpen ScattergeoMarkerSymbol = "diamond-wide-open" + ScattergeoMarkerSymbolNumber224 ScattergeoMarkerSymbol = 224 + ScattergeoMarkerSymbol224 ScattergeoMarkerSymbol = "224" + ScattergeoMarkerSymbolDiamondWideDot ScattergeoMarkerSymbol = "diamond-wide-dot" + ScattergeoMarkerSymbolNumber324 ScattergeoMarkerSymbol = 324 + ScattergeoMarkerSymbol324 ScattergeoMarkerSymbol = "324" + ScattergeoMarkerSymbolDiamondWideOpenDot ScattergeoMarkerSymbol = "diamond-wide-open-dot" + ScattergeoMarkerSymbolNumber25 ScattergeoMarkerSymbol = 25 + ScattergeoMarkerSymbol25 ScattergeoMarkerSymbol = "25" + ScattergeoMarkerSymbolHourglass ScattergeoMarkerSymbol = "hourglass" + ScattergeoMarkerSymbolNumber125 ScattergeoMarkerSymbol = 125 + ScattergeoMarkerSymbol125 ScattergeoMarkerSymbol = "125" + ScattergeoMarkerSymbolHourglassOpen ScattergeoMarkerSymbol = "hourglass-open" + ScattergeoMarkerSymbolNumber26 ScattergeoMarkerSymbol = 26 + ScattergeoMarkerSymbol26 ScattergeoMarkerSymbol = "26" + ScattergeoMarkerSymbolBowtie ScattergeoMarkerSymbol = "bowtie" + ScattergeoMarkerSymbolNumber126 ScattergeoMarkerSymbol = 126 + ScattergeoMarkerSymbol126 ScattergeoMarkerSymbol = "126" + ScattergeoMarkerSymbolBowtieOpen ScattergeoMarkerSymbol = "bowtie-open" + ScattergeoMarkerSymbolNumber27 ScattergeoMarkerSymbol = 27 + ScattergeoMarkerSymbol27 ScattergeoMarkerSymbol = "27" + ScattergeoMarkerSymbolCircleCross ScattergeoMarkerSymbol = "circle-cross" + ScattergeoMarkerSymbolNumber127 ScattergeoMarkerSymbol = 127 + ScattergeoMarkerSymbol127 ScattergeoMarkerSymbol = "127" + ScattergeoMarkerSymbolCircleCrossOpen ScattergeoMarkerSymbol = "circle-cross-open" + ScattergeoMarkerSymbolNumber28 ScattergeoMarkerSymbol = 28 + ScattergeoMarkerSymbol28 ScattergeoMarkerSymbol = "28" + ScattergeoMarkerSymbolCircleX ScattergeoMarkerSymbol = "circle-x" + ScattergeoMarkerSymbolNumber128 ScattergeoMarkerSymbol = 128 + ScattergeoMarkerSymbol128 ScattergeoMarkerSymbol = "128" + ScattergeoMarkerSymbolCircleXOpen ScattergeoMarkerSymbol = "circle-x-open" + ScattergeoMarkerSymbolNumber29 ScattergeoMarkerSymbol = 29 + ScattergeoMarkerSymbol29 ScattergeoMarkerSymbol = "29" + ScattergeoMarkerSymbolSquareCross ScattergeoMarkerSymbol = "square-cross" + ScattergeoMarkerSymbolNumber129 ScattergeoMarkerSymbol = 129 + ScattergeoMarkerSymbol129 ScattergeoMarkerSymbol = "129" + ScattergeoMarkerSymbolSquareCrossOpen ScattergeoMarkerSymbol = "square-cross-open" + ScattergeoMarkerSymbolNumber30 ScattergeoMarkerSymbol = 30 + ScattergeoMarkerSymbol30 ScattergeoMarkerSymbol = "30" + ScattergeoMarkerSymbolSquareX ScattergeoMarkerSymbol = "square-x" + ScattergeoMarkerSymbolNumber130 ScattergeoMarkerSymbol = 130 + ScattergeoMarkerSymbol130 ScattergeoMarkerSymbol = "130" + ScattergeoMarkerSymbolSquareXOpen ScattergeoMarkerSymbol = "square-x-open" + ScattergeoMarkerSymbolNumber31 ScattergeoMarkerSymbol = 31 + ScattergeoMarkerSymbol31 ScattergeoMarkerSymbol = "31" + ScattergeoMarkerSymbolDiamondCross ScattergeoMarkerSymbol = "diamond-cross" + ScattergeoMarkerSymbolNumber131 ScattergeoMarkerSymbol = 131 + ScattergeoMarkerSymbol131 ScattergeoMarkerSymbol = "131" + ScattergeoMarkerSymbolDiamondCrossOpen ScattergeoMarkerSymbol = "diamond-cross-open" + ScattergeoMarkerSymbolNumber32 ScattergeoMarkerSymbol = 32 + ScattergeoMarkerSymbol32 ScattergeoMarkerSymbol = "32" + ScattergeoMarkerSymbolDiamondX ScattergeoMarkerSymbol = "diamond-x" + ScattergeoMarkerSymbolNumber132 ScattergeoMarkerSymbol = 132 + ScattergeoMarkerSymbol132 ScattergeoMarkerSymbol = "132" + ScattergeoMarkerSymbolDiamondXOpen ScattergeoMarkerSymbol = "diamond-x-open" + ScattergeoMarkerSymbolNumber33 ScattergeoMarkerSymbol = 33 + ScattergeoMarkerSymbol33 ScattergeoMarkerSymbol = "33" + ScattergeoMarkerSymbolCrossThin ScattergeoMarkerSymbol = "cross-thin" + ScattergeoMarkerSymbolNumber133 ScattergeoMarkerSymbol = 133 + ScattergeoMarkerSymbol133 ScattergeoMarkerSymbol = "133" + ScattergeoMarkerSymbolCrossThinOpen ScattergeoMarkerSymbol = "cross-thin-open" + ScattergeoMarkerSymbolNumber34 ScattergeoMarkerSymbol = 34 + ScattergeoMarkerSymbol34 ScattergeoMarkerSymbol = "34" + ScattergeoMarkerSymbolXThin ScattergeoMarkerSymbol = "x-thin" + ScattergeoMarkerSymbolNumber134 ScattergeoMarkerSymbol = 134 + ScattergeoMarkerSymbol134 ScattergeoMarkerSymbol = "134" + ScattergeoMarkerSymbolXThinOpen ScattergeoMarkerSymbol = "x-thin-open" + ScattergeoMarkerSymbolNumber35 ScattergeoMarkerSymbol = 35 + ScattergeoMarkerSymbol35 ScattergeoMarkerSymbol = "35" + ScattergeoMarkerSymbolAsterisk ScattergeoMarkerSymbol = "asterisk" + ScattergeoMarkerSymbolNumber135 ScattergeoMarkerSymbol = 135 + ScattergeoMarkerSymbol135 ScattergeoMarkerSymbol = "135" + ScattergeoMarkerSymbolAsteriskOpen ScattergeoMarkerSymbol = "asterisk-open" + ScattergeoMarkerSymbolNumber36 ScattergeoMarkerSymbol = 36 + ScattergeoMarkerSymbol36 ScattergeoMarkerSymbol = "36" + ScattergeoMarkerSymbolHash ScattergeoMarkerSymbol = "hash" + ScattergeoMarkerSymbolNumber136 ScattergeoMarkerSymbol = 136 + ScattergeoMarkerSymbol136 ScattergeoMarkerSymbol = "136" + ScattergeoMarkerSymbolHashOpen ScattergeoMarkerSymbol = "hash-open" + ScattergeoMarkerSymbolNumber236 ScattergeoMarkerSymbol = 236 + ScattergeoMarkerSymbol236 ScattergeoMarkerSymbol = "236" + ScattergeoMarkerSymbolHashDot ScattergeoMarkerSymbol = "hash-dot" + ScattergeoMarkerSymbolNumber336 ScattergeoMarkerSymbol = 336 + ScattergeoMarkerSymbol336 ScattergeoMarkerSymbol = "336" + ScattergeoMarkerSymbolHashOpenDot ScattergeoMarkerSymbol = "hash-open-dot" + ScattergeoMarkerSymbolNumber37 ScattergeoMarkerSymbol = 37 + ScattergeoMarkerSymbol37 ScattergeoMarkerSymbol = "37" + ScattergeoMarkerSymbolYUp ScattergeoMarkerSymbol = "y-up" + ScattergeoMarkerSymbolNumber137 ScattergeoMarkerSymbol = 137 + ScattergeoMarkerSymbol137 ScattergeoMarkerSymbol = "137" + ScattergeoMarkerSymbolYUpOpen ScattergeoMarkerSymbol = "y-up-open" + ScattergeoMarkerSymbolNumber38 ScattergeoMarkerSymbol = 38 + ScattergeoMarkerSymbol38 ScattergeoMarkerSymbol = "38" + ScattergeoMarkerSymbolYDown ScattergeoMarkerSymbol = "y-down" + ScattergeoMarkerSymbolNumber138 ScattergeoMarkerSymbol = 138 + ScattergeoMarkerSymbol138 ScattergeoMarkerSymbol = "138" + ScattergeoMarkerSymbolYDownOpen ScattergeoMarkerSymbol = "y-down-open" + ScattergeoMarkerSymbolNumber39 ScattergeoMarkerSymbol = 39 + ScattergeoMarkerSymbol39 ScattergeoMarkerSymbol = "39" + ScattergeoMarkerSymbolYLeft ScattergeoMarkerSymbol = "y-left" + ScattergeoMarkerSymbolNumber139 ScattergeoMarkerSymbol = 139 + ScattergeoMarkerSymbol139 ScattergeoMarkerSymbol = "139" + ScattergeoMarkerSymbolYLeftOpen ScattergeoMarkerSymbol = "y-left-open" + ScattergeoMarkerSymbolNumber40 ScattergeoMarkerSymbol = 40 + ScattergeoMarkerSymbol40 ScattergeoMarkerSymbol = "40" + ScattergeoMarkerSymbolYRight ScattergeoMarkerSymbol = "y-right" + ScattergeoMarkerSymbolNumber140 ScattergeoMarkerSymbol = 140 + ScattergeoMarkerSymbol140 ScattergeoMarkerSymbol = "140" + ScattergeoMarkerSymbolYRightOpen ScattergeoMarkerSymbol = "y-right-open" + ScattergeoMarkerSymbolNumber41 ScattergeoMarkerSymbol = 41 + ScattergeoMarkerSymbol41 ScattergeoMarkerSymbol = "41" + ScattergeoMarkerSymbolLineEw ScattergeoMarkerSymbol = "line-ew" + ScattergeoMarkerSymbolNumber141 ScattergeoMarkerSymbol = 141 + ScattergeoMarkerSymbol141 ScattergeoMarkerSymbol = "141" + ScattergeoMarkerSymbolLineEwOpen ScattergeoMarkerSymbol = "line-ew-open" + ScattergeoMarkerSymbolNumber42 ScattergeoMarkerSymbol = 42 + ScattergeoMarkerSymbol42 ScattergeoMarkerSymbol = "42" + ScattergeoMarkerSymbolLineNs ScattergeoMarkerSymbol = "line-ns" + ScattergeoMarkerSymbolNumber142 ScattergeoMarkerSymbol = 142 + ScattergeoMarkerSymbol142 ScattergeoMarkerSymbol = "142" + ScattergeoMarkerSymbolLineNsOpen ScattergeoMarkerSymbol = "line-ns-open" + ScattergeoMarkerSymbolNumber43 ScattergeoMarkerSymbol = 43 + ScattergeoMarkerSymbol43 ScattergeoMarkerSymbol = "43" + ScattergeoMarkerSymbolLineNe ScattergeoMarkerSymbol = "line-ne" + ScattergeoMarkerSymbolNumber143 ScattergeoMarkerSymbol = 143 + ScattergeoMarkerSymbol143 ScattergeoMarkerSymbol = "143" + ScattergeoMarkerSymbolLineNeOpen ScattergeoMarkerSymbol = "line-ne-open" + ScattergeoMarkerSymbolNumber44 ScattergeoMarkerSymbol = 44 + ScattergeoMarkerSymbol44 ScattergeoMarkerSymbol = "44" + ScattergeoMarkerSymbolLineNw ScattergeoMarkerSymbol = "line-nw" + ScattergeoMarkerSymbolNumber144 ScattergeoMarkerSymbol = 144 + ScattergeoMarkerSymbol144 ScattergeoMarkerSymbol = "144" + ScattergeoMarkerSymbolLineNwOpen ScattergeoMarkerSymbol = "line-nw-open" + ScattergeoMarkerSymbolNumber45 ScattergeoMarkerSymbol = 45 + ScattergeoMarkerSymbol45 ScattergeoMarkerSymbol = "45" + ScattergeoMarkerSymbolArrowUp ScattergeoMarkerSymbol = "arrow-up" + ScattergeoMarkerSymbolNumber145 ScattergeoMarkerSymbol = 145 + ScattergeoMarkerSymbol145 ScattergeoMarkerSymbol = "145" + ScattergeoMarkerSymbolArrowUpOpen ScattergeoMarkerSymbol = "arrow-up-open" + ScattergeoMarkerSymbolNumber46 ScattergeoMarkerSymbol = 46 + ScattergeoMarkerSymbol46 ScattergeoMarkerSymbol = "46" + ScattergeoMarkerSymbolArrowDown ScattergeoMarkerSymbol = "arrow-down" + ScattergeoMarkerSymbolNumber146 ScattergeoMarkerSymbol = 146 + ScattergeoMarkerSymbol146 ScattergeoMarkerSymbol = "146" + ScattergeoMarkerSymbolArrowDownOpen ScattergeoMarkerSymbol = "arrow-down-open" + ScattergeoMarkerSymbolNumber47 ScattergeoMarkerSymbol = 47 + ScattergeoMarkerSymbol47 ScattergeoMarkerSymbol = "47" + ScattergeoMarkerSymbolArrowLeft ScattergeoMarkerSymbol = "arrow-left" + ScattergeoMarkerSymbolNumber147 ScattergeoMarkerSymbol = 147 + ScattergeoMarkerSymbol147 ScattergeoMarkerSymbol = "147" + ScattergeoMarkerSymbolArrowLeftOpen ScattergeoMarkerSymbol = "arrow-left-open" + ScattergeoMarkerSymbolNumber48 ScattergeoMarkerSymbol = 48 + ScattergeoMarkerSymbol48 ScattergeoMarkerSymbol = "48" + ScattergeoMarkerSymbolArrowRight ScattergeoMarkerSymbol = "arrow-right" + ScattergeoMarkerSymbolNumber148 ScattergeoMarkerSymbol = 148 + ScattergeoMarkerSymbol148 ScattergeoMarkerSymbol = "148" + ScattergeoMarkerSymbolArrowRightOpen ScattergeoMarkerSymbol = "arrow-right-open" + ScattergeoMarkerSymbolNumber49 ScattergeoMarkerSymbol = 49 + ScattergeoMarkerSymbol49 ScattergeoMarkerSymbol = "49" + ScattergeoMarkerSymbolArrowBarUp ScattergeoMarkerSymbol = "arrow-bar-up" + ScattergeoMarkerSymbolNumber149 ScattergeoMarkerSymbol = 149 + ScattergeoMarkerSymbol149 ScattergeoMarkerSymbol = "149" + ScattergeoMarkerSymbolArrowBarUpOpen ScattergeoMarkerSymbol = "arrow-bar-up-open" + ScattergeoMarkerSymbolNumber50 ScattergeoMarkerSymbol = 50 + ScattergeoMarkerSymbol50 ScattergeoMarkerSymbol = "50" + ScattergeoMarkerSymbolArrowBarDown ScattergeoMarkerSymbol = "arrow-bar-down" + ScattergeoMarkerSymbolNumber150 ScattergeoMarkerSymbol = 150 + ScattergeoMarkerSymbol150 ScattergeoMarkerSymbol = "150" + ScattergeoMarkerSymbolArrowBarDownOpen ScattergeoMarkerSymbol = "arrow-bar-down-open" + ScattergeoMarkerSymbolNumber51 ScattergeoMarkerSymbol = 51 + ScattergeoMarkerSymbol51 ScattergeoMarkerSymbol = "51" + ScattergeoMarkerSymbolArrowBarLeft ScattergeoMarkerSymbol = "arrow-bar-left" + ScattergeoMarkerSymbolNumber151 ScattergeoMarkerSymbol = 151 + ScattergeoMarkerSymbol151 ScattergeoMarkerSymbol = "151" + ScattergeoMarkerSymbolArrowBarLeftOpen ScattergeoMarkerSymbol = "arrow-bar-left-open" + ScattergeoMarkerSymbolNumber52 ScattergeoMarkerSymbol = 52 + ScattergeoMarkerSymbol52 ScattergeoMarkerSymbol = "52" + ScattergeoMarkerSymbolArrowBarRight ScattergeoMarkerSymbol = "arrow-bar-right" + ScattergeoMarkerSymbolNumber152 ScattergeoMarkerSymbol = 152 + ScattergeoMarkerSymbol152 ScattergeoMarkerSymbol = "152" + ScattergeoMarkerSymbolArrowBarRightOpen ScattergeoMarkerSymbol = "arrow-bar-right-open" + ScattergeoMarkerSymbolNumber53 ScattergeoMarkerSymbol = 53 + ScattergeoMarkerSymbol53 ScattergeoMarkerSymbol = "53" + ScattergeoMarkerSymbolArrow ScattergeoMarkerSymbol = "arrow" + ScattergeoMarkerSymbolNumber153 ScattergeoMarkerSymbol = 153 + ScattergeoMarkerSymbol153 ScattergeoMarkerSymbol = "153" + ScattergeoMarkerSymbolArrowOpen ScattergeoMarkerSymbol = "arrow-open" + ScattergeoMarkerSymbolNumber54 ScattergeoMarkerSymbol = 54 + ScattergeoMarkerSymbol54 ScattergeoMarkerSymbol = "54" + ScattergeoMarkerSymbolArrowWide ScattergeoMarkerSymbol = "arrow-wide" + ScattergeoMarkerSymbolNumber154 ScattergeoMarkerSymbol = 154 + ScattergeoMarkerSymbol154 ScattergeoMarkerSymbol = "154" + ScattergeoMarkerSymbolArrowWideOpen ScattergeoMarkerSymbol = "arrow-wide-open" +) + +// ScattergeoTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. +type ScattergeoTextposition string + +const ( + ScattergeoTextpositionTopLeft ScattergeoTextposition = "top left" + ScattergeoTextpositionTopCenter ScattergeoTextposition = "top center" + ScattergeoTextpositionTopRight ScattergeoTextposition = "top right" + ScattergeoTextpositionMiddleLeft ScattergeoTextposition = "middle left" + ScattergeoTextpositionMiddleCenter ScattergeoTextposition = "middle center" + ScattergeoTextpositionMiddleRight ScattergeoTextposition = "middle right" + ScattergeoTextpositionBottomLeft ScattergeoTextposition = "bottom left" + ScattergeoTextpositionBottomCenter ScattergeoTextposition = "bottom center" + ScattergeoTextpositionBottomRight ScattergeoTextposition = "bottom right" +) + +// ScattergeoVisible 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). +type ScattergeoVisible interface{} + +var ( + ScattergeoVisibleTrue ScattergeoVisible = true + ScattergeoVisibleFalse ScattergeoVisible = false + ScattergeoVisibleLegendonly ScattergeoVisible = "legendonly" +) + +// ScattergeoHoverinfo 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. +type ScattergeoHoverinfo string + +const ( + // Flags + ScattergeoHoverinfoLon ScattergeoHoverinfo = "lon" + ScattergeoHoverinfoLat ScattergeoHoverinfo = "lat" + ScattergeoHoverinfoLocation ScattergeoHoverinfo = "location" + ScattergeoHoverinfoText ScattergeoHoverinfo = "text" + ScattergeoHoverinfoName ScattergeoHoverinfo = "name" + + // Extra + ScattergeoHoverinfoAll ScattergeoHoverinfo = "all" + ScattergeoHoverinfoNone ScattergeoHoverinfo = "none" + ScattergeoHoverinfoSkip ScattergeoHoverinfo = "skip" +) + +// ScattergeoMode 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*. +type ScattergeoMode string + +const ( + // Flags + ScattergeoModeLines ScattergeoMode = "lines" + ScattergeoModeMarkers ScattergeoMode = "markers" + ScattergeoModeText ScattergeoMode = "text" + + // Extra + ScattergeoModeNone ScattergeoMode = "none" +) diff --git a/generated/v2.29.1/graph_objects/scattergl_gen.go b/generated/v2.29.1/graph_objects/scattergl_gen.go new file mode 100644 index 0000000..4dfa5ef --- /dev/null +++ b/generated/v2.29.1/graph_objects/scattergl_gen.go @@ -0,0 +1,2272 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeScattergl TraceType = "scattergl" + +func (trace *Scattergl) GetType() TraceType { + return TraceTypeScattergl +} + +// Scattergl 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. +type Scattergl struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Connectgaps + // arrayOK: false + // type: boolean + // Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected. + Connectgaps Bool `json:"connectgaps,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Dx + // arrayOK: false + // type: number + // Sets the x coordinate step. See `x0` for more info. + Dx float64 `json:"dx,omitempty"` + + // Dy + // arrayOK: false + // type: number + // Sets the y coordinate step. See `y0` for more info. + Dy float64 `json:"dy,omitempty"` + + // ErrorX + // role: Object + ErrorX *ScatterglErrorX `json:"error_x,omitempty"` + + // ErrorY + // role: Object + ErrorY *ScatterglErrorY `json:"error_y,omitempty"` + + // Fill + // default: none + // type: enumerated + // 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. + Fill ScatterglFill `json:"fill,omitempty"` + + // Fillcolor + // arrayOK: false + // 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. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo ScatterglHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *ScatterglHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *ScatterglLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *ScatterglLine `json:"line,omitempty"` + + // Marker + // role: Object + Marker *ScatterglMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Mode + // default: %!s() + // type: flaglist + // Determines the drawing mode for this scatter trace. + Mode ScatterglMode `json:"mode,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Selected + // role: Object + Selected *ScatterglSelected `json:"selected,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Stream + // role: Object + Stream *ScatterglStream `json:"stream,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textfont + // role: Object + Textfont *ScatterglTextfont `json:"textfont,omitempty"` + + // Textposition + // default: middle center + // type: enumerated + // Sets the positions of the `text` elements with respects to the (x,y) coordinates. + Textposition ScatterglTextposition `json:"textposition,omitempty"` + + // Textpositionsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `textposition`. + Textpositionsrc String `json:"textpositionsrc,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: true + // 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. + Texttemplate String `json:"texttemplate,omitempty"` + + // Texttemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `texttemplate`. + Texttemplatesrc String `json:"texttemplatesrc,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Unselected + // role: Object + Unselected *ScatterglUnselected `json:"unselected,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible ScatterglVisible `json:"visible,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the x coordinates. + X interface{} `json:"x,omitempty"` + + // X0 + // arrayOK: false + // type: any + // Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step. + X0 interface{} `json:"x0,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Xcalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `x` date data. + Xcalendar ScatterglXcalendar `json:"xcalendar,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xperiod + // arrayOK: false + // type: any + // Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer. + Xperiod interface{} `json:"xperiod,omitempty"` + + // Xperiod0 + // arrayOK: false + // type: any + // 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. + Xperiod0 interface{} `json:"xperiod0,omitempty"` + + // Xperiodalignment + // default: middle + // type: enumerated + // Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. + Xperiodalignment ScatterglXperiodalignment `json:"xperiodalignment,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the y coordinates. + Y interface{} `json:"y,omitempty"` + + // Y0 + // arrayOK: false + // type: any + // Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step. + Y0 interface{} `json:"y0,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` + + // Ycalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `y` date data. + Ycalendar ScatterglYcalendar `json:"ycalendar,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Yperiod + // arrayOK: false + // type: any + // Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the y axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer. + Yperiod interface{} `json:"yperiod,omitempty"` + + // Yperiod0 + // arrayOK: false + // type: any + // 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. + Yperiod0 interface{} `json:"yperiod0,omitempty"` + + // Yperiodalignment + // default: middle + // type: enumerated + // Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis. + Yperiodalignment ScatterglYperiodalignment `json:"yperiodalignment,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` +} + +// ScatterglErrorX +type ScatterglErrorX struct { + + // Array + // arrayOK: false + // type: data_array + // Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data. + Array interface{} `json:"array,omitempty"` + + // Arrayminus + // arrayOK: false + // 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. + Arrayminus interface{} `json:"arrayminus,omitempty"` + + // Arrayminussrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `arrayminus`. + Arrayminussrc String `json:"arrayminussrc,omitempty"` + + // Arraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `array`. + Arraysrc String `json:"arraysrc,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the stoke color of the error bars. + Color Color `json:"color,omitempty"` + + // CopyYstyle + // arrayOK: false + // type: boolean + // + CopyYstyle Bool `json:"copy_ystyle,omitempty"` + + // Symmetric + // arrayOK: false + // 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. + Symmetric Bool `json:"symmetric,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness (in px) of the error bars. + Thickness float64 `json:"thickness,omitempty"` + + // Traceref + // arrayOK: false + // type: integer + // + Traceref int64 `json:"traceref,omitempty"` + + // Tracerefminus + // arrayOK: false + // type: integer + // + Tracerefminus int64 `json:"tracerefminus,omitempty"` + + // Type + // default: %!s() + // type: enumerated + // 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`. + Type ScatterglErrorXType `json:"type,omitempty"` + + // Value + // arrayOK: false + // type: number + // 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. + Value float64 `json:"value,omitempty"` + + // Valueminus + // arrayOK: false + // type: number + // 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 + Valueminus float64 `json:"valueminus,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Determines whether or not this set of error bars is visible. + Visible Bool `json:"visible,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of the cross-bar at both ends of the error bars. + Width float64 `json:"width,omitempty"` +} + +// ScatterglErrorY +type ScatterglErrorY struct { + + // Array + // arrayOK: false + // type: data_array + // Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data. + Array interface{} `json:"array,omitempty"` + + // Arrayminus + // arrayOK: false + // 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. + Arrayminus interface{} `json:"arrayminus,omitempty"` + + // Arrayminussrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `arrayminus`. + Arrayminussrc String `json:"arrayminussrc,omitempty"` + + // Arraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `array`. + Arraysrc String `json:"arraysrc,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the stoke color of the error bars. + Color Color `json:"color,omitempty"` + + // Symmetric + // arrayOK: false + // 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. + Symmetric Bool `json:"symmetric,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness (in px) of the error bars. + Thickness float64 `json:"thickness,omitempty"` + + // Traceref + // arrayOK: false + // type: integer + // + Traceref int64 `json:"traceref,omitempty"` + + // Tracerefminus + // arrayOK: false + // type: integer + // + Tracerefminus int64 `json:"tracerefminus,omitempty"` + + // Type + // default: %!s() + // type: enumerated + // 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`. + Type ScatterglErrorYType `json:"type,omitempty"` + + // Value + // arrayOK: false + // type: number + // 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. + Value float64 `json:"value,omitempty"` + + // Valueminus + // arrayOK: false + // type: number + // 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 + Valueminus float64 `json:"valueminus,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Determines whether or not this set of error bars is visible. + Visible Bool `json:"visible,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of the cross-bar at both ends of the error bars. + Width float64 `json:"width,omitempty"` +} + +// ScatterglHoverlabelFont Sets the font used in hover labels. +type ScatterglHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ScatterglHoverlabel +type ScatterglHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align ScatterglHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *ScatterglHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// ScatterglLegendgrouptitleFont Sets this legend group's title font. +type ScatterglLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScatterglLegendgrouptitle +type ScatterglLegendgrouptitle struct { + + // Font + // role: Object + Font *ScatterglLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// ScatterglLine +type ScatterglLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the line color. + Color Color `json:"color,omitempty"` + + // Dash + // default: solid + // type: enumerated + // Sets the style of the lines. + Dash ScatterglLineDash `json:"dash,omitempty"` + + // Shape + // default: linear + // type: enumerated + // Determines the line shape. The values correspond to step-wise line shapes. + Shape ScatterglLineShape `json:"shape,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width (in px). + Width float64 `json:"width,omitempty"` +} + +// ScatterglMarkerColorbarTickfont Sets the color bar's tick label font +type ScatterglMarkerColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScatterglMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type ScatterglMarkerColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScatterglMarkerColorbarTitle +type ScatterglMarkerColorbarTitle struct { + + // Font + // role: Object + Font *ScatterglMarkerColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side ScatterglMarkerColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// ScatterglMarkerColorbar +type ScatterglMarkerColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat ScatterglMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode ScatterglMarkerColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ScatterglMarkerColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent ScatterglMarkerColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix ScatterglMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix ScatterglMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode ScatterglMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *ScatterglMarkerColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ScatterglMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition ScatterglMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode ScatterglMarkerColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks ScatterglMarkerColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *ScatterglMarkerColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor ScatterglMarkerColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref ScatterglMarkerColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor ScatterglMarkerColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref ScatterglMarkerColorbarYref `json:"yref,omitempty"` +} + +// ScatterglMarkerLine +type ScatterglMarkerLine struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the lines bounding the marker points. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// ScatterglMarker +type ScatterglMarker struct { + + // Angle + // arrayOK: true + // type: angle + // Sets the marker angle in respect to `angleref`. + Angle float64 `json:"angle,omitempty"` + + // Anglesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `angle`. + Anglesrc String `json:"anglesrc,omitempty"` + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *ScatterglMarkerColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Line + // role: Object + Line *ScatterglMarkerLine `json:"line,omitempty"` + + // Opacity + // arrayOK: true + // type: number + // Sets the marker opacity. + Opacity float64 `json:"opacity,omitempty"` + + // Opacitysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `opacity`. + Opacitysrc String `json:"opacitysrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the marker size (in px). + Size float64 `json:"size,omitempty"` + + // Sizemin + // arrayOK: false + // 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. + Sizemin float64 `json:"sizemin,omitempty"` + + // Sizemode + // default: diameter + // type: enumerated + // 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. + Sizemode ScatterglMarkerSizemode `json:"sizemode,omitempty"` + + // Sizeref + // arrayOK: false + // type: number + // 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`. + Sizeref float64 `json:"sizeref,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Symbol + // default: circle + // type: enumerated + // 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. + Symbol ScatterglMarkerSymbol `json:"symbol,omitempty"` + + // Symbolsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `symbol`. + Symbolsrc String `json:"symbolsrc,omitempty"` +} + +// ScatterglSelectedMarker +type ScatterglSelectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of selected points. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of selected points. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of selected points. + Size float64 `json:"size,omitempty"` +} + +// ScatterglSelectedTextfont +type ScatterglSelectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of selected points. + Color Color `json:"color,omitempty"` +} + +// ScatterglSelected +type ScatterglSelected struct { + + // Marker + // role: Object + Marker *ScatterglSelectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *ScatterglSelectedTextfont `json:"textfont,omitempty"` +} + +// ScatterglStream +type ScatterglStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// ScatterglTextfont Sets the text font. +type ScatterglTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ScatterglUnselectedMarker +type ScatterglUnselectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of unselected points, applied only when a selection exists. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of unselected points, applied only when a selection exists. + Size float64 `json:"size,omitempty"` +} + +// ScatterglUnselectedTextfont +type ScatterglUnselectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` +} + +// ScatterglUnselected +type ScatterglUnselected struct { + + // Marker + // role: Object + Marker *ScatterglUnselectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *ScatterglUnselectedTextfont `json:"textfont,omitempty"` +} + +// ScatterglErrorXType 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`. +type ScatterglErrorXType string + +const ( + ScatterglErrorXTypePercent ScatterglErrorXType = "percent" + ScatterglErrorXTypeConstant ScatterglErrorXType = "constant" + ScatterglErrorXTypeSqrt ScatterglErrorXType = "sqrt" + ScatterglErrorXTypeData ScatterglErrorXType = "data" +) + +// ScatterglErrorYType 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`. +type ScatterglErrorYType string + +const ( + ScatterglErrorYTypePercent ScatterglErrorYType = "percent" + ScatterglErrorYTypeConstant ScatterglErrorYType = "constant" + ScatterglErrorYTypeSqrt ScatterglErrorYType = "sqrt" + ScatterglErrorYTypeData ScatterglErrorYType = "data" +) + +// ScatterglFill 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. +type ScatterglFill string + +const ( + ScatterglFillNone ScatterglFill = "none" + ScatterglFillTozeroy ScatterglFill = "tozeroy" + ScatterglFillTozerox ScatterglFill = "tozerox" + ScatterglFillTonexty ScatterglFill = "tonexty" + ScatterglFillTonextx ScatterglFill = "tonextx" + ScatterglFillToself ScatterglFill = "toself" + ScatterglFillTonext ScatterglFill = "tonext" +) + +// ScatterglHoverlabelAlign 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 +type ScatterglHoverlabelAlign string + +const ( + ScatterglHoverlabelAlignLeft ScatterglHoverlabelAlign = "left" + ScatterglHoverlabelAlignRight ScatterglHoverlabelAlign = "right" + ScatterglHoverlabelAlignAuto ScatterglHoverlabelAlign = "auto" +) + +// ScatterglLineDash Sets the style of the lines. +type ScatterglLineDash string + +const ( + ScatterglLineDashDash ScatterglLineDash = "dash" + ScatterglLineDashDashdot ScatterglLineDash = "dashdot" + ScatterglLineDashDot ScatterglLineDash = "dot" + ScatterglLineDashLongdash ScatterglLineDash = "longdash" + ScatterglLineDashLongdashdot ScatterglLineDash = "longdashdot" + ScatterglLineDashSolid ScatterglLineDash = "solid" +) + +// ScatterglLineShape Determines the line shape. The values correspond to step-wise line shapes. +type ScatterglLineShape string + +const ( + ScatterglLineShapeLinear ScatterglLineShape = "linear" + ScatterglLineShapeHv ScatterglLineShape = "hv" + ScatterglLineShapeVh ScatterglLineShape = "vh" + ScatterglLineShapeHvh ScatterglLineShape = "hvh" + ScatterglLineShapeVhv ScatterglLineShape = "vhv" +) + +// ScatterglMarkerColorbarExponentformat 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. +type ScatterglMarkerColorbarExponentformat string + +const ( + ScatterglMarkerColorbarExponentformatNone ScatterglMarkerColorbarExponentformat = "none" + ScatterglMarkerColorbarExponentformatE1 ScatterglMarkerColorbarExponentformat = "e" + ScatterglMarkerColorbarExponentformatE2 ScatterglMarkerColorbarExponentformat = "E" + ScatterglMarkerColorbarExponentformatPower ScatterglMarkerColorbarExponentformat = "power" + ScatterglMarkerColorbarExponentformatSI ScatterglMarkerColorbarExponentformat = "SI" + ScatterglMarkerColorbarExponentformatB ScatterglMarkerColorbarExponentformat = "B" +) + +// ScatterglMarkerColorbarLenmode 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. +type ScatterglMarkerColorbarLenmode string + +const ( + ScatterglMarkerColorbarLenmodeFraction ScatterglMarkerColorbarLenmode = "fraction" + ScatterglMarkerColorbarLenmodePixels ScatterglMarkerColorbarLenmode = "pixels" +) + +// ScatterglMarkerColorbarOrientation Sets the orientation of the colorbar. +type ScatterglMarkerColorbarOrientation string + +const ( + ScatterglMarkerColorbarOrientationH ScatterglMarkerColorbarOrientation = "h" + ScatterglMarkerColorbarOrientationV ScatterglMarkerColorbarOrientation = "v" +) + +// ScatterglMarkerColorbarShowexponent 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. +type ScatterglMarkerColorbarShowexponent string + +const ( + ScatterglMarkerColorbarShowexponentAll ScatterglMarkerColorbarShowexponent = "all" + ScatterglMarkerColorbarShowexponentFirst ScatterglMarkerColorbarShowexponent = "first" + ScatterglMarkerColorbarShowexponentLast ScatterglMarkerColorbarShowexponent = "last" + ScatterglMarkerColorbarShowexponentNone ScatterglMarkerColorbarShowexponent = "none" +) + +// ScatterglMarkerColorbarShowtickprefix 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. +type ScatterglMarkerColorbarShowtickprefix string + +const ( + ScatterglMarkerColorbarShowtickprefixAll ScatterglMarkerColorbarShowtickprefix = "all" + ScatterglMarkerColorbarShowtickprefixFirst ScatterglMarkerColorbarShowtickprefix = "first" + ScatterglMarkerColorbarShowtickprefixLast ScatterglMarkerColorbarShowtickprefix = "last" + ScatterglMarkerColorbarShowtickprefixNone ScatterglMarkerColorbarShowtickprefix = "none" +) + +// ScatterglMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type ScatterglMarkerColorbarShowticksuffix string + +const ( + ScatterglMarkerColorbarShowticksuffixAll ScatterglMarkerColorbarShowticksuffix = "all" + ScatterglMarkerColorbarShowticksuffixFirst ScatterglMarkerColorbarShowticksuffix = "first" + ScatterglMarkerColorbarShowticksuffixLast ScatterglMarkerColorbarShowticksuffix = "last" + ScatterglMarkerColorbarShowticksuffixNone ScatterglMarkerColorbarShowticksuffix = "none" +) + +// ScatterglMarkerColorbarThicknessmode 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. +type ScatterglMarkerColorbarThicknessmode string + +const ( + ScatterglMarkerColorbarThicknessmodeFraction ScatterglMarkerColorbarThicknessmode = "fraction" + ScatterglMarkerColorbarThicknessmodePixels ScatterglMarkerColorbarThicknessmode = "pixels" +) + +// ScatterglMarkerColorbarTicklabeloverflow 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*. +type ScatterglMarkerColorbarTicklabeloverflow string + +const ( + ScatterglMarkerColorbarTicklabeloverflowAllow ScatterglMarkerColorbarTicklabeloverflow = "allow" + ScatterglMarkerColorbarTicklabeloverflowHidePastDiv ScatterglMarkerColorbarTicklabeloverflow = "hide past div" + ScatterglMarkerColorbarTicklabeloverflowHidePastDomain ScatterglMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// ScatterglMarkerColorbarTicklabelposition 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*. +type ScatterglMarkerColorbarTicklabelposition string + +const ( + ScatterglMarkerColorbarTicklabelpositionOutside ScatterglMarkerColorbarTicklabelposition = "outside" + ScatterglMarkerColorbarTicklabelpositionInside ScatterglMarkerColorbarTicklabelposition = "inside" + ScatterglMarkerColorbarTicklabelpositionOutsideTop ScatterglMarkerColorbarTicklabelposition = "outside top" + ScatterglMarkerColorbarTicklabelpositionInsideTop ScatterglMarkerColorbarTicklabelposition = "inside top" + ScatterglMarkerColorbarTicklabelpositionOutsideLeft ScatterglMarkerColorbarTicklabelposition = "outside left" + ScatterglMarkerColorbarTicklabelpositionInsideLeft ScatterglMarkerColorbarTicklabelposition = "inside left" + ScatterglMarkerColorbarTicklabelpositionOutsideRight ScatterglMarkerColorbarTicklabelposition = "outside right" + ScatterglMarkerColorbarTicklabelpositionInsideRight ScatterglMarkerColorbarTicklabelposition = "inside right" + ScatterglMarkerColorbarTicklabelpositionOutsideBottom ScatterglMarkerColorbarTicklabelposition = "outside bottom" + ScatterglMarkerColorbarTicklabelpositionInsideBottom ScatterglMarkerColorbarTicklabelposition = "inside bottom" +) + +// ScatterglMarkerColorbarTickmode 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). +type ScatterglMarkerColorbarTickmode string + +const ( + ScatterglMarkerColorbarTickmodeAuto ScatterglMarkerColorbarTickmode = "auto" + ScatterglMarkerColorbarTickmodeLinear ScatterglMarkerColorbarTickmode = "linear" + ScatterglMarkerColorbarTickmodeArray ScatterglMarkerColorbarTickmode = "array" +) + +// ScatterglMarkerColorbarTicks 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. +type ScatterglMarkerColorbarTicks string + +const ( + ScatterglMarkerColorbarTicksOutside ScatterglMarkerColorbarTicks = "outside" + ScatterglMarkerColorbarTicksInside ScatterglMarkerColorbarTicks = "inside" + ScatterglMarkerColorbarTicksEmpty ScatterglMarkerColorbarTicks = "" +) + +// ScatterglMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type ScatterglMarkerColorbarTitleSide string + +const ( + ScatterglMarkerColorbarTitleSideRight ScatterglMarkerColorbarTitleSide = "right" + ScatterglMarkerColorbarTitleSideTop ScatterglMarkerColorbarTitleSide = "top" + ScatterglMarkerColorbarTitleSideBottom ScatterglMarkerColorbarTitleSide = "bottom" +) + +// ScatterglMarkerColorbarXanchor 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*. +type ScatterglMarkerColorbarXanchor string + +const ( + ScatterglMarkerColorbarXanchorLeft ScatterglMarkerColorbarXanchor = "left" + ScatterglMarkerColorbarXanchorCenter ScatterglMarkerColorbarXanchor = "center" + ScatterglMarkerColorbarXanchorRight ScatterglMarkerColorbarXanchor = "right" +) + +// ScatterglMarkerColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type ScatterglMarkerColorbarXref string + +const ( + ScatterglMarkerColorbarXrefContainer ScatterglMarkerColorbarXref = "container" + ScatterglMarkerColorbarXrefPaper ScatterglMarkerColorbarXref = "paper" +) + +// ScatterglMarkerColorbarYanchor 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*. +type ScatterglMarkerColorbarYanchor string + +const ( + ScatterglMarkerColorbarYanchorTop ScatterglMarkerColorbarYanchor = "top" + ScatterglMarkerColorbarYanchorMiddle ScatterglMarkerColorbarYanchor = "middle" + ScatterglMarkerColorbarYanchorBottom ScatterglMarkerColorbarYanchor = "bottom" +) + +// ScatterglMarkerColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type ScatterglMarkerColorbarYref string + +const ( + ScatterglMarkerColorbarYrefContainer ScatterglMarkerColorbarYref = "container" + ScatterglMarkerColorbarYrefPaper ScatterglMarkerColorbarYref = "paper" +) + +// ScatterglMarkerSizemode 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. +type ScatterglMarkerSizemode string + +const ( + ScatterglMarkerSizemodeDiameter ScatterglMarkerSizemode = "diameter" + ScatterglMarkerSizemodeArea ScatterglMarkerSizemode = "area" +) + +// ScatterglMarkerSymbol 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. +type ScatterglMarkerSymbol interface{} + +var ( + ScatterglMarkerSymbolNumber0 ScatterglMarkerSymbol = 0 + ScatterglMarkerSymbol0 ScatterglMarkerSymbol = "0" + ScatterglMarkerSymbolCircle ScatterglMarkerSymbol = "circle" + ScatterglMarkerSymbolNumber100 ScatterglMarkerSymbol = 100 + ScatterglMarkerSymbol100 ScatterglMarkerSymbol = "100" + ScatterglMarkerSymbolCircleOpen ScatterglMarkerSymbol = "circle-open" + ScatterglMarkerSymbolNumber200 ScatterglMarkerSymbol = 200 + ScatterglMarkerSymbol200 ScatterglMarkerSymbol = "200" + ScatterglMarkerSymbolCircleDot ScatterglMarkerSymbol = "circle-dot" + ScatterglMarkerSymbolNumber300 ScatterglMarkerSymbol = 300 + ScatterglMarkerSymbol300 ScatterglMarkerSymbol = "300" + ScatterglMarkerSymbolCircleOpenDot ScatterglMarkerSymbol = "circle-open-dot" + ScatterglMarkerSymbolNumber1 ScatterglMarkerSymbol = 1 + ScatterglMarkerSymbol1 ScatterglMarkerSymbol = "1" + ScatterglMarkerSymbolSquare ScatterglMarkerSymbol = "square" + ScatterglMarkerSymbolNumber101 ScatterglMarkerSymbol = 101 + ScatterglMarkerSymbol101 ScatterglMarkerSymbol = "101" + ScatterglMarkerSymbolSquareOpen ScatterglMarkerSymbol = "square-open" + ScatterglMarkerSymbolNumber201 ScatterglMarkerSymbol = 201 + ScatterglMarkerSymbol201 ScatterglMarkerSymbol = "201" + ScatterglMarkerSymbolSquareDot ScatterglMarkerSymbol = "square-dot" + ScatterglMarkerSymbolNumber301 ScatterglMarkerSymbol = 301 + ScatterglMarkerSymbol301 ScatterglMarkerSymbol = "301" + ScatterglMarkerSymbolSquareOpenDot ScatterglMarkerSymbol = "square-open-dot" + ScatterglMarkerSymbolNumber2 ScatterglMarkerSymbol = 2 + ScatterglMarkerSymbol2 ScatterglMarkerSymbol = "2" + ScatterglMarkerSymbolDiamond ScatterglMarkerSymbol = "diamond" + ScatterglMarkerSymbolNumber102 ScatterglMarkerSymbol = 102 + ScatterglMarkerSymbol102 ScatterglMarkerSymbol = "102" + ScatterglMarkerSymbolDiamondOpen ScatterglMarkerSymbol = "diamond-open" + ScatterglMarkerSymbolNumber202 ScatterglMarkerSymbol = 202 + ScatterglMarkerSymbol202 ScatterglMarkerSymbol = "202" + ScatterglMarkerSymbolDiamondDot ScatterglMarkerSymbol = "diamond-dot" + ScatterglMarkerSymbolNumber302 ScatterglMarkerSymbol = 302 + ScatterglMarkerSymbol302 ScatterglMarkerSymbol = "302" + ScatterglMarkerSymbolDiamondOpenDot ScatterglMarkerSymbol = "diamond-open-dot" + ScatterglMarkerSymbolNumber3 ScatterglMarkerSymbol = 3 + ScatterglMarkerSymbol3 ScatterglMarkerSymbol = "3" + ScatterglMarkerSymbolCross ScatterglMarkerSymbol = "cross" + ScatterglMarkerSymbolNumber103 ScatterglMarkerSymbol = 103 + ScatterglMarkerSymbol103 ScatterglMarkerSymbol = "103" + ScatterglMarkerSymbolCrossOpen ScatterglMarkerSymbol = "cross-open" + ScatterglMarkerSymbolNumber203 ScatterglMarkerSymbol = 203 + ScatterglMarkerSymbol203 ScatterglMarkerSymbol = "203" + ScatterglMarkerSymbolCrossDot ScatterglMarkerSymbol = "cross-dot" + ScatterglMarkerSymbolNumber303 ScatterglMarkerSymbol = 303 + ScatterglMarkerSymbol303 ScatterglMarkerSymbol = "303" + ScatterglMarkerSymbolCrossOpenDot ScatterglMarkerSymbol = "cross-open-dot" + ScatterglMarkerSymbolNumber4 ScatterglMarkerSymbol = 4 + ScatterglMarkerSymbol4 ScatterglMarkerSymbol = "4" + ScatterglMarkerSymbolX ScatterglMarkerSymbol = "x" + ScatterglMarkerSymbolNumber104 ScatterglMarkerSymbol = 104 + ScatterglMarkerSymbol104 ScatterglMarkerSymbol = "104" + ScatterglMarkerSymbolXOpen ScatterglMarkerSymbol = "x-open" + ScatterglMarkerSymbolNumber204 ScatterglMarkerSymbol = 204 + ScatterglMarkerSymbol204 ScatterglMarkerSymbol = "204" + ScatterglMarkerSymbolXDot ScatterglMarkerSymbol = "x-dot" + ScatterglMarkerSymbolNumber304 ScatterglMarkerSymbol = 304 + ScatterglMarkerSymbol304 ScatterglMarkerSymbol = "304" + ScatterglMarkerSymbolXOpenDot ScatterglMarkerSymbol = "x-open-dot" + ScatterglMarkerSymbolNumber5 ScatterglMarkerSymbol = 5 + ScatterglMarkerSymbol5 ScatterglMarkerSymbol = "5" + ScatterglMarkerSymbolTriangleUp ScatterglMarkerSymbol = "triangle-up" + ScatterglMarkerSymbolNumber105 ScatterglMarkerSymbol = 105 + ScatterglMarkerSymbol105 ScatterglMarkerSymbol = "105" + ScatterglMarkerSymbolTriangleUpOpen ScatterglMarkerSymbol = "triangle-up-open" + ScatterglMarkerSymbolNumber205 ScatterglMarkerSymbol = 205 + ScatterglMarkerSymbol205 ScatterglMarkerSymbol = "205" + ScatterglMarkerSymbolTriangleUpDot ScatterglMarkerSymbol = "triangle-up-dot" + ScatterglMarkerSymbolNumber305 ScatterglMarkerSymbol = 305 + ScatterglMarkerSymbol305 ScatterglMarkerSymbol = "305" + ScatterglMarkerSymbolTriangleUpOpenDot ScatterglMarkerSymbol = "triangle-up-open-dot" + ScatterglMarkerSymbolNumber6 ScatterglMarkerSymbol = 6 + ScatterglMarkerSymbol6 ScatterglMarkerSymbol = "6" + ScatterglMarkerSymbolTriangleDown ScatterglMarkerSymbol = "triangle-down" + ScatterglMarkerSymbolNumber106 ScatterglMarkerSymbol = 106 + ScatterglMarkerSymbol106 ScatterglMarkerSymbol = "106" + ScatterglMarkerSymbolTriangleDownOpen ScatterglMarkerSymbol = "triangle-down-open" + ScatterglMarkerSymbolNumber206 ScatterglMarkerSymbol = 206 + ScatterglMarkerSymbol206 ScatterglMarkerSymbol = "206" + ScatterglMarkerSymbolTriangleDownDot ScatterglMarkerSymbol = "triangle-down-dot" + ScatterglMarkerSymbolNumber306 ScatterglMarkerSymbol = 306 + ScatterglMarkerSymbol306 ScatterglMarkerSymbol = "306" + ScatterglMarkerSymbolTriangleDownOpenDot ScatterglMarkerSymbol = "triangle-down-open-dot" + ScatterglMarkerSymbolNumber7 ScatterglMarkerSymbol = 7 + ScatterglMarkerSymbol7 ScatterglMarkerSymbol = "7" + ScatterglMarkerSymbolTriangleLeft ScatterglMarkerSymbol = "triangle-left" + ScatterglMarkerSymbolNumber107 ScatterglMarkerSymbol = 107 + ScatterglMarkerSymbol107 ScatterglMarkerSymbol = "107" + ScatterglMarkerSymbolTriangleLeftOpen ScatterglMarkerSymbol = "triangle-left-open" + ScatterglMarkerSymbolNumber207 ScatterglMarkerSymbol = 207 + ScatterglMarkerSymbol207 ScatterglMarkerSymbol = "207" + ScatterglMarkerSymbolTriangleLeftDot ScatterglMarkerSymbol = "triangle-left-dot" + ScatterglMarkerSymbolNumber307 ScatterglMarkerSymbol = 307 + ScatterglMarkerSymbol307 ScatterglMarkerSymbol = "307" + ScatterglMarkerSymbolTriangleLeftOpenDot ScatterglMarkerSymbol = "triangle-left-open-dot" + ScatterglMarkerSymbolNumber8 ScatterglMarkerSymbol = 8 + ScatterglMarkerSymbol8 ScatterglMarkerSymbol = "8" + ScatterglMarkerSymbolTriangleRight ScatterglMarkerSymbol = "triangle-right" + ScatterglMarkerSymbolNumber108 ScatterglMarkerSymbol = 108 + ScatterglMarkerSymbol108 ScatterglMarkerSymbol = "108" + ScatterglMarkerSymbolTriangleRightOpen ScatterglMarkerSymbol = "triangle-right-open" + ScatterglMarkerSymbolNumber208 ScatterglMarkerSymbol = 208 + ScatterglMarkerSymbol208 ScatterglMarkerSymbol = "208" + ScatterglMarkerSymbolTriangleRightDot ScatterglMarkerSymbol = "triangle-right-dot" + ScatterglMarkerSymbolNumber308 ScatterglMarkerSymbol = 308 + ScatterglMarkerSymbol308 ScatterglMarkerSymbol = "308" + ScatterglMarkerSymbolTriangleRightOpenDot ScatterglMarkerSymbol = "triangle-right-open-dot" + ScatterglMarkerSymbolNumber9 ScatterglMarkerSymbol = 9 + ScatterglMarkerSymbol9 ScatterglMarkerSymbol = "9" + ScatterglMarkerSymbolTriangleNe ScatterglMarkerSymbol = "triangle-ne" + ScatterglMarkerSymbolNumber109 ScatterglMarkerSymbol = 109 + ScatterglMarkerSymbol109 ScatterglMarkerSymbol = "109" + ScatterglMarkerSymbolTriangleNeOpen ScatterglMarkerSymbol = "triangle-ne-open" + ScatterglMarkerSymbolNumber209 ScatterglMarkerSymbol = 209 + ScatterglMarkerSymbol209 ScatterglMarkerSymbol = "209" + ScatterglMarkerSymbolTriangleNeDot ScatterglMarkerSymbol = "triangle-ne-dot" + ScatterglMarkerSymbolNumber309 ScatterglMarkerSymbol = 309 + ScatterglMarkerSymbol309 ScatterglMarkerSymbol = "309" + ScatterglMarkerSymbolTriangleNeOpenDot ScatterglMarkerSymbol = "triangle-ne-open-dot" + ScatterglMarkerSymbolNumber10 ScatterglMarkerSymbol = 10 + ScatterglMarkerSymbol10 ScatterglMarkerSymbol = "10" + ScatterglMarkerSymbolTriangleSe ScatterglMarkerSymbol = "triangle-se" + ScatterglMarkerSymbolNumber110 ScatterglMarkerSymbol = 110 + ScatterglMarkerSymbol110 ScatterglMarkerSymbol = "110" + ScatterglMarkerSymbolTriangleSeOpen ScatterglMarkerSymbol = "triangle-se-open" + ScatterglMarkerSymbolNumber210 ScatterglMarkerSymbol = 210 + ScatterglMarkerSymbol210 ScatterglMarkerSymbol = "210" + ScatterglMarkerSymbolTriangleSeDot ScatterglMarkerSymbol = "triangle-se-dot" + ScatterglMarkerSymbolNumber310 ScatterglMarkerSymbol = 310 + ScatterglMarkerSymbol310 ScatterglMarkerSymbol = "310" + ScatterglMarkerSymbolTriangleSeOpenDot ScatterglMarkerSymbol = "triangle-se-open-dot" + ScatterglMarkerSymbolNumber11 ScatterglMarkerSymbol = 11 + ScatterglMarkerSymbol11 ScatterglMarkerSymbol = "11" + ScatterglMarkerSymbolTriangleSw ScatterglMarkerSymbol = "triangle-sw" + ScatterglMarkerSymbolNumber111 ScatterglMarkerSymbol = 111 + ScatterglMarkerSymbol111 ScatterglMarkerSymbol = "111" + ScatterglMarkerSymbolTriangleSwOpen ScatterglMarkerSymbol = "triangle-sw-open" + ScatterglMarkerSymbolNumber211 ScatterglMarkerSymbol = 211 + ScatterglMarkerSymbol211 ScatterglMarkerSymbol = "211" + ScatterglMarkerSymbolTriangleSwDot ScatterglMarkerSymbol = "triangle-sw-dot" + ScatterglMarkerSymbolNumber311 ScatterglMarkerSymbol = 311 + ScatterglMarkerSymbol311 ScatterglMarkerSymbol = "311" + ScatterglMarkerSymbolTriangleSwOpenDot ScatterglMarkerSymbol = "triangle-sw-open-dot" + ScatterglMarkerSymbolNumber12 ScatterglMarkerSymbol = 12 + ScatterglMarkerSymbol12 ScatterglMarkerSymbol = "12" + ScatterglMarkerSymbolTriangleNw ScatterglMarkerSymbol = "triangle-nw" + ScatterglMarkerSymbolNumber112 ScatterglMarkerSymbol = 112 + ScatterglMarkerSymbol112 ScatterglMarkerSymbol = "112" + ScatterglMarkerSymbolTriangleNwOpen ScatterglMarkerSymbol = "triangle-nw-open" + ScatterglMarkerSymbolNumber212 ScatterglMarkerSymbol = 212 + ScatterglMarkerSymbol212 ScatterglMarkerSymbol = "212" + ScatterglMarkerSymbolTriangleNwDot ScatterglMarkerSymbol = "triangle-nw-dot" + ScatterglMarkerSymbolNumber312 ScatterglMarkerSymbol = 312 + ScatterglMarkerSymbol312 ScatterglMarkerSymbol = "312" + ScatterglMarkerSymbolTriangleNwOpenDot ScatterglMarkerSymbol = "triangle-nw-open-dot" + ScatterglMarkerSymbolNumber13 ScatterglMarkerSymbol = 13 + ScatterglMarkerSymbol13 ScatterglMarkerSymbol = "13" + ScatterglMarkerSymbolPentagon ScatterglMarkerSymbol = "pentagon" + ScatterglMarkerSymbolNumber113 ScatterglMarkerSymbol = 113 + ScatterglMarkerSymbol113 ScatterglMarkerSymbol = "113" + ScatterglMarkerSymbolPentagonOpen ScatterglMarkerSymbol = "pentagon-open" + ScatterglMarkerSymbolNumber213 ScatterglMarkerSymbol = 213 + ScatterglMarkerSymbol213 ScatterglMarkerSymbol = "213" + ScatterglMarkerSymbolPentagonDot ScatterglMarkerSymbol = "pentagon-dot" + ScatterglMarkerSymbolNumber313 ScatterglMarkerSymbol = 313 + ScatterglMarkerSymbol313 ScatterglMarkerSymbol = "313" + ScatterglMarkerSymbolPentagonOpenDot ScatterglMarkerSymbol = "pentagon-open-dot" + ScatterglMarkerSymbolNumber14 ScatterglMarkerSymbol = 14 + ScatterglMarkerSymbol14 ScatterglMarkerSymbol = "14" + ScatterglMarkerSymbolHexagon ScatterglMarkerSymbol = "hexagon" + ScatterglMarkerSymbolNumber114 ScatterglMarkerSymbol = 114 + ScatterglMarkerSymbol114 ScatterglMarkerSymbol = "114" + ScatterglMarkerSymbolHexagonOpen ScatterglMarkerSymbol = "hexagon-open" + ScatterglMarkerSymbolNumber214 ScatterglMarkerSymbol = 214 + ScatterglMarkerSymbol214 ScatterglMarkerSymbol = "214" + ScatterglMarkerSymbolHexagonDot ScatterglMarkerSymbol = "hexagon-dot" + ScatterglMarkerSymbolNumber314 ScatterglMarkerSymbol = 314 + ScatterglMarkerSymbol314 ScatterglMarkerSymbol = "314" + ScatterglMarkerSymbolHexagonOpenDot ScatterglMarkerSymbol = "hexagon-open-dot" + ScatterglMarkerSymbolNumber15 ScatterglMarkerSymbol = 15 + ScatterglMarkerSymbol15 ScatterglMarkerSymbol = "15" + ScatterglMarkerSymbolHexagon2 ScatterglMarkerSymbol = "hexagon2" + ScatterglMarkerSymbolNumber115 ScatterglMarkerSymbol = 115 + ScatterglMarkerSymbol115 ScatterglMarkerSymbol = "115" + ScatterglMarkerSymbolHexagon2Open ScatterglMarkerSymbol = "hexagon2-open" + ScatterglMarkerSymbolNumber215 ScatterglMarkerSymbol = 215 + ScatterglMarkerSymbol215 ScatterglMarkerSymbol = "215" + ScatterglMarkerSymbolHexagon2Dot ScatterglMarkerSymbol = "hexagon2-dot" + ScatterglMarkerSymbolNumber315 ScatterglMarkerSymbol = 315 + ScatterglMarkerSymbol315 ScatterglMarkerSymbol = "315" + ScatterglMarkerSymbolHexagon2OpenDot ScatterglMarkerSymbol = "hexagon2-open-dot" + ScatterglMarkerSymbolNumber16 ScatterglMarkerSymbol = 16 + ScatterglMarkerSymbol16 ScatterglMarkerSymbol = "16" + ScatterglMarkerSymbolOctagon ScatterglMarkerSymbol = "octagon" + ScatterglMarkerSymbolNumber116 ScatterglMarkerSymbol = 116 + ScatterglMarkerSymbol116 ScatterglMarkerSymbol = "116" + ScatterglMarkerSymbolOctagonOpen ScatterglMarkerSymbol = "octagon-open" + ScatterglMarkerSymbolNumber216 ScatterglMarkerSymbol = 216 + ScatterglMarkerSymbol216 ScatterglMarkerSymbol = "216" + ScatterglMarkerSymbolOctagonDot ScatterglMarkerSymbol = "octagon-dot" + ScatterglMarkerSymbolNumber316 ScatterglMarkerSymbol = 316 + ScatterglMarkerSymbol316 ScatterglMarkerSymbol = "316" + ScatterglMarkerSymbolOctagonOpenDot ScatterglMarkerSymbol = "octagon-open-dot" + ScatterglMarkerSymbolNumber17 ScatterglMarkerSymbol = 17 + ScatterglMarkerSymbol17 ScatterglMarkerSymbol = "17" + ScatterglMarkerSymbolStar ScatterglMarkerSymbol = "star" + ScatterglMarkerSymbolNumber117 ScatterglMarkerSymbol = 117 + ScatterglMarkerSymbol117 ScatterglMarkerSymbol = "117" + ScatterglMarkerSymbolStarOpen ScatterglMarkerSymbol = "star-open" + ScatterglMarkerSymbolNumber217 ScatterglMarkerSymbol = 217 + ScatterglMarkerSymbol217 ScatterglMarkerSymbol = "217" + ScatterglMarkerSymbolStarDot ScatterglMarkerSymbol = "star-dot" + ScatterglMarkerSymbolNumber317 ScatterglMarkerSymbol = 317 + ScatterglMarkerSymbol317 ScatterglMarkerSymbol = "317" + ScatterglMarkerSymbolStarOpenDot ScatterglMarkerSymbol = "star-open-dot" + ScatterglMarkerSymbolNumber18 ScatterglMarkerSymbol = 18 + ScatterglMarkerSymbol18 ScatterglMarkerSymbol = "18" + ScatterglMarkerSymbolHexagram ScatterglMarkerSymbol = "hexagram" + ScatterglMarkerSymbolNumber118 ScatterglMarkerSymbol = 118 + ScatterglMarkerSymbol118 ScatterglMarkerSymbol = "118" + ScatterglMarkerSymbolHexagramOpen ScatterglMarkerSymbol = "hexagram-open" + ScatterglMarkerSymbolNumber218 ScatterglMarkerSymbol = 218 + ScatterglMarkerSymbol218 ScatterglMarkerSymbol = "218" + ScatterglMarkerSymbolHexagramDot ScatterglMarkerSymbol = "hexagram-dot" + ScatterglMarkerSymbolNumber318 ScatterglMarkerSymbol = 318 + ScatterglMarkerSymbol318 ScatterglMarkerSymbol = "318" + ScatterglMarkerSymbolHexagramOpenDot ScatterglMarkerSymbol = "hexagram-open-dot" + ScatterglMarkerSymbolNumber19 ScatterglMarkerSymbol = 19 + ScatterglMarkerSymbol19 ScatterglMarkerSymbol = "19" + ScatterglMarkerSymbolStarTriangleUp ScatterglMarkerSymbol = "star-triangle-up" + ScatterglMarkerSymbolNumber119 ScatterglMarkerSymbol = 119 + ScatterglMarkerSymbol119 ScatterglMarkerSymbol = "119" + ScatterglMarkerSymbolStarTriangleUpOpen ScatterglMarkerSymbol = "star-triangle-up-open" + ScatterglMarkerSymbolNumber219 ScatterglMarkerSymbol = 219 + ScatterglMarkerSymbol219 ScatterglMarkerSymbol = "219" + ScatterglMarkerSymbolStarTriangleUpDot ScatterglMarkerSymbol = "star-triangle-up-dot" + ScatterglMarkerSymbolNumber319 ScatterglMarkerSymbol = 319 + ScatterglMarkerSymbol319 ScatterglMarkerSymbol = "319" + ScatterglMarkerSymbolStarTriangleUpOpenDot ScatterglMarkerSymbol = "star-triangle-up-open-dot" + ScatterglMarkerSymbolNumber20 ScatterglMarkerSymbol = 20 + ScatterglMarkerSymbol20 ScatterglMarkerSymbol = "20" + ScatterglMarkerSymbolStarTriangleDown ScatterglMarkerSymbol = "star-triangle-down" + ScatterglMarkerSymbolNumber120 ScatterglMarkerSymbol = 120 + ScatterglMarkerSymbol120 ScatterglMarkerSymbol = "120" + ScatterglMarkerSymbolStarTriangleDownOpen ScatterglMarkerSymbol = "star-triangle-down-open" + ScatterglMarkerSymbolNumber220 ScatterglMarkerSymbol = 220 + ScatterglMarkerSymbol220 ScatterglMarkerSymbol = "220" + ScatterglMarkerSymbolStarTriangleDownDot ScatterglMarkerSymbol = "star-triangle-down-dot" + ScatterglMarkerSymbolNumber320 ScatterglMarkerSymbol = 320 + ScatterglMarkerSymbol320 ScatterglMarkerSymbol = "320" + ScatterglMarkerSymbolStarTriangleDownOpenDot ScatterglMarkerSymbol = "star-triangle-down-open-dot" + ScatterglMarkerSymbolNumber21 ScatterglMarkerSymbol = 21 + ScatterglMarkerSymbol21 ScatterglMarkerSymbol = "21" + ScatterglMarkerSymbolStarSquare ScatterglMarkerSymbol = "star-square" + ScatterglMarkerSymbolNumber121 ScatterglMarkerSymbol = 121 + ScatterglMarkerSymbol121 ScatterglMarkerSymbol = "121" + ScatterglMarkerSymbolStarSquareOpen ScatterglMarkerSymbol = "star-square-open" + ScatterglMarkerSymbolNumber221 ScatterglMarkerSymbol = 221 + ScatterglMarkerSymbol221 ScatterglMarkerSymbol = "221" + ScatterglMarkerSymbolStarSquareDot ScatterglMarkerSymbol = "star-square-dot" + ScatterglMarkerSymbolNumber321 ScatterglMarkerSymbol = 321 + ScatterglMarkerSymbol321 ScatterglMarkerSymbol = "321" + ScatterglMarkerSymbolStarSquareOpenDot ScatterglMarkerSymbol = "star-square-open-dot" + ScatterglMarkerSymbolNumber22 ScatterglMarkerSymbol = 22 + ScatterglMarkerSymbol22 ScatterglMarkerSymbol = "22" + ScatterglMarkerSymbolStarDiamond ScatterglMarkerSymbol = "star-diamond" + ScatterglMarkerSymbolNumber122 ScatterglMarkerSymbol = 122 + ScatterglMarkerSymbol122 ScatterglMarkerSymbol = "122" + ScatterglMarkerSymbolStarDiamondOpen ScatterglMarkerSymbol = "star-diamond-open" + ScatterglMarkerSymbolNumber222 ScatterglMarkerSymbol = 222 + ScatterglMarkerSymbol222 ScatterglMarkerSymbol = "222" + ScatterglMarkerSymbolStarDiamondDot ScatterglMarkerSymbol = "star-diamond-dot" + ScatterglMarkerSymbolNumber322 ScatterglMarkerSymbol = 322 + ScatterglMarkerSymbol322 ScatterglMarkerSymbol = "322" + ScatterglMarkerSymbolStarDiamondOpenDot ScatterglMarkerSymbol = "star-diamond-open-dot" + ScatterglMarkerSymbolNumber23 ScatterglMarkerSymbol = 23 + ScatterglMarkerSymbol23 ScatterglMarkerSymbol = "23" + ScatterglMarkerSymbolDiamondTall ScatterglMarkerSymbol = "diamond-tall" + ScatterglMarkerSymbolNumber123 ScatterglMarkerSymbol = 123 + ScatterglMarkerSymbol123 ScatterglMarkerSymbol = "123" + ScatterglMarkerSymbolDiamondTallOpen ScatterglMarkerSymbol = "diamond-tall-open" + ScatterglMarkerSymbolNumber223 ScatterglMarkerSymbol = 223 + ScatterglMarkerSymbol223 ScatterglMarkerSymbol = "223" + ScatterglMarkerSymbolDiamondTallDot ScatterglMarkerSymbol = "diamond-tall-dot" + ScatterglMarkerSymbolNumber323 ScatterglMarkerSymbol = 323 + ScatterglMarkerSymbol323 ScatterglMarkerSymbol = "323" + ScatterglMarkerSymbolDiamondTallOpenDot ScatterglMarkerSymbol = "diamond-tall-open-dot" + ScatterglMarkerSymbolNumber24 ScatterglMarkerSymbol = 24 + ScatterglMarkerSymbol24 ScatterglMarkerSymbol = "24" + ScatterglMarkerSymbolDiamondWide ScatterglMarkerSymbol = "diamond-wide" + ScatterglMarkerSymbolNumber124 ScatterglMarkerSymbol = 124 + ScatterglMarkerSymbol124 ScatterglMarkerSymbol = "124" + ScatterglMarkerSymbolDiamondWideOpen ScatterglMarkerSymbol = "diamond-wide-open" + ScatterglMarkerSymbolNumber224 ScatterglMarkerSymbol = 224 + ScatterglMarkerSymbol224 ScatterglMarkerSymbol = "224" + ScatterglMarkerSymbolDiamondWideDot ScatterglMarkerSymbol = "diamond-wide-dot" + ScatterglMarkerSymbolNumber324 ScatterglMarkerSymbol = 324 + ScatterglMarkerSymbol324 ScatterglMarkerSymbol = "324" + ScatterglMarkerSymbolDiamondWideOpenDot ScatterglMarkerSymbol = "diamond-wide-open-dot" + ScatterglMarkerSymbolNumber25 ScatterglMarkerSymbol = 25 + ScatterglMarkerSymbol25 ScatterglMarkerSymbol = "25" + ScatterglMarkerSymbolHourglass ScatterglMarkerSymbol = "hourglass" + ScatterglMarkerSymbolNumber125 ScatterglMarkerSymbol = 125 + ScatterglMarkerSymbol125 ScatterglMarkerSymbol = "125" + ScatterglMarkerSymbolHourglassOpen ScatterglMarkerSymbol = "hourglass-open" + ScatterglMarkerSymbolNumber26 ScatterglMarkerSymbol = 26 + ScatterglMarkerSymbol26 ScatterglMarkerSymbol = "26" + ScatterglMarkerSymbolBowtie ScatterglMarkerSymbol = "bowtie" + ScatterglMarkerSymbolNumber126 ScatterglMarkerSymbol = 126 + ScatterglMarkerSymbol126 ScatterglMarkerSymbol = "126" + ScatterglMarkerSymbolBowtieOpen ScatterglMarkerSymbol = "bowtie-open" + ScatterglMarkerSymbolNumber27 ScatterglMarkerSymbol = 27 + ScatterglMarkerSymbol27 ScatterglMarkerSymbol = "27" + ScatterglMarkerSymbolCircleCross ScatterglMarkerSymbol = "circle-cross" + ScatterglMarkerSymbolNumber127 ScatterglMarkerSymbol = 127 + ScatterglMarkerSymbol127 ScatterglMarkerSymbol = "127" + ScatterglMarkerSymbolCircleCrossOpen ScatterglMarkerSymbol = "circle-cross-open" + ScatterglMarkerSymbolNumber28 ScatterglMarkerSymbol = 28 + ScatterglMarkerSymbol28 ScatterglMarkerSymbol = "28" + ScatterglMarkerSymbolCircleX ScatterglMarkerSymbol = "circle-x" + ScatterglMarkerSymbolNumber128 ScatterglMarkerSymbol = 128 + ScatterglMarkerSymbol128 ScatterglMarkerSymbol = "128" + ScatterglMarkerSymbolCircleXOpen ScatterglMarkerSymbol = "circle-x-open" + ScatterglMarkerSymbolNumber29 ScatterglMarkerSymbol = 29 + ScatterglMarkerSymbol29 ScatterglMarkerSymbol = "29" + ScatterglMarkerSymbolSquareCross ScatterglMarkerSymbol = "square-cross" + ScatterglMarkerSymbolNumber129 ScatterglMarkerSymbol = 129 + ScatterglMarkerSymbol129 ScatterglMarkerSymbol = "129" + ScatterglMarkerSymbolSquareCrossOpen ScatterglMarkerSymbol = "square-cross-open" + ScatterglMarkerSymbolNumber30 ScatterglMarkerSymbol = 30 + ScatterglMarkerSymbol30 ScatterglMarkerSymbol = "30" + ScatterglMarkerSymbolSquareX ScatterglMarkerSymbol = "square-x" + ScatterglMarkerSymbolNumber130 ScatterglMarkerSymbol = 130 + ScatterglMarkerSymbol130 ScatterglMarkerSymbol = "130" + ScatterglMarkerSymbolSquareXOpen ScatterglMarkerSymbol = "square-x-open" + ScatterglMarkerSymbolNumber31 ScatterglMarkerSymbol = 31 + ScatterglMarkerSymbol31 ScatterglMarkerSymbol = "31" + ScatterglMarkerSymbolDiamondCross ScatterglMarkerSymbol = "diamond-cross" + ScatterglMarkerSymbolNumber131 ScatterglMarkerSymbol = 131 + ScatterglMarkerSymbol131 ScatterglMarkerSymbol = "131" + ScatterglMarkerSymbolDiamondCrossOpen ScatterglMarkerSymbol = "diamond-cross-open" + ScatterglMarkerSymbolNumber32 ScatterglMarkerSymbol = 32 + ScatterglMarkerSymbol32 ScatterglMarkerSymbol = "32" + ScatterglMarkerSymbolDiamondX ScatterglMarkerSymbol = "diamond-x" + ScatterglMarkerSymbolNumber132 ScatterglMarkerSymbol = 132 + ScatterglMarkerSymbol132 ScatterglMarkerSymbol = "132" + ScatterglMarkerSymbolDiamondXOpen ScatterglMarkerSymbol = "diamond-x-open" + ScatterglMarkerSymbolNumber33 ScatterglMarkerSymbol = 33 + ScatterglMarkerSymbol33 ScatterglMarkerSymbol = "33" + ScatterglMarkerSymbolCrossThin ScatterglMarkerSymbol = "cross-thin" + ScatterglMarkerSymbolNumber133 ScatterglMarkerSymbol = 133 + ScatterglMarkerSymbol133 ScatterglMarkerSymbol = "133" + ScatterglMarkerSymbolCrossThinOpen ScatterglMarkerSymbol = "cross-thin-open" + ScatterglMarkerSymbolNumber34 ScatterglMarkerSymbol = 34 + ScatterglMarkerSymbol34 ScatterglMarkerSymbol = "34" + ScatterglMarkerSymbolXThin ScatterglMarkerSymbol = "x-thin" + ScatterglMarkerSymbolNumber134 ScatterglMarkerSymbol = 134 + ScatterglMarkerSymbol134 ScatterglMarkerSymbol = "134" + ScatterglMarkerSymbolXThinOpen ScatterglMarkerSymbol = "x-thin-open" + ScatterglMarkerSymbolNumber35 ScatterglMarkerSymbol = 35 + ScatterglMarkerSymbol35 ScatterglMarkerSymbol = "35" + ScatterglMarkerSymbolAsterisk ScatterglMarkerSymbol = "asterisk" + ScatterglMarkerSymbolNumber135 ScatterglMarkerSymbol = 135 + ScatterglMarkerSymbol135 ScatterglMarkerSymbol = "135" + ScatterglMarkerSymbolAsteriskOpen ScatterglMarkerSymbol = "asterisk-open" + ScatterglMarkerSymbolNumber36 ScatterglMarkerSymbol = 36 + ScatterglMarkerSymbol36 ScatterglMarkerSymbol = "36" + ScatterglMarkerSymbolHash ScatterglMarkerSymbol = "hash" + ScatterglMarkerSymbolNumber136 ScatterglMarkerSymbol = 136 + ScatterglMarkerSymbol136 ScatterglMarkerSymbol = "136" + ScatterglMarkerSymbolHashOpen ScatterglMarkerSymbol = "hash-open" + ScatterglMarkerSymbolNumber236 ScatterglMarkerSymbol = 236 + ScatterglMarkerSymbol236 ScatterglMarkerSymbol = "236" + ScatterglMarkerSymbolHashDot ScatterglMarkerSymbol = "hash-dot" + ScatterglMarkerSymbolNumber336 ScatterglMarkerSymbol = 336 + ScatterglMarkerSymbol336 ScatterglMarkerSymbol = "336" + ScatterglMarkerSymbolHashOpenDot ScatterglMarkerSymbol = "hash-open-dot" + ScatterglMarkerSymbolNumber37 ScatterglMarkerSymbol = 37 + ScatterglMarkerSymbol37 ScatterglMarkerSymbol = "37" + ScatterglMarkerSymbolYUp ScatterglMarkerSymbol = "y-up" + ScatterglMarkerSymbolNumber137 ScatterglMarkerSymbol = 137 + ScatterglMarkerSymbol137 ScatterglMarkerSymbol = "137" + ScatterglMarkerSymbolYUpOpen ScatterglMarkerSymbol = "y-up-open" + ScatterglMarkerSymbolNumber38 ScatterglMarkerSymbol = 38 + ScatterglMarkerSymbol38 ScatterglMarkerSymbol = "38" + ScatterglMarkerSymbolYDown ScatterglMarkerSymbol = "y-down" + ScatterglMarkerSymbolNumber138 ScatterglMarkerSymbol = 138 + ScatterglMarkerSymbol138 ScatterglMarkerSymbol = "138" + ScatterglMarkerSymbolYDownOpen ScatterglMarkerSymbol = "y-down-open" + ScatterglMarkerSymbolNumber39 ScatterglMarkerSymbol = 39 + ScatterglMarkerSymbol39 ScatterglMarkerSymbol = "39" + ScatterglMarkerSymbolYLeft ScatterglMarkerSymbol = "y-left" + ScatterglMarkerSymbolNumber139 ScatterglMarkerSymbol = 139 + ScatterglMarkerSymbol139 ScatterglMarkerSymbol = "139" + ScatterglMarkerSymbolYLeftOpen ScatterglMarkerSymbol = "y-left-open" + ScatterglMarkerSymbolNumber40 ScatterglMarkerSymbol = 40 + ScatterglMarkerSymbol40 ScatterglMarkerSymbol = "40" + ScatterglMarkerSymbolYRight ScatterglMarkerSymbol = "y-right" + ScatterglMarkerSymbolNumber140 ScatterglMarkerSymbol = 140 + ScatterglMarkerSymbol140 ScatterglMarkerSymbol = "140" + ScatterglMarkerSymbolYRightOpen ScatterglMarkerSymbol = "y-right-open" + ScatterglMarkerSymbolNumber41 ScatterglMarkerSymbol = 41 + ScatterglMarkerSymbol41 ScatterglMarkerSymbol = "41" + ScatterglMarkerSymbolLineEw ScatterglMarkerSymbol = "line-ew" + ScatterglMarkerSymbolNumber141 ScatterglMarkerSymbol = 141 + ScatterglMarkerSymbol141 ScatterglMarkerSymbol = "141" + ScatterglMarkerSymbolLineEwOpen ScatterglMarkerSymbol = "line-ew-open" + ScatterglMarkerSymbolNumber42 ScatterglMarkerSymbol = 42 + ScatterglMarkerSymbol42 ScatterglMarkerSymbol = "42" + ScatterglMarkerSymbolLineNs ScatterglMarkerSymbol = "line-ns" + ScatterglMarkerSymbolNumber142 ScatterglMarkerSymbol = 142 + ScatterglMarkerSymbol142 ScatterglMarkerSymbol = "142" + ScatterglMarkerSymbolLineNsOpen ScatterglMarkerSymbol = "line-ns-open" + ScatterglMarkerSymbolNumber43 ScatterglMarkerSymbol = 43 + ScatterglMarkerSymbol43 ScatterglMarkerSymbol = "43" + ScatterglMarkerSymbolLineNe ScatterglMarkerSymbol = "line-ne" + ScatterglMarkerSymbolNumber143 ScatterglMarkerSymbol = 143 + ScatterglMarkerSymbol143 ScatterglMarkerSymbol = "143" + ScatterglMarkerSymbolLineNeOpen ScatterglMarkerSymbol = "line-ne-open" + ScatterglMarkerSymbolNumber44 ScatterglMarkerSymbol = 44 + ScatterglMarkerSymbol44 ScatterglMarkerSymbol = "44" + ScatterglMarkerSymbolLineNw ScatterglMarkerSymbol = "line-nw" + ScatterglMarkerSymbolNumber144 ScatterglMarkerSymbol = 144 + ScatterglMarkerSymbol144 ScatterglMarkerSymbol = "144" + ScatterglMarkerSymbolLineNwOpen ScatterglMarkerSymbol = "line-nw-open" + ScatterglMarkerSymbolNumber45 ScatterglMarkerSymbol = 45 + ScatterglMarkerSymbol45 ScatterglMarkerSymbol = "45" + ScatterglMarkerSymbolArrowUp ScatterglMarkerSymbol = "arrow-up" + ScatterglMarkerSymbolNumber145 ScatterglMarkerSymbol = 145 + ScatterglMarkerSymbol145 ScatterglMarkerSymbol = "145" + ScatterglMarkerSymbolArrowUpOpen ScatterglMarkerSymbol = "arrow-up-open" + ScatterglMarkerSymbolNumber46 ScatterglMarkerSymbol = 46 + ScatterglMarkerSymbol46 ScatterglMarkerSymbol = "46" + ScatterglMarkerSymbolArrowDown ScatterglMarkerSymbol = "arrow-down" + ScatterglMarkerSymbolNumber146 ScatterglMarkerSymbol = 146 + ScatterglMarkerSymbol146 ScatterglMarkerSymbol = "146" + ScatterglMarkerSymbolArrowDownOpen ScatterglMarkerSymbol = "arrow-down-open" + ScatterglMarkerSymbolNumber47 ScatterglMarkerSymbol = 47 + ScatterglMarkerSymbol47 ScatterglMarkerSymbol = "47" + ScatterglMarkerSymbolArrowLeft ScatterglMarkerSymbol = "arrow-left" + ScatterglMarkerSymbolNumber147 ScatterglMarkerSymbol = 147 + ScatterglMarkerSymbol147 ScatterglMarkerSymbol = "147" + ScatterglMarkerSymbolArrowLeftOpen ScatterglMarkerSymbol = "arrow-left-open" + ScatterglMarkerSymbolNumber48 ScatterglMarkerSymbol = 48 + ScatterglMarkerSymbol48 ScatterglMarkerSymbol = "48" + ScatterglMarkerSymbolArrowRight ScatterglMarkerSymbol = "arrow-right" + ScatterglMarkerSymbolNumber148 ScatterglMarkerSymbol = 148 + ScatterglMarkerSymbol148 ScatterglMarkerSymbol = "148" + ScatterglMarkerSymbolArrowRightOpen ScatterglMarkerSymbol = "arrow-right-open" + ScatterglMarkerSymbolNumber49 ScatterglMarkerSymbol = 49 + ScatterglMarkerSymbol49 ScatterglMarkerSymbol = "49" + ScatterglMarkerSymbolArrowBarUp ScatterglMarkerSymbol = "arrow-bar-up" + ScatterglMarkerSymbolNumber149 ScatterglMarkerSymbol = 149 + ScatterglMarkerSymbol149 ScatterglMarkerSymbol = "149" + ScatterglMarkerSymbolArrowBarUpOpen ScatterglMarkerSymbol = "arrow-bar-up-open" + ScatterglMarkerSymbolNumber50 ScatterglMarkerSymbol = 50 + ScatterglMarkerSymbol50 ScatterglMarkerSymbol = "50" + ScatterglMarkerSymbolArrowBarDown ScatterglMarkerSymbol = "arrow-bar-down" + ScatterglMarkerSymbolNumber150 ScatterglMarkerSymbol = 150 + ScatterglMarkerSymbol150 ScatterglMarkerSymbol = "150" + ScatterglMarkerSymbolArrowBarDownOpen ScatterglMarkerSymbol = "arrow-bar-down-open" + ScatterglMarkerSymbolNumber51 ScatterglMarkerSymbol = 51 + ScatterglMarkerSymbol51 ScatterglMarkerSymbol = "51" + ScatterglMarkerSymbolArrowBarLeft ScatterglMarkerSymbol = "arrow-bar-left" + ScatterglMarkerSymbolNumber151 ScatterglMarkerSymbol = 151 + ScatterglMarkerSymbol151 ScatterglMarkerSymbol = "151" + ScatterglMarkerSymbolArrowBarLeftOpen ScatterglMarkerSymbol = "arrow-bar-left-open" + ScatterglMarkerSymbolNumber52 ScatterglMarkerSymbol = 52 + ScatterglMarkerSymbol52 ScatterglMarkerSymbol = "52" + ScatterglMarkerSymbolArrowBarRight ScatterglMarkerSymbol = "arrow-bar-right" + ScatterglMarkerSymbolNumber152 ScatterglMarkerSymbol = 152 + ScatterglMarkerSymbol152 ScatterglMarkerSymbol = "152" + ScatterglMarkerSymbolArrowBarRightOpen ScatterglMarkerSymbol = "arrow-bar-right-open" + ScatterglMarkerSymbolNumber53 ScatterglMarkerSymbol = 53 + ScatterglMarkerSymbol53 ScatterglMarkerSymbol = "53" + ScatterglMarkerSymbolArrow ScatterglMarkerSymbol = "arrow" + ScatterglMarkerSymbolNumber153 ScatterglMarkerSymbol = 153 + ScatterglMarkerSymbol153 ScatterglMarkerSymbol = "153" + ScatterglMarkerSymbolArrowOpen ScatterglMarkerSymbol = "arrow-open" + ScatterglMarkerSymbolNumber54 ScatterglMarkerSymbol = 54 + ScatterglMarkerSymbol54 ScatterglMarkerSymbol = "54" + ScatterglMarkerSymbolArrowWide ScatterglMarkerSymbol = "arrow-wide" + ScatterglMarkerSymbolNumber154 ScatterglMarkerSymbol = 154 + ScatterglMarkerSymbol154 ScatterglMarkerSymbol = "154" + ScatterglMarkerSymbolArrowWideOpen ScatterglMarkerSymbol = "arrow-wide-open" +) + +// ScatterglTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. +type ScatterglTextposition string + +const ( + ScatterglTextpositionTopLeft ScatterglTextposition = "top left" + ScatterglTextpositionTopCenter ScatterglTextposition = "top center" + ScatterglTextpositionTopRight ScatterglTextposition = "top right" + ScatterglTextpositionMiddleLeft ScatterglTextposition = "middle left" + ScatterglTextpositionMiddleCenter ScatterglTextposition = "middle center" + ScatterglTextpositionMiddleRight ScatterglTextposition = "middle right" + ScatterglTextpositionBottomLeft ScatterglTextposition = "bottom left" + ScatterglTextpositionBottomCenter ScatterglTextposition = "bottom center" + ScatterglTextpositionBottomRight ScatterglTextposition = "bottom right" +) + +// ScatterglVisible 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). +type ScatterglVisible interface{} + +var ( + ScatterglVisibleTrue ScatterglVisible = true + ScatterglVisibleFalse ScatterglVisible = false + ScatterglVisibleLegendonly ScatterglVisible = "legendonly" +) + +// ScatterglXcalendar Sets the calendar system to use with `x` date data. +type ScatterglXcalendar string + +const ( + ScatterglXcalendarChinese ScatterglXcalendar = "chinese" + ScatterglXcalendarCoptic ScatterglXcalendar = "coptic" + ScatterglXcalendarDiscworld ScatterglXcalendar = "discworld" + ScatterglXcalendarEthiopian ScatterglXcalendar = "ethiopian" + ScatterglXcalendarGregorian ScatterglXcalendar = "gregorian" + ScatterglXcalendarHebrew ScatterglXcalendar = "hebrew" + ScatterglXcalendarIslamic ScatterglXcalendar = "islamic" + ScatterglXcalendarJalali ScatterglXcalendar = "jalali" + ScatterglXcalendarJulian ScatterglXcalendar = "julian" + ScatterglXcalendarMayan ScatterglXcalendar = "mayan" + ScatterglXcalendarNanakshahi ScatterglXcalendar = "nanakshahi" + ScatterglXcalendarNepali ScatterglXcalendar = "nepali" + ScatterglXcalendarPersian ScatterglXcalendar = "persian" + ScatterglXcalendarTaiwan ScatterglXcalendar = "taiwan" + ScatterglXcalendarThai ScatterglXcalendar = "thai" + ScatterglXcalendarUmmalqura ScatterglXcalendar = "ummalqura" +) + +// ScatterglXperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. +type ScatterglXperiodalignment string + +const ( + ScatterglXperiodalignmentStart ScatterglXperiodalignment = "start" + ScatterglXperiodalignmentMiddle ScatterglXperiodalignment = "middle" + ScatterglXperiodalignmentEnd ScatterglXperiodalignment = "end" +) + +// ScatterglYcalendar Sets the calendar system to use with `y` date data. +type ScatterglYcalendar string + +const ( + ScatterglYcalendarChinese ScatterglYcalendar = "chinese" + ScatterglYcalendarCoptic ScatterglYcalendar = "coptic" + ScatterglYcalendarDiscworld ScatterglYcalendar = "discworld" + ScatterglYcalendarEthiopian ScatterglYcalendar = "ethiopian" + ScatterglYcalendarGregorian ScatterglYcalendar = "gregorian" + ScatterglYcalendarHebrew ScatterglYcalendar = "hebrew" + ScatterglYcalendarIslamic ScatterglYcalendar = "islamic" + ScatterglYcalendarJalali ScatterglYcalendar = "jalali" + ScatterglYcalendarJulian ScatterglYcalendar = "julian" + ScatterglYcalendarMayan ScatterglYcalendar = "mayan" + ScatterglYcalendarNanakshahi ScatterglYcalendar = "nanakshahi" + ScatterglYcalendarNepali ScatterglYcalendar = "nepali" + ScatterglYcalendarPersian ScatterglYcalendar = "persian" + ScatterglYcalendarTaiwan ScatterglYcalendar = "taiwan" + ScatterglYcalendarThai ScatterglYcalendar = "thai" + ScatterglYcalendarUmmalqura ScatterglYcalendar = "ummalqura" +) + +// ScatterglYperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis. +type ScatterglYperiodalignment string + +const ( + ScatterglYperiodalignmentStart ScatterglYperiodalignment = "start" + ScatterglYperiodalignmentMiddle ScatterglYperiodalignment = "middle" + ScatterglYperiodalignmentEnd ScatterglYperiodalignment = "end" +) + +// ScatterglHoverinfo 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. +type ScatterglHoverinfo string + +const ( + // Flags + ScatterglHoverinfoX ScatterglHoverinfo = "x" + ScatterglHoverinfoY ScatterglHoverinfo = "y" + ScatterglHoverinfoZ ScatterglHoverinfo = "z" + ScatterglHoverinfoText ScatterglHoverinfo = "text" + ScatterglHoverinfoName ScatterglHoverinfo = "name" + + // Extra + ScatterglHoverinfoAll ScatterglHoverinfo = "all" + ScatterglHoverinfoNone ScatterglHoverinfo = "none" + ScatterglHoverinfoSkip ScatterglHoverinfo = "skip" +) + +// ScatterglMode Determines the drawing mode for this scatter trace. +type ScatterglMode string + +const ( + // Flags + ScatterglModeLines ScatterglMode = "lines" + ScatterglModeMarkers ScatterglMode = "markers" + ScatterglModeText ScatterglMode = "text" + + // Extra + ScatterglModeNone ScatterglMode = "none" +) diff --git a/generated/v2.29.1/graph_objects/scattermapbox_gen.go b/generated/v2.29.1/graph_objects/scattermapbox_gen.go new file mode 100644 index 0000000..4afd742 --- /dev/null +++ b/generated/v2.29.1/graph_objects/scattermapbox_gen.go @@ -0,0 +1,1325 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeScattermapbox TraceType = "scattermapbox" + +func (trace *Scattermapbox) GetType() TraceType { + return TraceTypeScattermapbox +} + +// Scattermapbox 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`. +type Scattermapbox struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Below + // arrayOK: false + // 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 *''*. + Below String `json:"below,omitempty"` + + // Cluster + // role: Object + Cluster *ScattermapboxCluster `json:"cluster,omitempty"` + + // Connectgaps + // arrayOK: false + // type: boolean + // Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected. + Connectgaps Bool `json:"connectgaps,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Fill + // default: none + // type: enumerated + // 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. + Fill ScattermapboxFill `json:"fill,omitempty"` + + // Fillcolor + // arrayOK: false + // 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. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo ScattermapboxHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *ScattermapboxHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Lat + // arrayOK: false + // type: data_array + // Sets the latitude coordinates (in degrees North). + Lat interface{} `json:"lat,omitempty"` + + // Latsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `lat`. + Latsrc String `json:"latsrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *ScattermapboxLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *ScattermapboxLine `json:"line,omitempty"` + + // Lon + // arrayOK: false + // type: data_array + // Sets the longitude coordinates (in degrees East). + Lon interface{} `json:"lon,omitempty"` + + // Lonsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `lon`. + Lonsrc String `json:"lonsrc,omitempty"` + + // Marker + // role: Object + Marker *ScattermapboxMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Mode + // default: markers + // type: flaglist + // 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. + Mode ScattermapboxMode `json:"mode,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Selected + // role: Object + Selected *ScattermapboxSelected `json:"selected,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Stream + // role: Object + Stream *ScattermapboxStream `json:"stream,omitempty"` + + // Subplot + // arrayOK: false + // type: subplotid + // 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. + Subplot String `json:"subplot,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textfont + // role: Object + Textfont *ScattermapboxTextfont `json:"textfont,omitempty"` + + // Textposition + // default: middle center + // type: enumerated + // Sets the positions of the `text` elements with respects to the (x,y) coordinates. + Textposition ScattermapboxTextposition `json:"textposition,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: true + // 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 `lat`, `lon` and `text`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Texttemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `texttemplate`. + Texttemplatesrc String `json:"texttemplatesrc,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Unselected + // role: Object + Unselected *ScattermapboxUnselected `json:"unselected,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible ScattermapboxVisible `json:"visible,omitempty"` +} + +// ScattermapboxCluster +type ScattermapboxCluster struct { + + // Color + // arrayOK: true + // type: color + // Sets the color for each cluster step. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Enabled + // arrayOK: false + // type: boolean + // Determines whether clustering is enabled or disabled. + Enabled Bool `json:"enabled,omitempty"` + + // Maxzoom + // arrayOK: false + // type: number + // Sets the maximum zoom level. At zoom levels equal to or greater than this, points will never be clustered. + Maxzoom float64 `json:"maxzoom,omitempty"` + + // Opacity + // arrayOK: true + // type: number + // Sets the marker opacity. + Opacity float64 `json:"opacity,omitempty"` + + // Opacitysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `opacity`. + Opacitysrc String `json:"opacitysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the size for each cluster step. + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Step + // arrayOK: true + // type: number + // 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. + Step float64 `json:"step,omitempty"` + + // Stepsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `step`. + Stepsrc String `json:"stepsrc,omitempty"` +} + +// ScattermapboxHoverlabelFont Sets the font used in hover labels. +type ScattermapboxHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ScattermapboxHoverlabel +type ScattermapboxHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align ScattermapboxHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *ScattermapboxHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// ScattermapboxLegendgrouptitleFont Sets this legend group's title font. +type ScattermapboxLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScattermapboxLegendgrouptitle +type ScattermapboxLegendgrouptitle struct { + + // Font + // role: Object + Font *ScattermapboxLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// ScattermapboxLine +type ScattermapboxLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the line color. + Color Color `json:"color,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width (in px). + Width float64 `json:"width,omitempty"` +} + +// ScattermapboxMarkerColorbarTickfont Sets the color bar's tick label font +type ScattermapboxMarkerColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScattermapboxMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type ScattermapboxMarkerColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScattermapboxMarkerColorbarTitle +type ScattermapboxMarkerColorbarTitle struct { + + // Font + // role: Object + Font *ScattermapboxMarkerColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side ScattermapboxMarkerColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// ScattermapboxMarkerColorbar +type ScattermapboxMarkerColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat ScattermapboxMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode ScattermapboxMarkerColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ScattermapboxMarkerColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent ScattermapboxMarkerColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix ScattermapboxMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix ScattermapboxMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode ScattermapboxMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *ScattermapboxMarkerColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ScattermapboxMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition ScattermapboxMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode ScattermapboxMarkerColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks ScattermapboxMarkerColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *ScattermapboxMarkerColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor ScattermapboxMarkerColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref ScattermapboxMarkerColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor ScattermapboxMarkerColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref ScattermapboxMarkerColorbarYref `json:"yref,omitempty"` +} + +// ScattermapboxMarker +type ScattermapboxMarker struct { + + // Allowoverlap + // arrayOK: false + // type: boolean + // Flag to draw all symbols, even if they overlap. + Allowoverlap Bool `json:"allowoverlap,omitempty"` + + // Angle + // arrayOK: true + // type: number + // 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. + Angle float64 `json:"angle,omitempty"` + + // Anglesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `angle`. + Anglesrc String `json:"anglesrc,omitempty"` + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *ScattermapboxMarkerColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Opacity + // arrayOK: true + // type: number + // Sets the marker opacity. + Opacity float64 `json:"opacity,omitempty"` + + // Opacitysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `opacity`. + Opacitysrc String `json:"opacitysrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the marker size (in px). + Size float64 `json:"size,omitempty"` + + // Sizemin + // arrayOK: false + // 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. + Sizemin float64 `json:"sizemin,omitempty"` + + // Sizemode + // default: diameter + // type: enumerated + // 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. + Sizemode ScattermapboxMarkerSizemode `json:"sizemode,omitempty"` + + // Sizeref + // arrayOK: false + // type: number + // 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`. + Sizeref float64 `json:"sizeref,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Symbol + // arrayOK: true + // type: string + // 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. + Symbol String `json:"symbol,omitempty"` + + // Symbolsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `symbol`. + Symbolsrc String `json:"symbolsrc,omitempty"` +} + +// ScattermapboxSelectedMarker +type ScattermapboxSelectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of selected points. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of selected points. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of selected points. + Size float64 `json:"size,omitempty"` +} + +// ScattermapboxSelected +type ScattermapboxSelected struct { + + // Marker + // role: Object + Marker *ScattermapboxSelectedMarker `json:"marker,omitempty"` +} + +// ScattermapboxStream +type ScattermapboxStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// ScattermapboxTextfont 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*. +type ScattermapboxTextfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScattermapboxUnselectedMarker +type ScattermapboxUnselectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of unselected points, applied only when a selection exists. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of unselected points, applied only when a selection exists. + Size float64 `json:"size,omitempty"` +} + +// ScattermapboxUnselected +type ScattermapboxUnselected struct { + + // Marker + // role: Object + Marker *ScattermapboxUnselectedMarker `json:"marker,omitempty"` +} + +// ScattermapboxFill 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. +type ScattermapboxFill string + +const ( + ScattermapboxFillNone ScattermapboxFill = "none" + ScattermapboxFillToself ScattermapboxFill = "toself" +) + +// ScattermapboxHoverlabelAlign 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 +type ScattermapboxHoverlabelAlign string + +const ( + ScattermapboxHoverlabelAlignLeft ScattermapboxHoverlabelAlign = "left" + ScattermapboxHoverlabelAlignRight ScattermapboxHoverlabelAlign = "right" + ScattermapboxHoverlabelAlignAuto ScattermapboxHoverlabelAlign = "auto" +) + +// ScattermapboxMarkerColorbarExponentformat 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. +type ScattermapboxMarkerColorbarExponentformat string + +const ( + ScattermapboxMarkerColorbarExponentformatNone ScattermapboxMarkerColorbarExponentformat = "none" + ScattermapboxMarkerColorbarExponentformatE1 ScattermapboxMarkerColorbarExponentformat = "e" + ScattermapboxMarkerColorbarExponentformatE2 ScattermapboxMarkerColorbarExponentformat = "E" + ScattermapboxMarkerColorbarExponentformatPower ScattermapboxMarkerColorbarExponentformat = "power" + ScattermapboxMarkerColorbarExponentformatSI ScattermapboxMarkerColorbarExponentformat = "SI" + ScattermapboxMarkerColorbarExponentformatB ScattermapboxMarkerColorbarExponentformat = "B" +) + +// ScattermapboxMarkerColorbarLenmode 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. +type ScattermapboxMarkerColorbarLenmode string + +const ( + ScattermapboxMarkerColorbarLenmodeFraction ScattermapboxMarkerColorbarLenmode = "fraction" + ScattermapboxMarkerColorbarLenmodePixels ScattermapboxMarkerColorbarLenmode = "pixels" +) + +// ScattermapboxMarkerColorbarOrientation Sets the orientation of the colorbar. +type ScattermapboxMarkerColorbarOrientation string + +const ( + ScattermapboxMarkerColorbarOrientationH ScattermapboxMarkerColorbarOrientation = "h" + ScattermapboxMarkerColorbarOrientationV ScattermapboxMarkerColorbarOrientation = "v" +) + +// ScattermapboxMarkerColorbarShowexponent 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. +type ScattermapboxMarkerColorbarShowexponent string + +const ( + ScattermapboxMarkerColorbarShowexponentAll ScattermapboxMarkerColorbarShowexponent = "all" + ScattermapboxMarkerColorbarShowexponentFirst ScattermapboxMarkerColorbarShowexponent = "first" + ScattermapboxMarkerColorbarShowexponentLast ScattermapboxMarkerColorbarShowexponent = "last" + ScattermapboxMarkerColorbarShowexponentNone ScattermapboxMarkerColorbarShowexponent = "none" +) + +// ScattermapboxMarkerColorbarShowtickprefix 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. +type ScattermapboxMarkerColorbarShowtickprefix string + +const ( + ScattermapboxMarkerColorbarShowtickprefixAll ScattermapboxMarkerColorbarShowtickprefix = "all" + ScattermapboxMarkerColorbarShowtickprefixFirst ScattermapboxMarkerColorbarShowtickprefix = "first" + ScattermapboxMarkerColorbarShowtickprefixLast ScattermapboxMarkerColorbarShowtickprefix = "last" + ScattermapboxMarkerColorbarShowtickprefixNone ScattermapboxMarkerColorbarShowtickprefix = "none" +) + +// ScattermapboxMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type ScattermapboxMarkerColorbarShowticksuffix string + +const ( + ScattermapboxMarkerColorbarShowticksuffixAll ScattermapboxMarkerColorbarShowticksuffix = "all" + ScattermapboxMarkerColorbarShowticksuffixFirst ScattermapboxMarkerColorbarShowticksuffix = "first" + ScattermapboxMarkerColorbarShowticksuffixLast ScattermapboxMarkerColorbarShowticksuffix = "last" + ScattermapboxMarkerColorbarShowticksuffixNone ScattermapboxMarkerColorbarShowticksuffix = "none" +) + +// ScattermapboxMarkerColorbarThicknessmode 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. +type ScattermapboxMarkerColorbarThicknessmode string + +const ( + ScattermapboxMarkerColorbarThicknessmodeFraction ScattermapboxMarkerColorbarThicknessmode = "fraction" + ScattermapboxMarkerColorbarThicknessmodePixels ScattermapboxMarkerColorbarThicknessmode = "pixels" +) + +// ScattermapboxMarkerColorbarTicklabeloverflow 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*. +type ScattermapboxMarkerColorbarTicklabeloverflow string + +const ( + ScattermapboxMarkerColorbarTicklabeloverflowAllow ScattermapboxMarkerColorbarTicklabeloverflow = "allow" + ScattermapboxMarkerColorbarTicklabeloverflowHidePastDiv ScattermapboxMarkerColorbarTicklabeloverflow = "hide past div" + ScattermapboxMarkerColorbarTicklabeloverflowHidePastDomain ScattermapboxMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// ScattermapboxMarkerColorbarTicklabelposition 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*. +type ScattermapboxMarkerColorbarTicklabelposition string + +const ( + ScattermapboxMarkerColorbarTicklabelpositionOutside ScattermapboxMarkerColorbarTicklabelposition = "outside" + ScattermapboxMarkerColorbarTicklabelpositionInside ScattermapboxMarkerColorbarTicklabelposition = "inside" + ScattermapboxMarkerColorbarTicklabelpositionOutsideTop ScattermapboxMarkerColorbarTicklabelposition = "outside top" + ScattermapboxMarkerColorbarTicklabelpositionInsideTop ScattermapboxMarkerColorbarTicklabelposition = "inside top" + ScattermapboxMarkerColorbarTicklabelpositionOutsideLeft ScattermapboxMarkerColorbarTicklabelposition = "outside left" + ScattermapboxMarkerColorbarTicklabelpositionInsideLeft ScattermapboxMarkerColorbarTicklabelposition = "inside left" + ScattermapboxMarkerColorbarTicklabelpositionOutsideRight ScattermapboxMarkerColorbarTicklabelposition = "outside right" + ScattermapboxMarkerColorbarTicklabelpositionInsideRight ScattermapboxMarkerColorbarTicklabelposition = "inside right" + ScattermapboxMarkerColorbarTicklabelpositionOutsideBottom ScattermapboxMarkerColorbarTicklabelposition = "outside bottom" + ScattermapboxMarkerColorbarTicklabelpositionInsideBottom ScattermapboxMarkerColorbarTicklabelposition = "inside bottom" +) + +// ScattermapboxMarkerColorbarTickmode 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). +type ScattermapboxMarkerColorbarTickmode string + +const ( + ScattermapboxMarkerColorbarTickmodeAuto ScattermapboxMarkerColorbarTickmode = "auto" + ScattermapboxMarkerColorbarTickmodeLinear ScattermapboxMarkerColorbarTickmode = "linear" + ScattermapboxMarkerColorbarTickmodeArray ScattermapboxMarkerColorbarTickmode = "array" +) + +// ScattermapboxMarkerColorbarTicks 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. +type ScattermapboxMarkerColorbarTicks string + +const ( + ScattermapboxMarkerColorbarTicksOutside ScattermapboxMarkerColorbarTicks = "outside" + ScattermapboxMarkerColorbarTicksInside ScattermapboxMarkerColorbarTicks = "inside" + ScattermapboxMarkerColorbarTicksEmpty ScattermapboxMarkerColorbarTicks = "" +) + +// ScattermapboxMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type ScattermapboxMarkerColorbarTitleSide string + +const ( + ScattermapboxMarkerColorbarTitleSideRight ScattermapboxMarkerColorbarTitleSide = "right" + ScattermapboxMarkerColorbarTitleSideTop ScattermapboxMarkerColorbarTitleSide = "top" + ScattermapboxMarkerColorbarTitleSideBottom ScattermapboxMarkerColorbarTitleSide = "bottom" +) + +// ScattermapboxMarkerColorbarXanchor 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*. +type ScattermapboxMarkerColorbarXanchor string + +const ( + ScattermapboxMarkerColorbarXanchorLeft ScattermapboxMarkerColorbarXanchor = "left" + ScattermapboxMarkerColorbarXanchorCenter ScattermapboxMarkerColorbarXanchor = "center" + ScattermapboxMarkerColorbarXanchorRight ScattermapboxMarkerColorbarXanchor = "right" +) + +// ScattermapboxMarkerColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type ScattermapboxMarkerColorbarXref string + +const ( + ScattermapboxMarkerColorbarXrefContainer ScattermapboxMarkerColorbarXref = "container" + ScattermapboxMarkerColorbarXrefPaper ScattermapboxMarkerColorbarXref = "paper" +) + +// ScattermapboxMarkerColorbarYanchor 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*. +type ScattermapboxMarkerColorbarYanchor string + +const ( + ScattermapboxMarkerColorbarYanchorTop ScattermapboxMarkerColorbarYanchor = "top" + ScattermapboxMarkerColorbarYanchorMiddle ScattermapboxMarkerColorbarYanchor = "middle" + ScattermapboxMarkerColorbarYanchorBottom ScattermapboxMarkerColorbarYanchor = "bottom" +) + +// ScattermapboxMarkerColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type ScattermapboxMarkerColorbarYref string + +const ( + ScattermapboxMarkerColorbarYrefContainer ScattermapboxMarkerColorbarYref = "container" + ScattermapboxMarkerColorbarYrefPaper ScattermapboxMarkerColorbarYref = "paper" +) + +// ScattermapboxMarkerSizemode 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. +type ScattermapboxMarkerSizemode string + +const ( + ScattermapboxMarkerSizemodeDiameter ScattermapboxMarkerSizemode = "diameter" + ScattermapboxMarkerSizemodeArea ScattermapboxMarkerSizemode = "area" +) + +// ScattermapboxTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. +type ScattermapboxTextposition string + +const ( + ScattermapboxTextpositionTopLeft ScattermapboxTextposition = "top left" + ScattermapboxTextpositionTopCenter ScattermapboxTextposition = "top center" + ScattermapboxTextpositionTopRight ScattermapboxTextposition = "top right" + ScattermapboxTextpositionMiddleLeft ScattermapboxTextposition = "middle left" + ScattermapboxTextpositionMiddleCenter ScattermapboxTextposition = "middle center" + ScattermapboxTextpositionMiddleRight ScattermapboxTextposition = "middle right" + ScattermapboxTextpositionBottomLeft ScattermapboxTextposition = "bottom left" + ScattermapboxTextpositionBottomCenter ScattermapboxTextposition = "bottom center" + ScattermapboxTextpositionBottomRight ScattermapboxTextposition = "bottom right" +) + +// ScattermapboxVisible 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). +type ScattermapboxVisible interface{} + +var ( + ScattermapboxVisibleTrue ScattermapboxVisible = true + ScattermapboxVisibleFalse ScattermapboxVisible = false + ScattermapboxVisibleLegendonly ScattermapboxVisible = "legendonly" +) + +// ScattermapboxHoverinfo 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. +type ScattermapboxHoverinfo string + +const ( + // Flags + ScattermapboxHoverinfoLon ScattermapboxHoverinfo = "lon" + ScattermapboxHoverinfoLat ScattermapboxHoverinfo = "lat" + ScattermapboxHoverinfoText ScattermapboxHoverinfo = "text" + ScattermapboxHoverinfoName ScattermapboxHoverinfo = "name" + + // Extra + ScattermapboxHoverinfoAll ScattermapboxHoverinfo = "all" + ScattermapboxHoverinfoNone ScattermapboxHoverinfo = "none" + ScattermapboxHoverinfoSkip ScattermapboxHoverinfo = "skip" +) + +// ScattermapboxMode 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. +type ScattermapboxMode string + +const ( + // Flags + ScattermapboxModeLines ScattermapboxMode = "lines" + ScattermapboxModeMarkers ScattermapboxMode = "markers" + ScattermapboxModeText ScattermapboxMode = "text" + + // Extra + ScattermapboxModeNone ScattermapboxMode = "none" +) diff --git a/generated/v2.29.1/graph_objects/scatterpolar_gen.go b/generated/v2.29.1/graph_objects/scatterpolar_gen.go new file mode 100644 index 0000000..4f47ab3 --- /dev/null +++ b/generated/v2.29.1/graph_objects/scatterpolar_gen.go @@ -0,0 +1,2045 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeScatterpolar TraceType = "scatterpolar" + +func (trace *Scatterpolar) GetType() TraceType { + return TraceTypeScatterpolar +} + +// Scatterpolar 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. +type Scatterpolar struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Cliponaxis + // arrayOK: false + // 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*. + Cliponaxis Bool `json:"cliponaxis,omitempty"` + + // Connectgaps + // arrayOK: false + // type: boolean + // Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected. + Connectgaps Bool `json:"connectgaps,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Dr + // arrayOK: false + // type: number + // Sets the r coordinate step. + Dr float64 `json:"dr,omitempty"` + + // Dtheta + // arrayOK: false + // 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. + Dtheta float64 `json:"dtheta,omitempty"` + + // Fill + // default: none + // type: enumerated + // 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. + Fill ScatterpolarFill `json:"fill,omitempty"` + + // Fillcolor + // arrayOK: false + // 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. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo ScatterpolarHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *ScatterpolarHoverlabel `json:"hoverlabel,omitempty"` + + // Hoveron + // default: %!s() + // type: flaglist + // 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*. + Hoveron ScatterpolarHoveron `json:"hoveron,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *ScatterpolarLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *ScatterpolarLine `json:"line,omitempty"` + + // Marker + // role: Object + Marker *ScatterpolarMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Mode + // default: %!s() + // type: flaglist + // 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*. + Mode ScatterpolarMode `json:"mode,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // R + // arrayOK: false + // type: data_array + // Sets the radial coordinates + R interface{} `json:"r,omitempty"` + + // R0 + // arrayOK: false + // type: any + // Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step. + R0 interface{} `json:"r0,omitempty"` + + // Rsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `r`. + Rsrc String `json:"rsrc,omitempty"` + + // Selected + // role: Object + Selected *ScatterpolarSelected `json:"selected,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Stream + // role: Object + Stream *ScatterpolarStream `json:"stream,omitempty"` + + // Subplot + // arrayOK: false + // type: subplotid + // 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. + Subplot String `json:"subplot,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textfont + // role: Object + Textfont *ScatterpolarTextfont `json:"textfont,omitempty"` + + // Textposition + // default: middle center + // type: enumerated + // Sets the positions of the `text` elements with respects to the (x,y) coordinates. + Textposition ScatterpolarTextposition `json:"textposition,omitempty"` + + // Textpositionsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `textposition`. + Textpositionsrc String `json:"textpositionsrc,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: true + // 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 `r`, `theta` and `text`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Texttemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `texttemplate`. + Texttemplatesrc String `json:"texttemplatesrc,omitempty"` + + // Theta + // arrayOK: false + // type: data_array + // Sets the angular coordinates + Theta interface{} `json:"theta,omitempty"` + + // Theta0 + // arrayOK: false + // type: any + // Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step. + Theta0 interface{} `json:"theta0,omitempty"` + + // Thetasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `theta`. + Thetasrc String `json:"thetasrc,omitempty"` + + // Thetaunit + // default: degrees + // type: enumerated + // Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes. + Thetaunit ScatterpolarThetaunit `json:"thetaunit,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Unselected + // role: Object + Unselected *ScatterpolarUnselected `json:"unselected,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible ScatterpolarVisible `json:"visible,omitempty"` +} + +// ScatterpolarHoverlabelFont Sets the font used in hover labels. +type ScatterpolarHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ScatterpolarHoverlabel +type ScatterpolarHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align ScatterpolarHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *ScatterpolarHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// ScatterpolarLegendgrouptitleFont Sets this legend group's title font. +type ScatterpolarLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScatterpolarLegendgrouptitle +type ScatterpolarLegendgrouptitle struct { + + // Font + // role: Object + Font *ScatterpolarLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// ScatterpolarLine +type ScatterpolarLine struct { + + // Backoff + // arrayOK: true + // type: number + // 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*. + Backoff float64 `json:"backoff,omitempty"` + + // Backoffsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `backoff`. + Backoffsrc String `json:"backoffsrc,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the line color. + Color Color `json:"color,omitempty"` + + // Dash + // arrayOK: false + // type: string + // 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*). + Dash String `json:"dash,omitempty"` + + // Shape + // default: linear + // type: enumerated + // Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes. + Shape ScatterpolarLineShape `json:"shape,omitempty"` + + // Smoothing + // arrayOK: false + // type: number + // 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). + Smoothing float64 `json:"smoothing,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width (in px). + Width float64 `json:"width,omitempty"` +} + +// ScatterpolarMarkerColorbarTickfont Sets the color bar's tick label font +type ScatterpolarMarkerColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScatterpolarMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type ScatterpolarMarkerColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScatterpolarMarkerColorbarTitle +type ScatterpolarMarkerColorbarTitle struct { + + // Font + // role: Object + Font *ScatterpolarMarkerColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side ScatterpolarMarkerColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// ScatterpolarMarkerColorbar +type ScatterpolarMarkerColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat ScatterpolarMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode ScatterpolarMarkerColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ScatterpolarMarkerColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent ScatterpolarMarkerColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix ScatterpolarMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix ScatterpolarMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode ScatterpolarMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *ScatterpolarMarkerColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ScatterpolarMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition ScatterpolarMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode ScatterpolarMarkerColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks ScatterpolarMarkerColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *ScatterpolarMarkerColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor ScatterpolarMarkerColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref ScatterpolarMarkerColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor ScatterpolarMarkerColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref ScatterpolarMarkerColorbarYref `json:"yref,omitempty"` +} + +// ScatterpolarMarkerGradient +type ScatterpolarMarkerGradient struct { + + // Color + // arrayOK: true + // type: color + // Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Type + // default: none + // type: enumerated + // Sets the type of gradient used to fill the markers + Type ScatterpolarMarkerGradientType `json:"type,omitempty"` + + // Typesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `type`. + Typesrc String `json:"typesrc,omitempty"` +} + +// ScatterpolarMarkerLine +type ScatterpolarMarkerLine struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the lines bounding the marker points. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// ScatterpolarMarker +type ScatterpolarMarker struct { + + // Angle + // arrayOK: true + // type: angle + // Sets the marker angle in respect to `angleref`. + Angle float64 `json:"angle,omitempty"` + + // Angleref + // default: up + // type: enumerated + // 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. + Angleref ScatterpolarMarkerAngleref `json:"angleref,omitempty"` + + // Anglesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `angle`. + Anglesrc String `json:"anglesrc,omitempty"` + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *ScatterpolarMarkerColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Gradient + // role: Object + Gradient *ScatterpolarMarkerGradient `json:"gradient,omitempty"` + + // Line + // role: Object + Line *ScatterpolarMarkerLine `json:"line,omitempty"` + + // Maxdisplayed + // arrayOK: false + // type: number + // Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit. + Maxdisplayed float64 `json:"maxdisplayed,omitempty"` + + // Opacity + // arrayOK: true + // type: number + // Sets the marker opacity. + Opacity float64 `json:"opacity,omitempty"` + + // Opacitysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `opacity`. + Opacitysrc String `json:"opacitysrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the marker size (in px). + Size float64 `json:"size,omitempty"` + + // Sizemin + // arrayOK: false + // 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. + Sizemin float64 `json:"sizemin,omitempty"` + + // Sizemode + // default: diameter + // type: enumerated + // 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. + Sizemode ScatterpolarMarkerSizemode `json:"sizemode,omitempty"` + + // Sizeref + // arrayOK: false + // type: number + // 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`. + Sizeref float64 `json:"sizeref,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Standoff + // arrayOK: true + // type: number + // 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. + Standoff float64 `json:"standoff,omitempty"` + + // Standoffsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `standoff`. + Standoffsrc String `json:"standoffsrc,omitempty"` + + // Symbol + // default: circle + // type: enumerated + // 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. + Symbol ScatterpolarMarkerSymbol `json:"symbol,omitempty"` + + // Symbolsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `symbol`. + Symbolsrc String `json:"symbolsrc,omitempty"` +} + +// ScatterpolarSelectedMarker +type ScatterpolarSelectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of selected points. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of selected points. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of selected points. + Size float64 `json:"size,omitempty"` +} + +// ScatterpolarSelectedTextfont +type ScatterpolarSelectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of selected points. + Color Color `json:"color,omitempty"` +} + +// ScatterpolarSelected +type ScatterpolarSelected struct { + + // Marker + // role: Object + Marker *ScatterpolarSelectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *ScatterpolarSelectedTextfont `json:"textfont,omitempty"` +} + +// ScatterpolarStream +type ScatterpolarStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// ScatterpolarTextfont Sets the text font. +type ScatterpolarTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ScatterpolarUnselectedMarker +type ScatterpolarUnselectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of unselected points, applied only when a selection exists. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of unselected points, applied only when a selection exists. + Size float64 `json:"size,omitempty"` +} + +// ScatterpolarUnselectedTextfont +type ScatterpolarUnselectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` +} + +// ScatterpolarUnselected +type ScatterpolarUnselected struct { + + // Marker + // role: Object + Marker *ScatterpolarUnselectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *ScatterpolarUnselectedTextfont `json:"textfont,omitempty"` +} + +// ScatterpolarFill 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. +type ScatterpolarFill string + +const ( + ScatterpolarFillNone ScatterpolarFill = "none" + ScatterpolarFillToself ScatterpolarFill = "toself" + ScatterpolarFillTonext ScatterpolarFill = "tonext" +) + +// ScatterpolarHoverlabelAlign 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 +type ScatterpolarHoverlabelAlign string + +const ( + ScatterpolarHoverlabelAlignLeft ScatterpolarHoverlabelAlign = "left" + ScatterpolarHoverlabelAlignRight ScatterpolarHoverlabelAlign = "right" + ScatterpolarHoverlabelAlignAuto ScatterpolarHoverlabelAlign = "auto" +) + +// ScatterpolarLineShape Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes. +type ScatterpolarLineShape string + +const ( + ScatterpolarLineShapeLinear ScatterpolarLineShape = "linear" + ScatterpolarLineShapeSpline ScatterpolarLineShape = "spline" +) + +// ScatterpolarMarkerAngleref 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. +type ScatterpolarMarkerAngleref string + +const ( + ScatterpolarMarkerAnglerefPrevious ScatterpolarMarkerAngleref = "previous" + ScatterpolarMarkerAnglerefUp ScatterpolarMarkerAngleref = "up" +) + +// ScatterpolarMarkerColorbarExponentformat 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. +type ScatterpolarMarkerColorbarExponentformat string + +const ( + ScatterpolarMarkerColorbarExponentformatNone ScatterpolarMarkerColorbarExponentformat = "none" + ScatterpolarMarkerColorbarExponentformatE1 ScatterpolarMarkerColorbarExponentformat = "e" + ScatterpolarMarkerColorbarExponentformatE2 ScatterpolarMarkerColorbarExponentformat = "E" + ScatterpolarMarkerColorbarExponentformatPower ScatterpolarMarkerColorbarExponentformat = "power" + ScatterpolarMarkerColorbarExponentformatSI ScatterpolarMarkerColorbarExponentformat = "SI" + ScatterpolarMarkerColorbarExponentformatB ScatterpolarMarkerColorbarExponentformat = "B" +) + +// ScatterpolarMarkerColorbarLenmode 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. +type ScatterpolarMarkerColorbarLenmode string + +const ( + ScatterpolarMarkerColorbarLenmodeFraction ScatterpolarMarkerColorbarLenmode = "fraction" + ScatterpolarMarkerColorbarLenmodePixels ScatterpolarMarkerColorbarLenmode = "pixels" +) + +// ScatterpolarMarkerColorbarOrientation Sets the orientation of the colorbar. +type ScatterpolarMarkerColorbarOrientation string + +const ( + ScatterpolarMarkerColorbarOrientationH ScatterpolarMarkerColorbarOrientation = "h" + ScatterpolarMarkerColorbarOrientationV ScatterpolarMarkerColorbarOrientation = "v" +) + +// ScatterpolarMarkerColorbarShowexponent 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. +type ScatterpolarMarkerColorbarShowexponent string + +const ( + ScatterpolarMarkerColorbarShowexponentAll ScatterpolarMarkerColorbarShowexponent = "all" + ScatterpolarMarkerColorbarShowexponentFirst ScatterpolarMarkerColorbarShowexponent = "first" + ScatterpolarMarkerColorbarShowexponentLast ScatterpolarMarkerColorbarShowexponent = "last" + ScatterpolarMarkerColorbarShowexponentNone ScatterpolarMarkerColorbarShowexponent = "none" +) + +// ScatterpolarMarkerColorbarShowtickprefix 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. +type ScatterpolarMarkerColorbarShowtickprefix string + +const ( + ScatterpolarMarkerColorbarShowtickprefixAll ScatterpolarMarkerColorbarShowtickprefix = "all" + ScatterpolarMarkerColorbarShowtickprefixFirst ScatterpolarMarkerColorbarShowtickprefix = "first" + ScatterpolarMarkerColorbarShowtickprefixLast ScatterpolarMarkerColorbarShowtickprefix = "last" + ScatterpolarMarkerColorbarShowtickprefixNone ScatterpolarMarkerColorbarShowtickprefix = "none" +) + +// ScatterpolarMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type ScatterpolarMarkerColorbarShowticksuffix string + +const ( + ScatterpolarMarkerColorbarShowticksuffixAll ScatterpolarMarkerColorbarShowticksuffix = "all" + ScatterpolarMarkerColorbarShowticksuffixFirst ScatterpolarMarkerColorbarShowticksuffix = "first" + ScatterpolarMarkerColorbarShowticksuffixLast ScatterpolarMarkerColorbarShowticksuffix = "last" + ScatterpolarMarkerColorbarShowticksuffixNone ScatterpolarMarkerColorbarShowticksuffix = "none" +) + +// ScatterpolarMarkerColorbarThicknessmode 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. +type ScatterpolarMarkerColorbarThicknessmode string + +const ( + ScatterpolarMarkerColorbarThicknessmodeFraction ScatterpolarMarkerColorbarThicknessmode = "fraction" + ScatterpolarMarkerColorbarThicknessmodePixels ScatterpolarMarkerColorbarThicknessmode = "pixels" +) + +// ScatterpolarMarkerColorbarTicklabeloverflow 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*. +type ScatterpolarMarkerColorbarTicklabeloverflow string + +const ( + ScatterpolarMarkerColorbarTicklabeloverflowAllow ScatterpolarMarkerColorbarTicklabeloverflow = "allow" + ScatterpolarMarkerColorbarTicklabeloverflowHidePastDiv ScatterpolarMarkerColorbarTicklabeloverflow = "hide past div" + ScatterpolarMarkerColorbarTicklabeloverflowHidePastDomain ScatterpolarMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// ScatterpolarMarkerColorbarTicklabelposition 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*. +type ScatterpolarMarkerColorbarTicklabelposition string + +const ( + ScatterpolarMarkerColorbarTicklabelpositionOutside ScatterpolarMarkerColorbarTicklabelposition = "outside" + ScatterpolarMarkerColorbarTicklabelpositionInside ScatterpolarMarkerColorbarTicklabelposition = "inside" + ScatterpolarMarkerColorbarTicklabelpositionOutsideTop ScatterpolarMarkerColorbarTicklabelposition = "outside top" + ScatterpolarMarkerColorbarTicklabelpositionInsideTop ScatterpolarMarkerColorbarTicklabelposition = "inside top" + ScatterpolarMarkerColorbarTicklabelpositionOutsideLeft ScatterpolarMarkerColorbarTicklabelposition = "outside left" + ScatterpolarMarkerColorbarTicklabelpositionInsideLeft ScatterpolarMarkerColorbarTicklabelposition = "inside left" + ScatterpolarMarkerColorbarTicklabelpositionOutsideRight ScatterpolarMarkerColorbarTicklabelposition = "outside right" + ScatterpolarMarkerColorbarTicklabelpositionInsideRight ScatterpolarMarkerColorbarTicklabelposition = "inside right" + ScatterpolarMarkerColorbarTicklabelpositionOutsideBottom ScatterpolarMarkerColorbarTicklabelposition = "outside bottom" + ScatterpolarMarkerColorbarTicklabelpositionInsideBottom ScatterpolarMarkerColorbarTicklabelposition = "inside bottom" +) + +// ScatterpolarMarkerColorbarTickmode 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). +type ScatterpolarMarkerColorbarTickmode string + +const ( + ScatterpolarMarkerColorbarTickmodeAuto ScatterpolarMarkerColorbarTickmode = "auto" + ScatterpolarMarkerColorbarTickmodeLinear ScatterpolarMarkerColorbarTickmode = "linear" + ScatterpolarMarkerColorbarTickmodeArray ScatterpolarMarkerColorbarTickmode = "array" +) + +// ScatterpolarMarkerColorbarTicks 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. +type ScatterpolarMarkerColorbarTicks string + +const ( + ScatterpolarMarkerColorbarTicksOutside ScatterpolarMarkerColorbarTicks = "outside" + ScatterpolarMarkerColorbarTicksInside ScatterpolarMarkerColorbarTicks = "inside" + ScatterpolarMarkerColorbarTicksEmpty ScatterpolarMarkerColorbarTicks = "" +) + +// ScatterpolarMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type ScatterpolarMarkerColorbarTitleSide string + +const ( + ScatterpolarMarkerColorbarTitleSideRight ScatterpolarMarkerColorbarTitleSide = "right" + ScatterpolarMarkerColorbarTitleSideTop ScatterpolarMarkerColorbarTitleSide = "top" + ScatterpolarMarkerColorbarTitleSideBottom ScatterpolarMarkerColorbarTitleSide = "bottom" +) + +// ScatterpolarMarkerColorbarXanchor 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*. +type ScatterpolarMarkerColorbarXanchor string + +const ( + ScatterpolarMarkerColorbarXanchorLeft ScatterpolarMarkerColorbarXanchor = "left" + ScatterpolarMarkerColorbarXanchorCenter ScatterpolarMarkerColorbarXanchor = "center" + ScatterpolarMarkerColorbarXanchorRight ScatterpolarMarkerColorbarXanchor = "right" +) + +// ScatterpolarMarkerColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type ScatterpolarMarkerColorbarXref string + +const ( + ScatterpolarMarkerColorbarXrefContainer ScatterpolarMarkerColorbarXref = "container" + ScatterpolarMarkerColorbarXrefPaper ScatterpolarMarkerColorbarXref = "paper" +) + +// ScatterpolarMarkerColorbarYanchor 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*. +type ScatterpolarMarkerColorbarYanchor string + +const ( + ScatterpolarMarkerColorbarYanchorTop ScatterpolarMarkerColorbarYanchor = "top" + ScatterpolarMarkerColorbarYanchorMiddle ScatterpolarMarkerColorbarYanchor = "middle" + ScatterpolarMarkerColorbarYanchorBottom ScatterpolarMarkerColorbarYanchor = "bottom" +) + +// ScatterpolarMarkerColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type ScatterpolarMarkerColorbarYref string + +const ( + ScatterpolarMarkerColorbarYrefContainer ScatterpolarMarkerColorbarYref = "container" + ScatterpolarMarkerColorbarYrefPaper ScatterpolarMarkerColorbarYref = "paper" +) + +// ScatterpolarMarkerGradientType Sets the type of gradient used to fill the markers +type ScatterpolarMarkerGradientType string + +const ( + ScatterpolarMarkerGradientTypeRadial ScatterpolarMarkerGradientType = "radial" + ScatterpolarMarkerGradientTypeHorizontal ScatterpolarMarkerGradientType = "horizontal" + ScatterpolarMarkerGradientTypeVertical ScatterpolarMarkerGradientType = "vertical" + ScatterpolarMarkerGradientTypeNone ScatterpolarMarkerGradientType = "none" +) + +// ScatterpolarMarkerSizemode 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. +type ScatterpolarMarkerSizemode string + +const ( + ScatterpolarMarkerSizemodeDiameter ScatterpolarMarkerSizemode = "diameter" + ScatterpolarMarkerSizemodeArea ScatterpolarMarkerSizemode = "area" +) + +// ScatterpolarMarkerSymbol 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. +type ScatterpolarMarkerSymbol interface{} + +var ( + ScatterpolarMarkerSymbolNumber0 ScatterpolarMarkerSymbol = 0 + ScatterpolarMarkerSymbol0 ScatterpolarMarkerSymbol = "0" + ScatterpolarMarkerSymbolCircle ScatterpolarMarkerSymbol = "circle" + ScatterpolarMarkerSymbolNumber100 ScatterpolarMarkerSymbol = 100 + ScatterpolarMarkerSymbol100 ScatterpolarMarkerSymbol = "100" + ScatterpolarMarkerSymbolCircleOpen ScatterpolarMarkerSymbol = "circle-open" + ScatterpolarMarkerSymbolNumber200 ScatterpolarMarkerSymbol = 200 + ScatterpolarMarkerSymbol200 ScatterpolarMarkerSymbol = "200" + ScatterpolarMarkerSymbolCircleDot ScatterpolarMarkerSymbol = "circle-dot" + ScatterpolarMarkerSymbolNumber300 ScatterpolarMarkerSymbol = 300 + ScatterpolarMarkerSymbol300 ScatterpolarMarkerSymbol = "300" + ScatterpolarMarkerSymbolCircleOpenDot ScatterpolarMarkerSymbol = "circle-open-dot" + ScatterpolarMarkerSymbolNumber1 ScatterpolarMarkerSymbol = 1 + ScatterpolarMarkerSymbol1 ScatterpolarMarkerSymbol = "1" + ScatterpolarMarkerSymbolSquare ScatterpolarMarkerSymbol = "square" + ScatterpolarMarkerSymbolNumber101 ScatterpolarMarkerSymbol = 101 + ScatterpolarMarkerSymbol101 ScatterpolarMarkerSymbol = "101" + ScatterpolarMarkerSymbolSquareOpen ScatterpolarMarkerSymbol = "square-open" + ScatterpolarMarkerSymbolNumber201 ScatterpolarMarkerSymbol = 201 + ScatterpolarMarkerSymbol201 ScatterpolarMarkerSymbol = "201" + ScatterpolarMarkerSymbolSquareDot ScatterpolarMarkerSymbol = "square-dot" + ScatterpolarMarkerSymbolNumber301 ScatterpolarMarkerSymbol = 301 + ScatterpolarMarkerSymbol301 ScatterpolarMarkerSymbol = "301" + ScatterpolarMarkerSymbolSquareOpenDot ScatterpolarMarkerSymbol = "square-open-dot" + ScatterpolarMarkerSymbolNumber2 ScatterpolarMarkerSymbol = 2 + ScatterpolarMarkerSymbol2 ScatterpolarMarkerSymbol = "2" + ScatterpolarMarkerSymbolDiamond ScatterpolarMarkerSymbol = "diamond" + ScatterpolarMarkerSymbolNumber102 ScatterpolarMarkerSymbol = 102 + ScatterpolarMarkerSymbol102 ScatterpolarMarkerSymbol = "102" + ScatterpolarMarkerSymbolDiamondOpen ScatterpolarMarkerSymbol = "diamond-open" + ScatterpolarMarkerSymbolNumber202 ScatterpolarMarkerSymbol = 202 + ScatterpolarMarkerSymbol202 ScatterpolarMarkerSymbol = "202" + ScatterpolarMarkerSymbolDiamondDot ScatterpolarMarkerSymbol = "diamond-dot" + ScatterpolarMarkerSymbolNumber302 ScatterpolarMarkerSymbol = 302 + ScatterpolarMarkerSymbol302 ScatterpolarMarkerSymbol = "302" + ScatterpolarMarkerSymbolDiamondOpenDot ScatterpolarMarkerSymbol = "diamond-open-dot" + ScatterpolarMarkerSymbolNumber3 ScatterpolarMarkerSymbol = 3 + ScatterpolarMarkerSymbol3 ScatterpolarMarkerSymbol = "3" + ScatterpolarMarkerSymbolCross ScatterpolarMarkerSymbol = "cross" + ScatterpolarMarkerSymbolNumber103 ScatterpolarMarkerSymbol = 103 + ScatterpolarMarkerSymbol103 ScatterpolarMarkerSymbol = "103" + ScatterpolarMarkerSymbolCrossOpen ScatterpolarMarkerSymbol = "cross-open" + ScatterpolarMarkerSymbolNumber203 ScatterpolarMarkerSymbol = 203 + ScatterpolarMarkerSymbol203 ScatterpolarMarkerSymbol = "203" + ScatterpolarMarkerSymbolCrossDot ScatterpolarMarkerSymbol = "cross-dot" + ScatterpolarMarkerSymbolNumber303 ScatterpolarMarkerSymbol = 303 + ScatterpolarMarkerSymbol303 ScatterpolarMarkerSymbol = "303" + ScatterpolarMarkerSymbolCrossOpenDot ScatterpolarMarkerSymbol = "cross-open-dot" + ScatterpolarMarkerSymbolNumber4 ScatterpolarMarkerSymbol = 4 + ScatterpolarMarkerSymbol4 ScatterpolarMarkerSymbol = "4" + ScatterpolarMarkerSymbolX ScatterpolarMarkerSymbol = "x" + ScatterpolarMarkerSymbolNumber104 ScatterpolarMarkerSymbol = 104 + ScatterpolarMarkerSymbol104 ScatterpolarMarkerSymbol = "104" + ScatterpolarMarkerSymbolXOpen ScatterpolarMarkerSymbol = "x-open" + ScatterpolarMarkerSymbolNumber204 ScatterpolarMarkerSymbol = 204 + ScatterpolarMarkerSymbol204 ScatterpolarMarkerSymbol = "204" + ScatterpolarMarkerSymbolXDot ScatterpolarMarkerSymbol = "x-dot" + ScatterpolarMarkerSymbolNumber304 ScatterpolarMarkerSymbol = 304 + ScatterpolarMarkerSymbol304 ScatterpolarMarkerSymbol = "304" + ScatterpolarMarkerSymbolXOpenDot ScatterpolarMarkerSymbol = "x-open-dot" + ScatterpolarMarkerSymbolNumber5 ScatterpolarMarkerSymbol = 5 + ScatterpolarMarkerSymbol5 ScatterpolarMarkerSymbol = "5" + ScatterpolarMarkerSymbolTriangleUp ScatterpolarMarkerSymbol = "triangle-up" + ScatterpolarMarkerSymbolNumber105 ScatterpolarMarkerSymbol = 105 + ScatterpolarMarkerSymbol105 ScatterpolarMarkerSymbol = "105" + ScatterpolarMarkerSymbolTriangleUpOpen ScatterpolarMarkerSymbol = "triangle-up-open" + ScatterpolarMarkerSymbolNumber205 ScatterpolarMarkerSymbol = 205 + ScatterpolarMarkerSymbol205 ScatterpolarMarkerSymbol = "205" + ScatterpolarMarkerSymbolTriangleUpDot ScatterpolarMarkerSymbol = "triangle-up-dot" + ScatterpolarMarkerSymbolNumber305 ScatterpolarMarkerSymbol = 305 + ScatterpolarMarkerSymbol305 ScatterpolarMarkerSymbol = "305" + ScatterpolarMarkerSymbolTriangleUpOpenDot ScatterpolarMarkerSymbol = "triangle-up-open-dot" + ScatterpolarMarkerSymbolNumber6 ScatterpolarMarkerSymbol = 6 + ScatterpolarMarkerSymbol6 ScatterpolarMarkerSymbol = "6" + ScatterpolarMarkerSymbolTriangleDown ScatterpolarMarkerSymbol = "triangle-down" + ScatterpolarMarkerSymbolNumber106 ScatterpolarMarkerSymbol = 106 + ScatterpolarMarkerSymbol106 ScatterpolarMarkerSymbol = "106" + ScatterpolarMarkerSymbolTriangleDownOpen ScatterpolarMarkerSymbol = "triangle-down-open" + ScatterpolarMarkerSymbolNumber206 ScatterpolarMarkerSymbol = 206 + ScatterpolarMarkerSymbol206 ScatterpolarMarkerSymbol = "206" + ScatterpolarMarkerSymbolTriangleDownDot ScatterpolarMarkerSymbol = "triangle-down-dot" + ScatterpolarMarkerSymbolNumber306 ScatterpolarMarkerSymbol = 306 + ScatterpolarMarkerSymbol306 ScatterpolarMarkerSymbol = "306" + ScatterpolarMarkerSymbolTriangleDownOpenDot ScatterpolarMarkerSymbol = "triangle-down-open-dot" + ScatterpolarMarkerSymbolNumber7 ScatterpolarMarkerSymbol = 7 + ScatterpolarMarkerSymbol7 ScatterpolarMarkerSymbol = "7" + ScatterpolarMarkerSymbolTriangleLeft ScatterpolarMarkerSymbol = "triangle-left" + ScatterpolarMarkerSymbolNumber107 ScatterpolarMarkerSymbol = 107 + ScatterpolarMarkerSymbol107 ScatterpolarMarkerSymbol = "107" + ScatterpolarMarkerSymbolTriangleLeftOpen ScatterpolarMarkerSymbol = "triangle-left-open" + ScatterpolarMarkerSymbolNumber207 ScatterpolarMarkerSymbol = 207 + ScatterpolarMarkerSymbol207 ScatterpolarMarkerSymbol = "207" + ScatterpolarMarkerSymbolTriangleLeftDot ScatterpolarMarkerSymbol = "triangle-left-dot" + ScatterpolarMarkerSymbolNumber307 ScatterpolarMarkerSymbol = 307 + ScatterpolarMarkerSymbol307 ScatterpolarMarkerSymbol = "307" + ScatterpolarMarkerSymbolTriangleLeftOpenDot ScatterpolarMarkerSymbol = "triangle-left-open-dot" + ScatterpolarMarkerSymbolNumber8 ScatterpolarMarkerSymbol = 8 + ScatterpolarMarkerSymbol8 ScatterpolarMarkerSymbol = "8" + ScatterpolarMarkerSymbolTriangleRight ScatterpolarMarkerSymbol = "triangle-right" + ScatterpolarMarkerSymbolNumber108 ScatterpolarMarkerSymbol = 108 + ScatterpolarMarkerSymbol108 ScatterpolarMarkerSymbol = "108" + ScatterpolarMarkerSymbolTriangleRightOpen ScatterpolarMarkerSymbol = "triangle-right-open" + ScatterpolarMarkerSymbolNumber208 ScatterpolarMarkerSymbol = 208 + ScatterpolarMarkerSymbol208 ScatterpolarMarkerSymbol = "208" + ScatterpolarMarkerSymbolTriangleRightDot ScatterpolarMarkerSymbol = "triangle-right-dot" + ScatterpolarMarkerSymbolNumber308 ScatterpolarMarkerSymbol = 308 + ScatterpolarMarkerSymbol308 ScatterpolarMarkerSymbol = "308" + ScatterpolarMarkerSymbolTriangleRightOpenDot ScatterpolarMarkerSymbol = "triangle-right-open-dot" + ScatterpolarMarkerSymbolNumber9 ScatterpolarMarkerSymbol = 9 + ScatterpolarMarkerSymbol9 ScatterpolarMarkerSymbol = "9" + ScatterpolarMarkerSymbolTriangleNe ScatterpolarMarkerSymbol = "triangle-ne" + ScatterpolarMarkerSymbolNumber109 ScatterpolarMarkerSymbol = 109 + ScatterpolarMarkerSymbol109 ScatterpolarMarkerSymbol = "109" + ScatterpolarMarkerSymbolTriangleNeOpen ScatterpolarMarkerSymbol = "triangle-ne-open" + ScatterpolarMarkerSymbolNumber209 ScatterpolarMarkerSymbol = 209 + ScatterpolarMarkerSymbol209 ScatterpolarMarkerSymbol = "209" + ScatterpolarMarkerSymbolTriangleNeDot ScatterpolarMarkerSymbol = "triangle-ne-dot" + ScatterpolarMarkerSymbolNumber309 ScatterpolarMarkerSymbol = 309 + ScatterpolarMarkerSymbol309 ScatterpolarMarkerSymbol = "309" + ScatterpolarMarkerSymbolTriangleNeOpenDot ScatterpolarMarkerSymbol = "triangle-ne-open-dot" + ScatterpolarMarkerSymbolNumber10 ScatterpolarMarkerSymbol = 10 + ScatterpolarMarkerSymbol10 ScatterpolarMarkerSymbol = "10" + ScatterpolarMarkerSymbolTriangleSe ScatterpolarMarkerSymbol = "triangle-se" + ScatterpolarMarkerSymbolNumber110 ScatterpolarMarkerSymbol = 110 + ScatterpolarMarkerSymbol110 ScatterpolarMarkerSymbol = "110" + ScatterpolarMarkerSymbolTriangleSeOpen ScatterpolarMarkerSymbol = "triangle-se-open" + ScatterpolarMarkerSymbolNumber210 ScatterpolarMarkerSymbol = 210 + ScatterpolarMarkerSymbol210 ScatterpolarMarkerSymbol = "210" + ScatterpolarMarkerSymbolTriangleSeDot ScatterpolarMarkerSymbol = "triangle-se-dot" + ScatterpolarMarkerSymbolNumber310 ScatterpolarMarkerSymbol = 310 + ScatterpolarMarkerSymbol310 ScatterpolarMarkerSymbol = "310" + ScatterpolarMarkerSymbolTriangleSeOpenDot ScatterpolarMarkerSymbol = "triangle-se-open-dot" + ScatterpolarMarkerSymbolNumber11 ScatterpolarMarkerSymbol = 11 + ScatterpolarMarkerSymbol11 ScatterpolarMarkerSymbol = "11" + ScatterpolarMarkerSymbolTriangleSw ScatterpolarMarkerSymbol = "triangle-sw" + ScatterpolarMarkerSymbolNumber111 ScatterpolarMarkerSymbol = 111 + ScatterpolarMarkerSymbol111 ScatterpolarMarkerSymbol = "111" + ScatterpolarMarkerSymbolTriangleSwOpen ScatterpolarMarkerSymbol = "triangle-sw-open" + ScatterpolarMarkerSymbolNumber211 ScatterpolarMarkerSymbol = 211 + ScatterpolarMarkerSymbol211 ScatterpolarMarkerSymbol = "211" + ScatterpolarMarkerSymbolTriangleSwDot ScatterpolarMarkerSymbol = "triangle-sw-dot" + ScatterpolarMarkerSymbolNumber311 ScatterpolarMarkerSymbol = 311 + ScatterpolarMarkerSymbol311 ScatterpolarMarkerSymbol = "311" + ScatterpolarMarkerSymbolTriangleSwOpenDot ScatterpolarMarkerSymbol = "triangle-sw-open-dot" + ScatterpolarMarkerSymbolNumber12 ScatterpolarMarkerSymbol = 12 + ScatterpolarMarkerSymbol12 ScatterpolarMarkerSymbol = "12" + ScatterpolarMarkerSymbolTriangleNw ScatterpolarMarkerSymbol = "triangle-nw" + ScatterpolarMarkerSymbolNumber112 ScatterpolarMarkerSymbol = 112 + ScatterpolarMarkerSymbol112 ScatterpolarMarkerSymbol = "112" + ScatterpolarMarkerSymbolTriangleNwOpen ScatterpolarMarkerSymbol = "triangle-nw-open" + ScatterpolarMarkerSymbolNumber212 ScatterpolarMarkerSymbol = 212 + ScatterpolarMarkerSymbol212 ScatterpolarMarkerSymbol = "212" + ScatterpolarMarkerSymbolTriangleNwDot ScatterpolarMarkerSymbol = "triangle-nw-dot" + ScatterpolarMarkerSymbolNumber312 ScatterpolarMarkerSymbol = 312 + ScatterpolarMarkerSymbol312 ScatterpolarMarkerSymbol = "312" + ScatterpolarMarkerSymbolTriangleNwOpenDot ScatterpolarMarkerSymbol = "triangle-nw-open-dot" + ScatterpolarMarkerSymbolNumber13 ScatterpolarMarkerSymbol = 13 + ScatterpolarMarkerSymbol13 ScatterpolarMarkerSymbol = "13" + ScatterpolarMarkerSymbolPentagon ScatterpolarMarkerSymbol = "pentagon" + ScatterpolarMarkerSymbolNumber113 ScatterpolarMarkerSymbol = 113 + ScatterpolarMarkerSymbol113 ScatterpolarMarkerSymbol = "113" + ScatterpolarMarkerSymbolPentagonOpen ScatterpolarMarkerSymbol = "pentagon-open" + ScatterpolarMarkerSymbolNumber213 ScatterpolarMarkerSymbol = 213 + ScatterpolarMarkerSymbol213 ScatterpolarMarkerSymbol = "213" + ScatterpolarMarkerSymbolPentagonDot ScatterpolarMarkerSymbol = "pentagon-dot" + ScatterpolarMarkerSymbolNumber313 ScatterpolarMarkerSymbol = 313 + ScatterpolarMarkerSymbol313 ScatterpolarMarkerSymbol = "313" + ScatterpolarMarkerSymbolPentagonOpenDot ScatterpolarMarkerSymbol = "pentagon-open-dot" + ScatterpolarMarkerSymbolNumber14 ScatterpolarMarkerSymbol = 14 + ScatterpolarMarkerSymbol14 ScatterpolarMarkerSymbol = "14" + ScatterpolarMarkerSymbolHexagon ScatterpolarMarkerSymbol = "hexagon" + ScatterpolarMarkerSymbolNumber114 ScatterpolarMarkerSymbol = 114 + ScatterpolarMarkerSymbol114 ScatterpolarMarkerSymbol = "114" + ScatterpolarMarkerSymbolHexagonOpen ScatterpolarMarkerSymbol = "hexagon-open" + ScatterpolarMarkerSymbolNumber214 ScatterpolarMarkerSymbol = 214 + ScatterpolarMarkerSymbol214 ScatterpolarMarkerSymbol = "214" + ScatterpolarMarkerSymbolHexagonDot ScatterpolarMarkerSymbol = "hexagon-dot" + ScatterpolarMarkerSymbolNumber314 ScatterpolarMarkerSymbol = 314 + ScatterpolarMarkerSymbol314 ScatterpolarMarkerSymbol = "314" + ScatterpolarMarkerSymbolHexagonOpenDot ScatterpolarMarkerSymbol = "hexagon-open-dot" + ScatterpolarMarkerSymbolNumber15 ScatterpolarMarkerSymbol = 15 + ScatterpolarMarkerSymbol15 ScatterpolarMarkerSymbol = "15" + ScatterpolarMarkerSymbolHexagon2 ScatterpolarMarkerSymbol = "hexagon2" + ScatterpolarMarkerSymbolNumber115 ScatterpolarMarkerSymbol = 115 + ScatterpolarMarkerSymbol115 ScatterpolarMarkerSymbol = "115" + ScatterpolarMarkerSymbolHexagon2Open ScatterpolarMarkerSymbol = "hexagon2-open" + ScatterpolarMarkerSymbolNumber215 ScatterpolarMarkerSymbol = 215 + ScatterpolarMarkerSymbol215 ScatterpolarMarkerSymbol = "215" + ScatterpolarMarkerSymbolHexagon2Dot ScatterpolarMarkerSymbol = "hexagon2-dot" + ScatterpolarMarkerSymbolNumber315 ScatterpolarMarkerSymbol = 315 + ScatterpolarMarkerSymbol315 ScatterpolarMarkerSymbol = "315" + ScatterpolarMarkerSymbolHexagon2OpenDot ScatterpolarMarkerSymbol = "hexagon2-open-dot" + ScatterpolarMarkerSymbolNumber16 ScatterpolarMarkerSymbol = 16 + ScatterpolarMarkerSymbol16 ScatterpolarMarkerSymbol = "16" + ScatterpolarMarkerSymbolOctagon ScatterpolarMarkerSymbol = "octagon" + ScatterpolarMarkerSymbolNumber116 ScatterpolarMarkerSymbol = 116 + ScatterpolarMarkerSymbol116 ScatterpolarMarkerSymbol = "116" + ScatterpolarMarkerSymbolOctagonOpen ScatterpolarMarkerSymbol = "octagon-open" + ScatterpolarMarkerSymbolNumber216 ScatterpolarMarkerSymbol = 216 + ScatterpolarMarkerSymbol216 ScatterpolarMarkerSymbol = "216" + ScatterpolarMarkerSymbolOctagonDot ScatterpolarMarkerSymbol = "octagon-dot" + ScatterpolarMarkerSymbolNumber316 ScatterpolarMarkerSymbol = 316 + ScatterpolarMarkerSymbol316 ScatterpolarMarkerSymbol = "316" + ScatterpolarMarkerSymbolOctagonOpenDot ScatterpolarMarkerSymbol = "octagon-open-dot" + ScatterpolarMarkerSymbolNumber17 ScatterpolarMarkerSymbol = 17 + ScatterpolarMarkerSymbol17 ScatterpolarMarkerSymbol = "17" + ScatterpolarMarkerSymbolStar ScatterpolarMarkerSymbol = "star" + ScatterpolarMarkerSymbolNumber117 ScatterpolarMarkerSymbol = 117 + ScatterpolarMarkerSymbol117 ScatterpolarMarkerSymbol = "117" + ScatterpolarMarkerSymbolStarOpen ScatterpolarMarkerSymbol = "star-open" + ScatterpolarMarkerSymbolNumber217 ScatterpolarMarkerSymbol = 217 + ScatterpolarMarkerSymbol217 ScatterpolarMarkerSymbol = "217" + ScatterpolarMarkerSymbolStarDot ScatterpolarMarkerSymbol = "star-dot" + ScatterpolarMarkerSymbolNumber317 ScatterpolarMarkerSymbol = 317 + ScatterpolarMarkerSymbol317 ScatterpolarMarkerSymbol = "317" + ScatterpolarMarkerSymbolStarOpenDot ScatterpolarMarkerSymbol = "star-open-dot" + ScatterpolarMarkerSymbolNumber18 ScatterpolarMarkerSymbol = 18 + ScatterpolarMarkerSymbol18 ScatterpolarMarkerSymbol = "18" + ScatterpolarMarkerSymbolHexagram ScatterpolarMarkerSymbol = "hexagram" + ScatterpolarMarkerSymbolNumber118 ScatterpolarMarkerSymbol = 118 + ScatterpolarMarkerSymbol118 ScatterpolarMarkerSymbol = "118" + ScatterpolarMarkerSymbolHexagramOpen ScatterpolarMarkerSymbol = "hexagram-open" + ScatterpolarMarkerSymbolNumber218 ScatterpolarMarkerSymbol = 218 + ScatterpolarMarkerSymbol218 ScatterpolarMarkerSymbol = "218" + ScatterpolarMarkerSymbolHexagramDot ScatterpolarMarkerSymbol = "hexagram-dot" + ScatterpolarMarkerSymbolNumber318 ScatterpolarMarkerSymbol = 318 + ScatterpolarMarkerSymbol318 ScatterpolarMarkerSymbol = "318" + ScatterpolarMarkerSymbolHexagramOpenDot ScatterpolarMarkerSymbol = "hexagram-open-dot" + ScatterpolarMarkerSymbolNumber19 ScatterpolarMarkerSymbol = 19 + ScatterpolarMarkerSymbol19 ScatterpolarMarkerSymbol = "19" + ScatterpolarMarkerSymbolStarTriangleUp ScatterpolarMarkerSymbol = "star-triangle-up" + ScatterpolarMarkerSymbolNumber119 ScatterpolarMarkerSymbol = 119 + ScatterpolarMarkerSymbol119 ScatterpolarMarkerSymbol = "119" + ScatterpolarMarkerSymbolStarTriangleUpOpen ScatterpolarMarkerSymbol = "star-triangle-up-open" + ScatterpolarMarkerSymbolNumber219 ScatterpolarMarkerSymbol = 219 + ScatterpolarMarkerSymbol219 ScatterpolarMarkerSymbol = "219" + ScatterpolarMarkerSymbolStarTriangleUpDot ScatterpolarMarkerSymbol = "star-triangle-up-dot" + ScatterpolarMarkerSymbolNumber319 ScatterpolarMarkerSymbol = 319 + ScatterpolarMarkerSymbol319 ScatterpolarMarkerSymbol = "319" + ScatterpolarMarkerSymbolStarTriangleUpOpenDot ScatterpolarMarkerSymbol = "star-triangle-up-open-dot" + ScatterpolarMarkerSymbolNumber20 ScatterpolarMarkerSymbol = 20 + ScatterpolarMarkerSymbol20 ScatterpolarMarkerSymbol = "20" + ScatterpolarMarkerSymbolStarTriangleDown ScatterpolarMarkerSymbol = "star-triangle-down" + ScatterpolarMarkerSymbolNumber120 ScatterpolarMarkerSymbol = 120 + ScatterpolarMarkerSymbol120 ScatterpolarMarkerSymbol = "120" + ScatterpolarMarkerSymbolStarTriangleDownOpen ScatterpolarMarkerSymbol = "star-triangle-down-open" + ScatterpolarMarkerSymbolNumber220 ScatterpolarMarkerSymbol = 220 + ScatterpolarMarkerSymbol220 ScatterpolarMarkerSymbol = "220" + ScatterpolarMarkerSymbolStarTriangleDownDot ScatterpolarMarkerSymbol = "star-triangle-down-dot" + ScatterpolarMarkerSymbolNumber320 ScatterpolarMarkerSymbol = 320 + ScatterpolarMarkerSymbol320 ScatterpolarMarkerSymbol = "320" + ScatterpolarMarkerSymbolStarTriangleDownOpenDot ScatterpolarMarkerSymbol = "star-triangle-down-open-dot" + ScatterpolarMarkerSymbolNumber21 ScatterpolarMarkerSymbol = 21 + ScatterpolarMarkerSymbol21 ScatterpolarMarkerSymbol = "21" + ScatterpolarMarkerSymbolStarSquare ScatterpolarMarkerSymbol = "star-square" + ScatterpolarMarkerSymbolNumber121 ScatterpolarMarkerSymbol = 121 + ScatterpolarMarkerSymbol121 ScatterpolarMarkerSymbol = "121" + ScatterpolarMarkerSymbolStarSquareOpen ScatterpolarMarkerSymbol = "star-square-open" + ScatterpolarMarkerSymbolNumber221 ScatterpolarMarkerSymbol = 221 + ScatterpolarMarkerSymbol221 ScatterpolarMarkerSymbol = "221" + ScatterpolarMarkerSymbolStarSquareDot ScatterpolarMarkerSymbol = "star-square-dot" + ScatterpolarMarkerSymbolNumber321 ScatterpolarMarkerSymbol = 321 + ScatterpolarMarkerSymbol321 ScatterpolarMarkerSymbol = "321" + ScatterpolarMarkerSymbolStarSquareOpenDot ScatterpolarMarkerSymbol = "star-square-open-dot" + ScatterpolarMarkerSymbolNumber22 ScatterpolarMarkerSymbol = 22 + ScatterpolarMarkerSymbol22 ScatterpolarMarkerSymbol = "22" + ScatterpolarMarkerSymbolStarDiamond ScatterpolarMarkerSymbol = "star-diamond" + ScatterpolarMarkerSymbolNumber122 ScatterpolarMarkerSymbol = 122 + ScatterpolarMarkerSymbol122 ScatterpolarMarkerSymbol = "122" + ScatterpolarMarkerSymbolStarDiamondOpen ScatterpolarMarkerSymbol = "star-diamond-open" + ScatterpolarMarkerSymbolNumber222 ScatterpolarMarkerSymbol = 222 + ScatterpolarMarkerSymbol222 ScatterpolarMarkerSymbol = "222" + ScatterpolarMarkerSymbolStarDiamondDot ScatterpolarMarkerSymbol = "star-diamond-dot" + ScatterpolarMarkerSymbolNumber322 ScatterpolarMarkerSymbol = 322 + ScatterpolarMarkerSymbol322 ScatterpolarMarkerSymbol = "322" + ScatterpolarMarkerSymbolStarDiamondOpenDot ScatterpolarMarkerSymbol = "star-diamond-open-dot" + ScatterpolarMarkerSymbolNumber23 ScatterpolarMarkerSymbol = 23 + ScatterpolarMarkerSymbol23 ScatterpolarMarkerSymbol = "23" + ScatterpolarMarkerSymbolDiamondTall ScatterpolarMarkerSymbol = "diamond-tall" + ScatterpolarMarkerSymbolNumber123 ScatterpolarMarkerSymbol = 123 + ScatterpolarMarkerSymbol123 ScatterpolarMarkerSymbol = "123" + ScatterpolarMarkerSymbolDiamondTallOpen ScatterpolarMarkerSymbol = "diamond-tall-open" + ScatterpolarMarkerSymbolNumber223 ScatterpolarMarkerSymbol = 223 + ScatterpolarMarkerSymbol223 ScatterpolarMarkerSymbol = "223" + ScatterpolarMarkerSymbolDiamondTallDot ScatterpolarMarkerSymbol = "diamond-tall-dot" + ScatterpolarMarkerSymbolNumber323 ScatterpolarMarkerSymbol = 323 + ScatterpolarMarkerSymbol323 ScatterpolarMarkerSymbol = "323" + ScatterpolarMarkerSymbolDiamondTallOpenDot ScatterpolarMarkerSymbol = "diamond-tall-open-dot" + ScatterpolarMarkerSymbolNumber24 ScatterpolarMarkerSymbol = 24 + ScatterpolarMarkerSymbol24 ScatterpolarMarkerSymbol = "24" + ScatterpolarMarkerSymbolDiamondWide ScatterpolarMarkerSymbol = "diamond-wide" + ScatterpolarMarkerSymbolNumber124 ScatterpolarMarkerSymbol = 124 + ScatterpolarMarkerSymbol124 ScatterpolarMarkerSymbol = "124" + ScatterpolarMarkerSymbolDiamondWideOpen ScatterpolarMarkerSymbol = "diamond-wide-open" + ScatterpolarMarkerSymbolNumber224 ScatterpolarMarkerSymbol = 224 + ScatterpolarMarkerSymbol224 ScatterpolarMarkerSymbol = "224" + ScatterpolarMarkerSymbolDiamondWideDot ScatterpolarMarkerSymbol = "diamond-wide-dot" + ScatterpolarMarkerSymbolNumber324 ScatterpolarMarkerSymbol = 324 + ScatterpolarMarkerSymbol324 ScatterpolarMarkerSymbol = "324" + ScatterpolarMarkerSymbolDiamondWideOpenDot ScatterpolarMarkerSymbol = "diamond-wide-open-dot" + ScatterpolarMarkerSymbolNumber25 ScatterpolarMarkerSymbol = 25 + ScatterpolarMarkerSymbol25 ScatterpolarMarkerSymbol = "25" + ScatterpolarMarkerSymbolHourglass ScatterpolarMarkerSymbol = "hourglass" + ScatterpolarMarkerSymbolNumber125 ScatterpolarMarkerSymbol = 125 + ScatterpolarMarkerSymbol125 ScatterpolarMarkerSymbol = "125" + ScatterpolarMarkerSymbolHourglassOpen ScatterpolarMarkerSymbol = "hourglass-open" + ScatterpolarMarkerSymbolNumber26 ScatterpolarMarkerSymbol = 26 + ScatterpolarMarkerSymbol26 ScatterpolarMarkerSymbol = "26" + ScatterpolarMarkerSymbolBowtie ScatterpolarMarkerSymbol = "bowtie" + ScatterpolarMarkerSymbolNumber126 ScatterpolarMarkerSymbol = 126 + ScatterpolarMarkerSymbol126 ScatterpolarMarkerSymbol = "126" + ScatterpolarMarkerSymbolBowtieOpen ScatterpolarMarkerSymbol = "bowtie-open" + ScatterpolarMarkerSymbolNumber27 ScatterpolarMarkerSymbol = 27 + ScatterpolarMarkerSymbol27 ScatterpolarMarkerSymbol = "27" + ScatterpolarMarkerSymbolCircleCross ScatterpolarMarkerSymbol = "circle-cross" + ScatterpolarMarkerSymbolNumber127 ScatterpolarMarkerSymbol = 127 + ScatterpolarMarkerSymbol127 ScatterpolarMarkerSymbol = "127" + ScatterpolarMarkerSymbolCircleCrossOpen ScatterpolarMarkerSymbol = "circle-cross-open" + ScatterpolarMarkerSymbolNumber28 ScatterpolarMarkerSymbol = 28 + ScatterpolarMarkerSymbol28 ScatterpolarMarkerSymbol = "28" + ScatterpolarMarkerSymbolCircleX ScatterpolarMarkerSymbol = "circle-x" + ScatterpolarMarkerSymbolNumber128 ScatterpolarMarkerSymbol = 128 + ScatterpolarMarkerSymbol128 ScatterpolarMarkerSymbol = "128" + ScatterpolarMarkerSymbolCircleXOpen ScatterpolarMarkerSymbol = "circle-x-open" + ScatterpolarMarkerSymbolNumber29 ScatterpolarMarkerSymbol = 29 + ScatterpolarMarkerSymbol29 ScatterpolarMarkerSymbol = "29" + ScatterpolarMarkerSymbolSquareCross ScatterpolarMarkerSymbol = "square-cross" + ScatterpolarMarkerSymbolNumber129 ScatterpolarMarkerSymbol = 129 + ScatterpolarMarkerSymbol129 ScatterpolarMarkerSymbol = "129" + ScatterpolarMarkerSymbolSquareCrossOpen ScatterpolarMarkerSymbol = "square-cross-open" + ScatterpolarMarkerSymbolNumber30 ScatterpolarMarkerSymbol = 30 + ScatterpolarMarkerSymbol30 ScatterpolarMarkerSymbol = "30" + ScatterpolarMarkerSymbolSquareX ScatterpolarMarkerSymbol = "square-x" + ScatterpolarMarkerSymbolNumber130 ScatterpolarMarkerSymbol = 130 + ScatterpolarMarkerSymbol130 ScatterpolarMarkerSymbol = "130" + ScatterpolarMarkerSymbolSquareXOpen ScatterpolarMarkerSymbol = "square-x-open" + ScatterpolarMarkerSymbolNumber31 ScatterpolarMarkerSymbol = 31 + ScatterpolarMarkerSymbol31 ScatterpolarMarkerSymbol = "31" + ScatterpolarMarkerSymbolDiamondCross ScatterpolarMarkerSymbol = "diamond-cross" + ScatterpolarMarkerSymbolNumber131 ScatterpolarMarkerSymbol = 131 + ScatterpolarMarkerSymbol131 ScatterpolarMarkerSymbol = "131" + ScatterpolarMarkerSymbolDiamondCrossOpen ScatterpolarMarkerSymbol = "diamond-cross-open" + ScatterpolarMarkerSymbolNumber32 ScatterpolarMarkerSymbol = 32 + ScatterpolarMarkerSymbol32 ScatterpolarMarkerSymbol = "32" + ScatterpolarMarkerSymbolDiamondX ScatterpolarMarkerSymbol = "diamond-x" + ScatterpolarMarkerSymbolNumber132 ScatterpolarMarkerSymbol = 132 + ScatterpolarMarkerSymbol132 ScatterpolarMarkerSymbol = "132" + ScatterpolarMarkerSymbolDiamondXOpen ScatterpolarMarkerSymbol = "diamond-x-open" + ScatterpolarMarkerSymbolNumber33 ScatterpolarMarkerSymbol = 33 + ScatterpolarMarkerSymbol33 ScatterpolarMarkerSymbol = "33" + ScatterpolarMarkerSymbolCrossThin ScatterpolarMarkerSymbol = "cross-thin" + ScatterpolarMarkerSymbolNumber133 ScatterpolarMarkerSymbol = 133 + ScatterpolarMarkerSymbol133 ScatterpolarMarkerSymbol = "133" + ScatterpolarMarkerSymbolCrossThinOpen ScatterpolarMarkerSymbol = "cross-thin-open" + ScatterpolarMarkerSymbolNumber34 ScatterpolarMarkerSymbol = 34 + ScatterpolarMarkerSymbol34 ScatterpolarMarkerSymbol = "34" + ScatterpolarMarkerSymbolXThin ScatterpolarMarkerSymbol = "x-thin" + ScatterpolarMarkerSymbolNumber134 ScatterpolarMarkerSymbol = 134 + ScatterpolarMarkerSymbol134 ScatterpolarMarkerSymbol = "134" + ScatterpolarMarkerSymbolXThinOpen ScatterpolarMarkerSymbol = "x-thin-open" + ScatterpolarMarkerSymbolNumber35 ScatterpolarMarkerSymbol = 35 + ScatterpolarMarkerSymbol35 ScatterpolarMarkerSymbol = "35" + ScatterpolarMarkerSymbolAsterisk ScatterpolarMarkerSymbol = "asterisk" + ScatterpolarMarkerSymbolNumber135 ScatterpolarMarkerSymbol = 135 + ScatterpolarMarkerSymbol135 ScatterpolarMarkerSymbol = "135" + ScatterpolarMarkerSymbolAsteriskOpen ScatterpolarMarkerSymbol = "asterisk-open" + ScatterpolarMarkerSymbolNumber36 ScatterpolarMarkerSymbol = 36 + ScatterpolarMarkerSymbol36 ScatterpolarMarkerSymbol = "36" + ScatterpolarMarkerSymbolHash ScatterpolarMarkerSymbol = "hash" + ScatterpolarMarkerSymbolNumber136 ScatterpolarMarkerSymbol = 136 + ScatterpolarMarkerSymbol136 ScatterpolarMarkerSymbol = "136" + ScatterpolarMarkerSymbolHashOpen ScatterpolarMarkerSymbol = "hash-open" + ScatterpolarMarkerSymbolNumber236 ScatterpolarMarkerSymbol = 236 + ScatterpolarMarkerSymbol236 ScatterpolarMarkerSymbol = "236" + ScatterpolarMarkerSymbolHashDot ScatterpolarMarkerSymbol = "hash-dot" + ScatterpolarMarkerSymbolNumber336 ScatterpolarMarkerSymbol = 336 + ScatterpolarMarkerSymbol336 ScatterpolarMarkerSymbol = "336" + ScatterpolarMarkerSymbolHashOpenDot ScatterpolarMarkerSymbol = "hash-open-dot" + ScatterpolarMarkerSymbolNumber37 ScatterpolarMarkerSymbol = 37 + ScatterpolarMarkerSymbol37 ScatterpolarMarkerSymbol = "37" + ScatterpolarMarkerSymbolYUp ScatterpolarMarkerSymbol = "y-up" + ScatterpolarMarkerSymbolNumber137 ScatterpolarMarkerSymbol = 137 + ScatterpolarMarkerSymbol137 ScatterpolarMarkerSymbol = "137" + ScatterpolarMarkerSymbolYUpOpen ScatterpolarMarkerSymbol = "y-up-open" + ScatterpolarMarkerSymbolNumber38 ScatterpolarMarkerSymbol = 38 + ScatterpolarMarkerSymbol38 ScatterpolarMarkerSymbol = "38" + ScatterpolarMarkerSymbolYDown ScatterpolarMarkerSymbol = "y-down" + ScatterpolarMarkerSymbolNumber138 ScatterpolarMarkerSymbol = 138 + ScatterpolarMarkerSymbol138 ScatterpolarMarkerSymbol = "138" + ScatterpolarMarkerSymbolYDownOpen ScatterpolarMarkerSymbol = "y-down-open" + ScatterpolarMarkerSymbolNumber39 ScatterpolarMarkerSymbol = 39 + ScatterpolarMarkerSymbol39 ScatterpolarMarkerSymbol = "39" + ScatterpolarMarkerSymbolYLeft ScatterpolarMarkerSymbol = "y-left" + ScatterpolarMarkerSymbolNumber139 ScatterpolarMarkerSymbol = 139 + ScatterpolarMarkerSymbol139 ScatterpolarMarkerSymbol = "139" + ScatterpolarMarkerSymbolYLeftOpen ScatterpolarMarkerSymbol = "y-left-open" + ScatterpolarMarkerSymbolNumber40 ScatterpolarMarkerSymbol = 40 + ScatterpolarMarkerSymbol40 ScatterpolarMarkerSymbol = "40" + ScatterpolarMarkerSymbolYRight ScatterpolarMarkerSymbol = "y-right" + ScatterpolarMarkerSymbolNumber140 ScatterpolarMarkerSymbol = 140 + ScatterpolarMarkerSymbol140 ScatterpolarMarkerSymbol = "140" + ScatterpolarMarkerSymbolYRightOpen ScatterpolarMarkerSymbol = "y-right-open" + ScatterpolarMarkerSymbolNumber41 ScatterpolarMarkerSymbol = 41 + ScatterpolarMarkerSymbol41 ScatterpolarMarkerSymbol = "41" + ScatterpolarMarkerSymbolLineEw ScatterpolarMarkerSymbol = "line-ew" + ScatterpolarMarkerSymbolNumber141 ScatterpolarMarkerSymbol = 141 + ScatterpolarMarkerSymbol141 ScatterpolarMarkerSymbol = "141" + ScatterpolarMarkerSymbolLineEwOpen ScatterpolarMarkerSymbol = "line-ew-open" + ScatterpolarMarkerSymbolNumber42 ScatterpolarMarkerSymbol = 42 + ScatterpolarMarkerSymbol42 ScatterpolarMarkerSymbol = "42" + ScatterpolarMarkerSymbolLineNs ScatterpolarMarkerSymbol = "line-ns" + ScatterpolarMarkerSymbolNumber142 ScatterpolarMarkerSymbol = 142 + ScatterpolarMarkerSymbol142 ScatterpolarMarkerSymbol = "142" + ScatterpolarMarkerSymbolLineNsOpen ScatterpolarMarkerSymbol = "line-ns-open" + ScatterpolarMarkerSymbolNumber43 ScatterpolarMarkerSymbol = 43 + ScatterpolarMarkerSymbol43 ScatterpolarMarkerSymbol = "43" + ScatterpolarMarkerSymbolLineNe ScatterpolarMarkerSymbol = "line-ne" + ScatterpolarMarkerSymbolNumber143 ScatterpolarMarkerSymbol = 143 + ScatterpolarMarkerSymbol143 ScatterpolarMarkerSymbol = "143" + ScatterpolarMarkerSymbolLineNeOpen ScatterpolarMarkerSymbol = "line-ne-open" + ScatterpolarMarkerSymbolNumber44 ScatterpolarMarkerSymbol = 44 + ScatterpolarMarkerSymbol44 ScatterpolarMarkerSymbol = "44" + ScatterpolarMarkerSymbolLineNw ScatterpolarMarkerSymbol = "line-nw" + ScatterpolarMarkerSymbolNumber144 ScatterpolarMarkerSymbol = 144 + ScatterpolarMarkerSymbol144 ScatterpolarMarkerSymbol = "144" + ScatterpolarMarkerSymbolLineNwOpen ScatterpolarMarkerSymbol = "line-nw-open" + ScatterpolarMarkerSymbolNumber45 ScatterpolarMarkerSymbol = 45 + ScatterpolarMarkerSymbol45 ScatterpolarMarkerSymbol = "45" + ScatterpolarMarkerSymbolArrowUp ScatterpolarMarkerSymbol = "arrow-up" + ScatterpolarMarkerSymbolNumber145 ScatterpolarMarkerSymbol = 145 + ScatterpolarMarkerSymbol145 ScatterpolarMarkerSymbol = "145" + ScatterpolarMarkerSymbolArrowUpOpen ScatterpolarMarkerSymbol = "arrow-up-open" + ScatterpolarMarkerSymbolNumber46 ScatterpolarMarkerSymbol = 46 + ScatterpolarMarkerSymbol46 ScatterpolarMarkerSymbol = "46" + ScatterpolarMarkerSymbolArrowDown ScatterpolarMarkerSymbol = "arrow-down" + ScatterpolarMarkerSymbolNumber146 ScatterpolarMarkerSymbol = 146 + ScatterpolarMarkerSymbol146 ScatterpolarMarkerSymbol = "146" + ScatterpolarMarkerSymbolArrowDownOpen ScatterpolarMarkerSymbol = "arrow-down-open" + ScatterpolarMarkerSymbolNumber47 ScatterpolarMarkerSymbol = 47 + ScatterpolarMarkerSymbol47 ScatterpolarMarkerSymbol = "47" + ScatterpolarMarkerSymbolArrowLeft ScatterpolarMarkerSymbol = "arrow-left" + ScatterpolarMarkerSymbolNumber147 ScatterpolarMarkerSymbol = 147 + ScatterpolarMarkerSymbol147 ScatterpolarMarkerSymbol = "147" + ScatterpolarMarkerSymbolArrowLeftOpen ScatterpolarMarkerSymbol = "arrow-left-open" + ScatterpolarMarkerSymbolNumber48 ScatterpolarMarkerSymbol = 48 + ScatterpolarMarkerSymbol48 ScatterpolarMarkerSymbol = "48" + ScatterpolarMarkerSymbolArrowRight ScatterpolarMarkerSymbol = "arrow-right" + ScatterpolarMarkerSymbolNumber148 ScatterpolarMarkerSymbol = 148 + ScatterpolarMarkerSymbol148 ScatterpolarMarkerSymbol = "148" + ScatterpolarMarkerSymbolArrowRightOpen ScatterpolarMarkerSymbol = "arrow-right-open" + ScatterpolarMarkerSymbolNumber49 ScatterpolarMarkerSymbol = 49 + ScatterpolarMarkerSymbol49 ScatterpolarMarkerSymbol = "49" + ScatterpolarMarkerSymbolArrowBarUp ScatterpolarMarkerSymbol = "arrow-bar-up" + ScatterpolarMarkerSymbolNumber149 ScatterpolarMarkerSymbol = 149 + ScatterpolarMarkerSymbol149 ScatterpolarMarkerSymbol = "149" + ScatterpolarMarkerSymbolArrowBarUpOpen ScatterpolarMarkerSymbol = "arrow-bar-up-open" + ScatterpolarMarkerSymbolNumber50 ScatterpolarMarkerSymbol = 50 + ScatterpolarMarkerSymbol50 ScatterpolarMarkerSymbol = "50" + ScatterpolarMarkerSymbolArrowBarDown ScatterpolarMarkerSymbol = "arrow-bar-down" + ScatterpolarMarkerSymbolNumber150 ScatterpolarMarkerSymbol = 150 + ScatterpolarMarkerSymbol150 ScatterpolarMarkerSymbol = "150" + ScatterpolarMarkerSymbolArrowBarDownOpen ScatterpolarMarkerSymbol = "arrow-bar-down-open" + ScatterpolarMarkerSymbolNumber51 ScatterpolarMarkerSymbol = 51 + ScatterpolarMarkerSymbol51 ScatterpolarMarkerSymbol = "51" + ScatterpolarMarkerSymbolArrowBarLeft ScatterpolarMarkerSymbol = "arrow-bar-left" + ScatterpolarMarkerSymbolNumber151 ScatterpolarMarkerSymbol = 151 + ScatterpolarMarkerSymbol151 ScatterpolarMarkerSymbol = "151" + ScatterpolarMarkerSymbolArrowBarLeftOpen ScatterpolarMarkerSymbol = "arrow-bar-left-open" + ScatterpolarMarkerSymbolNumber52 ScatterpolarMarkerSymbol = 52 + ScatterpolarMarkerSymbol52 ScatterpolarMarkerSymbol = "52" + ScatterpolarMarkerSymbolArrowBarRight ScatterpolarMarkerSymbol = "arrow-bar-right" + ScatterpolarMarkerSymbolNumber152 ScatterpolarMarkerSymbol = 152 + ScatterpolarMarkerSymbol152 ScatterpolarMarkerSymbol = "152" + ScatterpolarMarkerSymbolArrowBarRightOpen ScatterpolarMarkerSymbol = "arrow-bar-right-open" + ScatterpolarMarkerSymbolNumber53 ScatterpolarMarkerSymbol = 53 + ScatterpolarMarkerSymbol53 ScatterpolarMarkerSymbol = "53" + ScatterpolarMarkerSymbolArrow ScatterpolarMarkerSymbol = "arrow" + ScatterpolarMarkerSymbolNumber153 ScatterpolarMarkerSymbol = 153 + ScatterpolarMarkerSymbol153 ScatterpolarMarkerSymbol = "153" + ScatterpolarMarkerSymbolArrowOpen ScatterpolarMarkerSymbol = "arrow-open" + ScatterpolarMarkerSymbolNumber54 ScatterpolarMarkerSymbol = 54 + ScatterpolarMarkerSymbol54 ScatterpolarMarkerSymbol = "54" + ScatterpolarMarkerSymbolArrowWide ScatterpolarMarkerSymbol = "arrow-wide" + ScatterpolarMarkerSymbolNumber154 ScatterpolarMarkerSymbol = 154 + ScatterpolarMarkerSymbol154 ScatterpolarMarkerSymbol = "154" + ScatterpolarMarkerSymbolArrowWideOpen ScatterpolarMarkerSymbol = "arrow-wide-open" +) + +// ScatterpolarTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. +type ScatterpolarTextposition string + +const ( + ScatterpolarTextpositionTopLeft ScatterpolarTextposition = "top left" + ScatterpolarTextpositionTopCenter ScatterpolarTextposition = "top center" + ScatterpolarTextpositionTopRight ScatterpolarTextposition = "top right" + ScatterpolarTextpositionMiddleLeft ScatterpolarTextposition = "middle left" + ScatterpolarTextpositionMiddleCenter ScatterpolarTextposition = "middle center" + ScatterpolarTextpositionMiddleRight ScatterpolarTextposition = "middle right" + ScatterpolarTextpositionBottomLeft ScatterpolarTextposition = "bottom left" + ScatterpolarTextpositionBottomCenter ScatterpolarTextposition = "bottom center" + ScatterpolarTextpositionBottomRight ScatterpolarTextposition = "bottom right" +) + +// ScatterpolarThetaunit Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes. +type ScatterpolarThetaunit string + +const ( + ScatterpolarThetaunitRadians ScatterpolarThetaunit = "radians" + ScatterpolarThetaunitDegrees ScatterpolarThetaunit = "degrees" + ScatterpolarThetaunitGradians ScatterpolarThetaunit = "gradians" +) + +// ScatterpolarVisible 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). +type ScatterpolarVisible interface{} + +var ( + ScatterpolarVisibleTrue ScatterpolarVisible = true + ScatterpolarVisibleFalse ScatterpolarVisible = false + ScatterpolarVisibleLegendonly ScatterpolarVisible = "legendonly" +) + +// ScatterpolarHoverinfo 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. +type ScatterpolarHoverinfo string + +const ( + // Flags + ScatterpolarHoverinfoR ScatterpolarHoverinfo = "r" + ScatterpolarHoverinfoTheta ScatterpolarHoverinfo = "theta" + ScatterpolarHoverinfoText ScatterpolarHoverinfo = "text" + ScatterpolarHoverinfoName ScatterpolarHoverinfo = "name" + + // Extra + ScatterpolarHoverinfoAll ScatterpolarHoverinfo = "all" + ScatterpolarHoverinfoNone ScatterpolarHoverinfo = "none" + ScatterpolarHoverinfoSkip ScatterpolarHoverinfo = "skip" +) + +// ScatterpolarHoveron 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*. +type ScatterpolarHoveron string + +const ( + // Flags + ScatterpolarHoveronPoints ScatterpolarHoveron = "points" + ScatterpolarHoveronFills ScatterpolarHoveron = "fills" + + // Extra + +) + +// ScatterpolarMode 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*. +type ScatterpolarMode string + +const ( + // Flags + ScatterpolarModeLines ScatterpolarMode = "lines" + ScatterpolarModeMarkers ScatterpolarMode = "markers" + ScatterpolarModeText ScatterpolarMode = "text" + + // Extra + ScatterpolarModeNone ScatterpolarMode = "none" +) diff --git a/generated/v2.29.1/graph_objects/scatterpolargl_gen.go b/generated/v2.29.1/graph_objects/scatterpolargl_gen.go new file mode 100644 index 0000000..67d3515 --- /dev/null +++ b/generated/v2.29.1/graph_objects/scatterpolargl_gen.go @@ -0,0 +1,1931 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeScatterpolargl TraceType = "scatterpolargl" + +func (trace *Scatterpolargl) GetType() TraceType { + return TraceTypeScatterpolargl +} + +// Scatterpolargl 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. +type Scatterpolargl struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Connectgaps + // arrayOK: false + // type: boolean + // Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected. + Connectgaps Bool `json:"connectgaps,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Dr + // arrayOK: false + // type: number + // Sets the r coordinate step. + Dr float64 `json:"dr,omitempty"` + + // Dtheta + // arrayOK: false + // 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. + Dtheta float64 `json:"dtheta,omitempty"` + + // Fill + // default: none + // type: enumerated + // 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. + Fill ScatterpolarglFill `json:"fill,omitempty"` + + // Fillcolor + // arrayOK: false + // 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. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo ScatterpolarglHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *ScatterpolarglHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *ScatterpolarglLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *ScatterpolarglLine `json:"line,omitempty"` + + // Marker + // role: Object + Marker *ScatterpolarglMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Mode + // default: %!s() + // type: flaglist + // 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*. + Mode ScatterpolarglMode `json:"mode,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // R + // arrayOK: false + // type: data_array + // Sets the radial coordinates + R interface{} `json:"r,omitempty"` + + // R0 + // arrayOK: false + // type: any + // Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step. + R0 interface{} `json:"r0,omitempty"` + + // Rsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `r`. + Rsrc String `json:"rsrc,omitempty"` + + // Selected + // role: Object + Selected *ScatterpolarglSelected `json:"selected,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Stream + // role: Object + Stream *ScatterpolarglStream `json:"stream,omitempty"` + + // Subplot + // arrayOK: false + // type: subplotid + // 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. + Subplot String `json:"subplot,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textfont + // role: Object + Textfont *ScatterpolarglTextfont `json:"textfont,omitempty"` + + // Textposition + // default: middle center + // type: enumerated + // Sets the positions of the `text` elements with respects to the (x,y) coordinates. + Textposition ScatterpolarglTextposition `json:"textposition,omitempty"` + + // Textpositionsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `textposition`. + Textpositionsrc String `json:"textpositionsrc,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: true + // 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 `r`, `theta` and `text`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Texttemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `texttemplate`. + Texttemplatesrc String `json:"texttemplatesrc,omitempty"` + + // Theta + // arrayOK: false + // type: data_array + // Sets the angular coordinates + Theta interface{} `json:"theta,omitempty"` + + // Theta0 + // arrayOK: false + // type: any + // Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step. + Theta0 interface{} `json:"theta0,omitempty"` + + // Thetasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `theta`. + Thetasrc String `json:"thetasrc,omitempty"` + + // Thetaunit + // default: degrees + // type: enumerated + // Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes. + Thetaunit ScatterpolarglThetaunit `json:"thetaunit,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Unselected + // role: Object + Unselected *ScatterpolarglUnselected `json:"unselected,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible ScatterpolarglVisible `json:"visible,omitempty"` +} + +// ScatterpolarglHoverlabelFont Sets the font used in hover labels. +type ScatterpolarglHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ScatterpolarglHoverlabel +type ScatterpolarglHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align ScatterpolarglHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *ScatterpolarglHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// ScatterpolarglLegendgrouptitleFont Sets this legend group's title font. +type ScatterpolarglLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScatterpolarglLegendgrouptitle +type ScatterpolarglLegendgrouptitle struct { + + // Font + // role: Object + Font *ScatterpolarglLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// ScatterpolarglLine +type ScatterpolarglLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the line color. + Color Color `json:"color,omitempty"` + + // Dash + // default: solid + // type: enumerated + // Sets the style of the lines. + Dash ScatterpolarglLineDash `json:"dash,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width (in px). + Width float64 `json:"width,omitempty"` +} + +// ScatterpolarglMarkerColorbarTickfont Sets the color bar's tick label font +type ScatterpolarglMarkerColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScatterpolarglMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type ScatterpolarglMarkerColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScatterpolarglMarkerColorbarTitle +type ScatterpolarglMarkerColorbarTitle struct { + + // Font + // role: Object + Font *ScatterpolarglMarkerColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side ScatterpolarglMarkerColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// ScatterpolarglMarkerColorbar +type ScatterpolarglMarkerColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat ScatterpolarglMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode ScatterpolarglMarkerColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ScatterpolarglMarkerColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent ScatterpolarglMarkerColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix ScatterpolarglMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix ScatterpolarglMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode ScatterpolarglMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *ScatterpolarglMarkerColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ScatterpolarglMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition ScatterpolarglMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode ScatterpolarglMarkerColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks ScatterpolarglMarkerColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *ScatterpolarglMarkerColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor ScatterpolarglMarkerColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref ScatterpolarglMarkerColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor ScatterpolarglMarkerColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref ScatterpolarglMarkerColorbarYref `json:"yref,omitempty"` +} + +// ScatterpolarglMarkerLine +type ScatterpolarglMarkerLine struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the lines bounding the marker points. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// ScatterpolarglMarker +type ScatterpolarglMarker struct { + + // Angle + // arrayOK: true + // type: angle + // Sets the marker angle in respect to `angleref`. + Angle float64 `json:"angle,omitempty"` + + // Anglesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `angle`. + Anglesrc String `json:"anglesrc,omitempty"` + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *ScatterpolarglMarkerColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Line + // role: Object + Line *ScatterpolarglMarkerLine `json:"line,omitempty"` + + // Opacity + // arrayOK: true + // type: number + // Sets the marker opacity. + Opacity float64 `json:"opacity,omitempty"` + + // Opacitysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `opacity`. + Opacitysrc String `json:"opacitysrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the marker size (in px). + Size float64 `json:"size,omitempty"` + + // Sizemin + // arrayOK: false + // 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. + Sizemin float64 `json:"sizemin,omitempty"` + + // Sizemode + // default: diameter + // type: enumerated + // 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. + Sizemode ScatterpolarglMarkerSizemode `json:"sizemode,omitempty"` + + // Sizeref + // arrayOK: false + // type: number + // 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`. + Sizeref float64 `json:"sizeref,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Symbol + // default: circle + // type: enumerated + // 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. + Symbol ScatterpolarglMarkerSymbol `json:"symbol,omitempty"` + + // Symbolsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `symbol`. + Symbolsrc String `json:"symbolsrc,omitempty"` +} + +// ScatterpolarglSelectedMarker +type ScatterpolarglSelectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of selected points. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of selected points. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of selected points. + Size float64 `json:"size,omitempty"` +} + +// ScatterpolarglSelectedTextfont +type ScatterpolarglSelectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of selected points. + Color Color `json:"color,omitempty"` +} + +// ScatterpolarglSelected +type ScatterpolarglSelected struct { + + // Marker + // role: Object + Marker *ScatterpolarglSelectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *ScatterpolarglSelectedTextfont `json:"textfont,omitempty"` +} + +// ScatterpolarglStream +type ScatterpolarglStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// ScatterpolarglTextfont Sets the text font. +type ScatterpolarglTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ScatterpolarglUnselectedMarker +type ScatterpolarglUnselectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of unselected points, applied only when a selection exists. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of unselected points, applied only when a selection exists. + Size float64 `json:"size,omitempty"` +} + +// ScatterpolarglUnselectedTextfont +type ScatterpolarglUnselectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` +} + +// ScatterpolarglUnselected +type ScatterpolarglUnselected struct { + + // Marker + // role: Object + Marker *ScatterpolarglUnselectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *ScatterpolarglUnselectedTextfont `json:"textfont,omitempty"` +} + +// ScatterpolarglFill 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. +type ScatterpolarglFill string + +const ( + ScatterpolarglFillNone ScatterpolarglFill = "none" + ScatterpolarglFillTozeroy ScatterpolarglFill = "tozeroy" + ScatterpolarglFillTozerox ScatterpolarglFill = "tozerox" + ScatterpolarglFillTonexty ScatterpolarglFill = "tonexty" + ScatterpolarglFillTonextx ScatterpolarglFill = "tonextx" + ScatterpolarglFillToself ScatterpolarglFill = "toself" + ScatterpolarglFillTonext ScatterpolarglFill = "tonext" +) + +// ScatterpolarglHoverlabelAlign 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 +type ScatterpolarglHoverlabelAlign string + +const ( + ScatterpolarglHoverlabelAlignLeft ScatterpolarglHoverlabelAlign = "left" + ScatterpolarglHoverlabelAlignRight ScatterpolarglHoverlabelAlign = "right" + ScatterpolarglHoverlabelAlignAuto ScatterpolarglHoverlabelAlign = "auto" +) + +// ScatterpolarglLineDash Sets the style of the lines. +type ScatterpolarglLineDash string + +const ( + ScatterpolarglLineDashDash ScatterpolarglLineDash = "dash" + ScatterpolarglLineDashDashdot ScatterpolarglLineDash = "dashdot" + ScatterpolarglLineDashDot ScatterpolarglLineDash = "dot" + ScatterpolarglLineDashLongdash ScatterpolarglLineDash = "longdash" + ScatterpolarglLineDashLongdashdot ScatterpolarglLineDash = "longdashdot" + ScatterpolarglLineDashSolid ScatterpolarglLineDash = "solid" +) + +// ScatterpolarglMarkerColorbarExponentformat 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. +type ScatterpolarglMarkerColorbarExponentformat string + +const ( + ScatterpolarglMarkerColorbarExponentformatNone ScatterpolarglMarkerColorbarExponentformat = "none" + ScatterpolarglMarkerColorbarExponentformatE1 ScatterpolarglMarkerColorbarExponentformat = "e" + ScatterpolarglMarkerColorbarExponentformatE2 ScatterpolarglMarkerColorbarExponentformat = "E" + ScatterpolarglMarkerColorbarExponentformatPower ScatterpolarglMarkerColorbarExponentformat = "power" + ScatterpolarglMarkerColorbarExponentformatSI ScatterpolarglMarkerColorbarExponentformat = "SI" + ScatterpolarglMarkerColorbarExponentformatB ScatterpolarglMarkerColorbarExponentformat = "B" +) + +// ScatterpolarglMarkerColorbarLenmode 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. +type ScatterpolarglMarkerColorbarLenmode string + +const ( + ScatterpolarglMarkerColorbarLenmodeFraction ScatterpolarglMarkerColorbarLenmode = "fraction" + ScatterpolarglMarkerColorbarLenmodePixels ScatterpolarglMarkerColorbarLenmode = "pixels" +) + +// ScatterpolarglMarkerColorbarOrientation Sets the orientation of the colorbar. +type ScatterpolarglMarkerColorbarOrientation string + +const ( + ScatterpolarglMarkerColorbarOrientationH ScatterpolarglMarkerColorbarOrientation = "h" + ScatterpolarglMarkerColorbarOrientationV ScatterpolarglMarkerColorbarOrientation = "v" +) + +// ScatterpolarglMarkerColorbarShowexponent 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. +type ScatterpolarglMarkerColorbarShowexponent string + +const ( + ScatterpolarglMarkerColorbarShowexponentAll ScatterpolarglMarkerColorbarShowexponent = "all" + ScatterpolarglMarkerColorbarShowexponentFirst ScatterpolarglMarkerColorbarShowexponent = "first" + ScatterpolarglMarkerColorbarShowexponentLast ScatterpolarglMarkerColorbarShowexponent = "last" + ScatterpolarglMarkerColorbarShowexponentNone ScatterpolarglMarkerColorbarShowexponent = "none" +) + +// ScatterpolarglMarkerColorbarShowtickprefix 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. +type ScatterpolarglMarkerColorbarShowtickprefix string + +const ( + ScatterpolarglMarkerColorbarShowtickprefixAll ScatterpolarglMarkerColorbarShowtickprefix = "all" + ScatterpolarglMarkerColorbarShowtickprefixFirst ScatterpolarglMarkerColorbarShowtickprefix = "first" + ScatterpolarglMarkerColorbarShowtickprefixLast ScatterpolarglMarkerColorbarShowtickprefix = "last" + ScatterpolarglMarkerColorbarShowtickprefixNone ScatterpolarglMarkerColorbarShowtickprefix = "none" +) + +// ScatterpolarglMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type ScatterpolarglMarkerColorbarShowticksuffix string + +const ( + ScatterpolarglMarkerColorbarShowticksuffixAll ScatterpolarglMarkerColorbarShowticksuffix = "all" + ScatterpolarglMarkerColorbarShowticksuffixFirst ScatterpolarglMarkerColorbarShowticksuffix = "first" + ScatterpolarglMarkerColorbarShowticksuffixLast ScatterpolarglMarkerColorbarShowticksuffix = "last" + ScatterpolarglMarkerColorbarShowticksuffixNone ScatterpolarglMarkerColorbarShowticksuffix = "none" +) + +// ScatterpolarglMarkerColorbarThicknessmode 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. +type ScatterpolarglMarkerColorbarThicknessmode string + +const ( + ScatterpolarglMarkerColorbarThicknessmodeFraction ScatterpolarglMarkerColorbarThicknessmode = "fraction" + ScatterpolarglMarkerColorbarThicknessmodePixels ScatterpolarglMarkerColorbarThicknessmode = "pixels" +) + +// ScatterpolarglMarkerColorbarTicklabeloverflow 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*. +type ScatterpolarglMarkerColorbarTicklabeloverflow string + +const ( + ScatterpolarglMarkerColorbarTicklabeloverflowAllow ScatterpolarglMarkerColorbarTicklabeloverflow = "allow" + ScatterpolarglMarkerColorbarTicklabeloverflowHidePastDiv ScatterpolarglMarkerColorbarTicklabeloverflow = "hide past div" + ScatterpolarglMarkerColorbarTicklabeloverflowHidePastDomain ScatterpolarglMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// ScatterpolarglMarkerColorbarTicklabelposition 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*. +type ScatterpolarglMarkerColorbarTicklabelposition string + +const ( + ScatterpolarglMarkerColorbarTicklabelpositionOutside ScatterpolarglMarkerColorbarTicklabelposition = "outside" + ScatterpolarglMarkerColorbarTicklabelpositionInside ScatterpolarglMarkerColorbarTicklabelposition = "inside" + ScatterpolarglMarkerColorbarTicklabelpositionOutsideTop ScatterpolarglMarkerColorbarTicklabelposition = "outside top" + ScatterpolarglMarkerColorbarTicklabelpositionInsideTop ScatterpolarglMarkerColorbarTicklabelposition = "inside top" + ScatterpolarglMarkerColorbarTicklabelpositionOutsideLeft ScatterpolarglMarkerColorbarTicklabelposition = "outside left" + ScatterpolarglMarkerColorbarTicklabelpositionInsideLeft ScatterpolarglMarkerColorbarTicklabelposition = "inside left" + ScatterpolarglMarkerColorbarTicklabelpositionOutsideRight ScatterpolarglMarkerColorbarTicklabelposition = "outside right" + ScatterpolarglMarkerColorbarTicklabelpositionInsideRight ScatterpolarglMarkerColorbarTicklabelposition = "inside right" + ScatterpolarglMarkerColorbarTicklabelpositionOutsideBottom ScatterpolarglMarkerColorbarTicklabelposition = "outside bottom" + ScatterpolarglMarkerColorbarTicklabelpositionInsideBottom ScatterpolarglMarkerColorbarTicklabelposition = "inside bottom" +) + +// ScatterpolarglMarkerColorbarTickmode 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). +type ScatterpolarglMarkerColorbarTickmode string + +const ( + ScatterpolarglMarkerColorbarTickmodeAuto ScatterpolarglMarkerColorbarTickmode = "auto" + ScatterpolarglMarkerColorbarTickmodeLinear ScatterpolarglMarkerColorbarTickmode = "linear" + ScatterpolarglMarkerColorbarTickmodeArray ScatterpolarglMarkerColorbarTickmode = "array" +) + +// ScatterpolarglMarkerColorbarTicks 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. +type ScatterpolarglMarkerColorbarTicks string + +const ( + ScatterpolarglMarkerColorbarTicksOutside ScatterpolarglMarkerColorbarTicks = "outside" + ScatterpolarglMarkerColorbarTicksInside ScatterpolarglMarkerColorbarTicks = "inside" + ScatterpolarglMarkerColorbarTicksEmpty ScatterpolarglMarkerColorbarTicks = "" +) + +// ScatterpolarglMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type ScatterpolarglMarkerColorbarTitleSide string + +const ( + ScatterpolarglMarkerColorbarTitleSideRight ScatterpolarglMarkerColorbarTitleSide = "right" + ScatterpolarglMarkerColorbarTitleSideTop ScatterpolarglMarkerColorbarTitleSide = "top" + ScatterpolarglMarkerColorbarTitleSideBottom ScatterpolarglMarkerColorbarTitleSide = "bottom" +) + +// ScatterpolarglMarkerColorbarXanchor 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*. +type ScatterpolarglMarkerColorbarXanchor string + +const ( + ScatterpolarglMarkerColorbarXanchorLeft ScatterpolarglMarkerColorbarXanchor = "left" + ScatterpolarglMarkerColorbarXanchorCenter ScatterpolarglMarkerColorbarXanchor = "center" + ScatterpolarglMarkerColorbarXanchorRight ScatterpolarglMarkerColorbarXanchor = "right" +) + +// ScatterpolarglMarkerColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type ScatterpolarglMarkerColorbarXref string + +const ( + ScatterpolarglMarkerColorbarXrefContainer ScatterpolarglMarkerColorbarXref = "container" + ScatterpolarglMarkerColorbarXrefPaper ScatterpolarglMarkerColorbarXref = "paper" +) + +// ScatterpolarglMarkerColorbarYanchor 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*. +type ScatterpolarglMarkerColorbarYanchor string + +const ( + ScatterpolarglMarkerColorbarYanchorTop ScatterpolarglMarkerColorbarYanchor = "top" + ScatterpolarglMarkerColorbarYanchorMiddle ScatterpolarglMarkerColorbarYanchor = "middle" + ScatterpolarglMarkerColorbarYanchorBottom ScatterpolarglMarkerColorbarYanchor = "bottom" +) + +// ScatterpolarglMarkerColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type ScatterpolarglMarkerColorbarYref string + +const ( + ScatterpolarglMarkerColorbarYrefContainer ScatterpolarglMarkerColorbarYref = "container" + ScatterpolarglMarkerColorbarYrefPaper ScatterpolarglMarkerColorbarYref = "paper" +) + +// ScatterpolarglMarkerSizemode 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. +type ScatterpolarglMarkerSizemode string + +const ( + ScatterpolarglMarkerSizemodeDiameter ScatterpolarglMarkerSizemode = "diameter" + ScatterpolarglMarkerSizemodeArea ScatterpolarglMarkerSizemode = "area" +) + +// ScatterpolarglMarkerSymbol 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. +type ScatterpolarglMarkerSymbol interface{} + +var ( + ScatterpolarglMarkerSymbolNumber0 ScatterpolarglMarkerSymbol = 0 + ScatterpolarglMarkerSymbol0 ScatterpolarglMarkerSymbol = "0" + ScatterpolarglMarkerSymbolCircle ScatterpolarglMarkerSymbol = "circle" + ScatterpolarglMarkerSymbolNumber100 ScatterpolarglMarkerSymbol = 100 + ScatterpolarglMarkerSymbol100 ScatterpolarglMarkerSymbol = "100" + ScatterpolarglMarkerSymbolCircleOpen ScatterpolarglMarkerSymbol = "circle-open" + ScatterpolarglMarkerSymbolNumber200 ScatterpolarglMarkerSymbol = 200 + ScatterpolarglMarkerSymbol200 ScatterpolarglMarkerSymbol = "200" + ScatterpolarglMarkerSymbolCircleDot ScatterpolarglMarkerSymbol = "circle-dot" + ScatterpolarglMarkerSymbolNumber300 ScatterpolarglMarkerSymbol = 300 + ScatterpolarglMarkerSymbol300 ScatterpolarglMarkerSymbol = "300" + ScatterpolarglMarkerSymbolCircleOpenDot ScatterpolarglMarkerSymbol = "circle-open-dot" + ScatterpolarglMarkerSymbolNumber1 ScatterpolarglMarkerSymbol = 1 + ScatterpolarglMarkerSymbol1 ScatterpolarglMarkerSymbol = "1" + ScatterpolarglMarkerSymbolSquare ScatterpolarglMarkerSymbol = "square" + ScatterpolarglMarkerSymbolNumber101 ScatterpolarglMarkerSymbol = 101 + ScatterpolarglMarkerSymbol101 ScatterpolarglMarkerSymbol = "101" + ScatterpolarglMarkerSymbolSquareOpen ScatterpolarglMarkerSymbol = "square-open" + ScatterpolarglMarkerSymbolNumber201 ScatterpolarglMarkerSymbol = 201 + ScatterpolarglMarkerSymbol201 ScatterpolarglMarkerSymbol = "201" + ScatterpolarglMarkerSymbolSquareDot ScatterpolarglMarkerSymbol = "square-dot" + ScatterpolarglMarkerSymbolNumber301 ScatterpolarglMarkerSymbol = 301 + ScatterpolarglMarkerSymbol301 ScatterpolarglMarkerSymbol = "301" + ScatterpolarglMarkerSymbolSquareOpenDot ScatterpolarglMarkerSymbol = "square-open-dot" + ScatterpolarglMarkerSymbolNumber2 ScatterpolarglMarkerSymbol = 2 + ScatterpolarglMarkerSymbol2 ScatterpolarglMarkerSymbol = "2" + ScatterpolarglMarkerSymbolDiamond ScatterpolarglMarkerSymbol = "diamond" + ScatterpolarglMarkerSymbolNumber102 ScatterpolarglMarkerSymbol = 102 + ScatterpolarglMarkerSymbol102 ScatterpolarglMarkerSymbol = "102" + ScatterpolarglMarkerSymbolDiamondOpen ScatterpolarglMarkerSymbol = "diamond-open" + ScatterpolarglMarkerSymbolNumber202 ScatterpolarglMarkerSymbol = 202 + ScatterpolarglMarkerSymbol202 ScatterpolarglMarkerSymbol = "202" + ScatterpolarglMarkerSymbolDiamondDot ScatterpolarglMarkerSymbol = "diamond-dot" + ScatterpolarglMarkerSymbolNumber302 ScatterpolarglMarkerSymbol = 302 + ScatterpolarglMarkerSymbol302 ScatterpolarglMarkerSymbol = "302" + ScatterpolarglMarkerSymbolDiamondOpenDot ScatterpolarglMarkerSymbol = "diamond-open-dot" + ScatterpolarglMarkerSymbolNumber3 ScatterpolarglMarkerSymbol = 3 + ScatterpolarglMarkerSymbol3 ScatterpolarglMarkerSymbol = "3" + ScatterpolarglMarkerSymbolCross ScatterpolarglMarkerSymbol = "cross" + ScatterpolarglMarkerSymbolNumber103 ScatterpolarglMarkerSymbol = 103 + ScatterpolarglMarkerSymbol103 ScatterpolarglMarkerSymbol = "103" + ScatterpolarglMarkerSymbolCrossOpen ScatterpolarglMarkerSymbol = "cross-open" + ScatterpolarglMarkerSymbolNumber203 ScatterpolarglMarkerSymbol = 203 + ScatterpolarglMarkerSymbol203 ScatterpolarglMarkerSymbol = "203" + ScatterpolarglMarkerSymbolCrossDot ScatterpolarglMarkerSymbol = "cross-dot" + ScatterpolarglMarkerSymbolNumber303 ScatterpolarglMarkerSymbol = 303 + ScatterpolarglMarkerSymbol303 ScatterpolarglMarkerSymbol = "303" + ScatterpolarglMarkerSymbolCrossOpenDot ScatterpolarglMarkerSymbol = "cross-open-dot" + ScatterpolarglMarkerSymbolNumber4 ScatterpolarglMarkerSymbol = 4 + ScatterpolarglMarkerSymbol4 ScatterpolarglMarkerSymbol = "4" + ScatterpolarglMarkerSymbolX ScatterpolarglMarkerSymbol = "x" + ScatterpolarglMarkerSymbolNumber104 ScatterpolarglMarkerSymbol = 104 + ScatterpolarglMarkerSymbol104 ScatterpolarglMarkerSymbol = "104" + ScatterpolarglMarkerSymbolXOpen ScatterpolarglMarkerSymbol = "x-open" + ScatterpolarglMarkerSymbolNumber204 ScatterpolarglMarkerSymbol = 204 + ScatterpolarglMarkerSymbol204 ScatterpolarglMarkerSymbol = "204" + ScatterpolarglMarkerSymbolXDot ScatterpolarglMarkerSymbol = "x-dot" + ScatterpolarglMarkerSymbolNumber304 ScatterpolarglMarkerSymbol = 304 + ScatterpolarglMarkerSymbol304 ScatterpolarglMarkerSymbol = "304" + ScatterpolarglMarkerSymbolXOpenDot ScatterpolarglMarkerSymbol = "x-open-dot" + ScatterpolarglMarkerSymbolNumber5 ScatterpolarglMarkerSymbol = 5 + ScatterpolarglMarkerSymbol5 ScatterpolarglMarkerSymbol = "5" + ScatterpolarglMarkerSymbolTriangleUp ScatterpolarglMarkerSymbol = "triangle-up" + ScatterpolarglMarkerSymbolNumber105 ScatterpolarglMarkerSymbol = 105 + ScatterpolarglMarkerSymbol105 ScatterpolarglMarkerSymbol = "105" + ScatterpolarglMarkerSymbolTriangleUpOpen ScatterpolarglMarkerSymbol = "triangle-up-open" + ScatterpolarglMarkerSymbolNumber205 ScatterpolarglMarkerSymbol = 205 + ScatterpolarglMarkerSymbol205 ScatterpolarglMarkerSymbol = "205" + ScatterpolarglMarkerSymbolTriangleUpDot ScatterpolarglMarkerSymbol = "triangle-up-dot" + ScatterpolarglMarkerSymbolNumber305 ScatterpolarglMarkerSymbol = 305 + ScatterpolarglMarkerSymbol305 ScatterpolarglMarkerSymbol = "305" + ScatterpolarglMarkerSymbolTriangleUpOpenDot ScatterpolarglMarkerSymbol = "triangle-up-open-dot" + ScatterpolarglMarkerSymbolNumber6 ScatterpolarglMarkerSymbol = 6 + ScatterpolarglMarkerSymbol6 ScatterpolarglMarkerSymbol = "6" + ScatterpolarglMarkerSymbolTriangleDown ScatterpolarglMarkerSymbol = "triangle-down" + ScatterpolarglMarkerSymbolNumber106 ScatterpolarglMarkerSymbol = 106 + ScatterpolarglMarkerSymbol106 ScatterpolarglMarkerSymbol = "106" + ScatterpolarglMarkerSymbolTriangleDownOpen ScatterpolarglMarkerSymbol = "triangle-down-open" + ScatterpolarglMarkerSymbolNumber206 ScatterpolarglMarkerSymbol = 206 + ScatterpolarglMarkerSymbol206 ScatterpolarglMarkerSymbol = "206" + ScatterpolarglMarkerSymbolTriangleDownDot ScatterpolarglMarkerSymbol = "triangle-down-dot" + ScatterpolarglMarkerSymbolNumber306 ScatterpolarglMarkerSymbol = 306 + ScatterpolarglMarkerSymbol306 ScatterpolarglMarkerSymbol = "306" + ScatterpolarglMarkerSymbolTriangleDownOpenDot ScatterpolarglMarkerSymbol = "triangle-down-open-dot" + ScatterpolarglMarkerSymbolNumber7 ScatterpolarglMarkerSymbol = 7 + ScatterpolarglMarkerSymbol7 ScatterpolarglMarkerSymbol = "7" + ScatterpolarglMarkerSymbolTriangleLeft ScatterpolarglMarkerSymbol = "triangle-left" + ScatterpolarglMarkerSymbolNumber107 ScatterpolarglMarkerSymbol = 107 + ScatterpolarglMarkerSymbol107 ScatterpolarglMarkerSymbol = "107" + ScatterpolarglMarkerSymbolTriangleLeftOpen ScatterpolarglMarkerSymbol = "triangle-left-open" + ScatterpolarglMarkerSymbolNumber207 ScatterpolarglMarkerSymbol = 207 + ScatterpolarglMarkerSymbol207 ScatterpolarglMarkerSymbol = "207" + ScatterpolarglMarkerSymbolTriangleLeftDot ScatterpolarglMarkerSymbol = "triangle-left-dot" + ScatterpolarglMarkerSymbolNumber307 ScatterpolarglMarkerSymbol = 307 + ScatterpolarglMarkerSymbol307 ScatterpolarglMarkerSymbol = "307" + ScatterpolarglMarkerSymbolTriangleLeftOpenDot ScatterpolarglMarkerSymbol = "triangle-left-open-dot" + ScatterpolarglMarkerSymbolNumber8 ScatterpolarglMarkerSymbol = 8 + ScatterpolarglMarkerSymbol8 ScatterpolarglMarkerSymbol = "8" + ScatterpolarglMarkerSymbolTriangleRight ScatterpolarglMarkerSymbol = "triangle-right" + ScatterpolarglMarkerSymbolNumber108 ScatterpolarglMarkerSymbol = 108 + ScatterpolarglMarkerSymbol108 ScatterpolarglMarkerSymbol = "108" + ScatterpolarglMarkerSymbolTriangleRightOpen ScatterpolarglMarkerSymbol = "triangle-right-open" + ScatterpolarglMarkerSymbolNumber208 ScatterpolarglMarkerSymbol = 208 + ScatterpolarglMarkerSymbol208 ScatterpolarglMarkerSymbol = "208" + ScatterpolarglMarkerSymbolTriangleRightDot ScatterpolarglMarkerSymbol = "triangle-right-dot" + ScatterpolarglMarkerSymbolNumber308 ScatterpolarglMarkerSymbol = 308 + ScatterpolarglMarkerSymbol308 ScatterpolarglMarkerSymbol = "308" + ScatterpolarglMarkerSymbolTriangleRightOpenDot ScatterpolarglMarkerSymbol = "triangle-right-open-dot" + ScatterpolarglMarkerSymbolNumber9 ScatterpolarglMarkerSymbol = 9 + ScatterpolarglMarkerSymbol9 ScatterpolarglMarkerSymbol = "9" + ScatterpolarglMarkerSymbolTriangleNe ScatterpolarglMarkerSymbol = "triangle-ne" + ScatterpolarglMarkerSymbolNumber109 ScatterpolarglMarkerSymbol = 109 + ScatterpolarglMarkerSymbol109 ScatterpolarglMarkerSymbol = "109" + ScatterpolarglMarkerSymbolTriangleNeOpen ScatterpolarglMarkerSymbol = "triangle-ne-open" + ScatterpolarglMarkerSymbolNumber209 ScatterpolarglMarkerSymbol = 209 + ScatterpolarglMarkerSymbol209 ScatterpolarglMarkerSymbol = "209" + ScatterpolarglMarkerSymbolTriangleNeDot ScatterpolarglMarkerSymbol = "triangle-ne-dot" + ScatterpolarglMarkerSymbolNumber309 ScatterpolarglMarkerSymbol = 309 + ScatterpolarglMarkerSymbol309 ScatterpolarglMarkerSymbol = "309" + ScatterpolarglMarkerSymbolTriangleNeOpenDot ScatterpolarglMarkerSymbol = "triangle-ne-open-dot" + ScatterpolarglMarkerSymbolNumber10 ScatterpolarglMarkerSymbol = 10 + ScatterpolarglMarkerSymbol10 ScatterpolarglMarkerSymbol = "10" + ScatterpolarglMarkerSymbolTriangleSe ScatterpolarglMarkerSymbol = "triangle-se" + ScatterpolarglMarkerSymbolNumber110 ScatterpolarglMarkerSymbol = 110 + ScatterpolarglMarkerSymbol110 ScatterpolarglMarkerSymbol = "110" + ScatterpolarglMarkerSymbolTriangleSeOpen ScatterpolarglMarkerSymbol = "triangle-se-open" + ScatterpolarglMarkerSymbolNumber210 ScatterpolarglMarkerSymbol = 210 + ScatterpolarglMarkerSymbol210 ScatterpolarglMarkerSymbol = "210" + ScatterpolarglMarkerSymbolTriangleSeDot ScatterpolarglMarkerSymbol = "triangle-se-dot" + ScatterpolarglMarkerSymbolNumber310 ScatterpolarglMarkerSymbol = 310 + ScatterpolarglMarkerSymbol310 ScatterpolarglMarkerSymbol = "310" + ScatterpolarglMarkerSymbolTriangleSeOpenDot ScatterpolarglMarkerSymbol = "triangle-se-open-dot" + ScatterpolarglMarkerSymbolNumber11 ScatterpolarglMarkerSymbol = 11 + ScatterpolarglMarkerSymbol11 ScatterpolarglMarkerSymbol = "11" + ScatterpolarglMarkerSymbolTriangleSw ScatterpolarglMarkerSymbol = "triangle-sw" + ScatterpolarglMarkerSymbolNumber111 ScatterpolarglMarkerSymbol = 111 + ScatterpolarglMarkerSymbol111 ScatterpolarglMarkerSymbol = "111" + ScatterpolarglMarkerSymbolTriangleSwOpen ScatterpolarglMarkerSymbol = "triangle-sw-open" + ScatterpolarglMarkerSymbolNumber211 ScatterpolarglMarkerSymbol = 211 + ScatterpolarglMarkerSymbol211 ScatterpolarglMarkerSymbol = "211" + ScatterpolarglMarkerSymbolTriangleSwDot ScatterpolarglMarkerSymbol = "triangle-sw-dot" + ScatterpolarglMarkerSymbolNumber311 ScatterpolarglMarkerSymbol = 311 + ScatterpolarglMarkerSymbol311 ScatterpolarglMarkerSymbol = "311" + ScatterpolarglMarkerSymbolTriangleSwOpenDot ScatterpolarglMarkerSymbol = "triangle-sw-open-dot" + ScatterpolarglMarkerSymbolNumber12 ScatterpolarglMarkerSymbol = 12 + ScatterpolarglMarkerSymbol12 ScatterpolarglMarkerSymbol = "12" + ScatterpolarglMarkerSymbolTriangleNw ScatterpolarglMarkerSymbol = "triangle-nw" + ScatterpolarglMarkerSymbolNumber112 ScatterpolarglMarkerSymbol = 112 + ScatterpolarglMarkerSymbol112 ScatterpolarglMarkerSymbol = "112" + ScatterpolarglMarkerSymbolTriangleNwOpen ScatterpolarglMarkerSymbol = "triangle-nw-open" + ScatterpolarglMarkerSymbolNumber212 ScatterpolarglMarkerSymbol = 212 + ScatterpolarglMarkerSymbol212 ScatterpolarglMarkerSymbol = "212" + ScatterpolarglMarkerSymbolTriangleNwDot ScatterpolarglMarkerSymbol = "triangle-nw-dot" + ScatterpolarglMarkerSymbolNumber312 ScatterpolarglMarkerSymbol = 312 + ScatterpolarglMarkerSymbol312 ScatterpolarglMarkerSymbol = "312" + ScatterpolarglMarkerSymbolTriangleNwOpenDot ScatterpolarglMarkerSymbol = "triangle-nw-open-dot" + ScatterpolarglMarkerSymbolNumber13 ScatterpolarglMarkerSymbol = 13 + ScatterpolarglMarkerSymbol13 ScatterpolarglMarkerSymbol = "13" + ScatterpolarglMarkerSymbolPentagon ScatterpolarglMarkerSymbol = "pentagon" + ScatterpolarglMarkerSymbolNumber113 ScatterpolarglMarkerSymbol = 113 + ScatterpolarglMarkerSymbol113 ScatterpolarglMarkerSymbol = "113" + ScatterpolarglMarkerSymbolPentagonOpen ScatterpolarglMarkerSymbol = "pentagon-open" + ScatterpolarglMarkerSymbolNumber213 ScatterpolarglMarkerSymbol = 213 + ScatterpolarglMarkerSymbol213 ScatterpolarglMarkerSymbol = "213" + ScatterpolarglMarkerSymbolPentagonDot ScatterpolarglMarkerSymbol = "pentagon-dot" + ScatterpolarglMarkerSymbolNumber313 ScatterpolarglMarkerSymbol = 313 + ScatterpolarglMarkerSymbol313 ScatterpolarglMarkerSymbol = "313" + ScatterpolarglMarkerSymbolPentagonOpenDot ScatterpolarglMarkerSymbol = "pentagon-open-dot" + ScatterpolarglMarkerSymbolNumber14 ScatterpolarglMarkerSymbol = 14 + ScatterpolarglMarkerSymbol14 ScatterpolarglMarkerSymbol = "14" + ScatterpolarglMarkerSymbolHexagon ScatterpolarglMarkerSymbol = "hexagon" + ScatterpolarglMarkerSymbolNumber114 ScatterpolarglMarkerSymbol = 114 + ScatterpolarglMarkerSymbol114 ScatterpolarglMarkerSymbol = "114" + ScatterpolarglMarkerSymbolHexagonOpen ScatterpolarglMarkerSymbol = "hexagon-open" + ScatterpolarglMarkerSymbolNumber214 ScatterpolarglMarkerSymbol = 214 + ScatterpolarglMarkerSymbol214 ScatterpolarglMarkerSymbol = "214" + ScatterpolarglMarkerSymbolHexagonDot ScatterpolarglMarkerSymbol = "hexagon-dot" + ScatterpolarglMarkerSymbolNumber314 ScatterpolarglMarkerSymbol = 314 + ScatterpolarglMarkerSymbol314 ScatterpolarglMarkerSymbol = "314" + ScatterpolarglMarkerSymbolHexagonOpenDot ScatterpolarglMarkerSymbol = "hexagon-open-dot" + ScatterpolarglMarkerSymbolNumber15 ScatterpolarglMarkerSymbol = 15 + ScatterpolarglMarkerSymbol15 ScatterpolarglMarkerSymbol = "15" + ScatterpolarglMarkerSymbolHexagon2 ScatterpolarglMarkerSymbol = "hexagon2" + ScatterpolarglMarkerSymbolNumber115 ScatterpolarglMarkerSymbol = 115 + ScatterpolarglMarkerSymbol115 ScatterpolarglMarkerSymbol = "115" + ScatterpolarglMarkerSymbolHexagon2Open ScatterpolarglMarkerSymbol = "hexagon2-open" + ScatterpolarglMarkerSymbolNumber215 ScatterpolarglMarkerSymbol = 215 + ScatterpolarglMarkerSymbol215 ScatterpolarglMarkerSymbol = "215" + ScatterpolarglMarkerSymbolHexagon2Dot ScatterpolarglMarkerSymbol = "hexagon2-dot" + ScatterpolarglMarkerSymbolNumber315 ScatterpolarglMarkerSymbol = 315 + ScatterpolarglMarkerSymbol315 ScatterpolarglMarkerSymbol = "315" + ScatterpolarglMarkerSymbolHexagon2OpenDot ScatterpolarglMarkerSymbol = "hexagon2-open-dot" + ScatterpolarglMarkerSymbolNumber16 ScatterpolarglMarkerSymbol = 16 + ScatterpolarglMarkerSymbol16 ScatterpolarglMarkerSymbol = "16" + ScatterpolarglMarkerSymbolOctagon ScatterpolarglMarkerSymbol = "octagon" + ScatterpolarglMarkerSymbolNumber116 ScatterpolarglMarkerSymbol = 116 + ScatterpolarglMarkerSymbol116 ScatterpolarglMarkerSymbol = "116" + ScatterpolarglMarkerSymbolOctagonOpen ScatterpolarglMarkerSymbol = "octagon-open" + ScatterpolarglMarkerSymbolNumber216 ScatterpolarglMarkerSymbol = 216 + ScatterpolarglMarkerSymbol216 ScatterpolarglMarkerSymbol = "216" + ScatterpolarglMarkerSymbolOctagonDot ScatterpolarglMarkerSymbol = "octagon-dot" + ScatterpolarglMarkerSymbolNumber316 ScatterpolarglMarkerSymbol = 316 + ScatterpolarglMarkerSymbol316 ScatterpolarglMarkerSymbol = "316" + ScatterpolarglMarkerSymbolOctagonOpenDot ScatterpolarglMarkerSymbol = "octagon-open-dot" + ScatterpolarglMarkerSymbolNumber17 ScatterpolarglMarkerSymbol = 17 + ScatterpolarglMarkerSymbol17 ScatterpolarglMarkerSymbol = "17" + ScatterpolarglMarkerSymbolStar ScatterpolarglMarkerSymbol = "star" + ScatterpolarglMarkerSymbolNumber117 ScatterpolarglMarkerSymbol = 117 + ScatterpolarglMarkerSymbol117 ScatterpolarglMarkerSymbol = "117" + ScatterpolarglMarkerSymbolStarOpen ScatterpolarglMarkerSymbol = "star-open" + ScatterpolarglMarkerSymbolNumber217 ScatterpolarglMarkerSymbol = 217 + ScatterpolarglMarkerSymbol217 ScatterpolarglMarkerSymbol = "217" + ScatterpolarglMarkerSymbolStarDot ScatterpolarglMarkerSymbol = "star-dot" + ScatterpolarglMarkerSymbolNumber317 ScatterpolarglMarkerSymbol = 317 + ScatterpolarglMarkerSymbol317 ScatterpolarglMarkerSymbol = "317" + ScatterpolarglMarkerSymbolStarOpenDot ScatterpolarglMarkerSymbol = "star-open-dot" + ScatterpolarglMarkerSymbolNumber18 ScatterpolarglMarkerSymbol = 18 + ScatterpolarglMarkerSymbol18 ScatterpolarglMarkerSymbol = "18" + ScatterpolarglMarkerSymbolHexagram ScatterpolarglMarkerSymbol = "hexagram" + ScatterpolarglMarkerSymbolNumber118 ScatterpolarglMarkerSymbol = 118 + ScatterpolarglMarkerSymbol118 ScatterpolarglMarkerSymbol = "118" + ScatterpolarglMarkerSymbolHexagramOpen ScatterpolarglMarkerSymbol = "hexagram-open" + ScatterpolarglMarkerSymbolNumber218 ScatterpolarglMarkerSymbol = 218 + ScatterpolarglMarkerSymbol218 ScatterpolarglMarkerSymbol = "218" + ScatterpolarglMarkerSymbolHexagramDot ScatterpolarglMarkerSymbol = "hexagram-dot" + ScatterpolarglMarkerSymbolNumber318 ScatterpolarglMarkerSymbol = 318 + ScatterpolarglMarkerSymbol318 ScatterpolarglMarkerSymbol = "318" + ScatterpolarglMarkerSymbolHexagramOpenDot ScatterpolarglMarkerSymbol = "hexagram-open-dot" + ScatterpolarglMarkerSymbolNumber19 ScatterpolarglMarkerSymbol = 19 + ScatterpolarglMarkerSymbol19 ScatterpolarglMarkerSymbol = "19" + ScatterpolarglMarkerSymbolStarTriangleUp ScatterpolarglMarkerSymbol = "star-triangle-up" + ScatterpolarglMarkerSymbolNumber119 ScatterpolarglMarkerSymbol = 119 + ScatterpolarglMarkerSymbol119 ScatterpolarglMarkerSymbol = "119" + ScatterpolarglMarkerSymbolStarTriangleUpOpen ScatterpolarglMarkerSymbol = "star-triangle-up-open" + ScatterpolarglMarkerSymbolNumber219 ScatterpolarglMarkerSymbol = 219 + ScatterpolarglMarkerSymbol219 ScatterpolarglMarkerSymbol = "219" + ScatterpolarglMarkerSymbolStarTriangleUpDot ScatterpolarglMarkerSymbol = "star-triangle-up-dot" + ScatterpolarglMarkerSymbolNumber319 ScatterpolarglMarkerSymbol = 319 + ScatterpolarglMarkerSymbol319 ScatterpolarglMarkerSymbol = "319" + ScatterpolarglMarkerSymbolStarTriangleUpOpenDot ScatterpolarglMarkerSymbol = "star-triangle-up-open-dot" + ScatterpolarglMarkerSymbolNumber20 ScatterpolarglMarkerSymbol = 20 + ScatterpolarglMarkerSymbol20 ScatterpolarglMarkerSymbol = "20" + ScatterpolarglMarkerSymbolStarTriangleDown ScatterpolarglMarkerSymbol = "star-triangle-down" + ScatterpolarglMarkerSymbolNumber120 ScatterpolarglMarkerSymbol = 120 + ScatterpolarglMarkerSymbol120 ScatterpolarglMarkerSymbol = "120" + ScatterpolarglMarkerSymbolStarTriangleDownOpen ScatterpolarglMarkerSymbol = "star-triangle-down-open" + ScatterpolarglMarkerSymbolNumber220 ScatterpolarglMarkerSymbol = 220 + ScatterpolarglMarkerSymbol220 ScatterpolarglMarkerSymbol = "220" + ScatterpolarglMarkerSymbolStarTriangleDownDot ScatterpolarglMarkerSymbol = "star-triangle-down-dot" + ScatterpolarglMarkerSymbolNumber320 ScatterpolarglMarkerSymbol = 320 + ScatterpolarglMarkerSymbol320 ScatterpolarglMarkerSymbol = "320" + ScatterpolarglMarkerSymbolStarTriangleDownOpenDot ScatterpolarglMarkerSymbol = "star-triangle-down-open-dot" + ScatterpolarglMarkerSymbolNumber21 ScatterpolarglMarkerSymbol = 21 + ScatterpolarglMarkerSymbol21 ScatterpolarglMarkerSymbol = "21" + ScatterpolarglMarkerSymbolStarSquare ScatterpolarglMarkerSymbol = "star-square" + ScatterpolarglMarkerSymbolNumber121 ScatterpolarglMarkerSymbol = 121 + ScatterpolarglMarkerSymbol121 ScatterpolarglMarkerSymbol = "121" + ScatterpolarglMarkerSymbolStarSquareOpen ScatterpolarglMarkerSymbol = "star-square-open" + ScatterpolarglMarkerSymbolNumber221 ScatterpolarglMarkerSymbol = 221 + ScatterpolarglMarkerSymbol221 ScatterpolarglMarkerSymbol = "221" + ScatterpolarglMarkerSymbolStarSquareDot ScatterpolarglMarkerSymbol = "star-square-dot" + ScatterpolarglMarkerSymbolNumber321 ScatterpolarglMarkerSymbol = 321 + ScatterpolarglMarkerSymbol321 ScatterpolarglMarkerSymbol = "321" + ScatterpolarglMarkerSymbolStarSquareOpenDot ScatterpolarglMarkerSymbol = "star-square-open-dot" + ScatterpolarglMarkerSymbolNumber22 ScatterpolarglMarkerSymbol = 22 + ScatterpolarglMarkerSymbol22 ScatterpolarglMarkerSymbol = "22" + ScatterpolarglMarkerSymbolStarDiamond ScatterpolarglMarkerSymbol = "star-diamond" + ScatterpolarglMarkerSymbolNumber122 ScatterpolarglMarkerSymbol = 122 + ScatterpolarglMarkerSymbol122 ScatterpolarglMarkerSymbol = "122" + ScatterpolarglMarkerSymbolStarDiamondOpen ScatterpolarglMarkerSymbol = "star-diamond-open" + ScatterpolarglMarkerSymbolNumber222 ScatterpolarglMarkerSymbol = 222 + ScatterpolarglMarkerSymbol222 ScatterpolarglMarkerSymbol = "222" + ScatterpolarglMarkerSymbolStarDiamondDot ScatterpolarglMarkerSymbol = "star-diamond-dot" + ScatterpolarglMarkerSymbolNumber322 ScatterpolarglMarkerSymbol = 322 + ScatterpolarglMarkerSymbol322 ScatterpolarglMarkerSymbol = "322" + ScatterpolarglMarkerSymbolStarDiamondOpenDot ScatterpolarglMarkerSymbol = "star-diamond-open-dot" + ScatterpolarglMarkerSymbolNumber23 ScatterpolarglMarkerSymbol = 23 + ScatterpolarglMarkerSymbol23 ScatterpolarglMarkerSymbol = "23" + ScatterpolarglMarkerSymbolDiamondTall ScatterpolarglMarkerSymbol = "diamond-tall" + ScatterpolarglMarkerSymbolNumber123 ScatterpolarglMarkerSymbol = 123 + ScatterpolarglMarkerSymbol123 ScatterpolarglMarkerSymbol = "123" + ScatterpolarglMarkerSymbolDiamondTallOpen ScatterpolarglMarkerSymbol = "diamond-tall-open" + ScatterpolarglMarkerSymbolNumber223 ScatterpolarglMarkerSymbol = 223 + ScatterpolarglMarkerSymbol223 ScatterpolarglMarkerSymbol = "223" + ScatterpolarglMarkerSymbolDiamondTallDot ScatterpolarglMarkerSymbol = "diamond-tall-dot" + ScatterpolarglMarkerSymbolNumber323 ScatterpolarglMarkerSymbol = 323 + ScatterpolarglMarkerSymbol323 ScatterpolarglMarkerSymbol = "323" + ScatterpolarglMarkerSymbolDiamondTallOpenDot ScatterpolarglMarkerSymbol = "diamond-tall-open-dot" + ScatterpolarglMarkerSymbolNumber24 ScatterpolarglMarkerSymbol = 24 + ScatterpolarglMarkerSymbol24 ScatterpolarglMarkerSymbol = "24" + ScatterpolarglMarkerSymbolDiamondWide ScatterpolarglMarkerSymbol = "diamond-wide" + ScatterpolarglMarkerSymbolNumber124 ScatterpolarglMarkerSymbol = 124 + ScatterpolarglMarkerSymbol124 ScatterpolarglMarkerSymbol = "124" + ScatterpolarglMarkerSymbolDiamondWideOpen ScatterpolarglMarkerSymbol = "diamond-wide-open" + ScatterpolarglMarkerSymbolNumber224 ScatterpolarglMarkerSymbol = 224 + ScatterpolarglMarkerSymbol224 ScatterpolarglMarkerSymbol = "224" + ScatterpolarglMarkerSymbolDiamondWideDot ScatterpolarglMarkerSymbol = "diamond-wide-dot" + ScatterpolarglMarkerSymbolNumber324 ScatterpolarglMarkerSymbol = 324 + ScatterpolarglMarkerSymbol324 ScatterpolarglMarkerSymbol = "324" + ScatterpolarglMarkerSymbolDiamondWideOpenDot ScatterpolarglMarkerSymbol = "diamond-wide-open-dot" + ScatterpolarglMarkerSymbolNumber25 ScatterpolarglMarkerSymbol = 25 + ScatterpolarglMarkerSymbol25 ScatterpolarglMarkerSymbol = "25" + ScatterpolarglMarkerSymbolHourglass ScatterpolarglMarkerSymbol = "hourglass" + ScatterpolarglMarkerSymbolNumber125 ScatterpolarglMarkerSymbol = 125 + ScatterpolarglMarkerSymbol125 ScatterpolarglMarkerSymbol = "125" + ScatterpolarglMarkerSymbolHourglassOpen ScatterpolarglMarkerSymbol = "hourglass-open" + ScatterpolarglMarkerSymbolNumber26 ScatterpolarglMarkerSymbol = 26 + ScatterpolarglMarkerSymbol26 ScatterpolarglMarkerSymbol = "26" + ScatterpolarglMarkerSymbolBowtie ScatterpolarglMarkerSymbol = "bowtie" + ScatterpolarglMarkerSymbolNumber126 ScatterpolarglMarkerSymbol = 126 + ScatterpolarglMarkerSymbol126 ScatterpolarglMarkerSymbol = "126" + ScatterpolarglMarkerSymbolBowtieOpen ScatterpolarglMarkerSymbol = "bowtie-open" + ScatterpolarglMarkerSymbolNumber27 ScatterpolarglMarkerSymbol = 27 + ScatterpolarglMarkerSymbol27 ScatterpolarglMarkerSymbol = "27" + ScatterpolarglMarkerSymbolCircleCross ScatterpolarglMarkerSymbol = "circle-cross" + ScatterpolarglMarkerSymbolNumber127 ScatterpolarglMarkerSymbol = 127 + ScatterpolarglMarkerSymbol127 ScatterpolarglMarkerSymbol = "127" + ScatterpolarglMarkerSymbolCircleCrossOpen ScatterpolarglMarkerSymbol = "circle-cross-open" + ScatterpolarglMarkerSymbolNumber28 ScatterpolarglMarkerSymbol = 28 + ScatterpolarglMarkerSymbol28 ScatterpolarglMarkerSymbol = "28" + ScatterpolarglMarkerSymbolCircleX ScatterpolarglMarkerSymbol = "circle-x" + ScatterpolarglMarkerSymbolNumber128 ScatterpolarglMarkerSymbol = 128 + ScatterpolarglMarkerSymbol128 ScatterpolarglMarkerSymbol = "128" + ScatterpolarglMarkerSymbolCircleXOpen ScatterpolarglMarkerSymbol = "circle-x-open" + ScatterpolarglMarkerSymbolNumber29 ScatterpolarglMarkerSymbol = 29 + ScatterpolarglMarkerSymbol29 ScatterpolarglMarkerSymbol = "29" + ScatterpolarglMarkerSymbolSquareCross ScatterpolarglMarkerSymbol = "square-cross" + ScatterpolarglMarkerSymbolNumber129 ScatterpolarglMarkerSymbol = 129 + ScatterpolarglMarkerSymbol129 ScatterpolarglMarkerSymbol = "129" + ScatterpolarglMarkerSymbolSquareCrossOpen ScatterpolarglMarkerSymbol = "square-cross-open" + ScatterpolarglMarkerSymbolNumber30 ScatterpolarglMarkerSymbol = 30 + ScatterpolarglMarkerSymbol30 ScatterpolarglMarkerSymbol = "30" + ScatterpolarglMarkerSymbolSquareX ScatterpolarglMarkerSymbol = "square-x" + ScatterpolarglMarkerSymbolNumber130 ScatterpolarglMarkerSymbol = 130 + ScatterpolarglMarkerSymbol130 ScatterpolarglMarkerSymbol = "130" + ScatterpolarglMarkerSymbolSquareXOpen ScatterpolarglMarkerSymbol = "square-x-open" + ScatterpolarglMarkerSymbolNumber31 ScatterpolarglMarkerSymbol = 31 + ScatterpolarglMarkerSymbol31 ScatterpolarglMarkerSymbol = "31" + ScatterpolarglMarkerSymbolDiamondCross ScatterpolarglMarkerSymbol = "diamond-cross" + ScatterpolarglMarkerSymbolNumber131 ScatterpolarglMarkerSymbol = 131 + ScatterpolarglMarkerSymbol131 ScatterpolarglMarkerSymbol = "131" + ScatterpolarglMarkerSymbolDiamondCrossOpen ScatterpolarglMarkerSymbol = "diamond-cross-open" + ScatterpolarglMarkerSymbolNumber32 ScatterpolarglMarkerSymbol = 32 + ScatterpolarglMarkerSymbol32 ScatterpolarglMarkerSymbol = "32" + ScatterpolarglMarkerSymbolDiamondX ScatterpolarglMarkerSymbol = "diamond-x" + ScatterpolarglMarkerSymbolNumber132 ScatterpolarglMarkerSymbol = 132 + ScatterpolarglMarkerSymbol132 ScatterpolarglMarkerSymbol = "132" + ScatterpolarglMarkerSymbolDiamondXOpen ScatterpolarglMarkerSymbol = "diamond-x-open" + ScatterpolarglMarkerSymbolNumber33 ScatterpolarglMarkerSymbol = 33 + ScatterpolarglMarkerSymbol33 ScatterpolarglMarkerSymbol = "33" + ScatterpolarglMarkerSymbolCrossThin ScatterpolarglMarkerSymbol = "cross-thin" + ScatterpolarglMarkerSymbolNumber133 ScatterpolarglMarkerSymbol = 133 + ScatterpolarglMarkerSymbol133 ScatterpolarglMarkerSymbol = "133" + ScatterpolarglMarkerSymbolCrossThinOpen ScatterpolarglMarkerSymbol = "cross-thin-open" + ScatterpolarglMarkerSymbolNumber34 ScatterpolarglMarkerSymbol = 34 + ScatterpolarglMarkerSymbol34 ScatterpolarglMarkerSymbol = "34" + ScatterpolarglMarkerSymbolXThin ScatterpolarglMarkerSymbol = "x-thin" + ScatterpolarglMarkerSymbolNumber134 ScatterpolarglMarkerSymbol = 134 + ScatterpolarglMarkerSymbol134 ScatterpolarglMarkerSymbol = "134" + ScatterpolarglMarkerSymbolXThinOpen ScatterpolarglMarkerSymbol = "x-thin-open" + ScatterpolarglMarkerSymbolNumber35 ScatterpolarglMarkerSymbol = 35 + ScatterpolarglMarkerSymbol35 ScatterpolarglMarkerSymbol = "35" + ScatterpolarglMarkerSymbolAsterisk ScatterpolarglMarkerSymbol = "asterisk" + ScatterpolarglMarkerSymbolNumber135 ScatterpolarglMarkerSymbol = 135 + ScatterpolarglMarkerSymbol135 ScatterpolarglMarkerSymbol = "135" + ScatterpolarglMarkerSymbolAsteriskOpen ScatterpolarglMarkerSymbol = "asterisk-open" + ScatterpolarglMarkerSymbolNumber36 ScatterpolarglMarkerSymbol = 36 + ScatterpolarglMarkerSymbol36 ScatterpolarglMarkerSymbol = "36" + ScatterpolarglMarkerSymbolHash ScatterpolarglMarkerSymbol = "hash" + ScatterpolarglMarkerSymbolNumber136 ScatterpolarglMarkerSymbol = 136 + ScatterpolarglMarkerSymbol136 ScatterpolarglMarkerSymbol = "136" + ScatterpolarglMarkerSymbolHashOpen ScatterpolarglMarkerSymbol = "hash-open" + ScatterpolarglMarkerSymbolNumber236 ScatterpolarglMarkerSymbol = 236 + ScatterpolarglMarkerSymbol236 ScatterpolarglMarkerSymbol = "236" + ScatterpolarglMarkerSymbolHashDot ScatterpolarglMarkerSymbol = "hash-dot" + ScatterpolarglMarkerSymbolNumber336 ScatterpolarglMarkerSymbol = 336 + ScatterpolarglMarkerSymbol336 ScatterpolarglMarkerSymbol = "336" + ScatterpolarglMarkerSymbolHashOpenDot ScatterpolarglMarkerSymbol = "hash-open-dot" + ScatterpolarglMarkerSymbolNumber37 ScatterpolarglMarkerSymbol = 37 + ScatterpolarglMarkerSymbol37 ScatterpolarglMarkerSymbol = "37" + ScatterpolarglMarkerSymbolYUp ScatterpolarglMarkerSymbol = "y-up" + ScatterpolarglMarkerSymbolNumber137 ScatterpolarglMarkerSymbol = 137 + ScatterpolarglMarkerSymbol137 ScatterpolarglMarkerSymbol = "137" + ScatterpolarglMarkerSymbolYUpOpen ScatterpolarglMarkerSymbol = "y-up-open" + ScatterpolarglMarkerSymbolNumber38 ScatterpolarglMarkerSymbol = 38 + ScatterpolarglMarkerSymbol38 ScatterpolarglMarkerSymbol = "38" + ScatterpolarglMarkerSymbolYDown ScatterpolarglMarkerSymbol = "y-down" + ScatterpolarglMarkerSymbolNumber138 ScatterpolarglMarkerSymbol = 138 + ScatterpolarglMarkerSymbol138 ScatterpolarglMarkerSymbol = "138" + ScatterpolarglMarkerSymbolYDownOpen ScatterpolarglMarkerSymbol = "y-down-open" + ScatterpolarglMarkerSymbolNumber39 ScatterpolarglMarkerSymbol = 39 + ScatterpolarglMarkerSymbol39 ScatterpolarglMarkerSymbol = "39" + ScatterpolarglMarkerSymbolYLeft ScatterpolarglMarkerSymbol = "y-left" + ScatterpolarglMarkerSymbolNumber139 ScatterpolarglMarkerSymbol = 139 + ScatterpolarglMarkerSymbol139 ScatterpolarglMarkerSymbol = "139" + ScatterpolarglMarkerSymbolYLeftOpen ScatterpolarglMarkerSymbol = "y-left-open" + ScatterpolarglMarkerSymbolNumber40 ScatterpolarglMarkerSymbol = 40 + ScatterpolarglMarkerSymbol40 ScatterpolarglMarkerSymbol = "40" + ScatterpolarglMarkerSymbolYRight ScatterpolarglMarkerSymbol = "y-right" + ScatterpolarglMarkerSymbolNumber140 ScatterpolarglMarkerSymbol = 140 + ScatterpolarglMarkerSymbol140 ScatterpolarglMarkerSymbol = "140" + ScatterpolarglMarkerSymbolYRightOpen ScatterpolarglMarkerSymbol = "y-right-open" + ScatterpolarglMarkerSymbolNumber41 ScatterpolarglMarkerSymbol = 41 + ScatterpolarglMarkerSymbol41 ScatterpolarglMarkerSymbol = "41" + ScatterpolarglMarkerSymbolLineEw ScatterpolarglMarkerSymbol = "line-ew" + ScatterpolarglMarkerSymbolNumber141 ScatterpolarglMarkerSymbol = 141 + ScatterpolarglMarkerSymbol141 ScatterpolarglMarkerSymbol = "141" + ScatterpolarglMarkerSymbolLineEwOpen ScatterpolarglMarkerSymbol = "line-ew-open" + ScatterpolarglMarkerSymbolNumber42 ScatterpolarglMarkerSymbol = 42 + ScatterpolarglMarkerSymbol42 ScatterpolarglMarkerSymbol = "42" + ScatterpolarglMarkerSymbolLineNs ScatterpolarglMarkerSymbol = "line-ns" + ScatterpolarglMarkerSymbolNumber142 ScatterpolarglMarkerSymbol = 142 + ScatterpolarglMarkerSymbol142 ScatterpolarglMarkerSymbol = "142" + ScatterpolarglMarkerSymbolLineNsOpen ScatterpolarglMarkerSymbol = "line-ns-open" + ScatterpolarglMarkerSymbolNumber43 ScatterpolarglMarkerSymbol = 43 + ScatterpolarglMarkerSymbol43 ScatterpolarglMarkerSymbol = "43" + ScatterpolarglMarkerSymbolLineNe ScatterpolarglMarkerSymbol = "line-ne" + ScatterpolarglMarkerSymbolNumber143 ScatterpolarglMarkerSymbol = 143 + ScatterpolarglMarkerSymbol143 ScatterpolarglMarkerSymbol = "143" + ScatterpolarglMarkerSymbolLineNeOpen ScatterpolarglMarkerSymbol = "line-ne-open" + ScatterpolarglMarkerSymbolNumber44 ScatterpolarglMarkerSymbol = 44 + ScatterpolarglMarkerSymbol44 ScatterpolarglMarkerSymbol = "44" + ScatterpolarglMarkerSymbolLineNw ScatterpolarglMarkerSymbol = "line-nw" + ScatterpolarglMarkerSymbolNumber144 ScatterpolarglMarkerSymbol = 144 + ScatterpolarglMarkerSymbol144 ScatterpolarglMarkerSymbol = "144" + ScatterpolarglMarkerSymbolLineNwOpen ScatterpolarglMarkerSymbol = "line-nw-open" + ScatterpolarglMarkerSymbolNumber45 ScatterpolarglMarkerSymbol = 45 + ScatterpolarglMarkerSymbol45 ScatterpolarglMarkerSymbol = "45" + ScatterpolarglMarkerSymbolArrowUp ScatterpolarglMarkerSymbol = "arrow-up" + ScatterpolarglMarkerSymbolNumber145 ScatterpolarglMarkerSymbol = 145 + ScatterpolarglMarkerSymbol145 ScatterpolarglMarkerSymbol = "145" + ScatterpolarglMarkerSymbolArrowUpOpen ScatterpolarglMarkerSymbol = "arrow-up-open" + ScatterpolarglMarkerSymbolNumber46 ScatterpolarglMarkerSymbol = 46 + ScatterpolarglMarkerSymbol46 ScatterpolarglMarkerSymbol = "46" + ScatterpolarglMarkerSymbolArrowDown ScatterpolarglMarkerSymbol = "arrow-down" + ScatterpolarglMarkerSymbolNumber146 ScatterpolarglMarkerSymbol = 146 + ScatterpolarglMarkerSymbol146 ScatterpolarglMarkerSymbol = "146" + ScatterpolarglMarkerSymbolArrowDownOpen ScatterpolarglMarkerSymbol = "arrow-down-open" + ScatterpolarglMarkerSymbolNumber47 ScatterpolarglMarkerSymbol = 47 + ScatterpolarglMarkerSymbol47 ScatterpolarglMarkerSymbol = "47" + ScatterpolarglMarkerSymbolArrowLeft ScatterpolarglMarkerSymbol = "arrow-left" + ScatterpolarglMarkerSymbolNumber147 ScatterpolarglMarkerSymbol = 147 + ScatterpolarglMarkerSymbol147 ScatterpolarglMarkerSymbol = "147" + ScatterpolarglMarkerSymbolArrowLeftOpen ScatterpolarglMarkerSymbol = "arrow-left-open" + ScatterpolarglMarkerSymbolNumber48 ScatterpolarglMarkerSymbol = 48 + ScatterpolarglMarkerSymbol48 ScatterpolarglMarkerSymbol = "48" + ScatterpolarglMarkerSymbolArrowRight ScatterpolarglMarkerSymbol = "arrow-right" + ScatterpolarglMarkerSymbolNumber148 ScatterpolarglMarkerSymbol = 148 + ScatterpolarglMarkerSymbol148 ScatterpolarglMarkerSymbol = "148" + ScatterpolarglMarkerSymbolArrowRightOpen ScatterpolarglMarkerSymbol = "arrow-right-open" + ScatterpolarglMarkerSymbolNumber49 ScatterpolarglMarkerSymbol = 49 + ScatterpolarglMarkerSymbol49 ScatterpolarglMarkerSymbol = "49" + ScatterpolarglMarkerSymbolArrowBarUp ScatterpolarglMarkerSymbol = "arrow-bar-up" + ScatterpolarglMarkerSymbolNumber149 ScatterpolarglMarkerSymbol = 149 + ScatterpolarglMarkerSymbol149 ScatterpolarglMarkerSymbol = "149" + ScatterpolarglMarkerSymbolArrowBarUpOpen ScatterpolarglMarkerSymbol = "arrow-bar-up-open" + ScatterpolarglMarkerSymbolNumber50 ScatterpolarglMarkerSymbol = 50 + ScatterpolarglMarkerSymbol50 ScatterpolarglMarkerSymbol = "50" + ScatterpolarglMarkerSymbolArrowBarDown ScatterpolarglMarkerSymbol = "arrow-bar-down" + ScatterpolarglMarkerSymbolNumber150 ScatterpolarglMarkerSymbol = 150 + ScatterpolarglMarkerSymbol150 ScatterpolarglMarkerSymbol = "150" + ScatterpolarglMarkerSymbolArrowBarDownOpen ScatterpolarglMarkerSymbol = "arrow-bar-down-open" + ScatterpolarglMarkerSymbolNumber51 ScatterpolarglMarkerSymbol = 51 + ScatterpolarglMarkerSymbol51 ScatterpolarglMarkerSymbol = "51" + ScatterpolarglMarkerSymbolArrowBarLeft ScatterpolarglMarkerSymbol = "arrow-bar-left" + ScatterpolarglMarkerSymbolNumber151 ScatterpolarglMarkerSymbol = 151 + ScatterpolarglMarkerSymbol151 ScatterpolarglMarkerSymbol = "151" + ScatterpolarglMarkerSymbolArrowBarLeftOpen ScatterpolarglMarkerSymbol = "arrow-bar-left-open" + ScatterpolarglMarkerSymbolNumber52 ScatterpolarglMarkerSymbol = 52 + ScatterpolarglMarkerSymbol52 ScatterpolarglMarkerSymbol = "52" + ScatterpolarglMarkerSymbolArrowBarRight ScatterpolarglMarkerSymbol = "arrow-bar-right" + ScatterpolarglMarkerSymbolNumber152 ScatterpolarglMarkerSymbol = 152 + ScatterpolarglMarkerSymbol152 ScatterpolarglMarkerSymbol = "152" + ScatterpolarglMarkerSymbolArrowBarRightOpen ScatterpolarglMarkerSymbol = "arrow-bar-right-open" + ScatterpolarglMarkerSymbolNumber53 ScatterpolarglMarkerSymbol = 53 + ScatterpolarglMarkerSymbol53 ScatterpolarglMarkerSymbol = "53" + ScatterpolarglMarkerSymbolArrow ScatterpolarglMarkerSymbol = "arrow" + ScatterpolarglMarkerSymbolNumber153 ScatterpolarglMarkerSymbol = 153 + ScatterpolarglMarkerSymbol153 ScatterpolarglMarkerSymbol = "153" + ScatterpolarglMarkerSymbolArrowOpen ScatterpolarglMarkerSymbol = "arrow-open" + ScatterpolarglMarkerSymbolNumber54 ScatterpolarglMarkerSymbol = 54 + ScatterpolarglMarkerSymbol54 ScatterpolarglMarkerSymbol = "54" + ScatterpolarglMarkerSymbolArrowWide ScatterpolarglMarkerSymbol = "arrow-wide" + ScatterpolarglMarkerSymbolNumber154 ScatterpolarglMarkerSymbol = 154 + ScatterpolarglMarkerSymbol154 ScatterpolarglMarkerSymbol = "154" + ScatterpolarglMarkerSymbolArrowWideOpen ScatterpolarglMarkerSymbol = "arrow-wide-open" +) + +// ScatterpolarglTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. +type ScatterpolarglTextposition string + +const ( + ScatterpolarglTextpositionTopLeft ScatterpolarglTextposition = "top left" + ScatterpolarglTextpositionTopCenter ScatterpolarglTextposition = "top center" + ScatterpolarglTextpositionTopRight ScatterpolarglTextposition = "top right" + ScatterpolarglTextpositionMiddleLeft ScatterpolarglTextposition = "middle left" + ScatterpolarglTextpositionMiddleCenter ScatterpolarglTextposition = "middle center" + ScatterpolarglTextpositionMiddleRight ScatterpolarglTextposition = "middle right" + ScatterpolarglTextpositionBottomLeft ScatterpolarglTextposition = "bottom left" + ScatterpolarglTextpositionBottomCenter ScatterpolarglTextposition = "bottom center" + ScatterpolarglTextpositionBottomRight ScatterpolarglTextposition = "bottom right" +) + +// ScatterpolarglThetaunit Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes. +type ScatterpolarglThetaunit string + +const ( + ScatterpolarglThetaunitRadians ScatterpolarglThetaunit = "radians" + ScatterpolarglThetaunitDegrees ScatterpolarglThetaunit = "degrees" + ScatterpolarglThetaunitGradians ScatterpolarglThetaunit = "gradians" +) + +// ScatterpolarglVisible 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). +type ScatterpolarglVisible interface{} + +var ( + ScatterpolarglVisibleTrue ScatterpolarglVisible = true + ScatterpolarglVisibleFalse ScatterpolarglVisible = false + ScatterpolarglVisibleLegendonly ScatterpolarglVisible = "legendonly" +) + +// ScatterpolarglHoverinfo 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. +type ScatterpolarglHoverinfo string + +const ( + // Flags + ScatterpolarglHoverinfoR ScatterpolarglHoverinfo = "r" + ScatterpolarglHoverinfoTheta ScatterpolarglHoverinfo = "theta" + ScatterpolarglHoverinfoText ScatterpolarglHoverinfo = "text" + ScatterpolarglHoverinfoName ScatterpolarglHoverinfo = "name" + + // Extra + ScatterpolarglHoverinfoAll ScatterpolarglHoverinfo = "all" + ScatterpolarglHoverinfoNone ScatterpolarglHoverinfo = "none" + ScatterpolarglHoverinfoSkip ScatterpolarglHoverinfo = "skip" +) + +// ScatterpolarglMode 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*. +type ScatterpolarglMode string + +const ( + // Flags + ScatterpolarglModeLines ScatterpolarglMode = "lines" + ScatterpolarglModeMarkers ScatterpolarglMode = "markers" + ScatterpolarglModeText ScatterpolarglMode = "text" + + // Extra + ScatterpolarglModeNone ScatterpolarglMode = "none" +) diff --git a/generated/v2.29.1/graph_objects/scattersmith_gen.go b/generated/v2.29.1/graph_objects/scattersmith_gen.go new file mode 100644 index 0000000..1d98f00 --- /dev/null +++ b/generated/v2.29.1/graph_objects/scattersmith_gen.go @@ -0,0 +1,2006 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeScattersmith TraceType = "scattersmith" + +func (trace *Scattersmith) GetType() TraceType { + return TraceTypeScattersmith +} + +// Scattersmith 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. +type Scattersmith struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Cliponaxis + // arrayOK: false + // 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*. + Cliponaxis Bool `json:"cliponaxis,omitempty"` + + // Connectgaps + // arrayOK: false + // type: boolean + // Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected. + Connectgaps Bool `json:"connectgaps,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Fill + // default: none + // type: enumerated + // 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. + Fill ScattersmithFill `json:"fill,omitempty"` + + // Fillcolor + // arrayOK: false + // 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. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo ScattersmithHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *ScattersmithHoverlabel `json:"hoverlabel,omitempty"` + + // Hoveron + // default: %!s() + // type: flaglist + // 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*. + Hoveron ScattersmithHoveron `json:"hoveron,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Imag + // arrayOK: false + // 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. + Imag interface{} `json:"imag,omitempty"` + + // Imagsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `imag`. + Imagsrc String `json:"imagsrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *ScattersmithLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *ScattersmithLine `json:"line,omitempty"` + + // Marker + // role: Object + Marker *ScattersmithMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Mode + // default: %!s() + // type: flaglist + // 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*. + Mode ScattersmithMode `json:"mode,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Real + // arrayOK: false + // 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. + Real interface{} `json:"real,omitempty"` + + // Realsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `real`. + Realsrc String `json:"realsrc,omitempty"` + + // Selected + // role: Object + Selected *ScattersmithSelected `json:"selected,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Stream + // role: Object + Stream *ScattersmithStream `json:"stream,omitempty"` + + // Subplot + // arrayOK: false + // type: subplotid + // 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. + Subplot String `json:"subplot,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textfont + // role: Object + Textfont *ScattersmithTextfont `json:"textfont,omitempty"` + + // Textposition + // default: middle center + // type: enumerated + // Sets the positions of the `text` elements with respects to the (x,y) coordinates. + Textposition ScattersmithTextposition `json:"textposition,omitempty"` + + // Textpositionsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `textposition`. + Textpositionsrc String `json:"textpositionsrc,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: true + // 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 `real`, `imag` and `text`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Texttemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `texttemplate`. + Texttemplatesrc String `json:"texttemplatesrc,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Unselected + // role: Object + Unselected *ScattersmithUnselected `json:"unselected,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible ScattersmithVisible `json:"visible,omitempty"` +} + +// ScattersmithHoverlabelFont Sets the font used in hover labels. +type ScattersmithHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ScattersmithHoverlabel +type ScattersmithHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align ScattersmithHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *ScattersmithHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// ScattersmithLegendgrouptitleFont Sets this legend group's title font. +type ScattersmithLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScattersmithLegendgrouptitle +type ScattersmithLegendgrouptitle struct { + + // Font + // role: Object + Font *ScattersmithLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// ScattersmithLine +type ScattersmithLine struct { + + // Backoff + // arrayOK: true + // type: number + // 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*. + Backoff float64 `json:"backoff,omitempty"` + + // Backoffsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `backoff`. + Backoffsrc String `json:"backoffsrc,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the line color. + Color Color `json:"color,omitempty"` + + // Dash + // arrayOK: false + // type: string + // 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*). + Dash String `json:"dash,omitempty"` + + // Shape + // default: linear + // type: enumerated + // Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes. + Shape ScattersmithLineShape `json:"shape,omitempty"` + + // Smoothing + // arrayOK: false + // type: number + // 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). + Smoothing float64 `json:"smoothing,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width (in px). + Width float64 `json:"width,omitempty"` +} + +// ScattersmithMarkerColorbarTickfont Sets the color bar's tick label font +type ScattersmithMarkerColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScattersmithMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type ScattersmithMarkerColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScattersmithMarkerColorbarTitle +type ScattersmithMarkerColorbarTitle struct { + + // Font + // role: Object + Font *ScattersmithMarkerColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side ScattersmithMarkerColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// ScattersmithMarkerColorbar +type ScattersmithMarkerColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat ScattersmithMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode ScattersmithMarkerColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ScattersmithMarkerColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent ScattersmithMarkerColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix ScattersmithMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix ScattersmithMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode ScattersmithMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *ScattersmithMarkerColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ScattersmithMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition ScattersmithMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode ScattersmithMarkerColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks ScattersmithMarkerColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *ScattersmithMarkerColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor ScattersmithMarkerColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref ScattersmithMarkerColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor ScattersmithMarkerColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref ScattersmithMarkerColorbarYref `json:"yref,omitempty"` +} + +// ScattersmithMarkerGradient +type ScattersmithMarkerGradient struct { + + // Color + // arrayOK: true + // type: color + // Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Type + // default: none + // type: enumerated + // Sets the type of gradient used to fill the markers + Type ScattersmithMarkerGradientType `json:"type,omitempty"` + + // Typesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `type`. + Typesrc String `json:"typesrc,omitempty"` +} + +// ScattersmithMarkerLine +type ScattersmithMarkerLine struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the lines bounding the marker points. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// ScattersmithMarker +type ScattersmithMarker struct { + + // Angle + // arrayOK: true + // type: angle + // Sets the marker angle in respect to `angleref`. + Angle float64 `json:"angle,omitempty"` + + // Angleref + // default: up + // type: enumerated + // 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. + Angleref ScattersmithMarkerAngleref `json:"angleref,omitempty"` + + // Anglesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `angle`. + Anglesrc String `json:"anglesrc,omitempty"` + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *ScattersmithMarkerColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Gradient + // role: Object + Gradient *ScattersmithMarkerGradient `json:"gradient,omitempty"` + + // Line + // role: Object + Line *ScattersmithMarkerLine `json:"line,omitempty"` + + // Maxdisplayed + // arrayOK: false + // type: number + // Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit. + Maxdisplayed float64 `json:"maxdisplayed,omitempty"` + + // Opacity + // arrayOK: true + // type: number + // Sets the marker opacity. + Opacity float64 `json:"opacity,omitempty"` + + // Opacitysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `opacity`. + Opacitysrc String `json:"opacitysrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the marker size (in px). + Size float64 `json:"size,omitempty"` + + // Sizemin + // arrayOK: false + // 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. + Sizemin float64 `json:"sizemin,omitempty"` + + // Sizemode + // default: diameter + // type: enumerated + // 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. + Sizemode ScattersmithMarkerSizemode `json:"sizemode,omitempty"` + + // Sizeref + // arrayOK: false + // type: number + // 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`. + Sizeref float64 `json:"sizeref,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Standoff + // arrayOK: true + // type: number + // 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. + Standoff float64 `json:"standoff,omitempty"` + + // Standoffsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `standoff`. + Standoffsrc String `json:"standoffsrc,omitempty"` + + // Symbol + // default: circle + // type: enumerated + // 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. + Symbol ScattersmithMarkerSymbol `json:"symbol,omitempty"` + + // Symbolsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `symbol`. + Symbolsrc String `json:"symbolsrc,omitempty"` +} + +// ScattersmithSelectedMarker +type ScattersmithSelectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of selected points. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of selected points. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of selected points. + Size float64 `json:"size,omitempty"` +} + +// ScattersmithSelectedTextfont +type ScattersmithSelectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of selected points. + Color Color `json:"color,omitempty"` +} + +// ScattersmithSelected +type ScattersmithSelected struct { + + // Marker + // role: Object + Marker *ScattersmithSelectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *ScattersmithSelectedTextfont `json:"textfont,omitempty"` +} + +// ScattersmithStream +type ScattersmithStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// ScattersmithTextfont Sets the text font. +type ScattersmithTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ScattersmithUnselectedMarker +type ScattersmithUnselectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of unselected points, applied only when a selection exists. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of unselected points, applied only when a selection exists. + Size float64 `json:"size,omitempty"` +} + +// ScattersmithUnselectedTextfont +type ScattersmithUnselectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` +} + +// ScattersmithUnselected +type ScattersmithUnselected struct { + + // Marker + // role: Object + Marker *ScattersmithUnselectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *ScattersmithUnselectedTextfont `json:"textfont,omitempty"` +} + +// ScattersmithFill 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. +type ScattersmithFill string + +const ( + ScattersmithFillNone ScattersmithFill = "none" + ScattersmithFillToself ScattersmithFill = "toself" + ScattersmithFillTonext ScattersmithFill = "tonext" +) + +// ScattersmithHoverlabelAlign 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 +type ScattersmithHoverlabelAlign string + +const ( + ScattersmithHoverlabelAlignLeft ScattersmithHoverlabelAlign = "left" + ScattersmithHoverlabelAlignRight ScattersmithHoverlabelAlign = "right" + ScattersmithHoverlabelAlignAuto ScattersmithHoverlabelAlign = "auto" +) + +// ScattersmithLineShape Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes. +type ScattersmithLineShape string + +const ( + ScattersmithLineShapeLinear ScattersmithLineShape = "linear" + ScattersmithLineShapeSpline ScattersmithLineShape = "spline" +) + +// ScattersmithMarkerAngleref 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. +type ScattersmithMarkerAngleref string + +const ( + ScattersmithMarkerAnglerefPrevious ScattersmithMarkerAngleref = "previous" + ScattersmithMarkerAnglerefUp ScattersmithMarkerAngleref = "up" +) + +// ScattersmithMarkerColorbarExponentformat 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. +type ScattersmithMarkerColorbarExponentformat string + +const ( + ScattersmithMarkerColorbarExponentformatNone ScattersmithMarkerColorbarExponentformat = "none" + ScattersmithMarkerColorbarExponentformatE1 ScattersmithMarkerColorbarExponentformat = "e" + ScattersmithMarkerColorbarExponentformatE2 ScattersmithMarkerColorbarExponentformat = "E" + ScattersmithMarkerColorbarExponentformatPower ScattersmithMarkerColorbarExponentformat = "power" + ScattersmithMarkerColorbarExponentformatSI ScattersmithMarkerColorbarExponentformat = "SI" + ScattersmithMarkerColorbarExponentformatB ScattersmithMarkerColorbarExponentformat = "B" +) + +// ScattersmithMarkerColorbarLenmode 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. +type ScattersmithMarkerColorbarLenmode string + +const ( + ScattersmithMarkerColorbarLenmodeFraction ScattersmithMarkerColorbarLenmode = "fraction" + ScattersmithMarkerColorbarLenmodePixels ScattersmithMarkerColorbarLenmode = "pixels" +) + +// ScattersmithMarkerColorbarOrientation Sets the orientation of the colorbar. +type ScattersmithMarkerColorbarOrientation string + +const ( + ScattersmithMarkerColorbarOrientationH ScattersmithMarkerColorbarOrientation = "h" + ScattersmithMarkerColorbarOrientationV ScattersmithMarkerColorbarOrientation = "v" +) + +// ScattersmithMarkerColorbarShowexponent 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. +type ScattersmithMarkerColorbarShowexponent string + +const ( + ScattersmithMarkerColorbarShowexponentAll ScattersmithMarkerColorbarShowexponent = "all" + ScattersmithMarkerColorbarShowexponentFirst ScattersmithMarkerColorbarShowexponent = "first" + ScattersmithMarkerColorbarShowexponentLast ScattersmithMarkerColorbarShowexponent = "last" + ScattersmithMarkerColorbarShowexponentNone ScattersmithMarkerColorbarShowexponent = "none" +) + +// ScattersmithMarkerColorbarShowtickprefix 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. +type ScattersmithMarkerColorbarShowtickprefix string + +const ( + ScattersmithMarkerColorbarShowtickprefixAll ScattersmithMarkerColorbarShowtickprefix = "all" + ScattersmithMarkerColorbarShowtickprefixFirst ScattersmithMarkerColorbarShowtickprefix = "first" + ScattersmithMarkerColorbarShowtickprefixLast ScattersmithMarkerColorbarShowtickprefix = "last" + ScattersmithMarkerColorbarShowtickprefixNone ScattersmithMarkerColorbarShowtickprefix = "none" +) + +// ScattersmithMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type ScattersmithMarkerColorbarShowticksuffix string + +const ( + ScattersmithMarkerColorbarShowticksuffixAll ScattersmithMarkerColorbarShowticksuffix = "all" + ScattersmithMarkerColorbarShowticksuffixFirst ScattersmithMarkerColorbarShowticksuffix = "first" + ScattersmithMarkerColorbarShowticksuffixLast ScattersmithMarkerColorbarShowticksuffix = "last" + ScattersmithMarkerColorbarShowticksuffixNone ScattersmithMarkerColorbarShowticksuffix = "none" +) + +// ScattersmithMarkerColorbarThicknessmode 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. +type ScattersmithMarkerColorbarThicknessmode string + +const ( + ScattersmithMarkerColorbarThicknessmodeFraction ScattersmithMarkerColorbarThicknessmode = "fraction" + ScattersmithMarkerColorbarThicknessmodePixels ScattersmithMarkerColorbarThicknessmode = "pixels" +) + +// ScattersmithMarkerColorbarTicklabeloverflow 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*. +type ScattersmithMarkerColorbarTicklabeloverflow string + +const ( + ScattersmithMarkerColorbarTicklabeloverflowAllow ScattersmithMarkerColorbarTicklabeloverflow = "allow" + ScattersmithMarkerColorbarTicklabeloverflowHidePastDiv ScattersmithMarkerColorbarTicklabeloverflow = "hide past div" + ScattersmithMarkerColorbarTicklabeloverflowHidePastDomain ScattersmithMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// ScattersmithMarkerColorbarTicklabelposition 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*. +type ScattersmithMarkerColorbarTicklabelposition string + +const ( + ScattersmithMarkerColorbarTicklabelpositionOutside ScattersmithMarkerColorbarTicklabelposition = "outside" + ScattersmithMarkerColorbarTicklabelpositionInside ScattersmithMarkerColorbarTicklabelposition = "inside" + ScattersmithMarkerColorbarTicklabelpositionOutsideTop ScattersmithMarkerColorbarTicklabelposition = "outside top" + ScattersmithMarkerColorbarTicklabelpositionInsideTop ScattersmithMarkerColorbarTicklabelposition = "inside top" + ScattersmithMarkerColorbarTicklabelpositionOutsideLeft ScattersmithMarkerColorbarTicklabelposition = "outside left" + ScattersmithMarkerColorbarTicklabelpositionInsideLeft ScattersmithMarkerColorbarTicklabelposition = "inside left" + ScattersmithMarkerColorbarTicklabelpositionOutsideRight ScattersmithMarkerColorbarTicklabelposition = "outside right" + ScattersmithMarkerColorbarTicklabelpositionInsideRight ScattersmithMarkerColorbarTicklabelposition = "inside right" + ScattersmithMarkerColorbarTicklabelpositionOutsideBottom ScattersmithMarkerColorbarTicklabelposition = "outside bottom" + ScattersmithMarkerColorbarTicklabelpositionInsideBottom ScattersmithMarkerColorbarTicklabelposition = "inside bottom" +) + +// ScattersmithMarkerColorbarTickmode 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). +type ScattersmithMarkerColorbarTickmode string + +const ( + ScattersmithMarkerColorbarTickmodeAuto ScattersmithMarkerColorbarTickmode = "auto" + ScattersmithMarkerColorbarTickmodeLinear ScattersmithMarkerColorbarTickmode = "linear" + ScattersmithMarkerColorbarTickmodeArray ScattersmithMarkerColorbarTickmode = "array" +) + +// ScattersmithMarkerColorbarTicks 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. +type ScattersmithMarkerColorbarTicks string + +const ( + ScattersmithMarkerColorbarTicksOutside ScattersmithMarkerColorbarTicks = "outside" + ScattersmithMarkerColorbarTicksInside ScattersmithMarkerColorbarTicks = "inside" + ScattersmithMarkerColorbarTicksEmpty ScattersmithMarkerColorbarTicks = "" +) + +// ScattersmithMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type ScattersmithMarkerColorbarTitleSide string + +const ( + ScattersmithMarkerColorbarTitleSideRight ScattersmithMarkerColorbarTitleSide = "right" + ScattersmithMarkerColorbarTitleSideTop ScattersmithMarkerColorbarTitleSide = "top" + ScattersmithMarkerColorbarTitleSideBottom ScattersmithMarkerColorbarTitleSide = "bottom" +) + +// ScattersmithMarkerColorbarXanchor 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*. +type ScattersmithMarkerColorbarXanchor string + +const ( + ScattersmithMarkerColorbarXanchorLeft ScattersmithMarkerColorbarXanchor = "left" + ScattersmithMarkerColorbarXanchorCenter ScattersmithMarkerColorbarXanchor = "center" + ScattersmithMarkerColorbarXanchorRight ScattersmithMarkerColorbarXanchor = "right" +) + +// ScattersmithMarkerColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type ScattersmithMarkerColorbarXref string + +const ( + ScattersmithMarkerColorbarXrefContainer ScattersmithMarkerColorbarXref = "container" + ScattersmithMarkerColorbarXrefPaper ScattersmithMarkerColorbarXref = "paper" +) + +// ScattersmithMarkerColorbarYanchor 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*. +type ScattersmithMarkerColorbarYanchor string + +const ( + ScattersmithMarkerColorbarYanchorTop ScattersmithMarkerColorbarYanchor = "top" + ScattersmithMarkerColorbarYanchorMiddle ScattersmithMarkerColorbarYanchor = "middle" + ScattersmithMarkerColorbarYanchorBottom ScattersmithMarkerColorbarYanchor = "bottom" +) + +// ScattersmithMarkerColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type ScattersmithMarkerColorbarYref string + +const ( + ScattersmithMarkerColorbarYrefContainer ScattersmithMarkerColorbarYref = "container" + ScattersmithMarkerColorbarYrefPaper ScattersmithMarkerColorbarYref = "paper" +) + +// ScattersmithMarkerGradientType Sets the type of gradient used to fill the markers +type ScattersmithMarkerGradientType string + +const ( + ScattersmithMarkerGradientTypeRadial ScattersmithMarkerGradientType = "radial" + ScattersmithMarkerGradientTypeHorizontal ScattersmithMarkerGradientType = "horizontal" + ScattersmithMarkerGradientTypeVertical ScattersmithMarkerGradientType = "vertical" + ScattersmithMarkerGradientTypeNone ScattersmithMarkerGradientType = "none" +) + +// ScattersmithMarkerSizemode 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. +type ScattersmithMarkerSizemode string + +const ( + ScattersmithMarkerSizemodeDiameter ScattersmithMarkerSizemode = "diameter" + ScattersmithMarkerSizemodeArea ScattersmithMarkerSizemode = "area" +) + +// ScattersmithMarkerSymbol 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. +type ScattersmithMarkerSymbol interface{} + +var ( + ScattersmithMarkerSymbolNumber0 ScattersmithMarkerSymbol = 0 + ScattersmithMarkerSymbol0 ScattersmithMarkerSymbol = "0" + ScattersmithMarkerSymbolCircle ScattersmithMarkerSymbol = "circle" + ScattersmithMarkerSymbolNumber100 ScattersmithMarkerSymbol = 100 + ScattersmithMarkerSymbol100 ScattersmithMarkerSymbol = "100" + ScattersmithMarkerSymbolCircleOpen ScattersmithMarkerSymbol = "circle-open" + ScattersmithMarkerSymbolNumber200 ScattersmithMarkerSymbol = 200 + ScattersmithMarkerSymbol200 ScattersmithMarkerSymbol = "200" + ScattersmithMarkerSymbolCircleDot ScattersmithMarkerSymbol = "circle-dot" + ScattersmithMarkerSymbolNumber300 ScattersmithMarkerSymbol = 300 + ScattersmithMarkerSymbol300 ScattersmithMarkerSymbol = "300" + ScattersmithMarkerSymbolCircleOpenDot ScattersmithMarkerSymbol = "circle-open-dot" + ScattersmithMarkerSymbolNumber1 ScattersmithMarkerSymbol = 1 + ScattersmithMarkerSymbol1 ScattersmithMarkerSymbol = "1" + ScattersmithMarkerSymbolSquare ScattersmithMarkerSymbol = "square" + ScattersmithMarkerSymbolNumber101 ScattersmithMarkerSymbol = 101 + ScattersmithMarkerSymbol101 ScattersmithMarkerSymbol = "101" + ScattersmithMarkerSymbolSquareOpen ScattersmithMarkerSymbol = "square-open" + ScattersmithMarkerSymbolNumber201 ScattersmithMarkerSymbol = 201 + ScattersmithMarkerSymbol201 ScattersmithMarkerSymbol = "201" + ScattersmithMarkerSymbolSquareDot ScattersmithMarkerSymbol = "square-dot" + ScattersmithMarkerSymbolNumber301 ScattersmithMarkerSymbol = 301 + ScattersmithMarkerSymbol301 ScattersmithMarkerSymbol = "301" + ScattersmithMarkerSymbolSquareOpenDot ScattersmithMarkerSymbol = "square-open-dot" + ScattersmithMarkerSymbolNumber2 ScattersmithMarkerSymbol = 2 + ScattersmithMarkerSymbol2 ScattersmithMarkerSymbol = "2" + ScattersmithMarkerSymbolDiamond ScattersmithMarkerSymbol = "diamond" + ScattersmithMarkerSymbolNumber102 ScattersmithMarkerSymbol = 102 + ScattersmithMarkerSymbol102 ScattersmithMarkerSymbol = "102" + ScattersmithMarkerSymbolDiamondOpen ScattersmithMarkerSymbol = "diamond-open" + ScattersmithMarkerSymbolNumber202 ScattersmithMarkerSymbol = 202 + ScattersmithMarkerSymbol202 ScattersmithMarkerSymbol = "202" + ScattersmithMarkerSymbolDiamondDot ScattersmithMarkerSymbol = "diamond-dot" + ScattersmithMarkerSymbolNumber302 ScattersmithMarkerSymbol = 302 + ScattersmithMarkerSymbol302 ScattersmithMarkerSymbol = "302" + ScattersmithMarkerSymbolDiamondOpenDot ScattersmithMarkerSymbol = "diamond-open-dot" + ScattersmithMarkerSymbolNumber3 ScattersmithMarkerSymbol = 3 + ScattersmithMarkerSymbol3 ScattersmithMarkerSymbol = "3" + ScattersmithMarkerSymbolCross ScattersmithMarkerSymbol = "cross" + ScattersmithMarkerSymbolNumber103 ScattersmithMarkerSymbol = 103 + ScattersmithMarkerSymbol103 ScattersmithMarkerSymbol = "103" + ScattersmithMarkerSymbolCrossOpen ScattersmithMarkerSymbol = "cross-open" + ScattersmithMarkerSymbolNumber203 ScattersmithMarkerSymbol = 203 + ScattersmithMarkerSymbol203 ScattersmithMarkerSymbol = "203" + ScattersmithMarkerSymbolCrossDot ScattersmithMarkerSymbol = "cross-dot" + ScattersmithMarkerSymbolNumber303 ScattersmithMarkerSymbol = 303 + ScattersmithMarkerSymbol303 ScattersmithMarkerSymbol = "303" + ScattersmithMarkerSymbolCrossOpenDot ScattersmithMarkerSymbol = "cross-open-dot" + ScattersmithMarkerSymbolNumber4 ScattersmithMarkerSymbol = 4 + ScattersmithMarkerSymbol4 ScattersmithMarkerSymbol = "4" + ScattersmithMarkerSymbolX ScattersmithMarkerSymbol = "x" + ScattersmithMarkerSymbolNumber104 ScattersmithMarkerSymbol = 104 + ScattersmithMarkerSymbol104 ScattersmithMarkerSymbol = "104" + ScattersmithMarkerSymbolXOpen ScattersmithMarkerSymbol = "x-open" + ScattersmithMarkerSymbolNumber204 ScattersmithMarkerSymbol = 204 + ScattersmithMarkerSymbol204 ScattersmithMarkerSymbol = "204" + ScattersmithMarkerSymbolXDot ScattersmithMarkerSymbol = "x-dot" + ScattersmithMarkerSymbolNumber304 ScattersmithMarkerSymbol = 304 + ScattersmithMarkerSymbol304 ScattersmithMarkerSymbol = "304" + ScattersmithMarkerSymbolXOpenDot ScattersmithMarkerSymbol = "x-open-dot" + ScattersmithMarkerSymbolNumber5 ScattersmithMarkerSymbol = 5 + ScattersmithMarkerSymbol5 ScattersmithMarkerSymbol = "5" + ScattersmithMarkerSymbolTriangleUp ScattersmithMarkerSymbol = "triangle-up" + ScattersmithMarkerSymbolNumber105 ScattersmithMarkerSymbol = 105 + ScattersmithMarkerSymbol105 ScattersmithMarkerSymbol = "105" + ScattersmithMarkerSymbolTriangleUpOpen ScattersmithMarkerSymbol = "triangle-up-open" + ScattersmithMarkerSymbolNumber205 ScattersmithMarkerSymbol = 205 + ScattersmithMarkerSymbol205 ScattersmithMarkerSymbol = "205" + ScattersmithMarkerSymbolTriangleUpDot ScattersmithMarkerSymbol = "triangle-up-dot" + ScattersmithMarkerSymbolNumber305 ScattersmithMarkerSymbol = 305 + ScattersmithMarkerSymbol305 ScattersmithMarkerSymbol = "305" + ScattersmithMarkerSymbolTriangleUpOpenDot ScattersmithMarkerSymbol = "triangle-up-open-dot" + ScattersmithMarkerSymbolNumber6 ScattersmithMarkerSymbol = 6 + ScattersmithMarkerSymbol6 ScattersmithMarkerSymbol = "6" + ScattersmithMarkerSymbolTriangleDown ScattersmithMarkerSymbol = "triangle-down" + ScattersmithMarkerSymbolNumber106 ScattersmithMarkerSymbol = 106 + ScattersmithMarkerSymbol106 ScattersmithMarkerSymbol = "106" + ScattersmithMarkerSymbolTriangleDownOpen ScattersmithMarkerSymbol = "triangle-down-open" + ScattersmithMarkerSymbolNumber206 ScattersmithMarkerSymbol = 206 + ScattersmithMarkerSymbol206 ScattersmithMarkerSymbol = "206" + ScattersmithMarkerSymbolTriangleDownDot ScattersmithMarkerSymbol = "triangle-down-dot" + ScattersmithMarkerSymbolNumber306 ScattersmithMarkerSymbol = 306 + ScattersmithMarkerSymbol306 ScattersmithMarkerSymbol = "306" + ScattersmithMarkerSymbolTriangleDownOpenDot ScattersmithMarkerSymbol = "triangle-down-open-dot" + ScattersmithMarkerSymbolNumber7 ScattersmithMarkerSymbol = 7 + ScattersmithMarkerSymbol7 ScattersmithMarkerSymbol = "7" + ScattersmithMarkerSymbolTriangleLeft ScattersmithMarkerSymbol = "triangle-left" + ScattersmithMarkerSymbolNumber107 ScattersmithMarkerSymbol = 107 + ScattersmithMarkerSymbol107 ScattersmithMarkerSymbol = "107" + ScattersmithMarkerSymbolTriangleLeftOpen ScattersmithMarkerSymbol = "triangle-left-open" + ScattersmithMarkerSymbolNumber207 ScattersmithMarkerSymbol = 207 + ScattersmithMarkerSymbol207 ScattersmithMarkerSymbol = "207" + ScattersmithMarkerSymbolTriangleLeftDot ScattersmithMarkerSymbol = "triangle-left-dot" + ScattersmithMarkerSymbolNumber307 ScattersmithMarkerSymbol = 307 + ScattersmithMarkerSymbol307 ScattersmithMarkerSymbol = "307" + ScattersmithMarkerSymbolTriangleLeftOpenDot ScattersmithMarkerSymbol = "triangle-left-open-dot" + ScattersmithMarkerSymbolNumber8 ScattersmithMarkerSymbol = 8 + ScattersmithMarkerSymbol8 ScattersmithMarkerSymbol = "8" + ScattersmithMarkerSymbolTriangleRight ScattersmithMarkerSymbol = "triangle-right" + ScattersmithMarkerSymbolNumber108 ScattersmithMarkerSymbol = 108 + ScattersmithMarkerSymbol108 ScattersmithMarkerSymbol = "108" + ScattersmithMarkerSymbolTriangleRightOpen ScattersmithMarkerSymbol = "triangle-right-open" + ScattersmithMarkerSymbolNumber208 ScattersmithMarkerSymbol = 208 + ScattersmithMarkerSymbol208 ScattersmithMarkerSymbol = "208" + ScattersmithMarkerSymbolTriangleRightDot ScattersmithMarkerSymbol = "triangle-right-dot" + ScattersmithMarkerSymbolNumber308 ScattersmithMarkerSymbol = 308 + ScattersmithMarkerSymbol308 ScattersmithMarkerSymbol = "308" + ScattersmithMarkerSymbolTriangleRightOpenDot ScattersmithMarkerSymbol = "triangle-right-open-dot" + ScattersmithMarkerSymbolNumber9 ScattersmithMarkerSymbol = 9 + ScattersmithMarkerSymbol9 ScattersmithMarkerSymbol = "9" + ScattersmithMarkerSymbolTriangleNe ScattersmithMarkerSymbol = "triangle-ne" + ScattersmithMarkerSymbolNumber109 ScattersmithMarkerSymbol = 109 + ScattersmithMarkerSymbol109 ScattersmithMarkerSymbol = "109" + ScattersmithMarkerSymbolTriangleNeOpen ScattersmithMarkerSymbol = "triangle-ne-open" + ScattersmithMarkerSymbolNumber209 ScattersmithMarkerSymbol = 209 + ScattersmithMarkerSymbol209 ScattersmithMarkerSymbol = "209" + ScattersmithMarkerSymbolTriangleNeDot ScattersmithMarkerSymbol = "triangle-ne-dot" + ScattersmithMarkerSymbolNumber309 ScattersmithMarkerSymbol = 309 + ScattersmithMarkerSymbol309 ScattersmithMarkerSymbol = "309" + ScattersmithMarkerSymbolTriangleNeOpenDot ScattersmithMarkerSymbol = "triangle-ne-open-dot" + ScattersmithMarkerSymbolNumber10 ScattersmithMarkerSymbol = 10 + ScattersmithMarkerSymbol10 ScattersmithMarkerSymbol = "10" + ScattersmithMarkerSymbolTriangleSe ScattersmithMarkerSymbol = "triangle-se" + ScattersmithMarkerSymbolNumber110 ScattersmithMarkerSymbol = 110 + ScattersmithMarkerSymbol110 ScattersmithMarkerSymbol = "110" + ScattersmithMarkerSymbolTriangleSeOpen ScattersmithMarkerSymbol = "triangle-se-open" + ScattersmithMarkerSymbolNumber210 ScattersmithMarkerSymbol = 210 + ScattersmithMarkerSymbol210 ScattersmithMarkerSymbol = "210" + ScattersmithMarkerSymbolTriangleSeDot ScattersmithMarkerSymbol = "triangle-se-dot" + ScattersmithMarkerSymbolNumber310 ScattersmithMarkerSymbol = 310 + ScattersmithMarkerSymbol310 ScattersmithMarkerSymbol = "310" + ScattersmithMarkerSymbolTriangleSeOpenDot ScattersmithMarkerSymbol = "triangle-se-open-dot" + ScattersmithMarkerSymbolNumber11 ScattersmithMarkerSymbol = 11 + ScattersmithMarkerSymbol11 ScattersmithMarkerSymbol = "11" + ScattersmithMarkerSymbolTriangleSw ScattersmithMarkerSymbol = "triangle-sw" + ScattersmithMarkerSymbolNumber111 ScattersmithMarkerSymbol = 111 + ScattersmithMarkerSymbol111 ScattersmithMarkerSymbol = "111" + ScattersmithMarkerSymbolTriangleSwOpen ScattersmithMarkerSymbol = "triangle-sw-open" + ScattersmithMarkerSymbolNumber211 ScattersmithMarkerSymbol = 211 + ScattersmithMarkerSymbol211 ScattersmithMarkerSymbol = "211" + ScattersmithMarkerSymbolTriangleSwDot ScattersmithMarkerSymbol = "triangle-sw-dot" + ScattersmithMarkerSymbolNumber311 ScattersmithMarkerSymbol = 311 + ScattersmithMarkerSymbol311 ScattersmithMarkerSymbol = "311" + ScattersmithMarkerSymbolTriangleSwOpenDot ScattersmithMarkerSymbol = "triangle-sw-open-dot" + ScattersmithMarkerSymbolNumber12 ScattersmithMarkerSymbol = 12 + ScattersmithMarkerSymbol12 ScattersmithMarkerSymbol = "12" + ScattersmithMarkerSymbolTriangleNw ScattersmithMarkerSymbol = "triangle-nw" + ScattersmithMarkerSymbolNumber112 ScattersmithMarkerSymbol = 112 + ScattersmithMarkerSymbol112 ScattersmithMarkerSymbol = "112" + ScattersmithMarkerSymbolTriangleNwOpen ScattersmithMarkerSymbol = "triangle-nw-open" + ScattersmithMarkerSymbolNumber212 ScattersmithMarkerSymbol = 212 + ScattersmithMarkerSymbol212 ScattersmithMarkerSymbol = "212" + ScattersmithMarkerSymbolTriangleNwDot ScattersmithMarkerSymbol = "triangle-nw-dot" + ScattersmithMarkerSymbolNumber312 ScattersmithMarkerSymbol = 312 + ScattersmithMarkerSymbol312 ScattersmithMarkerSymbol = "312" + ScattersmithMarkerSymbolTriangleNwOpenDot ScattersmithMarkerSymbol = "triangle-nw-open-dot" + ScattersmithMarkerSymbolNumber13 ScattersmithMarkerSymbol = 13 + ScattersmithMarkerSymbol13 ScattersmithMarkerSymbol = "13" + ScattersmithMarkerSymbolPentagon ScattersmithMarkerSymbol = "pentagon" + ScattersmithMarkerSymbolNumber113 ScattersmithMarkerSymbol = 113 + ScattersmithMarkerSymbol113 ScattersmithMarkerSymbol = "113" + ScattersmithMarkerSymbolPentagonOpen ScattersmithMarkerSymbol = "pentagon-open" + ScattersmithMarkerSymbolNumber213 ScattersmithMarkerSymbol = 213 + ScattersmithMarkerSymbol213 ScattersmithMarkerSymbol = "213" + ScattersmithMarkerSymbolPentagonDot ScattersmithMarkerSymbol = "pentagon-dot" + ScattersmithMarkerSymbolNumber313 ScattersmithMarkerSymbol = 313 + ScattersmithMarkerSymbol313 ScattersmithMarkerSymbol = "313" + ScattersmithMarkerSymbolPentagonOpenDot ScattersmithMarkerSymbol = "pentagon-open-dot" + ScattersmithMarkerSymbolNumber14 ScattersmithMarkerSymbol = 14 + ScattersmithMarkerSymbol14 ScattersmithMarkerSymbol = "14" + ScattersmithMarkerSymbolHexagon ScattersmithMarkerSymbol = "hexagon" + ScattersmithMarkerSymbolNumber114 ScattersmithMarkerSymbol = 114 + ScattersmithMarkerSymbol114 ScattersmithMarkerSymbol = "114" + ScattersmithMarkerSymbolHexagonOpen ScattersmithMarkerSymbol = "hexagon-open" + ScattersmithMarkerSymbolNumber214 ScattersmithMarkerSymbol = 214 + ScattersmithMarkerSymbol214 ScattersmithMarkerSymbol = "214" + ScattersmithMarkerSymbolHexagonDot ScattersmithMarkerSymbol = "hexagon-dot" + ScattersmithMarkerSymbolNumber314 ScattersmithMarkerSymbol = 314 + ScattersmithMarkerSymbol314 ScattersmithMarkerSymbol = "314" + ScattersmithMarkerSymbolHexagonOpenDot ScattersmithMarkerSymbol = "hexagon-open-dot" + ScattersmithMarkerSymbolNumber15 ScattersmithMarkerSymbol = 15 + ScattersmithMarkerSymbol15 ScattersmithMarkerSymbol = "15" + ScattersmithMarkerSymbolHexagon2 ScattersmithMarkerSymbol = "hexagon2" + ScattersmithMarkerSymbolNumber115 ScattersmithMarkerSymbol = 115 + ScattersmithMarkerSymbol115 ScattersmithMarkerSymbol = "115" + ScattersmithMarkerSymbolHexagon2Open ScattersmithMarkerSymbol = "hexagon2-open" + ScattersmithMarkerSymbolNumber215 ScattersmithMarkerSymbol = 215 + ScattersmithMarkerSymbol215 ScattersmithMarkerSymbol = "215" + ScattersmithMarkerSymbolHexagon2Dot ScattersmithMarkerSymbol = "hexagon2-dot" + ScattersmithMarkerSymbolNumber315 ScattersmithMarkerSymbol = 315 + ScattersmithMarkerSymbol315 ScattersmithMarkerSymbol = "315" + ScattersmithMarkerSymbolHexagon2OpenDot ScattersmithMarkerSymbol = "hexagon2-open-dot" + ScattersmithMarkerSymbolNumber16 ScattersmithMarkerSymbol = 16 + ScattersmithMarkerSymbol16 ScattersmithMarkerSymbol = "16" + ScattersmithMarkerSymbolOctagon ScattersmithMarkerSymbol = "octagon" + ScattersmithMarkerSymbolNumber116 ScattersmithMarkerSymbol = 116 + ScattersmithMarkerSymbol116 ScattersmithMarkerSymbol = "116" + ScattersmithMarkerSymbolOctagonOpen ScattersmithMarkerSymbol = "octagon-open" + ScattersmithMarkerSymbolNumber216 ScattersmithMarkerSymbol = 216 + ScattersmithMarkerSymbol216 ScattersmithMarkerSymbol = "216" + ScattersmithMarkerSymbolOctagonDot ScattersmithMarkerSymbol = "octagon-dot" + ScattersmithMarkerSymbolNumber316 ScattersmithMarkerSymbol = 316 + ScattersmithMarkerSymbol316 ScattersmithMarkerSymbol = "316" + ScattersmithMarkerSymbolOctagonOpenDot ScattersmithMarkerSymbol = "octagon-open-dot" + ScattersmithMarkerSymbolNumber17 ScattersmithMarkerSymbol = 17 + ScattersmithMarkerSymbol17 ScattersmithMarkerSymbol = "17" + ScattersmithMarkerSymbolStar ScattersmithMarkerSymbol = "star" + ScattersmithMarkerSymbolNumber117 ScattersmithMarkerSymbol = 117 + ScattersmithMarkerSymbol117 ScattersmithMarkerSymbol = "117" + ScattersmithMarkerSymbolStarOpen ScattersmithMarkerSymbol = "star-open" + ScattersmithMarkerSymbolNumber217 ScattersmithMarkerSymbol = 217 + ScattersmithMarkerSymbol217 ScattersmithMarkerSymbol = "217" + ScattersmithMarkerSymbolStarDot ScattersmithMarkerSymbol = "star-dot" + ScattersmithMarkerSymbolNumber317 ScattersmithMarkerSymbol = 317 + ScattersmithMarkerSymbol317 ScattersmithMarkerSymbol = "317" + ScattersmithMarkerSymbolStarOpenDot ScattersmithMarkerSymbol = "star-open-dot" + ScattersmithMarkerSymbolNumber18 ScattersmithMarkerSymbol = 18 + ScattersmithMarkerSymbol18 ScattersmithMarkerSymbol = "18" + ScattersmithMarkerSymbolHexagram ScattersmithMarkerSymbol = "hexagram" + ScattersmithMarkerSymbolNumber118 ScattersmithMarkerSymbol = 118 + ScattersmithMarkerSymbol118 ScattersmithMarkerSymbol = "118" + ScattersmithMarkerSymbolHexagramOpen ScattersmithMarkerSymbol = "hexagram-open" + ScattersmithMarkerSymbolNumber218 ScattersmithMarkerSymbol = 218 + ScattersmithMarkerSymbol218 ScattersmithMarkerSymbol = "218" + ScattersmithMarkerSymbolHexagramDot ScattersmithMarkerSymbol = "hexagram-dot" + ScattersmithMarkerSymbolNumber318 ScattersmithMarkerSymbol = 318 + ScattersmithMarkerSymbol318 ScattersmithMarkerSymbol = "318" + ScattersmithMarkerSymbolHexagramOpenDot ScattersmithMarkerSymbol = "hexagram-open-dot" + ScattersmithMarkerSymbolNumber19 ScattersmithMarkerSymbol = 19 + ScattersmithMarkerSymbol19 ScattersmithMarkerSymbol = "19" + ScattersmithMarkerSymbolStarTriangleUp ScattersmithMarkerSymbol = "star-triangle-up" + ScattersmithMarkerSymbolNumber119 ScattersmithMarkerSymbol = 119 + ScattersmithMarkerSymbol119 ScattersmithMarkerSymbol = "119" + ScattersmithMarkerSymbolStarTriangleUpOpen ScattersmithMarkerSymbol = "star-triangle-up-open" + ScattersmithMarkerSymbolNumber219 ScattersmithMarkerSymbol = 219 + ScattersmithMarkerSymbol219 ScattersmithMarkerSymbol = "219" + ScattersmithMarkerSymbolStarTriangleUpDot ScattersmithMarkerSymbol = "star-triangle-up-dot" + ScattersmithMarkerSymbolNumber319 ScattersmithMarkerSymbol = 319 + ScattersmithMarkerSymbol319 ScattersmithMarkerSymbol = "319" + ScattersmithMarkerSymbolStarTriangleUpOpenDot ScattersmithMarkerSymbol = "star-triangle-up-open-dot" + ScattersmithMarkerSymbolNumber20 ScattersmithMarkerSymbol = 20 + ScattersmithMarkerSymbol20 ScattersmithMarkerSymbol = "20" + ScattersmithMarkerSymbolStarTriangleDown ScattersmithMarkerSymbol = "star-triangle-down" + ScattersmithMarkerSymbolNumber120 ScattersmithMarkerSymbol = 120 + ScattersmithMarkerSymbol120 ScattersmithMarkerSymbol = "120" + ScattersmithMarkerSymbolStarTriangleDownOpen ScattersmithMarkerSymbol = "star-triangle-down-open" + ScattersmithMarkerSymbolNumber220 ScattersmithMarkerSymbol = 220 + ScattersmithMarkerSymbol220 ScattersmithMarkerSymbol = "220" + ScattersmithMarkerSymbolStarTriangleDownDot ScattersmithMarkerSymbol = "star-triangle-down-dot" + ScattersmithMarkerSymbolNumber320 ScattersmithMarkerSymbol = 320 + ScattersmithMarkerSymbol320 ScattersmithMarkerSymbol = "320" + ScattersmithMarkerSymbolStarTriangleDownOpenDot ScattersmithMarkerSymbol = "star-triangle-down-open-dot" + ScattersmithMarkerSymbolNumber21 ScattersmithMarkerSymbol = 21 + ScattersmithMarkerSymbol21 ScattersmithMarkerSymbol = "21" + ScattersmithMarkerSymbolStarSquare ScattersmithMarkerSymbol = "star-square" + ScattersmithMarkerSymbolNumber121 ScattersmithMarkerSymbol = 121 + ScattersmithMarkerSymbol121 ScattersmithMarkerSymbol = "121" + ScattersmithMarkerSymbolStarSquareOpen ScattersmithMarkerSymbol = "star-square-open" + ScattersmithMarkerSymbolNumber221 ScattersmithMarkerSymbol = 221 + ScattersmithMarkerSymbol221 ScattersmithMarkerSymbol = "221" + ScattersmithMarkerSymbolStarSquareDot ScattersmithMarkerSymbol = "star-square-dot" + ScattersmithMarkerSymbolNumber321 ScattersmithMarkerSymbol = 321 + ScattersmithMarkerSymbol321 ScattersmithMarkerSymbol = "321" + ScattersmithMarkerSymbolStarSquareOpenDot ScattersmithMarkerSymbol = "star-square-open-dot" + ScattersmithMarkerSymbolNumber22 ScattersmithMarkerSymbol = 22 + ScattersmithMarkerSymbol22 ScattersmithMarkerSymbol = "22" + ScattersmithMarkerSymbolStarDiamond ScattersmithMarkerSymbol = "star-diamond" + ScattersmithMarkerSymbolNumber122 ScattersmithMarkerSymbol = 122 + ScattersmithMarkerSymbol122 ScattersmithMarkerSymbol = "122" + ScattersmithMarkerSymbolStarDiamondOpen ScattersmithMarkerSymbol = "star-diamond-open" + ScattersmithMarkerSymbolNumber222 ScattersmithMarkerSymbol = 222 + ScattersmithMarkerSymbol222 ScattersmithMarkerSymbol = "222" + ScattersmithMarkerSymbolStarDiamondDot ScattersmithMarkerSymbol = "star-diamond-dot" + ScattersmithMarkerSymbolNumber322 ScattersmithMarkerSymbol = 322 + ScattersmithMarkerSymbol322 ScattersmithMarkerSymbol = "322" + ScattersmithMarkerSymbolStarDiamondOpenDot ScattersmithMarkerSymbol = "star-diamond-open-dot" + ScattersmithMarkerSymbolNumber23 ScattersmithMarkerSymbol = 23 + ScattersmithMarkerSymbol23 ScattersmithMarkerSymbol = "23" + ScattersmithMarkerSymbolDiamondTall ScattersmithMarkerSymbol = "diamond-tall" + ScattersmithMarkerSymbolNumber123 ScattersmithMarkerSymbol = 123 + ScattersmithMarkerSymbol123 ScattersmithMarkerSymbol = "123" + ScattersmithMarkerSymbolDiamondTallOpen ScattersmithMarkerSymbol = "diamond-tall-open" + ScattersmithMarkerSymbolNumber223 ScattersmithMarkerSymbol = 223 + ScattersmithMarkerSymbol223 ScattersmithMarkerSymbol = "223" + ScattersmithMarkerSymbolDiamondTallDot ScattersmithMarkerSymbol = "diamond-tall-dot" + ScattersmithMarkerSymbolNumber323 ScattersmithMarkerSymbol = 323 + ScattersmithMarkerSymbol323 ScattersmithMarkerSymbol = "323" + ScattersmithMarkerSymbolDiamondTallOpenDot ScattersmithMarkerSymbol = "diamond-tall-open-dot" + ScattersmithMarkerSymbolNumber24 ScattersmithMarkerSymbol = 24 + ScattersmithMarkerSymbol24 ScattersmithMarkerSymbol = "24" + ScattersmithMarkerSymbolDiamondWide ScattersmithMarkerSymbol = "diamond-wide" + ScattersmithMarkerSymbolNumber124 ScattersmithMarkerSymbol = 124 + ScattersmithMarkerSymbol124 ScattersmithMarkerSymbol = "124" + ScattersmithMarkerSymbolDiamondWideOpen ScattersmithMarkerSymbol = "diamond-wide-open" + ScattersmithMarkerSymbolNumber224 ScattersmithMarkerSymbol = 224 + ScattersmithMarkerSymbol224 ScattersmithMarkerSymbol = "224" + ScattersmithMarkerSymbolDiamondWideDot ScattersmithMarkerSymbol = "diamond-wide-dot" + ScattersmithMarkerSymbolNumber324 ScattersmithMarkerSymbol = 324 + ScattersmithMarkerSymbol324 ScattersmithMarkerSymbol = "324" + ScattersmithMarkerSymbolDiamondWideOpenDot ScattersmithMarkerSymbol = "diamond-wide-open-dot" + ScattersmithMarkerSymbolNumber25 ScattersmithMarkerSymbol = 25 + ScattersmithMarkerSymbol25 ScattersmithMarkerSymbol = "25" + ScattersmithMarkerSymbolHourglass ScattersmithMarkerSymbol = "hourglass" + ScattersmithMarkerSymbolNumber125 ScattersmithMarkerSymbol = 125 + ScattersmithMarkerSymbol125 ScattersmithMarkerSymbol = "125" + ScattersmithMarkerSymbolHourglassOpen ScattersmithMarkerSymbol = "hourglass-open" + ScattersmithMarkerSymbolNumber26 ScattersmithMarkerSymbol = 26 + ScattersmithMarkerSymbol26 ScattersmithMarkerSymbol = "26" + ScattersmithMarkerSymbolBowtie ScattersmithMarkerSymbol = "bowtie" + ScattersmithMarkerSymbolNumber126 ScattersmithMarkerSymbol = 126 + ScattersmithMarkerSymbol126 ScattersmithMarkerSymbol = "126" + ScattersmithMarkerSymbolBowtieOpen ScattersmithMarkerSymbol = "bowtie-open" + ScattersmithMarkerSymbolNumber27 ScattersmithMarkerSymbol = 27 + ScattersmithMarkerSymbol27 ScattersmithMarkerSymbol = "27" + ScattersmithMarkerSymbolCircleCross ScattersmithMarkerSymbol = "circle-cross" + ScattersmithMarkerSymbolNumber127 ScattersmithMarkerSymbol = 127 + ScattersmithMarkerSymbol127 ScattersmithMarkerSymbol = "127" + ScattersmithMarkerSymbolCircleCrossOpen ScattersmithMarkerSymbol = "circle-cross-open" + ScattersmithMarkerSymbolNumber28 ScattersmithMarkerSymbol = 28 + ScattersmithMarkerSymbol28 ScattersmithMarkerSymbol = "28" + ScattersmithMarkerSymbolCircleX ScattersmithMarkerSymbol = "circle-x" + ScattersmithMarkerSymbolNumber128 ScattersmithMarkerSymbol = 128 + ScattersmithMarkerSymbol128 ScattersmithMarkerSymbol = "128" + ScattersmithMarkerSymbolCircleXOpen ScattersmithMarkerSymbol = "circle-x-open" + ScattersmithMarkerSymbolNumber29 ScattersmithMarkerSymbol = 29 + ScattersmithMarkerSymbol29 ScattersmithMarkerSymbol = "29" + ScattersmithMarkerSymbolSquareCross ScattersmithMarkerSymbol = "square-cross" + ScattersmithMarkerSymbolNumber129 ScattersmithMarkerSymbol = 129 + ScattersmithMarkerSymbol129 ScattersmithMarkerSymbol = "129" + ScattersmithMarkerSymbolSquareCrossOpen ScattersmithMarkerSymbol = "square-cross-open" + ScattersmithMarkerSymbolNumber30 ScattersmithMarkerSymbol = 30 + ScattersmithMarkerSymbol30 ScattersmithMarkerSymbol = "30" + ScattersmithMarkerSymbolSquareX ScattersmithMarkerSymbol = "square-x" + ScattersmithMarkerSymbolNumber130 ScattersmithMarkerSymbol = 130 + ScattersmithMarkerSymbol130 ScattersmithMarkerSymbol = "130" + ScattersmithMarkerSymbolSquareXOpen ScattersmithMarkerSymbol = "square-x-open" + ScattersmithMarkerSymbolNumber31 ScattersmithMarkerSymbol = 31 + ScattersmithMarkerSymbol31 ScattersmithMarkerSymbol = "31" + ScattersmithMarkerSymbolDiamondCross ScattersmithMarkerSymbol = "diamond-cross" + ScattersmithMarkerSymbolNumber131 ScattersmithMarkerSymbol = 131 + ScattersmithMarkerSymbol131 ScattersmithMarkerSymbol = "131" + ScattersmithMarkerSymbolDiamondCrossOpen ScattersmithMarkerSymbol = "diamond-cross-open" + ScattersmithMarkerSymbolNumber32 ScattersmithMarkerSymbol = 32 + ScattersmithMarkerSymbol32 ScattersmithMarkerSymbol = "32" + ScattersmithMarkerSymbolDiamondX ScattersmithMarkerSymbol = "diamond-x" + ScattersmithMarkerSymbolNumber132 ScattersmithMarkerSymbol = 132 + ScattersmithMarkerSymbol132 ScattersmithMarkerSymbol = "132" + ScattersmithMarkerSymbolDiamondXOpen ScattersmithMarkerSymbol = "diamond-x-open" + ScattersmithMarkerSymbolNumber33 ScattersmithMarkerSymbol = 33 + ScattersmithMarkerSymbol33 ScattersmithMarkerSymbol = "33" + ScattersmithMarkerSymbolCrossThin ScattersmithMarkerSymbol = "cross-thin" + ScattersmithMarkerSymbolNumber133 ScattersmithMarkerSymbol = 133 + ScattersmithMarkerSymbol133 ScattersmithMarkerSymbol = "133" + ScattersmithMarkerSymbolCrossThinOpen ScattersmithMarkerSymbol = "cross-thin-open" + ScattersmithMarkerSymbolNumber34 ScattersmithMarkerSymbol = 34 + ScattersmithMarkerSymbol34 ScattersmithMarkerSymbol = "34" + ScattersmithMarkerSymbolXThin ScattersmithMarkerSymbol = "x-thin" + ScattersmithMarkerSymbolNumber134 ScattersmithMarkerSymbol = 134 + ScattersmithMarkerSymbol134 ScattersmithMarkerSymbol = "134" + ScattersmithMarkerSymbolXThinOpen ScattersmithMarkerSymbol = "x-thin-open" + ScattersmithMarkerSymbolNumber35 ScattersmithMarkerSymbol = 35 + ScattersmithMarkerSymbol35 ScattersmithMarkerSymbol = "35" + ScattersmithMarkerSymbolAsterisk ScattersmithMarkerSymbol = "asterisk" + ScattersmithMarkerSymbolNumber135 ScattersmithMarkerSymbol = 135 + ScattersmithMarkerSymbol135 ScattersmithMarkerSymbol = "135" + ScattersmithMarkerSymbolAsteriskOpen ScattersmithMarkerSymbol = "asterisk-open" + ScattersmithMarkerSymbolNumber36 ScattersmithMarkerSymbol = 36 + ScattersmithMarkerSymbol36 ScattersmithMarkerSymbol = "36" + ScattersmithMarkerSymbolHash ScattersmithMarkerSymbol = "hash" + ScattersmithMarkerSymbolNumber136 ScattersmithMarkerSymbol = 136 + ScattersmithMarkerSymbol136 ScattersmithMarkerSymbol = "136" + ScattersmithMarkerSymbolHashOpen ScattersmithMarkerSymbol = "hash-open" + ScattersmithMarkerSymbolNumber236 ScattersmithMarkerSymbol = 236 + ScattersmithMarkerSymbol236 ScattersmithMarkerSymbol = "236" + ScattersmithMarkerSymbolHashDot ScattersmithMarkerSymbol = "hash-dot" + ScattersmithMarkerSymbolNumber336 ScattersmithMarkerSymbol = 336 + ScattersmithMarkerSymbol336 ScattersmithMarkerSymbol = "336" + ScattersmithMarkerSymbolHashOpenDot ScattersmithMarkerSymbol = "hash-open-dot" + ScattersmithMarkerSymbolNumber37 ScattersmithMarkerSymbol = 37 + ScattersmithMarkerSymbol37 ScattersmithMarkerSymbol = "37" + ScattersmithMarkerSymbolYUp ScattersmithMarkerSymbol = "y-up" + ScattersmithMarkerSymbolNumber137 ScattersmithMarkerSymbol = 137 + ScattersmithMarkerSymbol137 ScattersmithMarkerSymbol = "137" + ScattersmithMarkerSymbolYUpOpen ScattersmithMarkerSymbol = "y-up-open" + ScattersmithMarkerSymbolNumber38 ScattersmithMarkerSymbol = 38 + ScattersmithMarkerSymbol38 ScattersmithMarkerSymbol = "38" + ScattersmithMarkerSymbolYDown ScattersmithMarkerSymbol = "y-down" + ScattersmithMarkerSymbolNumber138 ScattersmithMarkerSymbol = 138 + ScattersmithMarkerSymbol138 ScattersmithMarkerSymbol = "138" + ScattersmithMarkerSymbolYDownOpen ScattersmithMarkerSymbol = "y-down-open" + ScattersmithMarkerSymbolNumber39 ScattersmithMarkerSymbol = 39 + ScattersmithMarkerSymbol39 ScattersmithMarkerSymbol = "39" + ScattersmithMarkerSymbolYLeft ScattersmithMarkerSymbol = "y-left" + ScattersmithMarkerSymbolNumber139 ScattersmithMarkerSymbol = 139 + ScattersmithMarkerSymbol139 ScattersmithMarkerSymbol = "139" + ScattersmithMarkerSymbolYLeftOpen ScattersmithMarkerSymbol = "y-left-open" + ScattersmithMarkerSymbolNumber40 ScattersmithMarkerSymbol = 40 + ScattersmithMarkerSymbol40 ScattersmithMarkerSymbol = "40" + ScattersmithMarkerSymbolYRight ScattersmithMarkerSymbol = "y-right" + ScattersmithMarkerSymbolNumber140 ScattersmithMarkerSymbol = 140 + ScattersmithMarkerSymbol140 ScattersmithMarkerSymbol = "140" + ScattersmithMarkerSymbolYRightOpen ScattersmithMarkerSymbol = "y-right-open" + ScattersmithMarkerSymbolNumber41 ScattersmithMarkerSymbol = 41 + ScattersmithMarkerSymbol41 ScattersmithMarkerSymbol = "41" + ScattersmithMarkerSymbolLineEw ScattersmithMarkerSymbol = "line-ew" + ScattersmithMarkerSymbolNumber141 ScattersmithMarkerSymbol = 141 + ScattersmithMarkerSymbol141 ScattersmithMarkerSymbol = "141" + ScattersmithMarkerSymbolLineEwOpen ScattersmithMarkerSymbol = "line-ew-open" + ScattersmithMarkerSymbolNumber42 ScattersmithMarkerSymbol = 42 + ScattersmithMarkerSymbol42 ScattersmithMarkerSymbol = "42" + ScattersmithMarkerSymbolLineNs ScattersmithMarkerSymbol = "line-ns" + ScattersmithMarkerSymbolNumber142 ScattersmithMarkerSymbol = 142 + ScattersmithMarkerSymbol142 ScattersmithMarkerSymbol = "142" + ScattersmithMarkerSymbolLineNsOpen ScattersmithMarkerSymbol = "line-ns-open" + ScattersmithMarkerSymbolNumber43 ScattersmithMarkerSymbol = 43 + ScattersmithMarkerSymbol43 ScattersmithMarkerSymbol = "43" + ScattersmithMarkerSymbolLineNe ScattersmithMarkerSymbol = "line-ne" + ScattersmithMarkerSymbolNumber143 ScattersmithMarkerSymbol = 143 + ScattersmithMarkerSymbol143 ScattersmithMarkerSymbol = "143" + ScattersmithMarkerSymbolLineNeOpen ScattersmithMarkerSymbol = "line-ne-open" + ScattersmithMarkerSymbolNumber44 ScattersmithMarkerSymbol = 44 + ScattersmithMarkerSymbol44 ScattersmithMarkerSymbol = "44" + ScattersmithMarkerSymbolLineNw ScattersmithMarkerSymbol = "line-nw" + ScattersmithMarkerSymbolNumber144 ScattersmithMarkerSymbol = 144 + ScattersmithMarkerSymbol144 ScattersmithMarkerSymbol = "144" + ScattersmithMarkerSymbolLineNwOpen ScattersmithMarkerSymbol = "line-nw-open" + ScattersmithMarkerSymbolNumber45 ScattersmithMarkerSymbol = 45 + ScattersmithMarkerSymbol45 ScattersmithMarkerSymbol = "45" + ScattersmithMarkerSymbolArrowUp ScattersmithMarkerSymbol = "arrow-up" + ScattersmithMarkerSymbolNumber145 ScattersmithMarkerSymbol = 145 + ScattersmithMarkerSymbol145 ScattersmithMarkerSymbol = "145" + ScattersmithMarkerSymbolArrowUpOpen ScattersmithMarkerSymbol = "arrow-up-open" + ScattersmithMarkerSymbolNumber46 ScattersmithMarkerSymbol = 46 + ScattersmithMarkerSymbol46 ScattersmithMarkerSymbol = "46" + ScattersmithMarkerSymbolArrowDown ScattersmithMarkerSymbol = "arrow-down" + ScattersmithMarkerSymbolNumber146 ScattersmithMarkerSymbol = 146 + ScattersmithMarkerSymbol146 ScattersmithMarkerSymbol = "146" + ScattersmithMarkerSymbolArrowDownOpen ScattersmithMarkerSymbol = "arrow-down-open" + ScattersmithMarkerSymbolNumber47 ScattersmithMarkerSymbol = 47 + ScattersmithMarkerSymbol47 ScattersmithMarkerSymbol = "47" + ScattersmithMarkerSymbolArrowLeft ScattersmithMarkerSymbol = "arrow-left" + ScattersmithMarkerSymbolNumber147 ScattersmithMarkerSymbol = 147 + ScattersmithMarkerSymbol147 ScattersmithMarkerSymbol = "147" + ScattersmithMarkerSymbolArrowLeftOpen ScattersmithMarkerSymbol = "arrow-left-open" + ScattersmithMarkerSymbolNumber48 ScattersmithMarkerSymbol = 48 + ScattersmithMarkerSymbol48 ScattersmithMarkerSymbol = "48" + ScattersmithMarkerSymbolArrowRight ScattersmithMarkerSymbol = "arrow-right" + ScattersmithMarkerSymbolNumber148 ScattersmithMarkerSymbol = 148 + ScattersmithMarkerSymbol148 ScattersmithMarkerSymbol = "148" + ScattersmithMarkerSymbolArrowRightOpen ScattersmithMarkerSymbol = "arrow-right-open" + ScattersmithMarkerSymbolNumber49 ScattersmithMarkerSymbol = 49 + ScattersmithMarkerSymbol49 ScattersmithMarkerSymbol = "49" + ScattersmithMarkerSymbolArrowBarUp ScattersmithMarkerSymbol = "arrow-bar-up" + ScattersmithMarkerSymbolNumber149 ScattersmithMarkerSymbol = 149 + ScattersmithMarkerSymbol149 ScattersmithMarkerSymbol = "149" + ScattersmithMarkerSymbolArrowBarUpOpen ScattersmithMarkerSymbol = "arrow-bar-up-open" + ScattersmithMarkerSymbolNumber50 ScattersmithMarkerSymbol = 50 + ScattersmithMarkerSymbol50 ScattersmithMarkerSymbol = "50" + ScattersmithMarkerSymbolArrowBarDown ScattersmithMarkerSymbol = "arrow-bar-down" + ScattersmithMarkerSymbolNumber150 ScattersmithMarkerSymbol = 150 + ScattersmithMarkerSymbol150 ScattersmithMarkerSymbol = "150" + ScattersmithMarkerSymbolArrowBarDownOpen ScattersmithMarkerSymbol = "arrow-bar-down-open" + ScattersmithMarkerSymbolNumber51 ScattersmithMarkerSymbol = 51 + ScattersmithMarkerSymbol51 ScattersmithMarkerSymbol = "51" + ScattersmithMarkerSymbolArrowBarLeft ScattersmithMarkerSymbol = "arrow-bar-left" + ScattersmithMarkerSymbolNumber151 ScattersmithMarkerSymbol = 151 + ScattersmithMarkerSymbol151 ScattersmithMarkerSymbol = "151" + ScattersmithMarkerSymbolArrowBarLeftOpen ScattersmithMarkerSymbol = "arrow-bar-left-open" + ScattersmithMarkerSymbolNumber52 ScattersmithMarkerSymbol = 52 + ScattersmithMarkerSymbol52 ScattersmithMarkerSymbol = "52" + ScattersmithMarkerSymbolArrowBarRight ScattersmithMarkerSymbol = "arrow-bar-right" + ScattersmithMarkerSymbolNumber152 ScattersmithMarkerSymbol = 152 + ScattersmithMarkerSymbol152 ScattersmithMarkerSymbol = "152" + ScattersmithMarkerSymbolArrowBarRightOpen ScattersmithMarkerSymbol = "arrow-bar-right-open" + ScattersmithMarkerSymbolNumber53 ScattersmithMarkerSymbol = 53 + ScattersmithMarkerSymbol53 ScattersmithMarkerSymbol = "53" + ScattersmithMarkerSymbolArrow ScattersmithMarkerSymbol = "arrow" + ScattersmithMarkerSymbolNumber153 ScattersmithMarkerSymbol = 153 + ScattersmithMarkerSymbol153 ScattersmithMarkerSymbol = "153" + ScattersmithMarkerSymbolArrowOpen ScattersmithMarkerSymbol = "arrow-open" + ScattersmithMarkerSymbolNumber54 ScattersmithMarkerSymbol = 54 + ScattersmithMarkerSymbol54 ScattersmithMarkerSymbol = "54" + ScattersmithMarkerSymbolArrowWide ScattersmithMarkerSymbol = "arrow-wide" + ScattersmithMarkerSymbolNumber154 ScattersmithMarkerSymbol = 154 + ScattersmithMarkerSymbol154 ScattersmithMarkerSymbol = "154" + ScattersmithMarkerSymbolArrowWideOpen ScattersmithMarkerSymbol = "arrow-wide-open" +) + +// ScattersmithTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. +type ScattersmithTextposition string + +const ( + ScattersmithTextpositionTopLeft ScattersmithTextposition = "top left" + ScattersmithTextpositionTopCenter ScattersmithTextposition = "top center" + ScattersmithTextpositionTopRight ScattersmithTextposition = "top right" + ScattersmithTextpositionMiddleLeft ScattersmithTextposition = "middle left" + ScattersmithTextpositionMiddleCenter ScattersmithTextposition = "middle center" + ScattersmithTextpositionMiddleRight ScattersmithTextposition = "middle right" + ScattersmithTextpositionBottomLeft ScattersmithTextposition = "bottom left" + ScattersmithTextpositionBottomCenter ScattersmithTextposition = "bottom center" + ScattersmithTextpositionBottomRight ScattersmithTextposition = "bottom right" +) + +// ScattersmithVisible 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). +type ScattersmithVisible interface{} + +var ( + ScattersmithVisibleTrue ScattersmithVisible = true + ScattersmithVisibleFalse ScattersmithVisible = false + ScattersmithVisibleLegendonly ScattersmithVisible = "legendonly" +) + +// ScattersmithHoverinfo 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. +type ScattersmithHoverinfo string + +const ( + // Flags + ScattersmithHoverinfoReal ScattersmithHoverinfo = "real" + ScattersmithHoverinfoImag ScattersmithHoverinfo = "imag" + ScattersmithHoverinfoText ScattersmithHoverinfo = "text" + ScattersmithHoverinfoName ScattersmithHoverinfo = "name" + + // Extra + ScattersmithHoverinfoAll ScattersmithHoverinfo = "all" + ScattersmithHoverinfoNone ScattersmithHoverinfo = "none" + ScattersmithHoverinfoSkip ScattersmithHoverinfo = "skip" +) + +// ScattersmithHoveron 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*. +type ScattersmithHoveron string + +const ( + // Flags + ScattersmithHoveronPoints ScattersmithHoveron = "points" + ScattersmithHoveronFills ScattersmithHoveron = "fills" + + // Extra + +) + +// ScattersmithMode 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*. +type ScattersmithMode string + +const ( + // Flags + ScattersmithModeLines ScattersmithMode = "lines" + ScattersmithModeMarkers ScattersmithMode = "markers" + ScattersmithModeText ScattersmithMode = "text" + + // Extra + ScattersmithModeNone ScattersmithMode = "none" +) diff --git a/generated/v2.29.1/graph_objects/scatterternary_gen.go b/generated/v2.29.1/graph_objects/scatterternary_gen.go new file mode 100644 index 0000000..51507ac --- /dev/null +++ b/generated/v2.29.1/graph_objects/scatterternary_gen.go @@ -0,0 +1,2025 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeScatterternary TraceType = "scatterternary" + +func (trace *Scatterternary) GetType() TraceType { + return TraceTypeScatterternary +} + +// Scatterternary 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. +type Scatterternary struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // A + // arrayOK: false + // 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.sum`. + A interface{} `json:"a,omitempty"` + + // Asrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `a`. + Asrc String `json:"asrc,omitempty"` + + // B + // arrayOK: false + // 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.sum`. + B interface{} `json:"b,omitempty"` + + // Bsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `b`. + Bsrc String `json:"bsrc,omitempty"` + + // C + // arrayOK: false + // 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.sum`. + C interface{} `json:"c,omitempty"` + + // Cliponaxis + // arrayOK: false + // 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*. + Cliponaxis Bool `json:"cliponaxis,omitempty"` + + // Connectgaps + // arrayOK: false + // type: boolean + // Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected. + Connectgaps Bool `json:"connectgaps,omitempty"` + + // Csrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `c`. + Csrc String `json:"csrc,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Fill + // default: none + // type: enumerated + // 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. + Fill ScatterternaryFill `json:"fill,omitempty"` + + // Fillcolor + // arrayOK: false + // 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. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo ScatterternaryHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *ScatterternaryHoverlabel `json:"hoverlabel,omitempty"` + + // Hoveron + // default: %!s() + // type: flaglist + // 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*. + Hoveron ScatterternaryHoveron `json:"hoveron,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *ScatterternaryLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *ScatterternaryLine `json:"line,omitempty"` + + // Marker + // role: Object + Marker *ScatterternaryMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Mode + // default: markers + // type: flaglist + // 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*. + Mode ScatterternaryMode `json:"mode,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Selected + // role: Object + Selected *ScatterternarySelected `json:"selected,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Stream + // role: Object + Stream *ScatterternaryStream `json:"stream,omitempty"` + + // Subplot + // arrayOK: false + // type: subplotid + // 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. + Subplot String `json:"subplot,omitempty"` + + // Sum + // arrayOK: false + // type: number + // The number each triplet should sum to, if only two of `a`, `b`, and `c` are provided. This overrides `ternary.sum` to normalize this specific trace, but does not affect the values displayed on the axes. 0 (or missing) means to use ternary.sum + Sum float64 `json:"sum,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textfont + // role: Object + Textfont *ScatterternaryTextfont `json:"textfont,omitempty"` + + // Textposition + // default: middle center + // type: enumerated + // Sets the positions of the `text` elements with respects to the (x,y) coordinates. + Textposition ScatterternaryTextposition `json:"textposition,omitempty"` + + // Textpositionsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `textposition`. + Textpositionsrc String `json:"textpositionsrc,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: true + // 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 `a`, `b`, `c` and `text`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Texttemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `texttemplate`. + Texttemplatesrc String `json:"texttemplatesrc,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Unselected + // role: Object + Unselected *ScatterternaryUnselected `json:"unselected,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible ScatterternaryVisible `json:"visible,omitempty"` +} + +// ScatterternaryHoverlabelFont Sets the font used in hover labels. +type ScatterternaryHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ScatterternaryHoverlabel +type ScatterternaryHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align ScatterternaryHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *ScatterternaryHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// ScatterternaryLegendgrouptitleFont Sets this legend group's title font. +type ScatterternaryLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScatterternaryLegendgrouptitle +type ScatterternaryLegendgrouptitle struct { + + // Font + // role: Object + Font *ScatterternaryLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// ScatterternaryLine +type ScatterternaryLine struct { + + // Backoff + // arrayOK: true + // type: number + // 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*. + Backoff float64 `json:"backoff,omitempty"` + + // Backoffsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `backoff`. + Backoffsrc String `json:"backoffsrc,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the line color. + Color Color `json:"color,omitempty"` + + // Dash + // arrayOK: false + // type: string + // 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*). + Dash String `json:"dash,omitempty"` + + // Shape + // default: linear + // type: enumerated + // Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes. + Shape ScatterternaryLineShape `json:"shape,omitempty"` + + // Smoothing + // arrayOK: false + // type: number + // 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). + Smoothing float64 `json:"smoothing,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width (in px). + Width float64 `json:"width,omitempty"` +} + +// ScatterternaryMarkerColorbarTickfont Sets the color bar's tick label font +type ScatterternaryMarkerColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScatterternaryMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type ScatterternaryMarkerColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScatterternaryMarkerColorbarTitle +type ScatterternaryMarkerColorbarTitle struct { + + // Font + // role: Object + Font *ScatterternaryMarkerColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side ScatterternaryMarkerColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// ScatterternaryMarkerColorbar +type ScatterternaryMarkerColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat ScatterternaryMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode ScatterternaryMarkerColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ScatterternaryMarkerColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent ScatterternaryMarkerColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix ScatterternaryMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix ScatterternaryMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode ScatterternaryMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *ScatterternaryMarkerColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ScatterternaryMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition ScatterternaryMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode ScatterternaryMarkerColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks ScatterternaryMarkerColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *ScatterternaryMarkerColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor ScatterternaryMarkerColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref ScatterternaryMarkerColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor ScatterternaryMarkerColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref ScatterternaryMarkerColorbarYref `json:"yref,omitempty"` +} + +// ScatterternaryMarkerGradient +type ScatterternaryMarkerGradient struct { + + // Color + // arrayOK: true + // type: color + // Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Type + // default: none + // type: enumerated + // Sets the type of gradient used to fill the markers + Type ScatterternaryMarkerGradientType `json:"type,omitempty"` + + // Typesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `type`. + Typesrc String `json:"typesrc,omitempty"` +} + +// ScatterternaryMarkerLine +type ScatterternaryMarkerLine struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the lines bounding the marker points. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// ScatterternaryMarker +type ScatterternaryMarker struct { + + // Angle + // arrayOK: true + // type: angle + // Sets the marker angle in respect to `angleref`. + Angle float64 `json:"angle,omitempty"` + + // Angleref + // default: up + // type: enumerated + // 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. + Angleref ScatterternaryMarkerAngleref `json:"angleref,omitempty"` + + // Anglesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `angle`. + Anglesrc String `json:"anglesrc,omitempty"` + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *ScatterternaryMarkerColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Gradient + // role: Object + Gradient *ScatterternaryMarkerGradient `json:"gradient,omitempty"` + + // Line + // role: Object + Line *ScatterternaryMarkerLine `json:"line,omitempty"` + + // Maxdisplayed + // arrayOK: false + // type: number + // Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit. + Maxdisplayed float64 `json:"maxdisplayed,omitempty"` + + // Opacity + // arrayOK: true + // type: number + // Sets the marker opacity. + Opacity float64 `json:"opacity,omitempty"` + + // Opacitysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `opacity`. + Opacitysrc String `json:"opacitysrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the marker size (in px). + Size float64 `json:"size,omitempty"` + + // Sizemin + // arrayOK: false + // 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. + Sizemin float64 `json:"sizemin,omitempty"` + + // Sizemode + // default: diameter + // type: enumerated + // 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. + Sizemode ScatterternaryMarkerSizemode `json:"sizemode,omitempty"` + + // Sizeref + // arrayOK: false + // type: number + // 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`. + Sizeref float64 `json:"sizeref,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Standoff + // arrayOK: true + // type: number + // 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. + Standoff float64 `json:"standoff,omitempty"` + + // Standoffsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `standoff`. + Standoffsrc String `json:"standoffsrc,omitempty"` + + // Symbol + // default: circle + // type: enumerated + // 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. + Symbol ScatterternaryMarkerSymbol `json:"symbol,omitempty"` + + // Symbolsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `symbol`. + Symbolsrc String `json:"symbolsrc,omitempty"` +} + +// ScatterternarySelectedMarker +type ScatterternarySelectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of selected points. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of selected points. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of selected points. + Size float64 `json:"size,omitempty"` +} + +// ScatterternarySelectedTextfont +type ScatterternarySelectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of selected points. + Color Color `json:"color,omitempty"` +} + +// ScatterternarySelected +type ScatterternarySelected struct { + + // Marker + // role: Object + Marker *ScatterternarySelectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *ScatterternarySelectedTextfont `json:"textfont,omitempty"` +} + +// ScatterternaryStream +type ScatterternaryStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// ScatterternaryTextfont Sets the text font. +type ScatterternaryTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ScatterternaryUnselectedMarker +type ScatterternaryUnselectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of unselected points, applied only when a selection exists. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of unselected points, applied only when a selection exists. + Size float64 `json:"size,omitempty"` +} + +// ScatterternaryUnselectedTextfont +type ScatterternaryUnselectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` +} + +// ScatterternaryUnselected +type ScatterternaryUnselected struct { + + // Marker + // role: Object + Marker *ScatterternaryUnselectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *ScatterternaryUnselectedTextfont `json:"textfont,omitempty"` +} + +// ScatterternaryFill 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. +type ScatterternaryFill string + +const ( + ScatterternaryFillNone ScatterternaryFill = "none" + ScatterternaryFillToself ScatterternaryFill = "toself" + ScatterternaryFillTonext ScatterternaryFill = "tonext" +) + +// ScatterternaryHoverlabelAlign 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 +type ScatterternaryHoverlabelAlign string + +const ( + ScatterternaryHoverlabelAlignLeft ScatterternaryHoverlabelAlign = "left" + ScatterternaryHoverlabelAlignRight ScatterternaryHoverlabelAlign = "right" + ScatterternaryHoverlabelAlignAuto ScatterternaryHoverlabelAlign = "auto" +) + +// ScatterternaryLineShape Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes. +type ScatterternaryLineShape string + +const ( + ScatterternaryLineShapeLinear ScatterternaryLineShape = "linear" + ScatterternaryLineShapeSpline ScatterternaryLineShape = "spline" +) + +// ScatterternaryMarkerAngleref 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. +type ScatterternaryMarkerAngleref string + +const ( + ScatterternaryMarkerAnglerefPrevious ScatterternaryMarkerAngleref = "previous" + ScatterternaryMarkerAnglerefUp ScatterternaryMarkerAngleref = "up" +) + +// ScatterternaryMarkerColorbarExponentformat 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. +type ScatterternaryMarkerColorbarExponentformat string + +const ( + ScatterternaryMarkerColorbarExponentformatNone ScatterternaryMarkerColorbarExponentformat = "none" + ScatterternaryMarkerColorbarExponentformatE1 ScatterternaryMarkerColorbarExponentformat = "e" + ScatterternaryMarkerColorbarExponentformatE2 ScatterternaryMarkerColorbarExponentformat = "E" + ScatterternaryMarkerColorbarExponentformatPower ScatterternaryMarkerColorbarExponentformat = "power" + ScatterternaryMarkerColorbarExponentformatSI ScatterternaryMarkerColorbarExponentformat = "SI" + ScatterternaryMarkerColorbarExponentformatB ScatterternaryMarkerColorbarExponentformat = "B" +) + +// ScatterternaryMarkerColorbarLenmode 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. +type ScatterternaryMarkerColorbarLenmode string + +const ( + ScatterternaryMarkerColorbarLenmodeFraction ScatterternaryMarkerColorbarLenmode = "fraction" + ScatterternaryMarkerColorbarLenmodePixels ScatterternaryMarkerColorbarLenmode = "pixels" +) + +// ScatterternaryMarkerColorbarOrientation Sets the orientation of the colorbar. +type ScatterternaryMarkerColorbarOrientation string + +const ( + ScatterternaryMarkerColorbarOrientationH ScatterternaryMarkerColorbarOrientation = "h" + ScatterternaryMarkerColorbarOrientationV ScatterternaryMarkerColorbarOrientation = "v" +) + +// ScatterternaryMarkerColorbarShowexponent 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. +type ScatterternaryMarkerColorbarShowexponent string + +const ( + ScatterternaryMarkerColorbarShowexponentAll ScatterternaryMarkerColorbarShowexponent = "all" + ScatterternaryMarkerColorbarShowexponentFirst ScatterternaryMarkerColorbarShowexponent = "first" + ScatterternaryMarkerColorbarShowexponentLast ScatterternaryMarkerColorbarShowexponent = "last" + ScatterternaryMarkerColorbarShowexponentNone ScatterternaryMarkerColorbarShowexponent = "none" +) + +// ScatterternaryMarkerColorbarShowtickprefix 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. +type ScatterternaryMarkerColorbarShowtickprefix string + +const ( + ScatterternaryMarkerColorbarShowtickprefixAll ScatterternaryMarkerColorbarShowtickprefix = "all" + ScatterternaryMarkerColorbarShowtickprefixFirst ScatterternaryMarkerColorbarShowtickprefix = "first" + ScatterternaryMarkerColorbarShowtickprefixLast ScatterternaryMarkerColorbarShowtickprefix = "last" + ScatterternaryMarkerColorbarShowtickprefixNone ScatterternaryMarkerColorbarShowtickprefix = "none" +) + +// ScatterternaryMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type ScatterternaryMarkerColorbarShowticksuffix string + +const ( + ScatterternaryMarkerColorbarShowticksuffixAll ScatterternaryMarkerColorbarShowticksuffix = "all" + ScatterternaryMarkerColorbarShowticksuffixFirst ScatterternaryMarkerColorbarShowticksuffix = "first" + ScatterternaryMarkerColorbarShowticksuffixLast ScatterternaryMarkerColorbarShowticksuffix = "last" + ScatterternaryMarkerColorbarShowticksuffixNone ScatterternaryMarkerColorbarShowticksuffix = "none" +) + +// ScatterternaryMarkerColorbarThicknessmode 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. +type ScatterternaryMarkerColorbarThicknessmode string + +const ( + ScatterternaryMarkerColorbarThicknessmodeFraction ScatterternaryMarkerColorbarThicknessmode = "fraction" + ScatterternaryMarkerColorbarThicknessmodePixels ScatterternaryMarkerColorbarThicknessmode = "pixels" +) + +// ScatterternaryMarkerColorbarTicklabeloverflow 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*. +type ScatterternaryMarkerColorbarTicklabeloverflow string + +const ( + ScatterternaryMarkerColorbarTicklabeloverflowAllow ScatterternaryMarkerColorbarTicklabeloverflow = "allow" + ScatterternaryMarkerColorbarTicklabeloverflowHidePastDiv ScatterternaryMarkerColorbarTicklabeloverflow = "hide past div" + ScatterternaryMarkerColorbarTicklabeloverflowHidePastDomain ScatterternaryMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// ScatterternaryMarkerColorbarTicklabelposition 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*. +type ScatterternaryMarkerColorbarTicklabelposition string + +const ( + ScatterternaryMarkerColorbarTicklabelpositionOutside ScatterternaryMarkerColorbarTicklabelposition = "outside" + ScatterternaryMarkerColorbarTicklabelpositionInside ScatterternaryMarkerColorbarTicklabelposition = "inside" + ScatterternaryMarkerColorbarTicklabelpositionOutsideTop ScatterternaryMarkerColorbarTicklabelposition = "outside top" + ScatterternaryMarkerColorbarTicklabelpositionInsideTop ScatterternaryMarkerColorbarTicklabelposition = "inside top" + ScatterternaryMarkerColorbarTicklabelpositionOutsideLeft ScatterternaryMarkerColorbarTicklabelposition = "outside left" + ScatterternaryMarkerColorbarTicklabelpositionInsideLeft ScatterternaryMarkerColorbarTicklabelposition = "inside left" + ScatterternaryMarkerColorbarTicklabelpositionOutsideRight ScatterternaryMarkerColorbarTicklabelposition = "outside right" + ScatterternaryMarkerColorbarTicklabelpositionInsideRight ScatterternaryMarkerColorbarTicklabelposition = "inside right" + ScatterternaryMarkerColorbarTicklabelpositionOutsideBottom ScatterternaryMarkerColorbarTicklabelposition = "outside bottom" + ScatterternaryMarkerColorbarTicklabelpositionInsideBottom ScatterternaryMarkerColorbarTicklabelposition = "inside bottom" +) + +// ScatterternaryMarkerColorbarTickmode 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). +type ScatterternaryMarkerColorbarTickmode string + +const ( + ScatterternaryMarkerColorbarTickmodeAuto ScatterternaryMarkerColorbarTickmode = "auto" + ScatterternaryMarkerColorbarTickmodeLinear ScatterternaryMarkerColorbarTickmode = "linear" + ScatterternaryMarkerColorbarTickmodeArray ScatterternaryMarkerColorbarTickmode = "array" +) + +// ScatterternaryMarkerColorbarTicks 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. +type ScatterternaryMarkerColorbarTicks string + +const ( + ScatterternaryMarkerColorbarTicksOutside ScatterternaryMarkerColorbarTicks = "outside" + ScatterternaryMarkerColorbarTicksInside ScatterternaryMarkerColorbarTicks = "inside" + ScatterternaryMarkerColorbarTicksEmpty ScatterternaryMarkerColorbarTicks = "" +) + +// ScatterternaryMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type ScatterternaryMarkerColorbarTitleSide string + +const ( + ScatterternaryMarkerColorbarTitleSideRight ScatterternaryMarkerColorbarTitleSide = "right" + ScatterternaryMarkerColorbarTitleSideTop ScatterternaryMarkerColorbarTitleSide = "top" + ScatterternaryMarkerColorbarTitleSideBottom ScatterternaryMarkerColorbarTitleSide = "bottom" +) + +// ScatterternaryMarkerColorbarXanchor 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*. +type ScatterternaryMarkerColorbarXanchor string + +const ( + ScatterternaryMarkerColorbarXanchorLeft ScatterternaryMarkerColorbarXanchor = "left" + ScatterternaryMarkerColorbarXanchorCenter ScatterternaryMarkerColorbarXanchor = "center" + ScatterternaryMarkerColorbarXanchorRight ScatterternaryMarkerColorbarXanchor = "right" +) + +// ScatterternaryMarkerColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type ScatterternaryMarkerColorbarXref string + +const ( + ScatterternaryMarkerColorbarXrefContainer ScatterternaryMarkerColorbarXref = "container" + ScatterternaryMarkerColorbarXrefPaper ScatterternaryMarkerColorbarXref = "paper" +) + +// ScatterternaryMarkerColorbarYanchor 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*. +type ScatterternaryMarkerColorbarYanchor string + +const ( + ScatterternaryMarkerColorbarYanchorTop ScatterternaryMarkerColorbarYanchor = "top" + ScatterternaryMarkerColorbarYanchorMiddle ScatterternaryMarkerColorbarYanchor = "middle" + ScatterternaryMarkerColorbarYanchorBottom ScatterternaryMarkerColorbarYanchor = "bottom" +) + +// ScatterternaryMarkerColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type ScatterternaryMarkerColorbarYref string + +const ( + ScatterternaryMarkerColorbarYrefContainer ScatterternaryMarkerColorbarYref = "container" + ScatterternaryMarkerColorbarYrefPaper ScatterternaryMarkerColorbarYref = "paper" +) + +// ScatterternaryMarkerGradientType Sets the type of gradient used to fill the markers +type ScatterternaryMarkerGradientType string + +const ( + ScatterternaryMarkerGradientTypeRadial ScatterternaryMarkerGradientType = "radial" + ScatterternaryMarkerGradientTypeHorizontal ScatterternaryMarkerGradientType = "horizontal" + ScatterternaryMarkerGradientTypeVertical ScatterternaryMarkerGradientType = "vertical" + ScatterternaryMarkerGradientTypeNone ScatterternaryMarkerGradientType = "none" +) + +// ScatterternaryMarkerSizemode 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. +type ScatterternaryMarkerSizemode string + +const ( + ScatterternaryMarkerSizemodeDiameter ScatterternaryMarkerSizemode = "diameter" + ScatterternaryMarkerSizemodeArea ScatterternaryMarkerSizemode = "area" +) + +// ScatterternaryMarkerSymbol 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. +type ScatterternaryMarkerSymbol interface{} + +var ( + ScatterternaryMarkerSymbolNumber0 ScatterternaryMarkerSymbol = 0 + ScatterternaryMarkerSymbol0 ScatterternaryMarkerSymbol = "0" + ScatterternaryMarkerSymbolCircle ScatterternaryMarkerSymbol = "circle" + ScatterternaryMarkerSymbolNumber100 ScatterternaryMarkerSymbol = 100 + ScatterternaryMarkerSymbol100 ScatterternaryMarkerSymbol = "100" + ScatterternaryMarkerSymbolCircleOpen ScatterternaryMarkerSymbol = "circle-open" + ScatterternaryMarkerSymbolNumber200 ScatterternaryMarkerSymbol = 200 + ScatterternaryMarkerSymbol200 ScatterternaryMarkerSymbol = "200" + ScatterternaryMarkerSymbolCircleDot ScatterternaryMarkerSymbol = "circle-dot" + ScatterternaryMarkerSymbolNumber300 ScatterternaryMarkerSymbol = 300 + ScatterternaryMarkerSymbol300 ScatterternaryMarkerSymbol = "300" + ScatterternaryMarkerSymbolCircleOpenDot ScatterternaryMarkerSymbol = "circle-open-dot" + ScatterternaryMarkerSymbolNumber1 ScatterternaryMarkerSymbol = 1 + ScatterternaryMarkerSymbol1 ScatterternaryMarkerSymbol = "1" + ScatterternaryMarkerSymbolSquare ScatterternaryMarkerSymbol = "square" + ScatterternaryMarkerSymbolNumber101 ScatterternaryMarkerSymbol = 101 + ScatterternaryMarkerSymbol101 ScatterternaryMarkerSymbol = "101" + ScatterternaryMarkerSymbolSquareOpen ScatterternaryMarkerSymbol = "square-open" + ScatterternaryMarkerSymbolNumber201 ScatterternaryMarkerSymbol = 201 + ScatterternaryMarkerSymbol201 ScatterternaryMarkerSymbol = "201" + ScatterternaryMarkerSymbolSquareDot ScatterternaryMarkerSymbol = "square-dot" + ScatterternaryMarkerSymbolNumber301 ScatterternaryMarkerSymbol = 301 + ScatterternaryMarkerSymbol301 ScatterternaryMarkerSymbol = "301" + ScatterternaryMarkerSymbolSquareOpenDot ScatterternaryMarkerSymbol = "square-open-dot" + ScatterternaryMarkerSymbolNumber2 ScatterternaryMarkerSymbol = 2 + ScatterternaryMarkerSymbol2 ScatterternaryMarkerSymbol = "2" + ScatterternaryMarkerSymbolDiamond ScatterternaryMarkerSymbol = "diamond" + ScatterternaryMarkerSymbolNumber102 ScatterternaryMarkerSymbol = 102 + ScatterternaryMarkerSymbol102 ScatterternaryMarkerSymbol = "102" + ScatterternaryMarkerSymbolDiamondOpen ScatterternaryMarkerSymbol = "diamond-open" + ScatterternaryMarkerSymbolNumber202 ScatterternaryMarkerSymbol = 202 + ScatterternaryMarkerSymbol202 ScatterternaryMarkerSymbol = "202" + ScatterternaryMarkerSymbolDiamondDot ScatterternaryMarkerSymbol = "diamond-dot" + ScatterternaryMarkerSymbolNumber302 ScatterternaryMarkerSymbol = 302 + ScatterternaryMarkerSymbol302 ScatterternaryMarkerSymbol = "302" + ScatterternaryMarkerSymbolDiamondOpenDot ScatterternaryMarkerSymbol = "diamond-open-dot" + ScatterternaryMarkerSymbolNumber3 ScatterternaryMarkerSymbol = 3 + ScatterternaryMarkerSymbol3 ScatterternaryMarkerSymbol = "3" + ScatterternaryMarkerSymbolCross ScatterternaryMarkerSymbol = "cross" + ScatterternaryMarkerSymbolNumber103 ScatterternaryMarkerSymbol = 103 + ScatterternaryMarkerSymbol103 ScatterternaryMarkerSymbol = "103" + ScatterternaryMarkerSymbolCrossOpen ScatterternaryMarkerSymbol = "cross-open" + ScatterternaryMarkerSymbolNumber203 ScatterternaryMarkerSymbol = 203 + ScatterternaryMarkerSymbol203 ScatterternaryMarkerSymbol = "203" + ScatterternaryMarkerSymbolCrossDot ScatterternaryMarkerSymbol = "cross-dot" + ScatterternaryMarkerSymbolNumber303 ScatterternaryMarkerSymbol = 303 + ScatterternaryMarkerSymbol303 ScatterternaryMarkerSymbol = "303" + ScatterternaryMarkerSymbolCrossOpenDot ScatterternaryMarkerSymbol = "cross-open-dot" + ScatterternaryMarkerSymbolNumber4 ScatterternaryMarkerSymbol = 4 + ScatterternaryMarkerSymbol4 ScatterternaryMarkerSymbol = "4" + ScatterternaryMarkerSymbolX ScatterternaryMarkerSymbol = "x" + ScatterternaryMarkerSymbolNumber104 ScatterternaryMarkerSymbol = 104 + ScatterternaryMarkerSymbol104 ScatterternaryMarkerSymbol = "104" + ScatterternaryMarkerSymbolXOpen ScatterternaryMarkerSymbol = "x-open" + ScatterternaryMarkerSymbolNumber204 ScatterternaryMarkerSymbol = 204 + ScatterternaryMarkerSymbol204 ScatterternaryMarkerSymbol = "204" + ScatterternaryMarkerSymbolXDot ScatterternaryMarkerSymbol = "x-dot" + ScatterternaryMarkerSymbolNumber304 ScatterternaryMarkerSymbol = 304 + ScatterternaryMarkerSymbol304 ScatterternaryMarkerSymbol = "304" + ScatterternaryMarkerSymbolXOpenDot ScatterternaryMarkerSymbol = "x-open-dot" + ScatterternaryMarkerSymbolNumber5 ScatterternaryMarkerSymbol = 5 + ScatterternaryMarkerSymbol5 ScatterternaryMarkerSymbol = "5" + ScatterternaryMarkerSymbolTriangleUp ScatterternaryMarkerSymbol = "triangle-up" + ScatterternaryMarkerSymbolNumber105 ScatterternaryMarkerSymbol = 105 + ScatterternaryMarkerSymbol105 ScatterternaryMarkerSymbol = "105" + ScatterternaryMarkerSymbolTriangleUpOpen ScatterternaryMarkerSymbol = "triangle-up-open" + ScatterternaryMarkerSymbolNumber205 ScatterternaryMarkerSymbol = 205 + ScatterternaryMarkerSymbol205 ScatterternaryMarkerSymbol = "205" + ScatterternaryMarkerSymbolTriangleUpDot ScatterternaryMarkerSymbol = "triangle-up-dot" + ScatterternaryMarkerSymbolNumber305 ScatterternaryMarkerSymbol = 305 + ScatterternaryMarkerSymbol305 ScatterternaryMarkerSymbol = "305" + ScatterternaryMarkerSymbolTriangleUpOpenDot ScatterternaryMarkerSymbol = "triangle-up-open-dot" + ScatterternaryMarkerSymbolNumber6 ScatterternaryMarkerSymbol = 6 + ScatterternaryMarkerSymbol6 ScatterternaryMarkerSymbol = "6" + ScatterternaryMarkerSymbolTriangleDown ScatterternaryMarkerSymbol = "triangle-down" + ScatterternaryMarkerSymbolNumber106 ScatterternaryMarkerSymbol = 106 + ScatterternaryMarkerSymbol106 ScatterternaryMarkerSymbol = "106" + ScatterternaryMarkerSymbolTriangleDownOpen ScatterternaryMarkerSymbol = "triangle-down-open" + ScatterternaryMarkerSymbolNumber206 ScatterternaryMarkerSymbol = 206 + ScatterternaryMarkerSymbol206 ScatterternaryMarkerSymbol = "206" + ScatterternaryMarkerSymbolTriangleDownDot ScatterternaryMarkerSymbol = "triangle-down-dot" + ScatterternaryMarkerSymbolNumber306 ScatterternaryMarkerSymbol = 306 + ScatterternaryMarkerSymbol306 ScatterternaryMarkerSymbol = "306" + ScatterternaryMarkerSymbolTriangleDownOpenDot ScatterternaryMarkerSymbol = "triangle-down-open-dot" + ScatterternaryMarkerSymbolNumber7 ScatterternaryMarkerSymbol = 7 + ScatterternaryMarkerSymbol7 ScatterternaryMarkerSymbol = "7" + ScatterternaryMarkerSymbolTriangleLeft ScatterternaryMarkerSymbol = "triangle-left" + ScatterternaryMarkerSymbolNumber107 ScatterternaryMarkerSymbol = 107 + ScatterternaryMarkerSymbol107 ScatterternaryMarkerSymbol = "107" + ScatterternaryMarkerSymbolTriangleLeftOpen ScatterternaryMarkerSymbol = "triangle-left-open" + ScatterternaryMarkerSymbolNumber207 ScatterternaryMarkerSymbol = 207 + ScatterternaryMarkerSymbol207 ScatterternaryMarkerSymbol = "207" + ScatterternaryMarkerSymbolTriangleLeftDot ScatterternaryMarkerSymbol = "triangle-left-dot" + ScatterternaryMarkerSymbolNumber307 ScatterternaryMarkerSymbol = 307 + ScatterternaryMarkerSymbol307 ScatterternaryMarkerSymbol = "307" + ScatterternaryMarkerSymbolTriangleLeftOpenDot ScatterternaryMarkerSymbol = "triangle-left-open-dot" + ScatterternaryMarkerSymbolNumber8 ScatterternaryMarkerSymbol = 8 + ScatterternaryMarkerSymbol8 ScatterternaryMarkerSymbol = "8" + ScatterternaryMarkerSymbolTriangleRight ScatterternaryMarkerSymbol = "triangle-right" + ScatterternaryMarkerSymbolNumber108 ScatterternaryMarkerSymbol = 108 + ScatterternaryMarkerSymbol108 ScatterternaryMarkerSymbol = "108" + ScatterternaryMarkerSymbolTriangleRightOpen ScatterternaryMarkerSymbol = "triangle-right-open" + ScatterternaryMarkerSymbolNumber208 ScatterternaryMarkerSymbol = 208 + ScatterternaryMarkerSymbol208 ScatterternaryMarkerSymbol = "208" + ScatterternaryMarkerSymbolTriangleRightDot ScatterternaryMarkerSymbol = "triangle-right-dot" + ScatterternaryMarkerSymbolNumber308 ScatterternaryMarkerSymbol = 308 + ScatterternaryMarkerSymbol308 ScatterternaryMarkerSymbol = "308" + ScatterternaryMarkerSymbolTriangleRightOpenDot ScatterternaryMarkerSymbol = "triangle-right-open-dot" + ScatterternaryMarkerSymbolNumber9 ScatterternaryMarkerSymbol = 9 + ScatterternaryMarkerSymbol9 ScatterternaryMarkerSymbol = "9" + ScatterternaryMarkerSymbolTriangleNe ScatterternaryMarkerSymbol = "triangle-ne" + ScatterternaryMarkerSymbolNumber109 ScatterternaryMarkerSymbol = 109 + ScatterternaryMarkerSymbol109 ScatterternaryMarkerSymbol = "109" + ScatterternaryMarkerSymbolTriangleNeOpen ScatterternaryMarkerSymbol = "triangle-ne-open" + ScatterternaryMarkerSymbolNumber209 ScatterternaryMarkerSymbol = 209 + ScatterternaryMarkerSymbol209 ScatterternaryMarkerSymbol = "209" + ScatterternaryMarkerSymbolTriangleNeDot ScatterternaryMarkerSymbol = "triangle-ne-dot" + ScatterternaryMarkerSymbolNumber309 ScatterternaryMarkerSymbol = 309 + ScatterternaryMarkerSymbol309 ScatterternaryMarkerSymbol = "309" + ScatterternaryMarkerSymbolTriangleNeOpenDot ScatterternaryMarkerSymbol = "triangle-ne-open-dot" + ScatterternaryMarkerSymbolNumber10 ScatterternaryMarkerSymbol = 10 + ScatterternaryMarkerSymbol10 ScatterternaryMarkerSymbol = "10" + ScatterternaryMarkerSymbolTriangleSe ScatterternaryMarkerSymbol = "triangle-se" + ScatterternaryMarkerSymbolNumber110 ScatterternaryMarkerSymbol = 110 + ScatterternaryMarkerSymbol110 ScatterternaryMarkerSymbol = "110" + ScatterternaryMarkerSymbolTriangleSeOpen ScatterternaryMarkerSymbol = "triangle-se-open" + ScatterternaryMarkerSymbolNumber210 ScatterternaryMarkerSymbol = 210 + ScatterternaryMarkerSymbol210 ScatterternaryMarkerSymbol = "210" + ScatterternaryMarkerSymbolTriangleSeDot ScatterternaryMarkerSymbol = "triangle-se-dot" + ScatterternaryMarkerSymbolNumber310 ScatterternaryMarkerSymbol = 310 + ScatterternaryMarkerSymbol310 ScatterternaryMarkerSymbol = "310" + ScatterternaryMarkerSymbolTriangleSeOpenDot ScatterternaryMarkerSymbol = "triangle-se-open-dot" + ScatterternaryMarkerSymbolNumber11 ScatterternaryMarkerSymbol = 11 + ScatterternaryMarkerSymbol11 ScatterternaryMarkerSymbol = "11" + ScatterternaryMarkerSymbolTriangleSw ScatterternaryMarkerSymbol = "triangle-sw" + ScatterternaryMarkerSymbolNumber111 ScatterternaryMarkerSymbol = 111 + ScatterternaryMarkerSymbol111 ScatterternaryMarkerSymbol = "111" + ScatterternaryMarkerSymbolTriangleSwOpen ScatterternaryMarkerSymbol = "triangle-sw-open" + ScatterternaryMarkerSymbolNumber211 ScatterternaryMarkerSymbol = 211 + ScatterternaryMarkerSymbol211 ScatterternaryMarkerSymbol = "211" + ScatterternaryMarkerSymbolTriangleSwDot ScatterternaryMarkerSymbol = "triangle-sw-dot" + ScatterternaryMarkerSymbolNumber311 ScatterternaryMarkerSymbol = 311 + ScatterternaryMarkerSymbol311 ScatterternaryMarkerSymbol = "311" + ScatterternaryMarkerSymbolTriangleSwOpenDot ScatterternaryMarkerSymbol = "triangle-sw-open-dot" + ScatterternaryMarkerSymbolNumber12 ScatterternaryMarkerSymbol = 12 + ScatterternaryMarkerSymbol12 ScatterternaryMarkerSymbol = "12" + ScatterternaryMarkerSymbolTriangleNw ScatterternaryMarkerSymbol = "triangle-nw" + ScatterternaryMarkerSymbolNumber112 ScatterternaryMarkerSymbol = 112 + ScatterternaryMarkerSymbol112 ScatterternaryMarkerSymbol = "112" + ScatterternaryMarkerSymbolTriangleNwOpen ScatterternaryMarkerSymbol = "triangle-nw-open" + ScatterternaryMarkerSymbolNumber212 ScatterternaryMarkerSymbol = 212 + ScatterternaryMarkerSymbol212 ScatterternaryMarkerSymbol = "212" + ScatterternaryMarkerSymbolTriangleNwDot ScatterternaryMarkerSymbol = "triangle-nw-dot" + ScatterternaryMarkerSymbolNumber312 ScatterternaryMarkerSymbol = 312 + ScatterternaryMarkerSymbol312 ScatterternaryMarkerSymbol = "312" + ScatterternaryMarkerSymbolTriangleNwOpenDot ScatterternaryMarkerSymbol = "triangle-nw-open-dot" + ScatterternaryMarkerSymbolNumber13 ScatterternaryMarkerSymbol = 13 + ScatterternaryMarkerSymbol13 ScatterternaryMarkerSymbol = "13" + ScatterternaryMarkerSymbolPentagon ScatterternaryMarkerSymbol = "pentagon" + ScatterternaryMarkerSymbolNumber113 ScatterternaryMarkerSymbol = 113 + ScatterternaryMarkerSymbol113 ScatterternaryMarkerSymbol = "113" + ScatterternaryMarkerSymbolPentagonOpen ScatterternaryMarkerSymbol = "pentagon-open" + ScatterternaryMarkerSymbolNumber213 ScatterternaryMarkerSymbol = 213 + ScatterternaryMarkerSymbol213 ScatterternaryMarkerSymbol = "213" + ScatterternaryMarkerSymbolPentagonDot ScatterternaryMarkerSymbol = "pentagon-dot" + ScatterternaryMarkerSymbolNumber313 ScatterternaryMarkerSymbol = 313 + ScatterternaryMarkerSymbol313 ScatterternaryMarkerSymbol = "313" + ScatterternaryMarkerSymbolPentagonOpenDot ScatterternaryMarkerSymbol = "pentagon-open-dot" + ScatterternaryMarkerSymbolNumber14 ScatterternaryMarkerSymbol = 14 + ScatterternaryMarkerSymbol14 ScatterternaryMarkerSymbol = "14" + ScatterternaryMarkerSymbolHexagon ScatterternaryMarkerSymbol = "hexagon" + ScatterternaryMarkerSymbolNumber114 ScatterternaryMarkerSymbol = 114 + ScatterternaryMarkerSymbol114 ScatterternaryMarkerSymbol = "114" + ScatterternaryMarkerSymbolHexagonOpen ScatterternaryMarkerSymbol = "hexagon-open" + ScatterternaryMarkerSymbolNumber214 ScatterternaryMarkerSymbol = 214 + ScatterternaryMarkerSymbol214 ScatterternaryMarkerSymbol = "214" + ScatterternaryMarkerSymbolHexagonDot ScatterternaryMarkerSymbol = "hexagon-dot" + ScatterternaryMarkerSymbolNumber314 ScatterternaryMarkerSymbol = 314 + ScatterternaryMarkerSymbol314 ScatterternaryMarkerSymbol = "314" + ScatterternaryMarkerSymbolHexagonOpenDot ScatterternaryMarkerSymbol = "hexagon-open-dot" + ScatterternaryMarkerSymbolNumber15 ScatterternaryMarkerSymbol = 15 + ScatterternaryMarkerSymbol15 ScatterternaryMarkerSymbol = "15" + ScatterternaryMarkerSymbolHexagon2 ScatterternaryMarkerSymbol = "hexagon2" + ScatterternaryMarkerSymbolNumber115 ScatterternaryMarkerSymbol = 115 + ScatterternaryMarkerSymbol115 ScatterternaryMarkerSymbol = "115" + ScatterternaryMarkerSymbolHexagon2Open ScatterternaryMarkerSymbol = "hexagon2-open" + ScatterternaryMarkerSymbolNumber215 ScatterternaryMarkerSymbol = 215 + ScatterternaryMarkerSymbol215 ScatterternaryMarkerSymbol = "215" + ScatterternaryMarkerSymbolHexagon2Dot ScatterternaryMarkerSymbol = "hexagon2-dot" + ScatterternaryMarkerSymbolNumber315 ScatterternaryMarkerSymbol = 315 + ScatterternaryMarkerSymbol315 ScatterternaryMarkerSymbol = "315" + ScatterternaryMarkerSymbolHexagon2OpenDot ScatterternaryMarkerSymbol = "hexagon2-open-dot" + ScatterternaryMarkerSymbolNumber16 ScatterternaryMarkerSymbol = 16 + ScatterternaryMarkerSymbol16 ScatterternaryMarkerSymbol = "16" + ScatterternaryMarkerSymbolOctagon ScatterternaryMarkerSymbol = "octagon" + ScatterternaryMarkerSymbolNumber116 ScatterternaryMarkerSymbol = 116 + ScatterternaryMarkerSymbol116 ScatterternaryMarkerSymbol = "116" + ScatterternaryMarkerSymbolOctagonOpen ScatterternaryMarkerSymbol = "octagon-open" + ScatterternaryMarkerSymbolNumber216 ScatterternaryMarkerSymbol = 216 + ScatterternaryMarkerSymbol216 ScatterternaryMarkerSymbol = "216" + ScatterternaryMarkerSymbolOctagonDot ScatterternaryMarkerSymbol = "octagon-dot" + ScatterternaryMarkerSymbolNumber316 ScatterternaryMarkerSymbol = 316 + ScatterternaryMarkerSymbol316 ScatterternaryMarkerSymbol = "316" + ScatterternaryMarkerSymbolOctagonOpenDot ScatterternaryMarkerSymbol = "octagon-open-dot" + ScatterternaryMarkerSymbolNumber17 ScatterternaryMarkerSymbol = 17 + ScatterternaryMarkerSymbol17 ScatterternaryMarkerSymbol = "17" + ScatterternaryMarkerSymbolStar ScatterternaryMarkerSymbol = "star" + ScatterternaryMarkerSymbolNumber117 ScatterternaryMarkerSymbol = 117 + ScatterternaryMarkerSymbol117 ScatterternaryMarkerSymbol = "117" + ScatterternaryMarkerSymbolStarOpen ScatterternaryMarkerSymbol = "star-open" + ScatterternaryMarkerSymbolNumber217 ScatterternaryMarkerSymbol = 217 + ScatterternaryMarkerSymbol217 ScatterternaryMarkerSymbol = "217" + ScatterternaryMarkerSymbolStarDot ScatterternaryMarkerSymbol = "star-dot" + ScatterternaryMarkerSymbolNumber317 ScatterternaryMarkerSymbol = 317 + ScatterternaryMarkerSymbol317 ScatterternaryMarkerSymbol = "317" + ScatterternaryMarkerSymbolStarOpenDot ScatterternaryMarkerSymbol = "star-open-dot" + ScatterternaryMarkerSymbolNumber18 ScatterternaryMarkerSymbol = 18 + ScatterternaryMarkerSymbol18 ScatterternaryMarkerSymbol = "18" + ScatterternaryMarkerSymbolHexagram ScatterternaryMarkerSymbol = "hexagram" + ScatterternaryMarkerSymbolNumber118 ScatterternaryMarkerSymbol = 118 + ScatterternaryMarkerSymbol118 ScatterternaryMarkerSymbol = "118" + ScatterternaryMarkerSymbolHexagramOpen ScatterternaryMarkerSymbol = "hexagram-open" + ScatterternaryMarkerSymbolNumber218 ScatterternaryMarkerSymbol = 218 + ScatterternaryMarkerSymbol218 ScatterternaryMarkerSymbol = "218" + ScatterternaryMarkerSymbolHexagramDot ScatterternaryMarkerSymbol = "hexagram-dot" + ScatterternaryMarkerSymbolNumber318 ScatterternaryMarkerSymbol = 318 + ScatterternaryMarkerSymbol318 ScatterternaryMarkerSymbol = "318" + ScatterternaryMarkerSymbolHexagramOpenDot ScatterternaryMarkerSymbol = "hexagram-open-dot" + ScatterternaryMarkerSymbolNumber19 ScatterternaryMarkerSymbol = 19 + ScatterternaryMarkerSymbol19 ScatterternaryMarkerSymbol = "19" + ScatterternaryMarkerSymbolStarTriangleUp ScatterternaryMarkerSymbol = "star-triangle-up" + ScatterternaryMarkerSymbolNumber119 ScatterternaryMarkerSymbol = 119 + ScatterternaryMarkerSymbol119 ScatterternaryMarkerSymbol = "119" + ScatterternaryMarkerSymbolStarTriangleUpOpen ScatterternaryMarkerSymbol = "star-triangle-up-open" + ScatterternaryMarkerSymbolNumber219 ScatterternaryMarkerSymbol = 219 + ScatterternaryMarkerSymbol219 ScatterternaryMarkerSymbol = "219" + ScatterternaryMarkerSymbolStarTriangleUpDot ScatterternaryMarkerSymbol = "star-triangle-up-dot" + ScatterternaryMarkerSymbolNumber319 ScatterternaryMarkerSymbol = 319 + ScatterternaryMarkerSymbol319 ScatterternaryMarkerSymbol = "319" + ScatterternaryMarkerSymbolStarTriangleUpOpenDot ScatterternaryMarkerSymbol = "star-triangle-up-open-dot" + ScatterternaryMarkerSymbolNumber20 ScatterternaryMarkerSymbol = 20 + ScatterternaryMarkerSymbol20 ScatterternaryMarkerSymbol = "20" + ScatterternaryMarkerSymbolStarTriangleDown ScatterternaryMarkerSymbol = "star-triangle-down" + ScatterternaryMarkerSymbolNumber120 ScatterternaryMarkerSymbol = 120 + ScatterternaryMarkerSymbol120 ScatterternaryMarkerSymbol = "120" + ScatterternaryMarkerSymbolStarTriangleDownOpen ScatterternaryMarkerSymbol = "star-triangle-down-open" + ScatterternaryMarkerSymbolNumber220 ScatterternaryMarkerSymbol = 220 + ScatterternaryMarkerSymbol220 ScatterternaryMarkerSymbol = "220" + ScatterternaryMarkerSymbolStarTriangleDownDot ScatterternaryMarkerSymbol = "star-triangle-down-dot" + ScatterternaryMarkerSymbolNumber320 ScatterternaryMarkerSymbol = 320 + ScatterternaryMarkerSymbol320 ScatterternaryMarkerSymbol = "320" + ScatterternaryMarkerSymbolStarTriangleDownOpenDot ScatterternaryMarkerSymbol = "star-triangle-down-open-dot" + ScatterternaryMarkerSymbolNumber21 ScatterternaryMarkerSymbol = 21 + ScatterternaryMarkerSymbol21 ScatterternaryMarkerSymbol = "21" + ScatterternaryMarkerSymbolStarSquare ScatterternaryMarkerSymbol = "star-square" + ScatterternaryMarkerSymbolNumber121 ScatterternaryMarkerSymbol = 121 + ScatterternaryMarkerSymbol121 ScatterternaryMarkerSymbol = "121" + ScatterternaryMarkerSymbolStarSquareOpen ScatterternaryMarkerSymbol = "star-square-open" + ScatterternaryMarkerSymbolNumber221 ScatterternaryMarkerSymbol = 221 + ScatterternaryMarkerSymbol221 ScatterternaryMarkerSymbol = "221" + ScatterternaryMarkerSymbolStarSquareDot ScatterternaryMarkerSymbol = "star-square-dot" + ScatterternaryMarkerSymbolNumber321 ScatterternaryMarkerSymbol = 321 + ScatterternaryMarkerSymbol321 ScatterternaryMarkerSymbol = "321" + ScatterternaryMarkerSymbolStarSquareOpenDot ScatterternaryMarkerSymbol = "star-square-open-dot" + ScatterternaryMarkerSymbolNumber22 ScatterternaryMarkerSymbol = 22 + ScatterternaryMarkerSymbol22 ScatterternaryMarkerSymbol = "22" + ScatterternaryMarkerSymbolStarDiamond ScatterternaryMarkerSymbol = "star-diamond" + ScatterternaryMarkerSymbolNumber122 ScatterternaryMarkerSymbol = 122 + ScatterternaryMarkerSymbol122 ScatterternaryMarkerSymbol = "122" + ScatterternaryMarkerSymbolStarDiamondOpen ScatterternaryMarkerSymbol = "star-diamond-open" + ScatterternaryMarkerSymbolNumber222 ScatterternaryMarkerSymbol = 222 + ScatterternaryMarkerSymbol222 ScatterternaryMarkerSymbol = "222" + ScatterternaryMarkerSymbolStarDiamondDot ScatterternaryMarkerSymbol = "star-diamond-dot" + ScatterternaryMarkerSymbolNumber322 ScatterternaryMarkerSymbol = 322 + ScatterternaryMarkerSymbol322 ScatterternaryMarkerSymbol = "322" + ScatterternaryMarkerSymbolStarDiamondOpenDot ScatterternaryMarkerSymbol = "star-diamond-open-dot" + ScatterternaryMarkerSymbolNumber23 ScatterternaryMarkerSymbol = 23 + ScatterternaryMarkerSymbol23 ScatterternaryMarkerSymbol = "23" + ScatterternaryMarkerSymbolDiamondTall ScatterternaryMarkerSymbol = "diamond-tall" + ScatterternaryMarkerSymbolNumber123 ScatterternaryMarkerSymbol = 123 + ScatterternaryMarkerSymbol123 ScatterternaryMarkerSymbol = "123" + ScatterternaryMarkerSymbolDiamondTallOpen ScatterternaryMarkerSymbol = "diamond-tall-open" + ScatterternaryMarkerSymbolNumber223 ScatterternaryMarkerSymbol = 223 + ScatterternaryMarkerSymbol223 ScatterternaryMarkerSymbol = "223" + ScatterternaryMarkerSymbolDiamondTallDot ScatterternaryMarkerSymbol = "diamond-tall-dot" + ScatterternaryMarkerSymbolNumber323 ScatterternaryMarkerSymbol = 323 + ScatterternaryMarkerSymbol323 ScatterternaryMarkerSymbol = "323" + ScatterternaryMarkerSymbolDiamondTallOpenDot ScatterternaryMarkerSymbol = "diamond-tall-open-dot" + ScatterternaryMarkerSymbolNumber24 ScatterternaryMarkerSymbol = 24 + ScatterternaryMarkerSymbol24 ScatterternaryMarkerSymbol = "24" + ScatterternaryMarkerSymbolDiamondWide ScatterternaryMarkerSymbol = "diamond-wide" + ScatterternaryMarkerSymbolNumber124 ScatterternaryMarkerSymbol = 124 + ScatterternaryMarkerSymbol124 ScatterternaryMarkerSymbol = "124" + ScatterternaryMarkerSymbolDiamondWideOpen ScatterternaryMarkerSymbol = "diamond-wide-open" + ScatterternaryMarkerSymbolNumber224 ScatterternaryMarkerSymbol = 224 + ScatterternaryMarkerSymbol224 ScatterternaryMarkerSymbol = "224" + ScatterternaryMarkerSymbolDiamondWideDot ScatterternaryMarkerSymbol = "diamond-wide-dot" + ScatterternaryMarkerSymbolNumber324 ScatterternaryMarkerSymbol = 324 + ScatterternaryMarkerSymbol324 ScatterternaryMarkerSymbol = "324" + ScatterternaryMarkerSymbolDiamondWideOpenDot ScatterternaryMarkerSymbol = "diamond-wide-open-dot" + ScatterternaryMarkerSymbolNumber25 ScatterternaryMarkerSymbol = 25 + ScatterternaryMarkerSymbol25 ScatterternaryMarkerSymbol = "25" + ScatterternaryMarkerSymbolHourglass ScatterternaryMarkerSymbol = "hourglass" + ScatterternaryMarkerSymbolNumber125 ScatterternaryMarkerSymbol = 125 + ScatterternaryMarkerSymbol125 ScatterternaryMarkerSymbol = "125" + ScatterternaryMarkerSymbolHourglassOpen ScatterternaryMarkerSymbol = "hourglass-open" + ScatterternaryMarkerSymbolNumber26 ScatterternaryMarkerSymbol = 26 + ScatterternaryMarkerSymbol26 ScatterternaryMarkerSymbol = "26" + ScatterternaryMarkerSymbolBowtie ScatterternaryMarkerSymbol = "bowtie" + ScatterternaryMarkerSymbolNumber126 ScatterternaryMarkerSymbol = 126 + ScatterternaryMarkerSymbol126 ScatterternaryMarkerSymbol = "126" + ScatterternaryMarkerSymbolBowtieOpen ScatterternaryMarkerSymbol = "bowtie-open" + ScatterternaryMarkerSymbolNumber27 ScatterternaryMarkerSymbol = 27 + ScatterternaryMarkerSymbol27 ScatterternaryMarkerSymbol = "27" + ScatterternaryMarkerSymbolCircleCross ScatterternaryMarkerSymbol = "circle-cross" + ScatterternaryMarkerSymbolNumber127 ScatterternaryMarkerSymbol = 127 + ScatterternaryMarkerSymbol127 ScatterternaryMarkerSymbol = "127" + ScatterternaryMarkerSymbolCircleCrossOpen ScatterternaryMarkerSymbol = "circle-cross-open" + ScatterternaryMarkerSymbolNumber28 ScatterternaryMarkerSymbol = 28 + ScatterternaryMarkerSymbol28 ScatterternaryMarkerSymbol = "28" + ScatterternaryMarkerSymbolCircleX ScatterternaryMarkerSymbol = "circle-x" + ScatterternaryMarkerSymbolNumber128 ScatterternaryMarkerSymbol = 128 + ScatterternaryMarkerSymbol128 ScatterternaryMarkerSymbol = "128" + ScatterternaryMarkerSymbolCircleXOpen ScatterternaryMarkerSymbol = "circle-x-open" + ScatterternaryMarkerSymbolNumber29 ScatterternaryMarkerSymbol = 29 + ScatterternaryMarkerSymbol29 ScatterternaryMarkerSymbol = "29" + ScatterternaryMarkerSymbolSquareCross ScatterternaryMarkerSymbol = "square-cross" + ScatterternaryMarkerSymbolNumber129 ScatterternaryMarkerSymbol = 129 + ScatterternaryMarkerSymbol129 ScatterternaryMarkerSymbol = "129" + ScatterternaryMarkerSymbolSquareCrossOpen ScatterternaryMarkerSymbol = "square-cross-open" + ScatterternaryMarkerSymbolNumber30 ScatterternaryMarkerSymbol = 30 + ScatterternaryMarkerSymbol30 ScatterternaryMarkerSymbol = "30" + ScatterternaryMarkerSymbolSquareX ScatterternaryMarkerSymbol = "square-x" + ScatterternaryMarkerSymbolNumber130 ScatterternaryMarkerSymbol = 130 + ScatterternaryMarkerSymbol130 ScatterternaryMarkerSymbol = "130" + ScatterternaryMarkerSymbolSquareXOpen ScatterternaryMarkerSymbol = "square-x-open" + ScatterternaryMarkerSymbolNumber31 ScatterternaryMarkerSymbol = 31 + ScatterternaryMarkerSymbol31 ScatterternaryMarkerSymbol = "31" + ScatterternaryMarkerSymbolDiamondCross ScatterternaryMarkerSymbol = "diamond-cross" + ScatterternaryMarkerSymbolNumber131 ScatterternaryMarkerSymbol = 131 + ScatterternaryMarkerSymbol131 ScatterternaryMarkerSymbol = "131" + ScatterternaryMarkerSymbolDiamondCrossOpen ScatterternaryMarkerSymbol = "diamond-cross-open" + ScatterternaryMarkerSymbolNumber32 ScatterternaryMarkerSymbol = 32 + ScatterternaryMarkerSymbol32 ScatterternaryMarkerSymbol = "32" + ScatterternaryMarkerSymbolDiamondX ScatterternaryMarkerSymbol = "diamond-x" + ScatterternaryMarkerSymbolNumber132 ScatterternaryMarkerSymbol = 132 + ScatterternaryMarkerSymbol132 ScatterternaryMarkerSymbol = "132" + ScatterternaryMarkerSymbolDiamondXOpen ScatterternaryMarkerSymbol = "diamond-x-open" + ScatterternaryMarkerSymbolNumber33 ScatterternaryMarkerSymbol = 33 + ScatterternaryMarkerSymbol33 ScatterternaryMarkerSymbol = "33" + ScatterternaryMarkerSymbolCrossThin ScatterternaryMarkerSymbol = "cross-thin" + ScatterternaryMarkerSymbolNumber133 ScatterternaryMarkerSymbol = 133 + ScatterternaryMarkerSymbol133 ScatterternaryMarkerSymbol = "133" + ScatterternaryMarkerSymbolCrossThinOpen ScatterternaryMarkerSymbol = "cross-thin-open" + ScatterternaryMarkerSymbolNumber34 ScatterternaryMarkerSymbol = 34 + ScatterternaryMarkerSymbol34 ScatterternaryMarkerSymbol = "34" + ScatterternaryMarkerSymbolXThin ScatterternaryMarkerSymbol = "x-thin" + ScatterternaryMarkerSymbolNumber134 ScatterternaryMarkerSymbol = 134 + ScatterternaryMarkerSymbol134 ScatterternaryMarkerSymbol = "134" + ScatterternaryMarkerSymbolXThinOpen ScatterternaryMarkerSymbol = "x-thin-open" + ScatterternaryMarkerSymbolNumber35 ScatterternaryMarkerSymbol = 35 + ScatterternaryMarkerSymbol35 ScatterternaryMarkerSymbol = "35" + ScatterternaryMarkerSymbolAsterisk ScatterternaryMarkerSymbol = "asterisk" + ScatterternaryMarkerSymbolNumber135 ScatterternaryMarkerSymbol = 135 + ScatterternaryMarkerSymbol135 ScatterternaryMarkerSymbol = "135" + ScatterternaryMarkerSymbolAsteriskOpen ScatterternaryMarkerSymbol = "asterisk-open" + ScatterternaryMarkerSymbolNumber36 ScatterternaryMarkerSymbol = 36 + ScatterternaryMarkerSymbol36 ScatterternaryMarkerSymbol = "36" + ScatterternaryMarkerSymbolHash ScatterternaryMarkerSymbol = "hash" + ScatterternaryMarkerSymbolNumber136 ScatterternaryMarkerSymbol = 136 + ScatterternaryMarkerSymbol136 ScatterternaryMarkerSymbol = "136" + ScatterternaryMarkerSymbolHashOpen ScatterternaryMarkerSymbol = "hash-open" + ScatterternaryMarkerSymbolNumber236 ScatterternaryMarkerSymbol = 236 + ScatterternaryMarkerSymbol236 ScatterternaryMarkerSymbol = "236" + ScatterternaryMarkerSymbolHashDot ScatterternaryMarkerSymbol = "hash-dot" + ScatterternaryMarkerSymbolNumber336 ScatterternaryMarkerSymbol = 336 + ScatterternaryMarkerSymbol336 ScatterternaryMarkerSymbol = "336" + ScatterternaryMarkerSymbolHashOpenDot ScatterternaryMarkerSymbol = "hash-open-dot" + ScatterternaryMarkerSymbolNumber37 ScatterternaryMarkerSymbol = 37 + ScatterternaryMarkerSymbol37 ScatterternaryMarkerSymbol = "37" + ScatterternaryMarkerSymbolYUp ScatterternaryMarkerSymbol = "y-up" + ScatterternaryMarkerSymbolNumber137 ScatterternaryMarkerSymbol = 137 + ScatterternaryMarkerSymbol137 ScatterternaryMarkerSymbol = "137" + ScatterternaryMarkerSymbolYUpOpen ScatterternaryMarkerSymbol = "y-up-open" + ScatterternaryMarkerSymbolNumber38 ScatterternaryMarkerSymbol = 38 + ScatterternaryMarkerSymbol38 ScatterternaryMarkerSymbol = "38" + ScatterternaryMarkerSymbolYDown ScatterternaryMarkerSymbol = "y-down" + ScatterternaryMarkerSymbolNumber138 ScatterternaryMarkerSymbol = 138 + ScatterternaryMarkerSymbol138 ScatterternaryMarkerSymbol = "138" + ScatterternaryMarkerSymbolYDownOpen ScatterternaryMarkerSymbol = "y-down-open" + ScatterternaryMarkerSymbolNumber39 ScatterternaryMarkerSymbol = 39 + ScatterternaryMarkerSymbol39 ScatterternaryMarkerSymbol = "39" + ScatterternaryMarkerSymbolYLeft ScatterternaryMarkerSymbol = "y-left" + ScatterternaryMarkerSymbolNumber139 ScatterternaryMarkerSymbol = 139 + ScatterternaryMarkerSymbol139 ScatterternaryMarkerSymbol = "139" + ScatterternaryMarkerSymbolYLeftOpen ScatterternaryMarkerSymbol = "y-left-open" + ScatterternaryMarkerSymbolNumber40 ScatterternaryMarkerSymbol = 40 + ScatterternaryMarkerSymbol40 ScatterternaryMarkerSymbol = "40" + ScatterternaryMarkerSymbolYRight ScatterternaryMarkerSymbol = "y-right" + ScatterternaryMarkerSymbolNumber140 ScatterternaryMarkerSymbol = 140 + ScatterternaryMarkerSymbol140 ScatterternaryMarkerSymbol = "140" + ScatterternaryMarkerSymbolYRightOpen ScatterternaryMarkerSymbol = "y-right-open" + ScatterternaryMarkerSymbolNumber41 ScatterternaryMarkerSymbol = 41 + ScatterternaryMarkerSymbol41 ScatterternaryMarkerSymbol = "41" + ScatterternaryMarkerSymbolLineEw ScatterternaryMarkerSymbol = "line-ew" + ScatterternaryMarkerSymbolNumber141 ScatterternaryMarkerSymbol = 141 + ScatterternaryMarkerSymbol141 ScatterternaryMarkerSymbol = "141" + ScatterternaryMarkerSymbolLineEwOpen ScatterternaryMarkerSymbol = "line-ew-open" + ScatterternaryMarkerSymbolNumber42 ScatterternaryMarkerSymbol = 42 + ScatterternaryMarkerSymbol42 ScatterternaryMarkerSymbol = "42" + ScatterternaryMarkerSymbolLineNs ScatterternaryMarkerSymbol = "line-ns" + ScatterternaryMarkerSymbolNumber142 ScatterternaryMarkerSymbol = 142 + ScatterternaryMarkerSymbol142 ScatterternaryMarkerSymbol = "142" + ScatterternaryMarkerSymbolLineNsOpen ScatterternaryMarkerSymbol = "line-ns-open" + ScatterternaryMarkerSymbolNumber43 ScatterternaryMarkerSymbol = 43 + ScatterternaryMarkerSymbol43 ScatterternaryMarkerSymbol = "43" + ScatterternaryMarkerSymbolLineNe ScatterternaryMarkerSymbol = "line-ne" + ScatterternaryMarkerSymbolNumber143 ScatterternaryMarkerSymbol = 143 + ScatterternaryMarkerSymbol143 ScatterternaryMarkerSymbol = "143" + ScatterternaryMarkerSymbolLineNeOpen ScatterternaryMarkerSymbol = "line-ne-open" + ScatterternaryMarkerSymbolNumber44 ScatterternaryMarkerSymbol = 44 + ScatterternaryMarkerSymbol44 ScatterternaryMarkerSymbol = "44" + ScatterternaryMarkerSymbolLineNw ScatterternaryMarkerSymbol = "line-nw" + ScatterternaryMarkerSymbolNumber144 ScatterternaryMarkerSymbol = 144 + ScatterternaryMarkerSymbol144 ScatterternaryMarkerSymbol = "144" + ScatterternaryMarkerSymbolLineNwOpen ScatterternaryMarkerSymbol = "line-nw-open" + ScatterternaryMarkerSymbolNumber45 ScatterternaryMarkerSymbol = 45 + ScatterternaryMarkerSymbol45 ScatterternaryMarkerSymbol = "45" + ScatterternaryMarkerSymbolArrowUp ScatterternaryMarkerSymbol = "arrow-up" + ScatterternaryMarkerSymbolNumber145 ScatterternaryMarkerSymbol = 145 + ScatterternaryMarkerSymbol145 ScatterternaryMarkerSymbol = "145" + ScatterternaryMarkerSymbolArrowUpOpen ScatterternaryMarkerSymbol = "arrow-up-open" + ScatterternaryMarkerSymbolNumber46 ScatterternaryMarkerSymbol = 46 + ScatterternaryMarkerSymbol46 ScatterternaryMarkerSymbol = "46" + ScatterternaryMarkerSymbolArrowDown ScatterternaryMarkerSymbol = "arrow-down" + ScatterternaryMarkerSymbolNumber146 ScatterternaryMarkerSymbol = 146 + ScatterternaryMarkerSymbol146 ScatterternaryMarkerSymbol = "146" + ScatterternaryMarkerSymbolArrowDownOpen ScatterternaryMarkerSymbol = "arrow-down-open" + ScatterternaryMarkerSymbolNumber47 ScatterternaryMarkerSymbol = 47 + ScatterternaryMarkerSymbol47 ScatterternaryMarkerSymbol = "47" + ScatterternaryMarkerSymbolArrowLeft ScatterternaryMarkerSymbol = "arrow-left" + ScatterternaryMarkerSymbolNumber147 ScatterternaryMarkerSymbol = 147 + ScatterternaryMarkerSymbol147 ScatterternaryMarkerSymbol = "147" + ScatterternaryMarkerSymbolArrowLeftOpen ScatterternaryMarkerSymbol = "arrow-left-open" + ScatterternaryMarkerSymbolNumber48 ScatterternaryMarkerSymbol = 48 + ScatterternaryMarkerSymbol48 ScatterternaryMarkerSymbol = "48" + ScatterternaryMarkerSymbolArrowRight ScatterternaryMarkerSymbol = "arrow-right" + ScatterternaryMarkerSymbolNumber148 ScatterternaryMarkerSymbol = 148 + ScatterternaryMarkerSymbol148 ScatterternaryMarkerSymbol = "148" + ScatterternaryMarkerSymbolArrowRightOpen ScatterternaryMarkerSymbol = "arrow-right-open" + ScatterternaryMarkerSymbolNumber49 ScatterternaryMarkerSymbol = 49 + ScatterternaryMarkerSymbol49 ScatterternaryMarkerSymbol = "49" + ScatterternaryMarkerSymbolArrowBarUp ScatterternaryMarkerSymbol = "arrow-bar-up" + ScatterternaryMarkerSymbolNumber149 ScatterternaryMarkerSymbol = 149 + ScatterternaryMarkerSymbol149 ScatterternaryMarkerSymbol = "149" + ScatterternaryMarkerSymbolArrowBarUpOpen ScatterternaryMarkerSymbol = "arrow-bar-up-open" + ScatterternaryMarkerSymbolNumber50 ScatterternaryMarkerSymbol = 50 + ScatterternaryMarkerSymbol50 ScatterternaryMarkerSymbol = "50" + ScatterternaryMarkerSymbolArrowBarDown ScatterternaryMarkerSymbol = "arrow-bar-down" + ScatterternaryMarkerSymbolNumber150 ScatterternaryMarkerSymbol = 150 + ScatterternaryMarkerSymbol150 ScatterternaryMarkerSymbol = "150" + ScatterternaryMarkerSymbolArrowBarDownOpen ScatterternaryMarkerSymbol = "arrow-bar-down-open" + ScatterternaryMarkerSymbolNumber51 ScatterternaryMarkerSymbol = 51 + ScatterternaryMarkerSymbol51 ScatterternaryMarkerSymbol = "51" + ScatterternaryMarkerSymbolArrowBarLeft ScatterternaryMarkerSymbol = "arrow-bar-left" + ScatterternaryMarkerSymbolNumber151 ScatterternaryMarkerSymbol = 151 + ScatterternaryMarkerSymbol151 ScatterternaryMarkerSymbol = "151" + ScatterternaryMarkerSymbolArrowBarLeftOpen ScatterternaryMarkerSymbol = "arrow-bar-left-open" + ScatterternaryMarkerSymbolNumber52 ScatterternaryMarkerSymbol = 52 + ScatterternaryMarkerSymbol52 ScatterternaryMarkerSymbol = "52" + ScatterternaryMarkerSymbolArrowBarRight ScatterternaryMarkerSymbol = "arrow-bar-right" + ScatterternaryMarkerSymbolNumber152 ScatterternaryMarkerSymbol = 152 + ScatterternaryMarkerSymbol152 ScatterternaryMarkerSymbol = "152" + ScatterternaryMarkerSymbolArrowBarRightOpen ScatterternaryMarkerSymbol = "arrow-bar-right-open" + ScatterternaryMarkerSymbolNumber53 ScatterternaryMarkerSymbol = 53 + ScatterternaryMarkerSymbol53 ScatterternaryMarkerSymbol = "53" + ScatterternaryMarkerSymbolArrow ScatterternaryMarkerSymbol = "arrow" + ScatterternaryMarkerSymbolNumber153 ScatterternaryMarkerSymbol = 153 + ScatterternaryMarkerSymbol153 ScatterternaryMarkerSymbol = "153" + ScatterternaryMarkerSymbolArrowOpen ScatterternaryMarkerSymbol = "arrow-open" + ScatterternaryMarkerSymbolNumber54 ScatterternaryMarkerSymbol = 54 + ScatterternaryMarkerSymbol54 ScatterternaryMarkerSymbol = "54" + ScatterternaryMarkerSymbolArrowWide ScatterternaryMarkerSymbol = "arrow-wide" + ScatterternaryMarkerSymbolNumber154 ScatterternaryMarkerSymbol = 154 + ScatterternaryMarkerSymbol154 ScatterternaryMarkerSymbol = "154" + ScatterternaryMarkerSymbolArrowWideOpen ScatterternaryMarkerSymbol = "arrow-wide-open" +) + +// ScatterternaryTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. +type ScatterternaryTextposition string + +const ( + ScatterternaryTextpositionTopLeft ScatterternaryTextposition = "top left" + ScatterternaryTextpositionTopCenter ScatterternaryTextposition = "top center" + ScatterternaryTextpositionTopRight ScatterternaryTextposition = "top right" + ScatterternaryTextpositionMiddleLeft ScatterternaryTextposition = "middle left" + ScatterternaryTextpositionMiddleCenter ScatterternaryTextposition = "middle center" + ScatterternaryTextpositionMiddleRight ScatterternaryTextposition = "middle right" + ScatterternaryTextpositionBottomLeft ScatterternaryTextposition = "bottom left" + ScatterternaryTextpositionBottomCenter ScatterternaryTextposition = "bottom center" + ScatterternaryTextpositionBottomRight ScatterternaryTextposition = "bottom right" +) + +// ScatterternaryVisible 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). +type ScatterternaryVisible interface{} + +var ( + ScatterternaryVisibleTrue ScatterternaryVisible = true + ScatterternaryVisibleFalse ScatterternaryVisible = false + ScatterternaryVisibleLegendonly ScatterternaryVisible = "legendonly" +) + +// ScatterternaryHoverinfo 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. +type ScatterternaryHoverinfo string + +const ( + // Flags + ScatterternaryHoverinfoA ScatterternaryHoverinfo = "a" + ScatterternaryHoverinfoB ScatterternaryHoverinfo = "b" + ScatterternaryHoverinfoC ScatterternaryHoverinfo = "c" + ScatterternaryHoverinfoText ScatterternaryHoverinfo = "text" + ScatterternaryHoverinfoName ScatterternaryHoverinfo = "name" + + // Extra + ScatterternaryHoverinfoAll ScatterternaryHoverinfo = "all" + ScatterternaryHoverinfoNone ScatterternaryHoverinfo = "none" + ScatterternaryHoverinfoSkip ScatterternaryHoverinfo = "skip" +) + +// ScatterternaryHoveron 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*. +type ScatterternaryHoveron string + +const ( + // Flags + ScatterternaryHoveronPoints ScatterternaryHoveron = "points" + ScatterternaryHoveronFills ScatterternaryHoveron = "fills" + + // Extra + +) + +// ScatterternaryMode 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*. +type ScatterternaryMode string + +const ( + // Flags + ScatterternaryModeLines ScatterternaryMode = "lines" + ScatterternaryModeMarkers ScatterternaryMode = "markers" + ScatterternaryModeText ScatterternaryMode = "text" + + // Extra + ScatterternaryModeNone ScatterternaryMode = "none" +) diff --git a/generated/v2.29.1/graph_objects/splom_gen.go b/generated/v2.29.1/graph_objects/splom_gen.go new file mode 100644 index 0000000..50d4c58 --- /dev/null +++ b/generated/v2.29.1/graph_objects/splom_gen.go @@ -0,0 +1,1720 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeSplom TraceType = "splom" + +func (trace *Splom) GetType() TraceType { + return TraceTypeSplom +} + +// Splom 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. +type Splom struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Diagonal + // role: Object + Diagonal *SplomDiagonal `json:"diagonal,omitempty"` + + // Dimensions + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Dimensions interface{} `json:"dimensions,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo SplomHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *SplomHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // Same as `text`. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *SplomLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Marker + // role: Object + Marker *SplomMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Selected + // role: Object + Selected *SplomSelected `json:"selected,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Showlowerhalf + // arrayOK: false + // type: boolean + // Determines whether or not subplots on the lower half from the diagonal are displayed. + Showlowerhalf Bool `json:"showlowerhalf,omitempty"` + + // Showupperhalf + // arrayOK: false + // type: boolean + // Determines whether or not subplots on the upper half from the diagonal are displayed. + Showupperhalf Bool `json:"showupperhalf,omitempty"` + + // Stream + // role: Object + Stream *SplomStream `json:"stream,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Unselected + // role: Object + Unselected *SplomUnselected `json:"unselected,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible SplomVisible `json:"visible,omitempty"` + + // Xaxes + // arrayOK: false + // type: info_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. + Xaxes interface{} `json:"xaxes,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Yaxes + // arrayOK: false + // type: info_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. + Yaxes interface{} `json:"yaxes,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` +} + +// SplomDiagonal +type SplomDiagonal struct { + + // Visible + // arrayOK: false + // type: boolean + // Determines whether or not subplots on the diagonal are displayed. + Visible Bool `json:"visible,omitempty"` +} + +// SplomHoverlabelFont Sets the font used in hover labels. +type SplomHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// SplomHoverlabel +type SplomHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align SplomHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *SplomHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// SplomLegendgrouptitleFont Sets this legend group's title font. +type SplomLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// SplomLegendgrouptitle +type SplomLegendgrouptitle struct { + + // Font + // role: Object + Font *SplomLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// SplomMarkerColorbarTickfont Sets the color bar's tick label font +type SplomMarkerColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// SplomMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type SplomMarkerColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// SplomMarkerColorbarTitle +type SplomMarkerColorbarTitle struct { + + // Font + // role: Object + Font *SplomMarkerColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side SplomMarkerColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// SplomMarkerColorbar +type SplomMarkerColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat SplomMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode SplomMarkerColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation SplomMarkerColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent SplomMarkerColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix SplomMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix SplomMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode SplomMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *SplomMarkerColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow SplomMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition SplomMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode SplomMarkerColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks SplomMarkerColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *SplomMarkerColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor SplomMarkerColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref SplomMarkerColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor SplomMarkerColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref SplomMarkerColorbarYref `json:"yref,omitempty"` +} + +// SplomMarkerLine +type SplomMarkerLine struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the lines bounding the marker points. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// SplomMarker +type SplomMarker struct { + + // Angle + // arrayOK: true + // type: angle + // Sets the marker angle in respect to `angleref`. + Angle float64 `json:"angle,omitempty"` + + // Anglesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `angle`. + Anglesrc String `json:"anglesrc,omitempty"` + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *SplomMarkerColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Line + // role: Object + Line *SplomMarkerLine `json:"line,omitempty"` + + // Opacity + // arrayOK: true + // type: number + // Sets the marker opacity. + Opacity float64 `json:"opacity,omitempty"` + + // Opacitysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `opacity`. + Opacitysrc String `json:"opacitysrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the marker size (in px). + Size float64 `json:"size,omitempty"` + + // Sizemin + // arrayOK: false + // 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. + Sizemin float64 `json:"sizemin,omitempty"` + + // Sizemode + // default: diameter + // type: enumerated + // 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. + Sizemode SplomMarkerSizemode `json:"sizemode,omitempty"` + + // Sizeref + // arrayOK: false + // type: number + // 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`. + Sizeref float64 `json:"sizeref,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Symbol + // default: circle + // type: enumerated + // 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. + Symbol SplomMarkerSymbol `json:"symbol,omitempty"` + + // Symbolsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `symbol`. + Symbolsrc String `json:"symbolsrc,omitempty"` +} + +// SplomSelectedMarker +type SplomSelectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of selected points. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of selected points. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of selected points. + Size float64 `json:"size,omitempty"` +} + +// SplomSelected +type SplomSelected struct { + + // Marker + // role: Object + Marker *SplomSelectedMarker `json:"marker,omitempty"` +} + +// SplomStream +type SplomStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// SplomUnselectedMarker +type SplomUnselectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of unselected points, applied only when a selection exists. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of unselected points, applied only when a selection exists. + Size float64 `json:"size,omitempty"` +} + +// SplomUnselected +type SplomUnselected struct { + + // Marker + // role: Object + Marker *SplomUnselectedMarker `json:"marker,omitempty"` +} + +// SplomHoverlabelAlign 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 +type SplomHoverlabelAlign string + +const ( + SplomHoverlabelAlignLeft SplomHoverlabelAlign = "left" + SplomHoverlabelAlignRight SplomHoverlabelAlign = "right" + SplomHoverlabelAlignAuto SplomHoverlabelAlign = "auto" +) + +// SplomMarkerColorbarExponentformat 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. +type SplomMarkerColorbarExponentformat string + +const ( + SplomMarkerColorbarExponentformatNone SplomMarkerColorbarExponentformat = "none" + SplomMarkerColorbarExponentformatE1 SplomMarkerColorbarExponentformat = "e" + SplomMarkerColorbarExponentformatE2 SplomMarkerColorbarExponentformat = "E" + SplomMarkerColorbarExponentformatPower SplomMarkerColorbarExponentformat = "power" + SplomMarkerColorbarExponentformatSI SplomMarkerColorbarExponentformat = "SI" + SplomMarkerColorbarExponentformatB SplomMarkerColorbarExponentformat = "B" +) + +// SplomMarkerColorbarLenmode 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. +type SplomMarkerColorbarLenmode string + +const ( + SplomMarkerColorbarLenmodeFraction SplomMarkerColorbarLenmode = "fraction" + SplomMarkerColorbarLenmodePixels SplomMarkerColorbarLenmode = "pixels" +) + +// SplomMarkerColorbarOrientation Sets the orientation of the colorbar. +type SplomMarkerColorbarOrientation string + +const ( + SplomMarkerColorbarOrientationH SplomMarkerColorbarOrientation = "h" + SplomMarkerColorbarOrientationV SplomMarkerColorbarOrientation = "v" +) + +// SplomMarkerColorbarShowexponent 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. +type SplomMarkerColorbarShowexponent string + +const ( + SplomMarkerColorbarShowexponentAll SplomMarkerColorbarShowexponent = "all" + SplomMarkerColorbarShowexponentFirst SplomMarkerColorbarShowexponent = "first" + SplomMarkerColorbarShowexponentLast SplomMarkerColorbarShowexponent = "last" + SplomMarkerColorbarShowexponentNone SplomMarkerColorbarShowexponent = "none" +) + +// SplomMarkerColorbarShowtickprefix 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. +type SplomMarkerColorbarShowtickprefix string + +const ( + SplomMarkerColorbarShowtickprefixAll SplomMarkerColorbarShowtickprefix = "all" + SplomMarkerColorbarShowtickprefixFirst SplomMarkerColorbarShowtickprefix = "first" + SplomMarkerColorbarShowtickprefixLast SplomMarkerColorbarShowtickprefix = "last" + SplomMarkerColorbarShowtickprefixNone SplomMarkerColorbarShowtickprefix = "none" +) + +// SplomMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type SplomMarkerColorbarShowticksuffix string + +const ( + SplomMarkerColorbarShowticksuffixAll SplomMarkerColorbarShowticksuffix = "all" + SplomMarkerColorbarShowticksuffixFirst SplomMarkerColorbarShowticksuffix = "first" + SplomMarkerColorbarShowticksuffixLast SplomMarkerColorbarShowticksuffix = "last" + SplomMarkerColorbarShowticksuffixNone SplomMarkerColorbarShowticksuffix = "none" +) + +// SplomMarkerColorbarThicknessmode 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. +type SplomMarkerColorbarThicknessmode string + +const ( + SplomMarkerColorbarThicknessmodeFraction SplomMarkerColorbarThicknessmode = "fraction" + SplomMarkerColorbarThicknessmodePixels SplomMarkerColorbarThicknessmode = "pixels" +) + +// SplomMarkerColorbarTicklabeloverflow 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*. +type SplomMarkerColorbarTicklabeloverflow string + +const ( + SplomMarkerColorbarTicklabeloverflowAllow SplomMarkerColorbarTicklabeloverflow = "allow" + SplomMarkerColorbarTicklabeloverflowHidePastDiv SplomMarkerColorbarTicklabeloverflow = "hide past div" + SplomMarkerColorbarTicklabeloverflowHidePastDomain SplomMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// SplomMarkerColorbarTicklabelposition 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*. +type SplomMarkerColorbarTicklabelposition string + +const ( + SplomMarkerColorbarTicklabelpositionOutside SplomMarkerColorbarTicklabelposition = "outside" + SplomMarkerColorbarTicklabelpositionInside SplomMarkerColorbarTicklabelposition = "inside" + SplomMarkerColorbarTicklabelpositionOutsideTop SplomMarkerColorbarTicklabelposition = "outside top" + SplomMarkerColorbarTicklabelpositionInsideTop SplomMarkerColorbarTicklabelposition = "inside top" + SplomMarkerColorbarTicklabelpositionOutsideLeft SplomMarkerColorbarTicklabelposition = "outside left" + SplomMarkerColorbarTicklabelpositionInsideLeft SplomMarkerColorbarTicklabelposition = "inside left" + SplomMarkerColorbarTicklabelpositionOutsideRight SplomMarkerColorbarTicklabelposition = "outside right" + SplomMarkerColorbarTicklabelpositionInsideRight SplomMarkerColorbarTicklabelposition = "inside right" + SplomMarkerColorbarTicklabelpositionOutsideBottom SplomMarkerColorbarTicklabelposition = "outside bottom" + SplomMarkerColorbarTicklabelpositionInsideBottom SplomMarkerColorbarTicklabelposition = "inside bottom" +) + +// SplomMarkerColorbarTickmode 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). +type SplomMarkerColorbarTickmode string + +const ( + SplomMarkerColorbarTickmodeAuto SplomMarkerColorbarTickmode = "auto" + SplomMarkerColorbarTickmodeLinear SplomMarkerColorbarTickmode = "linear" + SplomMarkerColorbarTickmodeArray SplomMarkerColorbarTickmode = "array" +) + +// SplomMarkerColorbarTicks 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. +type SplomMarkerColorbarTicks string + +const ( + SplomMarkerColorbarTicksOutside SplomMarkerColorbarTicks = "outside" + SplomMarkerColorbarTicksInside SplomMarkerColorbarTicks = "inside" + SplomMarkerColorbarTicksEmpty SplomMarkerColorbarTicks = "" +) + +// SplomMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type SplomMarkerColorbarTitleSide string + +const ( + SplomMarkerColorbarTitleSideRight SplomMarkerColorbarTitleSide = "right" + SplomMarkerColorbarTitleSideTop SplomMarkerColorbarTitleSide = "top" + SplomMarkerColorbarTitleSideBottom SplomMarkerColorbarTitleSide = "bottom" +) + +// SplomMarkerColorbarXanchor 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*. +type SplomMarkerColorbarXanchor string + +const ( + SplomMarkerColorbarXanchorLeft SplomMarkerColorbarXanchor = "left" + SplomMarkerColorbarXanchorCenter SplomMarkerColorbarXanchor = "center" + SplomMarkerColorbarXanchorRight SplomMarkerColorbarXanchor = "right" +) + +// SplomMarkerColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type SplomMarkerColorbarXref string + +const ( + SplomMarkerColorbarXrefContainer SplomMarkerColorbarXref = "container" + SplomMarkerColorbarXrefPaper SplomMarkerColorbarXref = "paper" +) + +// SplomMarkerColorbarYanchor 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*. +type SplomMarkerColorbarYanchor string + +const ( + SplomMarkerColorbarYanchorTop SplomMarkerColorbarYanchor = "top" + SplomMarkerColorbarYanchorMiddle SplomMarkerColorbarYanchor = "middle" + SplomMarkerColorbarYanchorBottom SplomMarkerColorbarYanchor = "bottom" +) + +// SplomMarkerColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type SplomMarkerColorbarYref string + +const ( + SplomMarkerColorbarYrefContainer SplomMarkerColorbarYref = "container" + SplomMarkerColorbarYrefPaper SplomMarkerColorbarYref = "paper" +) + +// SplomMarkerSizemode 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. +type SplomMarkerSizemode string + +const ( + SplomMarkerSizemodeDiameter SplomMarkerSizemode = "diameter" + SplomMarkerSizemodeArea SplomMarkerSizemode = "area" +) + +// SplomMarkerSymbol 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. +type SplomMarkerSymbol interface{} + +var ( + SplomMarkerSymbolNumber0 SplomMarkerSymbol = 0 + SplomMarkerSymbol0 SplomMarkerSymbol = "0" + SplomMarkerSymbolCircle SplomMarkerSymbol = "circle" + SplomMarkerSymbolNumber100 SplomMarkerSymbol = 100 + SplomMarkerSymbol100 SplomMarkerSymbol = "100" + SplomMarkerSymbolCircleOpen SplomMarkerSymbol = "circle-open" + SplomMarkerSymbolNumber200 SplomMarkerSymbol = 200 + SplomMarkerSymbol200 SplomMarkerSymbol = "200" + SplomMarkerSymbolCircleDot SplomMarkerSymbol = "circle-dot" + SplomMarkerSymbolNumber300 SplomMarkerSymbol = 300 + SplomMarkerSymbol300 SplomMarkerSymbol = "300" + SplomMarkerSymbolCircleOpenDot SplomMarkerSymbol = "circle-open-dot" + SplomMarkerSymbolNumber1 SplomMarkerSymbol = 1 + SplomMarkerSymbol1 SplomMarkerSymbol = "1" + SplomMarkerSymbolSquare SplomMarkerSymbol = "square" + SplomMarkerSymbolNumber101 SplomMarkerSymbol = 101 + SplomMarkerSymbol101 SplomMarkerSymbol = "101" + SplomMarkerSymbolSquareOpen SplomMarkerSymbol = "square-open" + SplomMarkerSymbolNumber201 SplomMarkerSymbol = 201 + SplomMarkerSymbol201 SplomMarkerSymbol = "201" + SplomMarkerSymbolSquareDot SplomMarkerSymbol = "square-dot" + SplomMarkerSymbolNumber301 SplomMarkerSymbol = 301 + SplomMarkerSymbol301 SplomMarkerSymbol = "301" + SplomMarkerSymbolSquareOpenDot SplomMarkerSymbol = "square-open-dot" + SplomMarkerSymbolNumber2 SplomMarkerSymbol = 2 + SplomMarkerSymbol2 SplomMarkerSymbol = "2" + SplomMarkerSymbolDiamond SplomMarkerSymbol = "diamond" + SplomMarkerSymbolNumber102 SplomMarkerSymbol = 102 + SplomMarkerSymbol102 SplomMarkerSymbol = "102" + SplomMarkerSymbolDiamondOpen SplomMarkerSymbol = "diamond-open" + SplomMarkerSymbolNumber202 SplomMarkerSymbol = 202 + SplomMarkerSymbol202 SplomMarkerSymbol = "202" + SplomMarkerSymbolDiamondDot SplomMarkerSymbol = "diamond-dot" + SplomMarkerSymbolNumber302 SplomMarkerSymbol = 302 + SplomMarkerSymbol302 SplomMarkerSymbol = "302" + SplomMarkerSymbolDiamondOpenDot SplomMarkerSymbol = "diamond-open-dot" + SplomMarkerSymbolNumber3 SplomMarkerSymbol = 3 + SplomMarkerSymbol3 SplomMarkerSymbol = "3" + SplomMarkerSymbolCross SplomMarkerSymbol = "cross" + SplomMarkerSymbolNumber103 SplomMarkerSymbol = 103 + SplomMarkerSymbol103 SplomMarkerSymbol = "103" + SplomMarkerSymbolCrossOpen SplomMarkerSymbol = "cross-open" + SplomMarkerSymbolNumber203 SplomMarkerSymbol = 203 + SplomMarkerSymbol203 SplomMarkerSymbol = "203" + SplomMarkerSymbolCrossDot SplomMarkerSymbol = "cross-dot" + SplomMarkerSymbolNumber303 SplomMarkerSymbol = 303 + SplomMarkerSymbol303 SplomMarkerSymbol = "303" + SplomMarkerSymbolCrossOpenDot SplomMarkerSymbol = "cross-open-dot" + SplomMarkerSymbolNumber4 SplomMarkerSymbol = 4 + SplomMarkerSymbol4 SplomMarkerSymbol = "4" + SplomMarkerSymbolX SplomMarkerSymbol = "x" + SplomMarkerSymbolNumber104 SplomMarkerSymbol = 104 + SplomMarkerSymbol104 SplomMarkerSymbol = "104" + SplomMarkerSymbolXOpen SplomMarkerSymbol = "x-open" + SplomMarkerSymbolNumber204 SplomMarkerSymbol = 204 + SplomMarkerSymbol204 SplomMarkerSymbol = "204" + SplomMarkerSymbolXDot SplomMarkerSymbol = "x-dot" + SplomMarkerSymbolNumber304 SplomMarkerSymbol = 304 + SplomMarkerSymbol304 SplomMarkerSymbol = "304" + SplomMarkerSymbolXOpenDot SplomMarkerSymbol = "x-open-dot" + SplomMarkerSymbolNumber5 SplomMarkerSymbol = 5 + SplomMarkerSymbol5 SplomMarkerSymbol = "5" + SplomMarkerSymbolTriangleUp SplomMarkerSymbol = "triangle-up" + SplomMarkerSymbolNumber105 SplomMarkerSymbol = 105 + SplomMarkerSymbol105 SplomMarkerSymbol = "105" + SplomMarkerSymbolTriangleUpOpen SplomMarkerSymbol = "triangle-up-open" + SplomMarkerSymbolNumber205 SplomMarkerSymbol = 205 + SplomMarkerSymbol205 SplomMarkerSymbol = "205" + SplomMarkerSymbolTriangleUpDot SplomMarkerSymbol = "triangle-up-dot" + SplomMarkerSymbolNumber305 SplomMarkerSymbol = 305 + SplomMarkerSymbol305 SplomMarkerSymbol = "305" + SplomMarkerSymbolTriangleUpOpenDot SplomMarkerSymbol = "triangle-up-open-dot" + SplomMarkerSymbolNumber6 SplomMarkerSymbol = 6 + SplomMarkerSymbol6 SplomMarkerSymbol = "6" + SplomMarkerSymbolTriangleDown SplomMarkerSymbol = "triangle-down" + SplomMarkerSymbolNumber106 SplomMarkerSymbol = 106 + SplomMarkerSymbol106 SplomMarkerSymbol = "106" + SplomMarkerSymbolTriangleDownOpen SplomMarkerSymbol = "triangle-down-open" + SplomMarkerSymbolNumber206 SplomMarkerSymbol = 206 + SplomMarkerSymbol206 SplomMarkerSymbol = "206" + SplomMarkerSymbolTriangleDownDot SplomMarkerSymbol = "triangle-down-dot" + SplomMarkerSymbolNumber306 SplomMarkerSymbol = 306 + SplomMarkerSymbol306 SplomMarkerSymbol = "306" + SplomMarkerSymbolTriangleDownOpenDot SplomMarkerSymbol = "triangle-down-open-dot" + SplomMarkerSymbolNumber7 SplomMarkerSymbol = 7 + SplomMarkerSymbol7 SplomMarkerSymbol = "7" + SplomMarkerSymbolTriangleLeft SplomMarkerSymbol = "triangle-left" + SplomMarkerSymbolNumber107 SplomMarkerSymbol = 107 + SplomMarkerSymbol107 SplomMarkerSymbol = "107" + SplomMarkerSymbolTriangleLeftOpen SplomMarkerSymbol = "triangle-left-open" + SplomMarkerSymbolNumber207 SplomMarkerSymbol = 207 + SplomMarkerSymbol207 SplomMarkerSymbol = "207" + SplomMarkerSymbolTriangleLeftDot SplomMarkerSymbol = "triangle-left-dot" + SplomMarkerSymbolNumber307 SplomMarkerSymbol = 307 + SplomMarkerSymbol307 SplomMarkerSymbol = "307" + SplomMarkerSymbolTriangleLeftOpenDot SplomMarkerSymbol = "triangle-left-open-dot" + SplomMarkerSymbolNumber8 SplomMarkerSymbol = 8 + SplomMarkerSymbol8 SplomMarkerSymbol = "8" + SplomMarkerSymbolTriangleRight SplomMarkerSymbol = "triangle-right" + SplomMarkerSymbolNumber108 SplomMarkerSymbol = 108 + SplomMarkerSymbol108 SplomMarkerSymbol = "108" + SplomMarkerSymbolTriangleRightOpen SplomMarkerSymbol = "triangle-right-open" + SplomMarkerSymbolNumber208 SplomMarkerSymbol = 208 + SplomMarkerSymbol208 SplomMarkerSymbol = "208" + SplomMarkerSymbolTriangleRightDot SplomMarkerSymbol = "triangle-right-dot" + SplomMarkerSymbolNumber308 SplomMarkerSymbol = 308 + SplomMarkerSymbol308 SplomMarkerSymbol = "308" + SplomMarkerSymbolTriangleRightOpenDot SplomMarkerSymbol = "triangle-right-open-dot" + SplomMarkerSymbolNumber9 SplomMarkerSymbol = 9 + SplomMarkerSymbol9 SplomMarkerSymbol = "9" + SplomMarkerSymbolTriangleNe SplomMarkerSymbol = "triangle-ne" + SplomMarkerSymbolNumber109 SplomMarkerSymbol = 109 + SplomMarkerSymbol109 SplomMarkerSymbol = "109" + SplomMarkerSymbolTriangleNeOpen SplomMarkerSymbol = "triangle-ne-open" + SplomMarkerSymbolNumber209 SplomMarkerSymbol = 209 + SplomMarkerSymbol209 SplomMarkerSymbol = "209" + SplomMarkerSymbolTriangleNeDot SplomMarkerSymbol = "triangle-ne-dot" + SplomMarkerSymbolNumber309 SplomMarkerSymbol = 309 + SplomMarkerSymbol309 SplomMarkerSymbol = "309" + SplomMarkerSymbolTriangleNeOpenDot SplomMarkerSymbol = "triangle-ne-open-dot" + SplomMarkerSymbolNumber10 SplomMarkerSymbol = 10 + SplomMarkerSymbol10 SplomMarkerSymbol = "10" + SplomMarkerSymbolTriangleSe SplomMarkerSymbol = "triangle-se" + SplomMarkerSymbolNumber110 SplomMarkerSymbol = 110 + SplomMarkerSymbol110 SplomMarkerSymbol = "110" + SplomMarkerSymbolTriangleSeOpen SplomMarkerSymbol = "triangle-se-open" + SplomMarkerSymbolNumber210 SplomMarkerSymbol = 210 + SplomMarkerSymbol210 SplomMarkerSymbol = "210" + SplomMarkerSymbolTriangleSeDot SplomMarkerSymbol = "triangle-se-dot" + SplomMarkerSymbolNumber310 SplomMarkerSymbol = 310 + SplomMarkerSymbol310 SplomMarkerSymbol = "310" + SplomMarkerSymbolTriangleSeOpenDot SplomMarkerSymbol = "triangle-se-open-dot" + SplomMarkerSymbolNumber11 SplomMarkerSymbol = 11 + SplomMarkerSymbol11 SplomMarkerSymbol = "11" + SplomMarkerSymbolTriangleSw SplomMarkerSymbol = "triangle-sw" + SplomMarkerSymbolNumber111 SplomMarkerSymbol = 111 + SplomMarkerSymbol111 SplomMarkerSymbol = "111" + SplomMarkerSymbolTriangleSwOpen SplomMarkerSymbol = "triangle-sw-open" + SplomMarkerSymbolNumber211 SplomMarkerSymbol = 211 + SplomMarkerSymbol211 SplomMarkerSymbol = "211" + SplomMarkerSymbolTriangleSwDot SplomMarkerSymbol = "triangle-sw-dot" + SplomMarkerSymbolNumber311 SplomMarkerSymbol = 311 + SplomMarkerSymbol311 SplomMarkerSymbol = "311" + SplomMarkerSymbolTriangleSwOpenDot SplomMarkerSymbol = "triangle-sw-open-dot" + SplomMarkerSymbolNumber12 SplomMarkerSymbol = 12 + SplomMarkerSymbol12 SplomMarkerSymbol = "12" + SplomMarkerSymbolTriangleNw SplomMarkerSymbol = "triangle-nw" + SplomMarkerSymbolNumber112 SplomMarkerSymbol = 112 + SplomMarkerSymbol112 SplomMarkerSymbol = "112" + SplomMarkerSymbolTriangleNwOpen SplomMarkerSymbol = "triangle-nw-open" + SplomMarkerSymbolNumber212 SplomMarkerSymbol = 212 + SplomMarkerSymbol212 SplomMarkerSymbol = "212" + SplomMarkerSymbolTriangleNwDot SplomMarkerSymbol = "triangle-nw-dot" + SplomMarkerSymbolNumber312 SplomMarkerSymbol = 312 + SplomMarkerSymbol312 SplomMarkerSymbol = "312" + SplomMarkerSymbolTriangleNwOpenDot SplomMarkerSymbol = "triangle-nw-open-dot" + SplomMarkerSymbolNumber13 SplomMarkerSymbol = 13 + SplomMarkerSymbol13 SplomMarkerSymbol = "13" + SplomMarkerSymbolPentagon SplomMarkerSymbol = "pentagon" + SplomMarkerSymbolNumber113 SplomMarkerSymbol = 113 + SplomMarkerSymbol113 SplomMarkerSymbol = "113" + SplomMarkerSymbolPentagonOpen SplomMarkerSymbol = "pentagon-open" + SplomMarkerSymbolNumber213 SplomMarkerSymbol = 213 + SplomMarkerSymbol213 SplomMarkerSymbol = "213" + SplomMarkerSymbolPentagonDot SplomMarkerSymbol = "pentagon-dot" + SplomMarkerSymbolNumber313 SplomMarkerSymbol = 313 + SplomMarkerSymbol313 SplomMarkerSymbol = "313" + SplomMarkerSymbolPentagonOpenDot SplomMarkerSymbol = "pentagon-open-dot" + SplomMarkerSymbolNumber14 SplomMarkerSymbol = 14 + SplomMarkerSymbol14 SplomMarkerSymbol = "14" + SplomMarkerSymbolHexagon SplomMarkerSymbol = "hexagon" + SplomMarkerSymbolNumber114 SplomMarkerSymbol = 114 + SplomMarkerSymbol114 SplomMarkerSymbol = "114" + SplomMarkerSymbolHexagonOpen SplomMarkerSymbol = "hexagon-open" + SplomMarkerSymbolNumber214 SplomMarkerSymbol = 214 + SplomMarkerSymbol214 SplomMarkerSymbol = "214" + SplomMarkerSymbolHexagonDot SplomMarkerSymbol = "hexagon-dot" + SplomMarkerSymbolNumber314 SplomMarkerSymbol = 314 + SplomMarkerSymbol314 SplomMarkerSymbol = "314" + SplomMarkerSymbolHexagonOpenDot SplomMarkerSymbol = "hexagon-open-dot" + SplomMarkerSymbolNumber15 SplomMarkerSymbol = 15 + SplomMarkerSymbol15 SplomMarkerSymbol = "15" + SplomMarkerSymbolHexagon2 SplomMarkerSymbol = "hexagon2" + SplomMarkerSymbolNumber115 SplomMarkerSymbol = 115 + SplomMarkerSymbol115 SplomMarkerSymbol = "115" + SplomMarkerSymbolHexagon2Open SplomMarkerSymbol = "hexagon2-open" + SplomMarkerSymbolNumber215 SplomMarkerSymbol = 215 + SplomMarkerSymbol215 SplomMarkerSymbol = "215" + SplomMarkerSymbolHexagon2Dot SplomMarkerSymbol = "hexagon2-dot" + SplomMarkerSymbolNumber315 SplomMarkerSymbol = 315 + SplomMarkerSymbol315 SplomMarkerSymbol = "315" + SplomMarkerSymbolHexagon2OpenDot SplomMarkerSymbol = "hexagon2-open-dot" + SplomMarkerSymbolNumber16 SplomMarkerSymbol = 16 + SplomMarkerSymbol16 SplomMarkerSymbol = "16" + SplomMarkerSymbolOctagon SplomMarkerSymbol = "octagon" + SplomMarkerSymbolNumber116 SplomMarkerSymbol = 116 + SplomMarkerSymbol116 SplomMarkerSymbol = "116" + SplomMarkerSymbolOctagonOpen SplomMarkerSymbol = "octagon-open" + SplomMarkerSymbolNumber216 SplomMarkerSymbol = 216 + SplomMarkerSymbol216 SplomMarkerSymbol = "216" + SplomMarkerSymbolOctagonDot SplomMarkerSymbol = "octagon-dot" + SplomMarkerSymbolNumber316 SplomMarkerSymbol = 316 + SplomMarkerSymbol316 SplomMarkerSymbol = "316" + SplomMarkerSymbolOctagonOpenDot SplomMarkerSymbol = "octagon-open-dot" + SplomMarkerSymbolNumber17 SplomMarkerSymbol = 17 + SplomMarkerSymbol17 SplomMarkerSymbol = "17" + SplomMarkerSymbolStar SplomMarkerSymbol = "star" + SplomMarkerSymbolNumber117 SplomMarkerSymbol = 117 + SplomMarkerSymbol117 SplomMarkerSymbol = "117" + SplomMarkerSymbolStarOpen SplomMarkerSymbol = "star-open" + SplomMarkerSymbolNumber217 SplomMarkerSymbol = 217 + SplomMarkerSymbol217 SplomMarkerSymbol = "217" + SplomMarkerSymbolStarDot SplomMarkerSymbol = "star-dot" + SplomMarkerSymbolNumber317 SplomMarkerSymbol = 317 + SplomMarkerSymbol317 SplomMarkerSymbol = "317" + SplomMarkerSymbolStarOpenDot SplomMarkerSymbol = "star-open-dot" + SplomMarkerSymbolNumber18 SplomMarkerSymbol = 18 + SplomMarkerSymbol18 SplomMarkerSymbol = "18" + SplomMarkerSymbolHexagram SplomMarkerSymbol = "hexagram" + SplomMarkerSymbolNumber118 SplomMarkerSymbol = 118 + SplomMarkerSymbol118 SplomMarkerSymbol = "118" + SplomMarkerSymbolHexagramOpen SplomMarkerSymbol = "hexagram-open" + SplomMarkerSymbolNumber218 SplomMarkerSymbol = 218 + SplomMarkerSymbol218 SplomMarkerSymbol = "218" + SplomMarkerSymbolHexagramDot SplomMarkerSymbol = "hexagram-dot" + SplomMarkerSymbolNumber318 SplomMarkerSymbol = 318 + SplomMarkerSymbol318 SplomMarkerSymbol = "318" + SplomMarkerSymbolHexagramOpenDot SplomMarkerSymbol = "hexagram-open-dot" + SplomMarkerSymbolNumber19 SplomMarkerSymbol = 19 + SplomMarkerSymbol19 SplomMarkerSymbol = "19" + SplomMarkerSymbolStarTriangleUp SplomMarkerSymbol = "star-triangle-up" + SplomMarkerSymbolNumber119 SplomMarkerSymbol = 119 + SplomMarkerSymbol119 SplomMarkerSymbol = "119" + SplomMarkerSymbolStarTriangleUpOpen SplomMarkerSymbol = "star-triangle-up-open" + SplomMarkerSymbolNumber219 SplomMarkerSymbol = 219 + SplomMarkerSymbol219 SplomMarkerSymbol = "219" + SplomMarkerSymbolStarTriangleUpDot SplomMarkerSymbol = "star-triangle-up-dot" + SplomMarkerSymbolNumber319 SplomMarkerSymbol = 319 + SplomMarkerSymbol319 SplomMarkerSymbol = "319" + SplomMarkerSymbolStarTriangleUpOpenDot SplomMarkerSymbol = "star-triangle-up-open-dot" + SplomMarkerSymbolNumber20 SplomMarkerSymbol = 20 + SplomMarkerSymbol20 SplomMarkerSymbol = "20" + SplomMarkerSymbolStarTriangleDown SplomMarkerSymbol = "star-triangle-down" + SplomMarkerSymbolNumber120 SplomMarkerSymbol = 120 + SplomMarkerSymbol120 SplomMarkerSymbol = "120" + SplomMarkerSymbolStarTriangleDownOpen SplomMarkerSymbol = "star-triangle-down-open" + SplomMarkerSymbolNumber220 SplomMarkerSymbol = 220 + SplomMarkerSymbol220 SplomMarkerSymbol = "220" + SplomMarkerSymbolStarTriangleDownDot SplomMarkerSymbol = "star-triangle-down-dot" + SplomMarkerSymbolNumber320 SplomMarkerSymbol = 320 + SplomMarkerSymbol320 SplomMarkerSymbol = "320" + SplomMarkerSymbolStarTriangleDownOpenDot SplomMarkerSymbol = "star-triangle-down-open-dot" + SplomMarkerSymbolNumber21 SplomMarkerSymbol = 21 + SplomMarkerSymbol21 SplomMarkerSymbol = "21" + SplomMarkerSymbolStarSquare SplomMarkerSymbol = "star-square" + SplomMarkerSymbolNumber121 SplomMarkerSymbol = 121 + SplomMarkerSymbol121 SplomMarkerSymbol = "121" + SplomMarkerSymbolStarSquareOpen SplomMarkerSymbol = "star-square-open" + SplomMarkerSymbolNumber221 SplomMarkerSymbol = 221 + SplomMarkerSymbol221 SplomMarkerSymbol = "221" + SplomMarkerSymbolStarSquareDot SplomMarkerSymbol = "star-square-dot" + SplomMarkerSymbolNumber321 SplomMarkerSymbol = 321 + SplomMarkerSymbol321 SplomMarkerSymbol = "321" + SplomMarkerSymbolStarSquareOpenDot SplomMarkerSymbol = "star-square-open-dot" + SplomMarkerSymbolNumber22 SplomMarkerSymbol = 22 + SplomMarkerSymbol22 SplomMarkerSymbol = "22" + SplomMarkerSymbolStarDiamond SplomMarkerSymbol = "star-diamond" + SplomMarkerSymbolNumber122 SplomMarkerSymbol = 122 + SplomMarkerSymbol122 SplomMarkerSymbol = "122" + SplomMarkerSymbolStarDiamondOpen SplomMarkerSymbol = "star-diamond-open" + SplomMarkerSymbolNumber222 SplomMarkerSymbol = 222 + SplomMarkerSymbol222 SplomMarkerSymbol = "222" + SplomMarkerSymbolStarDiamondDot SplomMarkerSymbol = "star-diamond-dot" + SplomMarkerSymbolNumber322 SplomMarkerSymbol = 322 + SplomMarkerSymbol322 SplomMarkerSymbol = "322" + SplomMarkerSymbolStarDiamondOpenDot SplomMarkerSymbol = "star-diamond-open-dot" + SplomMarkerSymbolNumber23 SplomMarkerSymbol = 23 + SplomMarkerSymbol23 SplomMarkerSymbol = "23" + SplomMarkerSymbolDiamondTall SplomMarkerSymbol = "diamond-tall" + SplomMarkerSymbolNumber123 SplomMarkerSymbol = 123 + SplomMarkerSymbol123 SplomMarkerSymbol = "123" + SplomMarkerSymbolDiamondTallOpen SplomMarkerSymbol = "diamond-tall-open" + SplomMarkerSymbolNumber223 SplomMarkerSymbol = 223 + SplomMarkerSymbol223 SplomMarkerSymbol = "223" + SplomMarkerSymbolDiamondTallDot SplomMarkerSymbol = "diamond-tall-dot" + SplomMarkerSymbolNumber323 SplomMarkerSymbol = 323 + SplomMarkerSymbol323 SplomMarkerSymbol = "323" + SplomMarkerSymbolDiamondTallOpenDot SplomMarkerSymbol = "diamond-tall-open-dot" + SplomMarkerSymbolNumber24 SplomMarkerSymbol = 24 + SplomMarkerSymbol24 SplomMarkerSymbol = "24" + SplomMarkerSymbolDiamondWide SplomMarkerSymbol = "diamond-wide" + SplomMarkerSymbolNumber124 SplomMarkerSymbol = 124 + SplomMarkerSymbol124 SplomMarkerSymbol = "124" + SplomMarkerSymbolDiamondWideOpen SplomMarkerSymbol = "diamond-wide-open" + SplomMarkerSymbolNumber224 SplomMarkerSymbol = 224 + SplomMarkerSymbol224 SplomMarkerSymbol = "224" + SplomMarkerSymbolDiamondWideDot SplomMarkerSymbol = "diamond-wide-dot" + SplomMarkerSymbolNumber324 SplomMarkerSymbol = 324 + SplomMarkerSymbol324 SplomMarkerSymbol = "324" + SplomMarkerSymbolDiamondWideOpenDot SplomMarkerSymbol = "diamond-wide-open-dot" + SplomMarkerSymbolNumber25 SplomMarkerSymbol = 25 + SplomMarkerSymbol25 SplomMarkerSymbol = "25" + SplomMarkerSymbolHourglass SplomMarkerSymbol = "hourglass" + SplomMarkerSymbolNumber125 SplomMarkerSymbol = 125 + SplomMarkerSymbol125 SplomMarkerSymbol = "125" + SplomMarkerSymbolHourglassOpen SplomMarkerSymbol = "hourglass-open" + SplomMarkerSymbolNumber26 SplomMarkerSymbol = 26 + SplomMarkerSymbol26 SplomMarkerSymbol = "26" + SplomMarkerSymbolBowtie SplomMarkerSymbol = "bowtie" + SplomMarkerSymbolNumber126 SplomMarkerSymbol = 126 + SplomMarkerSymbol126 SplomMarkerSymbol = "126" + SplomMarkerSymbolBowtieOpen SplomMarkerSymbol = "bowtie-open" + SplomMarkerSymbolNumber27 SplomMarkerSymbol = 27 + SplomMarkerSymbol27 SplomMarkerSymbol = "27" + SplomMarkerSymbolCircleCross SplomMarkerSymbol = "circle-cross" + SplomMarkerSymbolNumber127 SplomMarkerSymbol = 127 + SplomMarkerSymbol127 SplomMarkerSymbol = "127" + SplomMarkerSymbolCircleCrossOpen SplomMarkerSymbol = "circle-cross-open" + SplomMarkerSymbolNumber28 SplomMarkerSymbol = 28 + SplomMarkerSymbol28 SplomMarkerSymbol = "28" + SplomMarkerSymbolCircleX SplomMarkerSymbol = "circle-x" + SplomMarkerSymbolNumber128 SplomMarkerSymbol = 128 + SplomMarkerSymbol128 SplomMarkerSymbol = "128" + SplomMarkerSymbolCircleXOpen SplomMarkerSymbol = "circle-x-open" + SplomMarkerSymbolNumber29 SplomMarkerSymbol = 29 + SplomMarkerSymbol29 SplomMarkerSymbol = "29" + SplomMarkerSymbolSquareCross SplomMarkerSymbol = "square-cross" + SplomMarkerSymbolNumber129 SplomMarkerSymbol = 129 + SplomMarkerSymbol129 SplomMarkerSymbol = "129" + SplomMarkerSymbolSquareCrossOpen SplomMarkerSymbol = "square-cross-open" + SplomMarkerSymbolNumber30 SplomMarkerSymbol = 30 + SplomMarkerSymbol30 SplomMarkerSymbol = "30" + SplomMarkerSymbolSquareX SplomMarkerSymbol = "square-x" + SplomMarkerSymbolNumber130 SplomMarkerSymbol = 130 + SplomMarkerSymbol130 SplomMarkerSymbol = "130" + SplomMarkerSymbolSquareXOpen SplomMarkerSymbol = "square-x-open" + SplomMarkerSymbolNumber31 SplomMarkerSymbol = 31 + SplomMarkerSymbol31 SplomMarkerSymbol = "31" + SplomMarkerSymbolDiamondCross SplomMarkerSymbol = "diamond-cross" + SplomMarkerSymbolNumber131 SplomMarkerSymbol = 131 + SplomMarkerSymbol131 SplomMarkerSymbol = "131" + SplomMarkerSymbolDiamondCrossOpen SplomMarkerSymbol = "diamond-cross-open" + SplomMarkerSymbolNumber32 SplomMarkerSymbol = 32 + SplomMarkerSymbol32 SplomMarkerSymbol = "32" + SplomMarkerSymbolDiamondX SplomMarkerSymbol = "diamond-x" + SplomMarkerSymbolNumber132 SplomMarkerSymbol = 132 + SplomMarkerSymbol132 SplomMarkerSymbol = "132" + SplomMarkerSymbolDiamondXOpen SplomMarkerSymbol = "diamond-x-open" + SplomMarkerSymbolNumber33 SplomMarkerSymbol = 33 + SplomMarkerSymbol33 SplomMarkerSymbol = "33" + SplomMarkerSymbolCrossThin SplomMarkerSymbol = "cross-thin" + SplomMarkerSymbolNumber133 SplomMarkerSymbol = 133 + SplomMarkerSymbol133 SplomMarkerSymbol = "133" + SplomMarkerSymbolCrossThinOpen SplomMarkerSymbol = "cross-thin-open" + SplomMarkerSymbolNumber34 SplomMarkerSymbol = 34 + SplomMarkerSymbol34 SplomMarkerSymbol = "34" + SplomMarkerSymbolXThin SplomMarkerSymbol = "x-thin" + SplomMarkerSymbolNumber134 SplomMarkerSymbol = 134 + SplomMarkerSymbol134 SplomMarkerSymbol = "134" + SplomMarkerSymbolXThinOpen SplomMarkerSymbol = "x-thin-open" + SplomMarkerSymbolNumber35 SplomMarkerSymbol = 35 + SplomMarkerSymbol35 SplomMarkerSymbol = "35" + SplomMarkerSymbolAsterisk SplomMarkerSymbol = "asterisk" + SplomMarkerSymbolNumber135 SplomMarkerSymbol = 135 + SplomMarkerSymbol135 SplomMarkerSymbol = "135" + SplomMarkerSymbolAsteriskOpen SplomMarkerSymbol = "asterisk-open" + SplomMarkerSymbolNumber36 SplomMarkerSymbol = 36 + SplomMarkerSymbol36 SplomMarkerSymbol = "36" + SplomMarkerSymbolHash SplomMarkerSymbol = "hash" + SplomMarkerSymbolNumber136 SplomMarkerSymbol = 136 + SplomMarkerSymbol136 SplomMarkerSymbol = "136" + SplomMarkerSymbolHashOpen SplomMarkerSymbol = "hash-open" + SplomMarkerSymbolNumber236 SplomMarkerSymbol = 236 + SplomMarkerSymbol236 SplomMarkerSymbol = "236" + SplomMarkerSymbolHashDot SplomMarkerSymbol = "hash-dot" + SplomMarkerSymbolNumber336 SplomMarkerSymbol = 336 + SplomMarkerSymbol336 SplomMarkerSymbol = "336" + SplomMarkerSymbolHashOpenDot SplomMarkerSymbol = "hash-open-dot" + SplomMarkerSymbolNumber37 SplomMarkerSymbol = 37 + SplomMarkerSymbol37 SplomMarkerSymbol = "37" + SplomMarkerSymbolYUp SplomMarkerSymbol = "y-up" + SplomMarkerSymbolNumber137 SplomMarkerSymbol = 137 + SplomMarkerSymbol137 SplomMarkerSymbol = "137" + SplomMarkerSymbolYUpOpen SplomMarkerSymbol = "y-up-open" + SplomMarkerSymbolNumber38 SplomMarkerSymbol = 38 + SplomMarkerSymbol38 SplomMarkerSymbol = "38" + SplomMarkerSymbolYDown SplomMarkerSymbol = "y-down" + SplomMarkerSymbolNumber138 SplomMarkerSymbol = 138 + SplomMarkerSymbol138 SplomMarkerSymbol = "138" + SplomMarkerSymbolYDownOpen SplomMarkerSymbol = "y-down-open" + SplomMarkerSymbolNumber39 SplomMarkerSymbol = 39 + SplomMarkerSymbol39 SplomMarkerSymbol = "39" + SplomMarkerSymbolYLeft SplomMarkerSymbol = "y-left" + SplomMarkerSymbolNumber139 SplomMarkerSymbol = 139 + SplomMarkerSymbol139 SplomMarkerSymbol = "139" + SplomMarkerSymbolYLeftOpen SplomMarkerSymbol = "y-left-open" + SplomMarkerSymbolNumber40 SplomMarkerSymbol = 40 + SplomMarkerSymbol40 SplomMarkerSymbol = "40" + SplomMarkerSymbolYRight SplomMarkerSymbol = "y-right" + SplomMarkerSymbolNumber140 SplomMarkerSymbol = 140 + SplomMarkerSymbol140 SplomMarkerSymbol = "140" + SplomMarkerSymbolYRightOpen SplomMarkerSymbol = "y-right-open" + SplomMarkerSymbolNumber41 SplomMarkerSymbol = 41 + SplomMarkerSymbol41 SplomMarkerSymbol = "41" + SplomMarkerSymbolLineEw SplomMarkerSymbol = "line-ew" + SplomMarkerSymbolNumber141 SplomMarkerSymbol = 141 + SplomMarkerSymbol141 SplomMarkerSymbol = "141" + SplomMarkerSymbolLineEwOpen SplomMarkerSymbol = "line-ew-open" + SplomMarkerSymbolNumber42 SplomMarkerSymbol = 42 + SplomMarkerSymbol42 SplomMarkerSymbol = "42" + SplomMarkerSymbolLineNs SplomMarkerSymbol = "line-ns" + SplomMarkerSymbolNumber142 SplomMarkerSymbol = 142 + SplomMarkerSymbol142 SplomMarkerSymbol = "142" + SplomMarkerSymbolLineNsOpen SplomMarkerSymbol = "line-ns-open" + SplomMarkerSymbolNumber43 SplomMarkerSymbol = 43 + SplomMarkerSymbol43 SplomMarkerSymbol = "43" + SplomMarkerSymbolLineNe SplomMarkerSymbol = "line-ne" + SplomMarkerSymbolNumber143 SplomMarkerSymbol = 143 + SplomMarkerSymbol143 SplomMarkerSymbol = "143" + SplomMarkerSymbolLineNeOpen SplomMarkerSymbol = "line-ne-open" + SplomMarkerSymbolNumber44 SplomMarkerSymbol = 44 + SplomMarkerSymbol44 SplomMarkerSymbol = "44" + SplomMarkerSymbolLineNw SplomMarkerSymbol = "line-nw" + SplomMarkerSymbolNumber144 SplomMarkerSymbol = 144 + SplomMarkerSymbol144 SplomMarkerSymbol = "144" + SplomMarkerSymbolLineNwOpen SplomMarkerSymbol = "line-nw-open" + SplomMarkerSymbolNumber45 SplomMarkerSymbol = 45 + SplomMarkerSymbol45 SplomMarkerSymbol = "45" + SplomMarkerSymbolArrowUp SplomMarkerSymbol = "arrow-up" + SplomMarkerSymbolNumber145 SplomMarkerSymbol = 145 + SplomMarkerSymbol145 SplomMarkerSymbol = "145" + SplomMarkerSymbolArrowUpOpen SplomMarkerSymbol = "arrow-up-open" + SplomMarkerSymbolNumber46 SplomMarkerSymbol = 46 + SplomMarkerSymbol46 SplomMarkerSymbol = "46" + SplomMarkerSymbolArrowDown SplomMarkerSymbol = "arrow-down" + SplomMarkerSymbolNumber146 SplomMarkerSymbol = 146 + SplomMarkerSymbol146 SplomMarkerSymbol = "146" + SplomMarkerSymbolArrowDownOpen SplomMarkerSymbol = "arrow-down-open" + SplomMarkerSymbolNumber47 SplomMarkerSymbol = 47 + SplomMarkerSymbol47 SplomMarkerSymbol = "47" + SplomMarkerSymbolArrowLeft SplomMarkerSymbol = "arrow-left" + SplomMarkerSymbolNumber147 SplomMarkerSymbol = 147 + SplomMarkerSymbol147 SplomMarkerSymbol = "147" + SplomMarkerSymbolArrowLeftOpen SplomMarkerSymbol = "arrow-left-open" + SplomMarkerSymbolNumber48 SplomMarkerSymbol = 48 + SplomMarkerSymbol48 SplomMarkerSymbol = "48" + SplomMarkerSymbolArrowRight SplomMarkerSymbol = "arrow-right" + SplomMarkerSymbolNumber148 SplomMarkerSymbol = 148 + SplomMarkerSymbol148 SplomMarkerSymbol = "148" + SplomMarkerSymbolArrowRightOpen SplomMarkerSymbol = "arrow-right-open" + SplomMarkerSymbolNumber49 SplomMarkerSymbol = 49 + SplomMarkerSymbol49 SplomMarkerSymbol = "49" + SplomMarkerSymbolArrowBarUp SplomMarkerSymbol = "arrow-bar-up" + SplomMarkerSymbolNumber149 SplomMarkerSymbol = 149 + SplomMarkerSymbol149 SplomMarkerSymbol = "149" + SplomMarkerSymbolArrowBarUpOpen SplomMarkerSymbol = "arrow-bar-up-open" + SplomMarkerSymbolNumber50 SplomMarkerSymbol = 50 + SplomMarkerSymbol50 SplomMarkerSymbol = "50" + SplomMarkerSymbolArrowBarDown SplomMarkerSymbol = "arrow-bar-down" + SplomMarkerSymbolNumber150 SplomMarkerSymbol = 150 + SplomMarkerSymbol150 SplomMarkerSymbol = "150" + SplomMarkerSymbolArrowBarDownOpen SplomMarkerSymbol = "arrow-bar-down-open" + SplomMarkerSymbolNumber51 SplomMarkerSymbol = 51 + SplomMarkerSymbol51 SplomMarkerSymbol = "51" + SplomMarkerSymbolArrowBarLeft SplomMarkerSymbol = "arrow-bar-left" + SplomMarkerSymbolNumber151 SplomMarkerSymbol = 151 + SplomMarkerSymbol151 SplomMarkerSymbol = "151" + SplomMarkerSymbolArrowBarLeftOpen SplomMarkerSymbol = "arrow-bar-left-open" + SplomMarkerSymbolNumber52 SplomMarkerSymbol = 52 + SplomMarkerSymbol52 SplomMarkerSymbol = "52" + SplomMarkerSymbolArrowBarRight SplomMarkerSymbol = "arrow-bar-right" + SplomMarkerSymbolNumber152 SplomMarkerSymbol = 152 + SplomMarkerSymbol152 SplomMarkerSymbol = "152" + SplomMarkerSymbolArrowBarRightOpen SplomMarkerSymbol = "arrow-bar-right-open" + SplomMarkerSymbolNumber53 SplomMarkerSymbol = 53 + SplomMarkerSymbol53 SplomMarkerSymbol = "53" + SplomMarkerSymbolArrow SplomMarkerSymbol = "arrow" + SplomMarkerSymbolNumber153 SplomMarkerSymbol = 153 + SplomMarkerSymbol153 SplomMarkerSymbol = "153" + SplomMarkerSymbolArrowOpen SplomMarkerSymbol = "arrow-open" + SplomMarkerSymbolNumber54 SplomMarkerSymbol = 54 + SplomMarkerSymbol54 SplomMarkerSymbol = "54" + SplomMarkerSymbolArrowWide SplomMarkerSymbol = "arrow-wide" + SplomMarkerSymbolNumber154 SplomMarkerSymbol = 154 + SplomMarkerSymbol154 SplomMarkerSymbol = "154" + SplomMarkerSymbolArrowWideOpen SplomMarkerSymbol = "arrow-wide-open" +) + +// SplomVisible 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). +type SplomVisible interface{} + +var ( + SplomVisibleTrue SplomVisible = true + SplomVisibleFalse SplomVisible = false + SplomVisibleLegendonly SplomVisible = "legendonly" +) + +// SplomHoverinfo 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. +type SplomHoverinfo string + +const ( + // Flags + SplomHoverinfoX SplomHoverinfo = "x" + SplomHoverinfoY SplomHoverinfo = "y" + SplomHoverinfoZ SplomHoverinfo = "z" + SplomHoverinfoText SplomHoverinfo = "text" + SplomHoverinfoName SplomHoverinfo = "name" + + // Extra + SplomHoverinfoAll SplomHoverinfo = "all" + SplomHoverinfoNone SplomHoverinfo = "none" + SplomHoverinfoSkip SplomHoverinfo = "skip" +) diff --git a/generated/v2.29.1/graph_objects/streamtube_gen.go b/generated/v2.29.1/graph_objects/streamtube_gen.go new file mode 100644 index 0000000..593e73a --- /dev/null +++ b/generated/v2.29.1/graph_objects/streamtube_gen.go @@ -0,0 +1,1157 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeStreamtube TraceType = "streamtube" + +func (trace *Streamtube) GetType() TraceType { + return TraceTypeStreamtube +} + +// Streamtube 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). +type Streamtube struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Autocolorscale + // arrayOK: false + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *StreamtubeColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Hoverinfo + // default: x+y+z+norm+text+name + // type: flaglist + // 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. + Hoverinfo StreamtubeHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *StreamtubeHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Finally, the template string has access to variables `tubex`, `tubey`, `tubez`, `tubeu`, `tubev`, `tubew`, `norm` and `divergence`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: false + // type: string + // Same as `text`. + Hovertext String `json:"hovertext,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *StreamtubeLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Lighting + // role: Object + Lighting *StreamtubeLighting `json:"lighting,omitempty"` + + // Lightposition + // role: Object + Lightposition *StreamtubeLightposition `json:"lightposition,omitempty"` + + // Maxdisplayed + // arrayOK: false + // type: integer + // The maximum number of displayed segments in a streamtube. + Maxdisplayed int64 `json:"maxdisplayed,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // 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. + Opacity float64 `json:"opacity,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Scene + // arrayOK: false + // type: subplotid + // 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. + Scene String `json:"scene,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Showscale + // arrayOK: false + // type: boolean + // Determines whether or not a colorbar is displayed for this trace. + Showscale Bool `json:"showscale,omitempty"` + + // Sizeref + // arrayOK: false + // type: number + // The scaling factor for the streamtubes. The default is 1, which avoids two max divergence tubes from touching at adjacent starting positions. + Sizeref float64 `json:"sizeref,omitempty"` + + // Starts + // role: Object + Starts *StreamtubeStarts `json:"starts,omitempty"` + + // Stream + // role: Object + Stream *StreamtubeStream `json:"stream,omitempty"` + + // Text + // arrayOK: false + // 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. + Text String `json:"text,omitempty"` + + // U + // arrayOK: false + // type: data_array + // Sets the x components of the vector field. + U interface{} `json:"u,omitempty"` + + // Uhoverformat + // arrayOK: false + // 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. + Uhoverformat String `json:"uhoverformat,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Usrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `u`. + Usrc String `json:"usrc,omitempty"` + + // V + // arrayOK: false + // type: data_array + // Sets the y components of the vector field. + V interface{} `json:"v,omitempty"` + + // Vhoverformat + // arrayOK: false + // 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. + Vhoverformat String `json:"vhoverformat,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible StreamtubeVisible `json:"visible,omitempty"` + + // Vsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `v`. + Vsrc String `json:"vsrc,omitempty"` + + // W + // arrayOK: false + // type: data_array + // Sets the z components of the vector field. + W interface{} `json:"w,omitempty"` + + // Whoverformat + // arrayOK: false + // 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. + Whoverformat String `json:"whoverformat,omitempty"` + + // Wsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `w`. + Wsrc String `json:"wsrc,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the x coordinates of the vector field. + X interface{} `json:"x,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the y coordinates of the vector field. + Y interface{} `json:"y,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` + + // Z + // arrayOK: false + // type: data_array + // Sets the z coordinates of the vector field. + Z interface{} `json:"z,omitempty"` + + // Zhoverformat + // arrayOK: false + // 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`. + Zhoverformat String `json:"zhoverformat,omitempty"` + + // Zsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `z`. + Zsrc String `json:"zsrc,omitempty"` +} + +// StreamtubeColorbarTickfont Sets the color bar's tick label font +type StreamtubeColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// StreamtubeColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type StreamtubeColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// StreamtubeColorbarTitle +type StreamtubeColorbarTitle struct { + + // Font + // role: Object + Font *StreamtubeColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side StreamtubeColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// StreamtubeColorbar +type StreamtubeColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat StreamtubeColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode StreamtubeColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation StreamtubeColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent StreamtubeColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix StreamtubeColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix StreamtubeColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode StreamtubeColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *StreamtubeColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow StreamtubeColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition StreamtubeColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode StreamtubeColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks StreamtubeColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *StreamtubeColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor StreamtubeColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref StreamtubeColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor StreamtubeColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref StreamtubeColorbarYref `json:"yref,omitempty"` +} + +// StreamtubeHoverlabelFont Sets the font used in hover labels. +type StreamtubeHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// StreamtubeHoverlabel +type StreamtubeHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align StreamtubeHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *StreamtubeHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// StreamtubeLegendgrouptitleFont Sets this legend group's title font. +type StreamtubeLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// StreamtubeLegendgrouptitle +type StreamtubeLegendgrouptitle struct { + + // Font + // role: Object + Font *StreamtubeLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// StreamtubeLighting +type StreamtubeLighting struct { + + // Ambient + // arrayOK: false + // type: number + // Ambient light increases overall color visibility but can wash out the image. + Ambient float64 `json:"ambient,omitempty"` + + // Diffuse + // arrayOK: false + // type: number + // Represents the extent that incident rays are reflected in a range of angles. + Diffuse float64 `json:"diffuse,omitempty"` + + // Facenormalsepsilon + // arrayOK: false + // type: number + // Epsilon for face normals calculation avoids math issues arising from degenerate geometry. + Facenormalsepsilon float64 `json:"facenormalsepsilon,omitempty"` + + // Fresnel + // arrayOK: false + // type: number + // 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. + Fresnel float64 `json:"fresnel,omitempty"` + + // Roughness + // arrayOK: false + // type: number + // Alters specular reflection; the rougher the surface, the wider and less contrasty the shine. + Roughness float64 `json:"roughness,omitempty"` + + // Specular + // arrayOK: false + // type: number + // Represents the level that incident rays are reflected in a single direction, causing shine. + Specular float64 `json:"specular,omitempty"` + + // Vertexnormalsepsilon + // arrayOK: false + // type: number + // Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry. + Vertexnormalsepsilon float64 `json:"vertexnormalsepsilon,omitempty"` +} + +// StreamtubeLightposition +type StreamtubeLightposition struct { + + // X + // arrayOK: false + // type: number + // Numeric vector, representing the X coordinate for each vertex. + X float64 `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: number + // Numeric vector, representing the Y coordinate for each vertex. + Y float64 `json:"y,omitempty"` + + // Z + // arrayOK: false + // type: number + // Numeric vector, representing the Z coordinate for each vertex. + Z float64 `json:"z,omitempty"` +} + +// StreamtubeStarts +type StreamtubeStarts struct { + + // X + // arrayOK: false + // type: data_array + // Sets the x components of the starting position of the streamtubes + X interface{} `json:"x,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the y components of the starting position of the streamtubes + Y interface{} `json:"y,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` + + // Z + // arrayOK: false + // type: data_array + // Sets the z components of the starting position of the streamtubes + Z interface{} `json:"z,omitempty"` + + // Zsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `z`. + Zsrc String `json:"zsrc,omitempty"` +} + +// StreamtubeStream +type StreamtubeStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// StreamtubeColorbarExponentformat 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. +type StreamtubeColorbarExponentformat string + +const ( + StreamtubeColorbarExponentformatNone StreamtubeColorbarExponentformat = "none" + StreamtubeColorbarExponentformatE1 StreamtubeColorbarExponentformat = "e" + StreamtubeColorbarExponentformatE2 StreamtubeColorbarExponentformat = "E" + StreamtubeColorbarExponentformatPower StreamtubeColorbarExponentformat = "power" + StreamtubeColorbarExponentformatSI StreamtubeColorbarExponentformat = "SI" + StreamtubeColorbarExponentformatB StreamtubeColorbarExponentformat = "B" +) + +// StreamtubeColorbarLenmode 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. +type StreamtubeColorbarLenmode string + +const ( + StreamtubeColorbarLenmodeFraction StreamtubeColorbarLenmode = "fraction" + StreamtubeColorbarLenmodePixels StreamtubeColorbarLenmode = "pixels" +) + +// StreamtubeColorbarOrientation Sets the orientation of the colorbar. +type StreamtubeColorbarOrientation string + +const ( + StreamtubeColorbarOrientationH StreamtubeColorbarOrientation = "h" + StreamtubeColorbarOrientationV StreamtubeColorbarOrientation = "v" +) + +// StreamtubeColorbarShowexponent 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. +type StreamtubeColorbarShowexponent string + +const ( + StreamtubeColorbarShowexponentAll StreamtubeColorbarShowexponent = "all" + StreamtubeColorbarShowexponentFirst StreamtubeColorbarShowexponent = "first" + StreamtubeColorbarShowexponentLast StreamtubeColorbarShowexponent = "last" + StreamtubeColorbarShowexponentNone StreamtubeColorbarShowexponent = "none" +) + +// StreamtubeColorbarShowtickprefix 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. +type StreamtubeColorbarShowtickprefix string + +const ( + StreamtubeColorbarShowtickprefixAll StreamtubeColorbarShowtickprefix = "all" + StreamtubeColorbarShowtickprefixFirst StreamtubeColorbarShowtickprefix = "first" + StreamtubeColorbarShowtickprefixLast StreamtubeColorbarShowtickprefix = "last" + StreamtubeColorbarShowtickprefixNone StreamtubeColorbarShowtickprefix = "none" +) + +// StreamtubeColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type StreamtubeColorbarShowticksuffix string + +const ( + StreamtubeColorbarShowticksuffixAll StreamtubeColorbarShowticksuffix = "all" + StreamtubeColorbarShowticksuffixFirst StreamtubeColorbarShowticksuffix = "first" + StreamtubeColorbarShowticksuffixLast StreamtubeColorbarShowticksuffix = "last" + StreamtubeColorbarShowticksuffixNone StreamtubeColorbarShowticksuffix = "none" +) + +// StreamtubeColorbarThicknessmode 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. +type StreamtubeColorbarThicknessmode string + +const ( + StreamtubeColorbarThicknessmodeFraction StreamtubeColorbarThicknessmode = "fraction" + StreamtubeColorbarThicknessmodePixels StreamtubeColorbarThicknessmode = "pixels" +) + +// StreamtubeColorbarTicklabeloverflow 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*. +type StreamtubeColorbarTicklabeloverflow string + +const ( + StreamtubeColorbarTicklabeloverflowAllow StreamtubeColorbarTicklabeloverflow = "allow" + StreamtubeColorbarTicklabeloverflowHidePastDiv StreamtubeColorbarTicklabeloverflow = "hide past div" + StreamtubeColorbarTicklabeloverflowHidePastDomain StreamtubeColorbarTicklabeloverflow = "hide past domain" +) + +// StreamtubeColorbarTicklabelposition 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*. +type StreamtubeColorbarTicklabelposition string + +const ( + StreamtubeColorbarTicklabelpositionOutside StreamtubeColorbarTicklabelposition = "outside" + StreamtubeColorbarTicklabelpositionInside StreamtubeColorbarTicklabelposition = "inside" + StreamtubeColorbarTicklabelpositionOutsideTop StreamtubeColorbarTicklabelposition = "outside top" + StreamtubeColorbarTicklabelpositionInsideTop StreamtubeColorbarTicklabelposition = "inside top" + StreamtubeColorbarTicklabelpositionOutsideLeft StreamtubeColorbarTicklabelposition = "outside left" + StreamtubeColorbarTicklabelpositionInsideLeft StreamtubeColorbarTicklabelposition = "inside left" + StreamtubeColorbarTicklabelpositionOutsideRight StreamtubeColorbarTicklabelposition = "outside right" + StreamtubeColorbarTicklabelpositionInsideRight StreamtubeColorbarTicklabelposition = "inside right" + StreamtubeColorbarTicklabelpositionOutsideBottom StreamtubeColorbarTicklabelposition = "outside bottom" + StreamtubeColorbarTicklabelpositionInsideBottom StreamtubeColorbarTicklabelposition = "inside bottom" +) + +// StreamtubeColorbarTickmode 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). +type StreamtubeColorbarTickmode string + +const ( + StreamtubeColorbarTickmodeAuto StreamtubeColorbarTickmode = "auto" + StreamtubeColorbarTickmodeLinear StreamtubeColorbarTickmode = "linear" + StreamtubeColorbarTickmodeArray StreamtubeColorbarTickmode = "array" +) + +// StreamtubeColorbarTicks 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. +type StreamtubeColorbarTicks string + +const ( + StreamtubeColorbarTicksOutside StreamtubeColorbarTicks = "outside" + StreamtubeColorbarTicksInside StreamtubeColorbarTicks = "inside" + StreamtubeColorbarTicksEmpty StreamtubeColorbarTicks = "" +) + +// StreamtubeColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type StreamtubeColorbarTitleSide string + +const ( + StreamtubeColorbarTitleSideRight StreamtubeColorbarTitleSide = "right" + StreamtubeColorbarTitleSideTop StreamtubeColorbarTitleSide = "top" + StreamtubeColorbarTitleSideBottom StreamtubeColorbarTitleSide = "bottom" +) + +// StreamtubeColorbarXanchor 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*. +type StreamtubeColorbarXanchor string + +const ( + StreamtubeColorbarXanchorLeft StreamtubeColorbarXanchor = "left" + StreamtubeColorbarXanchorCenter StreamtubeColorbarXanchor = "center" + StreamtubeColorbarXanchorRight StreamtubeColorbarXanchor = "right" +) + +// StreamtubeColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type StreamtubeColorbarXref string + +const ( + StreamtubeColorbarXrefContainer StreamtubeColorbarXref = "container" + StreamtubeColorbarXrefPaper StreamtubeColorbarXref = "paper" +) + +// StreamtubeColorbarYanchor 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*. +type StreamtubeColorbarYanchor string + +const ( + StreamtubeColorbarYanchorTop StreamtubeColorbarYanchor = "top" + StreamtubeColorbarYanchorMiddle StreamtubeColorbarYanchor = "middle" + StreamtubeColorbarYanchorBottom StreamtubeColorbarYanchor = "bottom" +) + +// StreamtubeColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type StreamtubeColorbarYref string + +const ( + StreamtubeColorbarYrefContainer StreamtubeColorbarYref = "container" + StreamtubeColorbarYrefPaper StreamtubeColorbarYref = "paper" +) + +// StreamtubeHoverlabelAlign 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 +type StreamtubeHoverlabelAlign string + +const ( + StreamtubeHoverlabelAlignLeft StreamtubeHoverlabelAlign = "left" + StreamtubeHoverlabelAlignRight StreamtubeHoverlabelAlign = "right" + StreamtubeHoverlabelAlignAuto StreamtubeHoverlabelAlign = "auto" +) + +// StreamtubeVisible 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). +type StreamtubeVisible interface{} + +var ( + StreamtubeVisibleTrue StreamtubeVisible = true + StreamtubeVisibleFalse StreamtubeVisible = false + StreamtubeVisibleLegendonly StreamtubeVisible = "legendonly" +) + +// StreamtubeHoverinfo 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. +type StreamtubeHoverinfo string + +const ( + // Flags + StreamtubeHoverinfoX StreamtubeHoverinfo = "x" + StreamtubeHoverinfoY StreamtubeHoverinfo = "y" + StreamtubeHoverinfoZ StreamtubeHoverinfo = "z" + StreamtubeHoverinfoU StreamtubeHoverinfo = "u" + StreamtubeHoverinfoV StreamtubeHoverinfo = "v" + StreamtubeHoverinfoW StreamtubeHoverinfo = "w" + StreamtubeHoverinfoNorm StreamtubeHoverinfo = "norm" + StreamtubeHoverinfoDivergence StreamtubeHoverinfo = "divergence" + StreamtubeHoverinfoText StreamtubeHoverinfo = "text" + StreamtubeHoverinfoName StreamtubeHoverinfo = "name" + + // Extra + StreamtubeHoverinfoAll StreamtubeHoverinfo = "all" + StreamtubeHoverinfoNone StreamtubeHoverinfo = "none" + StreamtubeHoverinfoSkip StreamtubeHoverinfo = "skip" +) diff --git a/generated/v2.29.1/graph_objects/sunburst_gen.go b/generated/v2.29.1/graph_objects/sunburst_gen.go new file mode 100644 index 0000000..5c0cbf2 --- /dev/null +++ b/generated/v2.29.1/graph_objects/sunburst_gen.go @@ -0,0 +1,1404 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeSunburst TraceType = "sunburst" + +func (trace *Sunburst) GetType() TraceType { + return TraceTypeSunburst +} + +// Sunburst 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*. +type Sunburst struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Branchvalues + // default: remainder + // type: enumerated + // 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. + Branchvalues SunburstBranchvalues `json:"branchvalues,omitempty"` + + // Count + // default: leaves + // type: flaglist + // Determines default for `values` when it is not provided, by inferring a 1 for each of the *leaves* and/or *branches*, otherwise 0. + Count SunburstCount `json:"count,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Domain + // role: Object + Domain *SunburstDomain `json:"domain,omitempty"` + + // Hoverinfo + // default: label+text+value+name + // type: flaglist + // 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. + Hoverinfo SunburstHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *SunburstHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Finally, the template string has access to variables `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry` and `percentParent`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Insidetextfont + // role: Object + Insidetextfont *SunburstInsidetextfont `json:"insidetextfont,omitempty"` + + // Insidetextorientation + // default: auto + // type: enumerated + // 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. + Insidetextorientation SunburstInsidetextorientation `json:"insidetextorientation,omitempty"` + + // Labels + // arrayOK: false + // type: data_array + // Sets the labels of each of the sectors. + Labels interface{} `json:"labels,omitempty"` + + // Labelssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `labels`. + Labelssrc String `json:"labelssrc,omitempty"` + + // Leaf + // role: Object + Leaf *SunburstLeaf `json:"leaf,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *SunburstLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Level + // arrayOK: false + // type: any + // 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`. + Level interface{} `json:"level,omitempty"` + + // Marker + // role: Object + Marker *SunburstMarker `json:"marker,omitempty"` + + // Maxdepth + // arrayOK: false + // type: integer + // Sets the number of rendered sectors from any given `level`. Set `maxdepth` to *-1* to render all the levels in the hierarchy. + Maxdepth int64 `json:"maxdepth,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Outsidetextfont + // role: Object + Outsidetextfont *SunburstOutsidetextfont `json:"outsidetextfont,omitempty"` + + // Parents + // arrayOK: false + // 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. + Parents interface{} `json:"parents,omitempty"` + + // Parentssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `parents`. + Parentssrc String `json:"parentssrc,omitempty"` + + // Root + // role: Object + Root *SunburstRoot `json:"root,omitempty"` + + // Rotation + // arrayOK: false + // type: angle + // Rotates the whole diagram counterclockwise by some angle. By default the first slice starts at 3 o'clock. + Rotation float64 `json:"rotation,omitempty"` + + // Sort + // arrayOK: false + // type: boolean + // Determines whether or not the sectors are reordered from largest to smallest. + Sort Bool `json:"sort,omitempty"` + + // Stream + // role: Object + Stream *SunburstStream `json:"stream,omitempty"` + + // Text + // arrayOK: false + // 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. + Text interface{} `json:"text,omitempty"` + + // Textfont + // role: Object + Textfont *SunburstTextfont `json:"textfont,omitempty"` + + // Textinfo + // default: %!s() + // type: flaglist + // Determines which trace information appear on the graph. + Textinfo SunburstTextinfo `json:"textinfo,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: true + // 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 `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry`, `percentParent`, `label` and `value`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Texttemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `texttemplate`. + Texttemplatesrc String `json:"texttemplatesrc,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Values + // arrayOK: false + // type: data_array + // Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed. + Values interface{} `json:"values,omitempty"` + + // Valuessrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `values`. + Valuessrc String `json:"valuessrc,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible SunburstVisible `json:"visible,omitempty"` +} + +// SunburstDomain +type SunburstDomain struct { + + // Column + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this column in the grid for this sunburst trace . + Column int64 `json:"column,omitempty"` + + // Row + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this row in the grid for this sunburst trace . + Row int64 `json:"row,omitempty"` + + // X + // arrayOK: false + // type: info_array + // Sets the horizontal domain of this sunburst trace (in plot fraction). + X interface{} `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: info_array + // Sets the vertical domain of this sunburst trace (in plot fraction). + Y interface{} `json:"y,omitempty"` +} + +// SunburstHoverlabelFont Sets the font used in hover labels. +type SunburstHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// SunburstHoverlabel +type SunburstHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align SunburstHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *SunburstHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// SunburstInsidetextfont Sets the font used for `textinfo` lying inside the sector. +type SunburstInsidetextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// SunburstLeaf +type SunburstLeaf struct { + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the leaves. With colorscale it is defaulted to 1; otherwise it is defaulted to 0.7 + Opacity float64 `json:"opacity,omitempty"` +} + +// SunburstLegendgrouptitleFont Sets this legend group's title font. +type SunburstLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// SunburstLegendgrouptitle +type SunburstLegendgrouptitle struct { + + // Font + // role: Object + Font *SunburstLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// SunburstMarkerColorbarTickfont Sets the color bar's tick label font +type SunburstMarkerColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// SunburstMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type SunburstMarkerColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// SunburstMarkerColorbarTitle +type SunburstMarkerColorbarTitle struct { + + // Font + // role: Object + Font *SunburstMarkerColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side SunburstMarkerColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// SunburstMarkerColorbar +type SunburstMarkerColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat SunburstMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode SunburstMarkerColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation SunburstMarkerColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent SunburstMarkerColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix SunburstMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix SunburstMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode SunburstMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *SunburstMarkerColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow SunburstMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition SunburstMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode SunburstMarkerColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks SunburstMarkerColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *SunburstMarkerColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor SunburstMarkerColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref SunburstMarkerColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor SunburstMarkerColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref SunburstMarkerColorbarYref `json:"yref,omitempty"` +} + +// SunburstMarkerLine +type SunburstMarkerLine struct { + + // Color + // arrayOK: true + // type: color + // Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the line enclosing each sector. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// SunburstMarkerPattern Sets the pattern within the marker. +type SunburstMarkerPattern struct { + + // Bgcolor + // arrayOK: true + // type: color + // 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. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Fgcolor + // arrayOK: true + // type: color + // 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`. + Fgcolor Color `json:"fgcolor,omitempty"` + + // Fgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `fgcolor`. + Fgcolorsrc String `json:"fgcolorsrc,omitempty"` + + // Fgopacity + // arrayOK: false + // type: number + // Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1. + Fgopacity float64 `json:"fgopacity,omitempty"` + + // Fillmode + // default: replace + // type: enumerated + // Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. + Fillmode SunburstMarkerPatternFillmode `json:"fillmode,omitempty"` + + // Shape + // default: + // type: enumerated + // Sets the shape of the pattern fill. By default, no pattern is used for filling the area. + Shape SunburstMarkerPatternShape `json:"shape,omitempty"` + + // Shapesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `shape`. + Shapesrc String `json:"shapesrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Solidity + // arrayOK: true + // type: number + // 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. + Solidity float64 `json:"solidity,omitempty"` + + // Soliditysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `solidity`. + Soliditysrc String `json:"soliditysrc,omitempty"` +} + +// SunburstMarker +type SunburstMarker struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *SunburstMarkerColorbar `json:"colorbar,omitempty"` + + // Colors + // arrayOK: false + // 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. + Colors interface{} `json:"colors,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `colors`. + Colorssrc String `json:"colorssrc,omitempty"` + + // Line + // role: Object + Line *SunburstMarkerLine `json:"line,omitempty"` + + // Pattern + // role: Object + Pattern *SunburstMarkerPattern `json:"pattern,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` +} + +// SunburstOutsidetextfont 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. +type SunburstOutsidetextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// SunburstRoot +type SunburstRoot struct { + + // Color + // arrayOK: false + // type: color + // 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. + Color Color `json:"color,omitempty"` +} + +// SunburstStream +type SunburstStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// SunburstTextfont Sets the font used for `textinfo`. +type SunburstTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// SunburstBranchvalues 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. +type SunburstBranchvalues string + +const ( + SunburstBranchvaluesRemainder SunburstBranchvalues = "remainder" + SunburstBranchvaluesTotal SunburstBranchvalues = "total" +) + +// SunburstHoverlabelAlign 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 +type SunburstHoverlabelAlign string + +const ( + SunburstHoverlabelAlignLeft SunburstHoverlabelAlign = "left" + SunburstHoverlabelAlignRight SunburstHoverlabelAlign = "right" + SunburstHoverlabelAlignAuto SunburstHoverlabelAlign = "auto" +) + +// SunburstInsidetextorientation 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. +type SunburstInsidetextorientation string + +const ( + SunburstInsidetextorientationHorizontal SunburstInsidetextorientation = "horizontal" + SunburstInsidetextorientationRadial SunburstInsidetextorientation = "radial" + SunburstInsidetextorientationTangential SunburstInsidetextorientation = "tangential" + SunburstInsidetextorientationAuto SunburstInsidetextorientation = "auto" +) + +// SunburstMarkerColorbarExponentformat 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. +type SunburstMarkerColorbarExponentformat string + +const ( + SunburstMarkerColorbarExponentformatNone SunburstMarkerColorbarExponentformat = "none" + SunburstMarkerColorbarExponentformatE1 SunburstMarkerColorbarExponentformat = "e" + SunburstMarkerColorbarExponentformatE2 SunburstMarkerColorbarExponentformat = "E" + SunburstMarkerColorbarExponentformatPower SunburstMarkerColorbarExponentformat = "power" + SunburstMarkerColorbarExponentformatSI SunburstMarkerColorbarExponentformat = "SI" + SunburstMarkerColorbarExponentformatB SunburstMarkerColorbarExponentformat = "B" +) + +// SunburstMarkerColorbarLenmode 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. +type SunburstMarkerColorbarLenmode string + +const ( + SunburstMarkerColorbarLenmodeFraction SunburstMarkerColorbarLenmode = "fraction" + SunburstMarkerColorbarLenmodePixels SunburstMarkerColorbarLenmode = "pixels" +) + +// SunburstMarkerColorbarOrientation Sets the orientation of the colorbar. +type SunburstMarkerColorbarOrientation string + +const ( + SunburstMarkerColorbarOrientationH SunburstMarkerColorbarOrientation = "h" + SunburstMarkerColorbarOrientationV SunburstMarkerColorbarOrientation = "v" +) + +// SunburstMarkerColorbarShowexponent 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. +type SunburstMarkerColorbarShowexponent string + +const ( + SunburstMarkerColorbarShowexponentAll SunburstMarkerColorbarShowexponent = "all" + SunburstMarkerColorbarShowexponentFirst SunburstMarkerColorbarShowexponent = "first" + SunburstMarkerColorbarShowexponentLast SunburstMarkerColorbarShowexponent = "last" + SunburstMarkerColorbarShowexponentNone SunburstMarkerColorbarShowexponent = "none" +) + +// SunburstMarkerColorbarShowtickprefix 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. +type SunburstMarkerColorbarShowtickprefix string + +const ( + SunburstMarkerColorbarShowtickprefixAll SunburstMarkerColorbarShowtickprefix = "all" + SunburstMarkerColorbarShowtickprefixFirst SunburstMarkerColorbarShowtickprefix = "first" + SunburstMarkerColorbarShowtickprefixLast SunburstMarkerColorbarShowtickprefix = "last" + SunburstMarkerColorbarShowtickprefixNone SunburstMarkerColorbarShowtickprefix = "none" +) + +// SunburstMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type SunburstMarkerColorbarShowticksuffix string + +const ( + SunburstMarkerColorbarShowticksuffixAll SunburstMarkerColorbarShowticksuffix = "all" + SunburstMarkerColorbarShowticksuffixFirst SunburstMarkerColorbarShowticksuffix = "first" + SunburstMarkerColorbarShowticksuffixLast SunburstMarkerColorbarShowticksuffix = "last" + SunburstMarkerColorbarShowticksuffixNone SunburstMarkerColorbarShowticksuffix = "none" +) + +// SunburstMarkerColorbarThicknessmode 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. +type SunburstMarkerColorbarThicknessmode string + +const ( + SunburstMarkerColorbarThicknessmodeFraction SunburstMarkerColorbarThicknessmode = "fraction" + SunburstMarkerColorbarThicknessmodePixels SunburstMarkerColorbarThicknessmode = "pixels" +) + +// SunburstMarkerColorbarTicklabeloverflow 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*. +type SunburstMarkerColorbarTicklabeloverflow string + +const ( + SunburstMarkerColorbarTicklabeloverflowAllow SunburstMarkerColorbarTicklabeloverflow = "allow" + SunburstMarkerColorbarTicklabeloverflowHidePastDiv SunburstMarkerColorbarTicklabeloverflow = "hide past div" + SunburstMarkerColorbarTicklabeloverflowHidePastDomain SunburstMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// SunburstMarkerColorbarTicklabelposition 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*. +type SunburstMarkerColorbarTicklabelposition string + +const ( + SunburstMarkerColorbarTicklabelpositionOutside SunburstMarkerColorbarTicklabelposition = "outside" + SunburstMarkerColorbarTicklabelpositionInside SunburstMarkerColorbarTicklabelposition = "inside" + SunburstMarkerColorbarTicklabelpositionOutsideTop SunburstMarkerColorbarTicklabelposition = "outside top" + SunburstMarkerColorbarTicklabelpositionInsideTop SunburstMarkerColorbarTicklabelposition = "inside top" + SunburstMarkerColorbarTicklabelpositionOutsideLeft SunburstMarkerColorbarTicklabelposition = "outside left" + SunburstMarkerColorbarTicklabelpositionInsideLeft SunburstMarkerColorbarTicklabelposition = "inside left" + SunburstMarkerColorbarTicklabelpositionOutsideRight SunburstMarkerColorbarTicklabelposition = "outside right" + SunburstMarkerColorbarTicklabelpositionInsideRight SunburstMarkerColorbarTicklabelposition = "inside right" + SunburstMarkerColorbarTicklabelpositionOutsideBottom SunburstMarkerColorbarTicklabelposition = "outside bottom" + SunburstMarkerColorbarTicklabelpositionInsideBottom SunburstMarkerColorbarTicklabelposition = "inside bottom" +) + +// SunburstMarkerColorbarTickmode 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). +type SunburstMarkerColorbarTickmode string + +const ( + SunburstMarkerColorbarTickmodeAuto SunburstMarkerColorbarTickmode = "auto" + SunburstMarkerColorbarTickmodeLinear SunburstMarkerColorbarTickmode = "linear" + SunburstMarkerColorbarTickmodeArray SunburstMarkerColorbarTickmode = "array" +) + +// SunburstMarkerColorbarTicks 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. +type SunburstMarkerColorbarTicks string + +const ( + SunburstMarkerColorbarTicksOutside SunburstMarkerColorbarTicks = "outside" + SunburstMarkerColorbarTicksInside SunburstMarkerColorbarTicks = "inside" + SunburstMarkerColorbarTicksEmpty SunburstMarkerColorbarTicks = "" +) + +// SunburstMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type SunburstMarkerColorbarTitleSide string + +const ( + SunburstMarkerColorbarTitleSideRight SunburstMarkerColorbarTitleSide = "right" + SunburstMarkerColorbarTitleSideTop SunburstMarkerColorbarTitleSide = "top" + SunburstMarkerColorbarTitleSideBottom SunburstMarkerColorbarTitleSide = "bottom" +) + +// SunburstMarkerColorbarXanchor 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*. +type SunburstMarkerColorbarXanchor string + +const ( + SunburstMarkerColorbarXanchorLeft SunburstMarkerColorbarXanchor = "left" + SunburstMarkerColorbarXanchorCenter SunburstMarkerColorbarXanchor = "center" + SunburstMarkerColorbarXanchorRight SunburstMarkerColorbarXanchor = "right" +) + +// SunburstMarkerColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type SunburstMarkerColorbarXref string + +const ( + SunburstMarkerColorbarXrefContainer SunburstMarkerColorbarXref = "container" + SunburstMarkerColorbarXrefPaper SunburstMarkerColorbarXref = "paper" +) + +// SunburstMarkerColorbarYanchor 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*. +type SunburstMarkerColorbarYanchor string + +const ( + SunburstMarkerColorbarYanchorTop SunburstMarkerColorbarYanchor = "top" + SunburstMarkerColorbarYanchorMiddle SunburstMarkerColorbarYanchor = "middle" + SunburstMarkerColorbarYanchorBottom SunburstMarkerColorbarYanchor = "bottom" +) + +// SunburstMarkerColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type SunburstMarkerColorbarYref string + +const ( + SunburstMarkerColorbarYrefContainer SunburstMarkerColorbarYref = "container" + SunburstMarkerColorbarYrefPaper SunburstMarkerColorbarYref = "paper" +) + +// SunburstMarkerPatternFillmode Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. +type SunburstMarkerPatternFillmode string + +const ( + SunburstMarkerPatternFillmodeReplace SunburstMarkerPatternFillmode = "replace" + SunburstMarkerPatternFillmodeOverlay SunburstMarkerPatternFillmode = "overlay" +) + +// SunburstMarkerPatternShape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. +type SunburstMarkerPatternShape string + +const ( + SunburstMarkerPatternShapeEmpty SunburstMarkerPatternShape = "" + SunburstMarkerPatternShapeSlash SunburstMarkerPatternShape = "/" + SunburstMarkerPatternShapeDoublebackslash SunburstMarkerPatternShape = "\\" + SunburstMarkerPatternShapeX SunburstMarkerPatternShape = "x" + SunburstMarkerPatternShapeHyphenHyphen SunburstMarkerPatternShape = "-" + SunburstMarkerPatternShapeOr SunburstMarkerPatternShape = "|" + SunburstMarkerPatternShapePlus SunburstMarkerPatternShape = "+" + SunburstMarkerPatternShapeDot SunburstMarkerPatternShape = "." +) + +// SunburstVisible 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). +type SunburstVisible interface{} + +var ( + SunburstVisibleTrue SunburstVisible = true + SunburstVisibleFalse SunburstVisible = false + SunburstVisibleLegendonly SunburstVisible = "legendonly" +) + +// SunburstCount Determines default for `values` when it is not provided, by inferring a 1 for each of the *leaves* and/or *branches*, otherwise 0. +type SunburstCount string + +const ( + // Flags + SunburstCountBranches SunburstCount = "branches" + SunburstCountLeaves SunburstCount = "leaves" + + // Extra + +) + +// SunburstHoverinfo 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. +type SunburstHoverinfo string + +const ( + // Flags + SunburstHoverinfoLabel SunburstHoverinfo = "label" + SunburstHoverinfoText SunburstHoverinfo = "text" + SunburstHoverinfoValue SunburstHoverinfo = "value" + SunburstHoverinfoName SunburstHoverinfo = "name" + SunburstHoverinfoCurrentPath SunburstHoverinfo = "current path" + SunburstHoverinfoPercentRoot SunburstHoverinfo = "percent root" + SunburstHoverinfoPercentEntry SunburstHoverinfo = "percent entry" + SunburstHoverinfoPercentParent SunburstHoverinfo = "percent parent" + + // Extra + SunburstHoverinfoAll SunburstHoverinfo = "all" + SunburstHoverinfoNone SunburstHoverinfo = "none" + SunburstHoverinfoSkip SunburstHoverinfo = "skip" +) + +// SunburstTextinfo Determines which trace information appear on the graph. +type SunburstTextinfo string + +const ( + // Flags + SunburstTextinfoLabel SunburstTextinfo = "label" + SunburstTextinfoText SunburstTextinfo = "text" + SunburstTextinfoValue SunburstTextinfo = "value" + SunburstTextinfoCurrentPath SunburstTextinfo = "current path" + SunburstTextinfoPercentRoot SunburstTextinfo = "percent root" + SunburstTextinfoPercentEntry SunburstTextinfo = "percent entry" + SunburstTextinfoPercentParent SunburstTextinfo = "percent parent" + + // Extra + SunburstTextinfoNone SunburstTextinfo = "none" +) diff --git a/generated/v2.29.1/graph_objects/surface_gen.go b/generated/v2.29.1/graph_objects/surface_gen.go new file mode 100644 index 0000000..cc7fd74 --- /dev/null +++ b/generated/v2.29.1/graph_objects/surface_gen.go @@ -0,0 +1,1446 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeSurface TraceType = "surface" + +func (trace *Surface) GetType() TraceType { + return TraceTypeSurface +} + +// Surface 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`. +type Surface struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Autocolorscale + // arrayOK: false + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *SurfaceColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Connectgaps + // arrayOK: false + // type: boolean + // Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data are filled in. + Connectgaps Bool `json:"connectgaps,omitempty"` + + // Contours + // role: Object + Contours *SurfaceContours `json:"contours,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Hidesurface + // arrayOK: false + // 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. + Hidesurface Bool `json:"hidesurface,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo SurfaceHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *SurfaceHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // Same as `text`. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *SurfaceLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Lighting + // role: Object + Lighting *SurfaceLighting `json:"lighting,omitempty"` + + // Lightposition + // role: Object + Lightposition *SurfaceLightposition `json:"lightposition,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // 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. + Opacity float64 `json:"opacity,omitempty"` + + // Opacityscale + // arrayOK: false + // type: any + // 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'. + Opacityscale interface{} `json:"opacityscale,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Scene + // arrayOK: false + // type: subplotid + // 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. + Scene String `json:"scene,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Showscale + // arrayOK: false + // type: boolean + // Determines whether or not a colorbar is displayed for this trace. + Showscale Bool `json:"showscale,omitempty"` + + // Stream + // role: Object + Stream *SurfaceStream `json:"stream,omitempty"` + + // Surfacecolor + // arrayOK: false + // type: data_array + // Sets the surface color values, used for setting a color scale independent of `z`. + Surfacecolor interface{} `json:"surfacecolor,omitempty"` + + // Surfacecolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `surfacecolor`. + Surfacecolorsrc String `json:"surfacecolorsrc,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible SurfaceVisible `json:"visible,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the x coordinates. + X interface{} `json:"x,omitempty"` + + // Xcalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `x` date data. + Xcalendar SurfaceXcalendar `json:"xcalendar,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the y coordinates. + Y interface{} `json:"y,omitempty"` + + // Ycalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `y` date data. + Ycalendar SurfaceYcalendar `json:"ycalendar,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` + + // Z + // arrayOK: false + // type: data_array + // Sets the z coordinates. + Z interface{} `json:"z,omitempty"` + + // Zcalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `z` date data. + Zcalendar SurfaceZcalendar `json:"zcalendar,omitempty"` + + // Zhoverformat + // arrayOK: false + // 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`. + Zhoverformat String `json:"zhoverformat,omitempty"` + + // Zsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `z`. + Zsrc String `json:"zsrc,omitempty"` +} + +// SurfaceColorbarTickfont Sets the color bar's tick label font +type SurfaceColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// SurfaceColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type SurfaceColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// SurfaceColorbarTitle +type SurfaceColorbarTitle struct { + + // Font + // role: Object + Font *SurfaceColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side SurfaceColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// SurfaceColorbar +type SurfaceColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat SurfaceColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode SurfaceColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation SurfaceColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent SurfaceColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix SurfaceColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix SurfaceColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode SurfaceColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *SurfaceColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow SurfaceColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition SurfaceColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode SurfaceColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks SurfaceColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *SurfaceColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor SurfaceColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref SurfaceColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor SurfaceColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref SurfaceColorbarYref `json:"yref,omitempty"` +} + +// SurfaceContoursXProject +type SurfaceContoursXProject struct { + + // X + // arrayOK: false + // 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. + X Bool `json:"x,omitempty"` + + // Y + // arrayOK: false + // 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. + Y Bool `json:"y,omitempty"` + + // Z + // arrayOK: false + // 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. + Z Bool `json:"z,omitempty"` +} + +// SurfaceContoursX +type SurfaceContoursX struct { + + // Color + // arrayOK: false + // type: color + // Sets the color of the contour lines. + Color Color `json:"color,omitempty"` + + // End + // arrayOK: false + // type: number + // Sets the end contour level value. Must be more than `contours.start` + End float64 `json:"end,omitempty"` + + // Highlight + // arrayOK: false + // type: boolean + // Determines whether or not contour lines about the x dimension are highlighted on hover. + Highlight Bool `json:"highlight,omitempty"` + + // Highlightcolor + // arrayOK: false + // type: color + // Sets the color of the highlighted contour lines. + Highlightcolor Color `json:"highlightcolor,omitempty"` + + // Highlightwidth + // arrayOK: false + // type: number + // Sets the width of the highlighted contour lines. + Highlightwidth float64 `json:"highlightwidth,omitempty"` + + // Project + // role: Object + Project *SurfaceContoursXProject `json:"project,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // Determines whether or not contour lines about the x dimension are drawn. + Show Bool `json:"show,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the step between each contour level. Must be positive. + Size float64 `json:"size,omitempty"` + + // Start + // arrayOK: false + // type: number + // Sets the starting contour level value. Must be less than `contours.end` + Start float64 `json:"start,omitempty"` + + // Usecolormap + // arrayOK: false + // type: boolean + // An alternate to *color*. Determines whether or not the contour lines are colored using the trace *colorscale*. + Usecolormap Bool `json:"usecolormap,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width of the contour lines. + Width float64 `json:"width,omitempty"` +} + +// SurfaceContoursYProject +type SurfaceContoursYProject struct { + + // X + // arrayOK: false + // 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. + X Bool `json:"x,omitempty"` + + // Y + // arrayOK: false + // 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. + Y Bool `json:"y,omitempty"` + + // Z + // arrayOK: false + // 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. + Z Bool `json:"z,omitempty"` +} + +// SurfaceContoursY +type SurfaceContoursY struct { + + // Color + // arrayOK: false + // type: color + // Sets the color of the contour lines. + Color Color `json:"color,omitempty"` + + // End + // arrayOK: false + // type: number + // Sets the end contour level value. Must be more than `contours.start` + End float64 `json:"end,omitempty"` + + // Highlight + // arrayOK: false + // type: boolean + // Determines whether or not contour lines about the y dimension are highlighted on hover. + Highlight Bool `json:"highlight,omitempty"` + + // Highlightcolor + // arrayOK: false + // type: color + // Sets the color of the highlighted contour lines. + Highlightcolor Color `json:"highlightcolor,omitempty"` + + // Highlightwidth + // arrayOK: false + // type: number + // Sets the width of the highlighted contour lines. + Highlightwidth float64 `json:"highlightwidth,omitempty"` + + // Project + // role: Object + Project *SurfaceContoursYProject `json:"project,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // Determines whether or not contour lines about the y dimension are drawn. + Show Bool `json:"show,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the step between each contour level. Must be positive. + Size float64 `json:"size,omitempty"` + + // Start + // arrayOK: false + // type: number + // Sets the starting contour level value. Must be less than `contours.end` + Start float64 `json:"start,omitempty"` + + // Usecolormap + // arrayOK: false + // type: boolean + // An alternate to *color*. Determines whether or not the contour lines are colored using the trace *colorscale*. + Usecolormap Bool `json:"usecolormap,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width of the contour lines. + Width float64 `json:"width,omitempty"` +} + +// SurfaceContoursZProject +type SurfaceContoursZProject struct { + + // X + // arrayOK: false + // 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. + X Bool `json:"x,omitempty"` + + // Y + // arrayOK: false + // 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. + Y Bool `json:"y,omitempty"` + + // Z + // arrayOK: false + // 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. + Z Bool `json:"z,omitempty"` +} + +// SurfaceContoursZ +type SurfaceContoursZ struct { + + // Color + // arrayOK: false + // type: color + // Sets the color of the contour lines. + Color Color `json:"color,omitempty"` + + // End + // arrayOK: false + // type: number + // Sets the end contour level value. Must be more than `contours.start` + End float64 `json:"end,omitempty"` + + // Highlight + // arrayOK: false + // type: boolean + // Determines whether or not contour lines about the z dimension are highlighted on hover. + Highlight Bool `json:"highlight,omitempty"` + + // Highlightcolor + // arrayOK: false + // type: color + // Sets the color of the highlighted contour lines. + Highlightcolor Color `json:"highlightcolor,omitempty"` + + // Highlightwidth + // arrayOK: false + // type: number + // Sets the width of the highlighted contour lines. + Highlightwidth float64 `json:"highlightwidth,omitempty"` + + // Project + // role: Object + Project *SurfaceContoursZProject `json:"project,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // Determines whether or not contour lines about the z dimension are drawn. + Show Bool `json:"show,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the step between each contour level. Must be positive. + Size float64 `json:"size,omitempty"` + + // Start + // arrayOK: false + // type: number + // Sets the starting contour level value. Must be less than `contours.end` + Start float64 `json:"start,omitempty"` + + // Usecolormap + // arrayOK: false + // type: boolean + // An alternate to *color*. Determines whether or not the contour lines are colored using the trace *colorscale*. + Usecolormap Bool `json:"usecolormap,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width of the contour lines. + Width float64 `json:"width,omitempty"` +} + +// SurfaceContours +type SurfaceContours struct { + + // X + // role: Object + X *SurfaceContoursX `json:"x,omitempty"` + + // Y + // role: Object + Y *SurfaceContoursY `json:"y,omitempty"` + + // Z + // role: Object + Z *SurfaceContoursZ `json:"z,omitempty"` +} + +// SurfaceHoverlabelFont Sets the font used in hover labels. +type SurfaceHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// SurfaceHoverlabel +type SurfaceHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align SurfaceHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *SurfaceHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// SurfaceLegendgrouptitleFont Sets this legend group's title font. +type SurfaceLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// SurfaceLegendgrouptitle +type SurfaceLegendgrouptitle struct { + + // Font + // role: Object + Font *SurfaceLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// SurfaceLighting +type SurfaceLighting struct { + + // Ambient + // arrayOK: false + // type: number + // Ambient light increases overall color visibility but can wash out the image. + Ambient float64 `json:"ambient,omitempty"` + + // Diffuse + // arrayOK: false + // type: number + // Represents the extent that incident rays are reflected in a range of angles. + Diffuse float64 `json:"diffuse,omitempty"` + + // Fresnel + // arrayOK: false + // type: number + // 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. + Fresnel float64 `json:"fresnel,omitempty"` + + // Roughness + // arrayOK: false + // type: number + // Alters specular reflection; the rougher the surface, the wider and less contrasty the shine. + Roughness float64 `json:"roughness,omitempty"` + + // Specular + // arrayOK: false + // type: number + // Represents the level that incident rays are reflected in a single direction, causing shine. + Specular float64 `json:"specular,omitempty"` +} + +// SurfaceLightposition +type SurfaceLightposition struct { + + // X + // arrayOK: false + // type: number + // Numeric vector, representing the X coordinate for each vertex. + X float64 `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: number + // Numeric vector, representing the Y coordinate for each vertex. + Y float64 `json:"y,omitempty"` + + // Z + // arrayOK: false + // type: number + // Numeric vector, representing the Z coordinate for each vertex. + Z float64 `json:"z,omitempty"` +} + +// SurfaceStream +type SurfaceStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// SurfaceColorbarExponentformat 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. +type SurfaceColorbarExponentformat string + +const ( + SurfaceColorbarExponentformatNone SurfaceColorbarExponentformat = "none" + SurfaceColorbarExponentformatE1 SurfaceColorbarExponentformat = "e" + SurfaceColorbarExponentformatE2 SurfaceColorbarExponentformat = "E" + SurfaceColorbarExponentformatPower SurfaceColorbarExponentformat = "power" + SurfaceColorbarExponentformatSI SurfaceColorbarExponentformat = "SI" + SurfaceColorbarExponentformatB SurfaceColorbarExponentformat = "B" +) + +// SurfaceColorbarLenmode 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. +type SurfaceColorbarLenmode string + +const ( + SurfaceColorbarLenmodeFraction SurfaceColorbarLenmode = "fraction" + SurfaceColorbarLenmodePixels SurfaceColorbarLenmode = "pixels" +) + +// SurfaceColorbarOrientation Sets the orientation of the colorbar. +type SurfaceColorbarOrientation string + +const ( + SurfaceColorbarOrientationH SurfaceColorbarOrientation = "h" + SurfaceColorbarOrientationV SurfaceColorbarOrientation = "v" +) + +// SurfaceColorbarShowexponent 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. +type SurfaceColorbarShowexponent string + +const ( + SurfaceColorbarShowexponentAll SurfaceColorbarShowexponent = "all" + SurfaceColorbarShowexponentFirst SurfaceColorbarShowexponent = "first" + SurfaceColorbarShowexponentLast SurfaceColorbarShowexponent = "last" + SurfaceColorbarShowexponentNone SurfaceColorbarShowexponent = "none" +) + +// SurfaceColorbarShowtickprefix 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. +type SurfaceColorbarShowtickprefix string + +const ( + SurfaceColorbarShowtickprefixAll SurfaceColorbarShowtickprefix = "all" + SurfaceColorbarShowtickprefixFirst SurfaceColorbarShowtickprefix = "first" + SurfaceColorbarShowtickprefixLast SurfaceColorbarShowtickprefix = "last" + SurfaceColorbarShowtickprefixNone SurfaceColorbarShowtickprefix = "none" +) + +// SurfaceColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type SurfaceColorbarShowticksuffix string + +const ( + SurfaceColorbarShowticksuffixAll SurfaceColorbarShowticksuffix = "all" + SurfaceColorbarShowticksuffixFirst SurfaceColorbarShowticksuffix = "first" + SurfaceColorbarShowticksuffixLast SurfaceColorbarShowticksuffix = "last" + SurfaceColorbarShowticksuffixNone SurfaceColorbarShowticksuffix = "none" +) + +// SurfaceColorbarThicknessmode 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. +type SurfaceColorbarThicknessmode string + +const ( + SurfaceColorbarThicknessmodeFraction SurfaceColorbarThicknessmode = "fraction" + SurfaceColorbarThicknessmodePixels SurfaceColorbarThicknessmode = "pixels" +) + +// SurfaceColorbarTicklabeloverflow 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*. +type SurfaceColorbarTicklabeloverflow string + +const ( + SurfaceColorbarTicklabeloverflowAllow SurfaceColorbarTicklabeloverflow = "allow" + SurfaceColorbarTicklabeloverflowHidePastDiv SurfaceColorbarTicklabeloverflow = "hide past div" + SurfaceColorbarTicklabeloverflowHidePastDomain SurfaceColorbarTicklabeloverflow = "hide past domain" +) + +// SurfaceColorbarTicklabelposition 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*. +type SurfaceColorbarTicklabelposition string + +const ( + SurfaceColorbarTicklabelpositionOutside SurfaceColorbarTicklabelposition = "outside" + SurfaceColorbarTicklabelpositionInside SurfaceColorbarTicklabelposition = "inside" + SurfaceColorbarTicklabelpositionOutsideTop SurfaceColorbarTicklabelposition = "outside top" + SurfaceColorbarTicklabelpositionInsideTop SurfaceColorbarTicklabelposition = "inside top" + SurfaceColorbarTicklabelpositionOutsideLeft SurfaceColorbarTicklabelposition = "outside left" + SurfaceColorbarTicklabelpositionInsideLeft SurfaceColorbarTicklabelposition = "inside left" + SurfaceColorbarTicklabelpositionOutsideRight SurfaceColorbarTicklabelposition = "outside right" + SurfaceColorbarTicklabelpositionInsideRight SurfaceColorbarTicklabelposition = "inside right" + SurfaceColorbarTicklabelpositionOutsideBottom SurfaceColorbarTicklabelposition = "outside bottom" + SurfaceColorbarTicklabelpositionInsideBottom SurfaceColorbarTicklabelposition = "inside bottom" +) + +// SurfaceColorbarTickmode 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). +type SurfaceColorbarTickmode string + +const ( + SurfaceColorbarTickmodeAuto SurfaceColorbarTickmode = "auto" + SurfaceColorbarTickmodeLinear SurfaceColorbarTickmode = "linear" + SurfaceColorbarTickmodeArray SurfaceColorbarTickmode = "array" +) + +// SurfaceColorbarTicks 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. +type SurfaceColorbarTicks string + +const ( + SurfaceColorbarTicksOutside SurfaceColorbarTicks = "outside" + SurfaceColorbarTicksInside SurfaceColorbarTicks = "inside" + SurfaceColorbarTicksEmpty SurfaceColorbarTicks = "" +) + +// SurfaceColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type SurfaceColorbarTitleSide string + +const ( + SurfaceColorbarTitleSideRight SurfaceColorbarTitleSide = "right" + SurfaceColorbarTitleSideTop SurfaceColorbarTitleSide = "top" + SurfaceColorbarTitleSideBottom SurfaceColorbarTitleSide = "bottom" +) + +// SurfaceColorbarXanchor 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*. +type SurfaceColorbarXanchor string + +const ( + SurfaceColorbarXanchorLeft SurfaceColorbarXanchor = "left" + SurfaceColorbarXanchorCenter SurfaceColorbarXanchor = "center" + SurfaceColorbarXanchorRight SurfaceColorbarXanchor = "right" +) + +// SurfaceColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type SurfaceColorbarXref string + +const ( + SurfaceColorbarXrefContainer SurfaceColorbarXref = "container" + SurfaceColorbarXrefPaper SurfaceColorbarXref = "paper" +) + +// SurfaceColorbarYanchor 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*. +type SurfaceColorbarYanchor string + +const ( + SurfaceColorbarYanchorTop SurfaceColorbarYanchor = "top" + SurfaceColorbarYanchorMiddle SurfaceColorbarYanchor = "middle" + SurfaceColorbarYanchorBottom SurfaceColorbarYanchor = "bottom" +) + +// SurfaceColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type SurfaceColorbarYref string + +const ( + SurfaceColorbarYrefContainer SurfaceColorbarYref = "container" + SurfaceColorbarYrefPaper SurfaceColorbarYref = "paper" +) + +// SurfaceHoverlabelAlign 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 +type SurfaceHoverlabelAlign string + +const ( + SurfaceHoverlabelAlignLeft SurfaceHoverlabelAlign = "left" + SurfaceHoverlabelAlignRight SurfaceHoverlabelAlign = "right" + SurfaceHoverlabelAlignAuto SurfaceHoverlabelAlign = "auto" +) + +// SurfaceVisible 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). +type SurfaceVisible interface{} + +var ( + SurfaceVisibleTrue SurfaceVisible = true + SurfaceVisibleFalse SurfaceVisible = false + SurfaceVisibleLegendonly SurfaceVisible = "legendonly" +) + +// SurfaceXcalendar Sets the calendar system to use with `x` date data. +type SurfaceXcalendar string + +const ( + SurfaceXcalendarChinese SurfaceXcalendar = "chinese" + SurfaceXcalendarCoptic SurfaceXcalendar = "coptic" + SurfaceXcalendarDiscworld SurfaceXcalendar = "discworld" + SurfaceXcalendarEthiopian SurfaceXcalendar = "ethiopian" + SurfaceXcalendarGregorian SurfaceXcalendar = "gregorian" + SurfaceXcalendarHebrew SurfaceXcalendar = "hebrew" + SurfaceXcalendarIslamic SurfaceXcalendar = "islamic" + SurfaceXcalendarJalali SurfaceXcalendar = "jalali" + SurfaceXcalendarJulian SurfaceXcalendar = "julian" + SurfaceXcalendarMayan SurfaceXcalendar = "mayan" + SurfaceXcalendarNanakshahi SurfaceXcalendar = "nanakshahi" + SurfaceXcalendarNepali SurfaceXcalendar = "nepali" + SurfaceXcalendarPersian SurfaceXcalendar = "persian" + SurfaceXcalendarTaiwan SurfaceXcalendar = "taiwan" + SurfaceXcalendarThai SurfaceXcalendar = "thai" + SurfaceXcalendarUmmalqura SurfaceXcalendar = "ummalqura" +) + +// SurfaceYcalendar Sets the calendar system to use with `y` date data. +type SurfaceYcalendar string + +const ( + SurfaceYcalendarChinese SurfaceYcalendar = "chinese" + SurfaceYcalendarCoptic SurfaceYcalendar = "coptic" + SurfaceYcalendarDiscworld SurfaceYcalendar = "discworld" + SurfaceYcalendarEthiopian SurfaceYcalendar = "ethiopian" + SurfaceYcalendarGregorian SurfaceYcalendar = "gregorian" + SurfaceYcalendarHebrew SurfaceYcalendar = "hebrew" + SurfaceYcalendarIslamic SurfaceYcalendar = "islamic" + SurfaceYcalendarJalali SurfaceYcalendar = "jalali" + SurfaceYcalendarJulian SurfaceYcalendar = "julian" + SurfaceYcalendarMayan SurfaceYcalendar = "mayan" + SurfaceYcalendarNanakshahi SurfaceYcalendar = "nanakshahi" + SurfaceYcalendarNepali SurfaceYcalendar = "nepali" + SurfaceYcalendarPersian SurfaceYcalendar = "persian" + SurfaceYcalendarTaiwan SurfaceYcalendar = "taiwan" + SurfaceYcalendarThai SurfaceYcalendar = "thai" + SurfaceYcalendarUmmalqura SurfaceYcalendar = "ummalqura" +) + +// SurfaceZcalendar Sets the calendar system to use with `z` date data. +type SurfaceZcalendar string + +const ( + SurfaceZcalendarChinese SurfaceZcalendar = "chinese" + SurfaceZcalendarCoptic SurfaceZcalendar = "coptic" + SurfaceZcalendarDiscworld SurfaceZcalendar = "discworld" + SurfaceZcalendarEthiopian SurfaceZcalendar = "ethiopian" + SurfaceZcalendarGregorian SurfaceZcalendar = "gregorian" + SurfaceZcalendarHebrew SurfaceZcalendar = "hebrew" + SurfaceZcalendarIslamic SurfaceZcalendar = "islamic" + SurfaceZcalendarJalali SurfaceZcalendar = "jalali" + SurfaceZcalendarJulian SurfaceZcalendar = "julian" + SurfaceZcalendarMayan SurfaceZcalendar = "mayan" + SurfaceZcalendarNanakshahi SurfaceZcalendar = "nanakshahi" + SurfaceZcalendarNepali SurfaceZcalendar = "nepali" + SurfaceZcalendarPersian SurfaceZcalendar = "persian" + SurfaceZcalendarTaiwan SurfaceZcalendar = "taiwan" + SurfaceZcalendarThai SurfaceZcalendar = "thai" + SurfaceZcalendarUmmalqura SurfaceZcalendar = "ummalqura" +) + +// SurfaceHoverinfo 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. +type SurfaceHoverinfo string + +const ( + // Flags + SurfaceHoverinfoX SurfaceHoverinfo = "x" + SurfaceHoverinfoY SurfaceHoverinfo = "y" + SurfaceHoverinfoZ SurfaceHoverinfo = "z" + SurfaceHoverinfoText SurfaceHoverinfo = "text" + SurfaceHoverinfoName SurfaceHoverinfo = "name" + + // Extra + SurfaceHoverinfoAll SurfaceHoverinfo = "all" + SurfaceHoverinfoNone SurfaceHoverinfo = "none" + SurfaceHoverinfoSkip SurfaceHoverinfo = "skip" +) diff --git a/generated/v2.29.1/graph_objects/table_gen.go b/generated/v2.29.1/graph_objects/table_gen.go new file mode 100644 index 0000000..e093fd9 --- /dev/null +++ b/generated/v2.29.1/graph_objects/table_gen.go @@ -0,0 +1,716 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeTable TraceType = "table" + +func (trace *Table) GetType() TraceType { + return TraceTypeTable +} + +// Table 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. +type Table struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Cells + // role: Object + Cells *TableCells `json:"cells,omitempty"` + + // Columnorder + // arrayOK: false + // 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. + Columnorder interface{} `json:"columnorder,omitempty"` + + // Columnordersrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `columnorder`. + Columnordersrc String `json:"columnordersrc,omitempty"` + + // Columnwidth + // arrayOK: true + // type: number + // The width of columns expressed as a ratio. Columns fill the available width in proportion of their specified column widths. + Columnwidth float64 `json:"columnwidth,omitempty"` + + // Columnwidthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `columnwidth`. + Columnwidthsrc String `json:"columnwidthsrc,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Domain + // role: Object + Domain *TableDomain `json:"domain,omitempty"` + + // Header + // role: Object + Header *TableHeader `json:"header,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo TableHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *TableHoverlabel `json:"hoverlabel,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *TableLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Stream + // role: Object + Stream *TableStream `json:"stream,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible TableVisible `json:"visible,omitempty"` +} + +// TableCellsFill +type TableCellsFill struct { + + // Color + // arrayOK: true + // type: color + // Sets the cell fill color. It accepts either a specific color or an array of colors or a 2D array of colors. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` +} + +// TableCellsFont +type TableCellsFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// TableCellsLine +type TableCellsLine struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Width + // arrayOK: true + // type: number + // + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// TableCells +type TableCells struct { + + // Align + // default: center + // type: enumerated + // Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more
HTML tags) or if an explicit width is set to override the text width. + Align TableCellsAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Fill + // role: Object + Fill *TableCellsFill `json:"fill,omitempty"` + + // Font + // role: Object + Font *TableCellsFont `json:"font,omitempty"` + + // Format + // arrayOK: false + // 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. + Format interface{} `json:"format,omitempty"` + + // Formatsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `format`. + Formatsrc String `json:"formatsrc,omitempty"` + + // Height + // arrayOK: false + // type: number + // The height of cells. + Height float64 `json:"height,omitempty"` + + // Line + // role: Object + Line *TableCellsLine `json:"line,omitempty"` + + // Prefix + // arrayOK: true + // type: string + // Prefix for cell values. + Prefix String `json:"prefix,omitempty"` + + // Prefixsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `prefix`. + Prefixsrc String `json:"prefixsrc,omitempty"` + + // Suffix + // arrayOK: true + // type: string + // Suffix for cell values. + Suffix String `json:"suffix,omitempty"` + + // Suffixsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `suffix`. + Suffixsrc String `json:"suffixsrc,omitempty"` + + // Values + // arrayOK: false + // 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. + Values interface{} `json:"values,omitempty"` + + // Valuessrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `values`. + Valuessrc String `json:"valuessrc,omitempty"` +} + +// TableDomain +type TableDomain struct { + + // Column + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this column in the grid for this table trace . + Column int64 `json:"column,omitempty"` + + // Row + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this row in the grid for this table trace . + Row int64 `json:"row,omitempty"` + + // X + // arrayOK: false + // type: info_array + // Sets the horizontal domain of this table trace (in plot fraction). + X interface{} `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: info_array + // Sets the vertical domain of this table trace (in plot fraction). + Y interface{} `json:"y,omitempty"` +} + +// TableHeaderFill +type TableHeaderFill struct { + + // Color + // arrayOK: true + // type: color + // Sets the cell fill color. It accepts either a specific color or an array of colors or a 2D array of colors. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` +} + +// TableHeaderFont +type TableHeaderFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// TableHeaderLine +type TableHeaderLine struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Width + // arrayOK: true + // type: number + // + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// TableHeader +type TableHeader struct { + + // Align + // default: center + // type: enumerated + // Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more
HTML tags) or if an explicit width is set to override the text width. + Align TableHeaderAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Fill + // role: Object + Fill *TableHeaderFill `json:"fill,omitempty"` + + // Font + // role: Object + Font *TableHeaderFont `json:"font,omitempty"` + + // Format + // arrayOK: false + // 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. + Format interface{} `json:"format,omitempty"` + + // Formatsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `format`. + Formatsrc String `json:"formatsrc,omitempty"` + + // Height + // arrayOK: false + // type: number + // The height of cells. + Height float64 `json:"height,omitempty"` + + // Line + // role: Object + Line *TableHeaderLine `json:"line,omitempty"` + + // Prefix + // arrayOK: true + // type: string + // Prefix for cell values. + Prefix String `json:"prefix,omitempty"` + + // Prefixsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `prefix`. + Prefixsrc String `json:"prefixsrc,omitempty"` + + // Suffix + // arrayOK: true + // type: string + // Suffix for cell values. + Suffix String `json:"suffix,omitempty"` + + // Suffixsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `suffix`. + Suffixsrc String `json:"suffixsrc,omitempty"` + + // Values + // arrayOK: false + // 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. + Values interface{} `json:"values,omitempty"` + + // Valuessrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `values`. + Valuessrc String `json:"valuessrc,omitempty"` +} + +// TableHoverlabelFont Sets the font used in hover labels. +type TableHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// TableHoverlabel +type TableHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align TableHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *TableHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// TableLegendgrouptitleFont Sets this legend group's title font. +type TableLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// TableLegendgrouptitle +type TableLegendgrouptitle struct { + + // Font + // role: Object + Font *TableLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// TableStream +type TableStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// TableCellsAlign Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more
HTML tags) or if an explicit width is set to override the text width. +type TableCellsAlign string + +const ( + TableCellsAlignLeft TableCellsAlign = "left" + TableCellsAlignCenter TableCellsAlign = "center" + TableCellsAlignRight TableCellsAlign = "right" +) + +// TableHeaderAlign Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more
HTML tags) or if an explicit width is set to override the text width. +type TableHeaderAlign string + +const ( + TableHeaderAlignLeft TableHeaderAlign = "left" + TableHeaderAlignCenter TableHeaderAlign = "center" + TableHeaderAlignRight TableHeaderAlign = "right" +) + +// TableHoverlabelAlign 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 +type TableHoverlabelAlign string + +const ( + TableHoverlabelAlignLeft TableHoverlabelAlign = "left" + TableHoverlabelAlignRight TableHoverlabelAlign = "right" + TableHoverlabelAlignAuto TableHoverlabelAlign = "auto" +) + +// TableVisible 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). +type TableVisible interface{} + +var ( + TableVisibleTrue TableVisible = true + TableVisibleFalse TableVisible = false + TableVisibleLegendonly TableVisible = "legendonly" +) + +// TableHoverinfo 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. +type TableHoverinfo string + +const ( + // Flags + TableHoverinfoX TableHoverinfo = "x" + TableHoverinfoY TableHoverinfo = "y" + TableHoverinfoZ TableHoverinfo = "z" + TableHoverinfoText TableHoverinfo = "text" + TableHoverinfoName TableHoverinfo = "name" + + // Extra + TableHoverinfoAll TableHoverinfo = "all" + TableHoverinfoNone TableHoverinfo = "none" + TableHoverinfoSkip TableHoverinfo = "skip" +) diff --git a/generated/v2.29.1/graph_objects/treemap_gen.go b/generated/v2.29.1/graph_objects/treemap_gen.go new file mode 100644 index 0000000..a460678 --- /dev/null +++ b/generated/v2.29.1/graph_objects/treemap_gen.go @@ -0,0 +1,1593 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeTreemap TraceType = "treemap" + +func (trace *Treemap) GetType() TraceType { + return TraceTypeTreemap +} + +// Treemap 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*. +type Treemap struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Branchvalues + // default: remainder + // type: enumerated + // 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. + Branchvalues TreemapBranchvalues `json:"branchvalues,omitempty"` + + // Count + // default: leaves + // type: flaglist + // Determines default for `values` when it is not provided, by inferring a 1 for each of the *leaves* and/or *branches*, otherwise 0. + Count TreemapCount `json:"count,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Domain + // role: Object + Domain *TreemapDomain `json:"domain,omitempty"` + + // Hoverinfo + // default: label+text+value+name + // type: flaglist + // 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. + Hoverinfo TreemapHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *TreemapHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Finally, the template string has access to variables `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry` and `percentParent`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Insidetextfont + // role: Object + Insidetextfont *TreemapInsidetextfont `json:"insidetextfont,omitempty"` + + // Labels + // arrayOK: false + // type: data_array + // Sets the labels of each of the sectors. + Labels interface{} `json:"labels,omitempty"` + + // Labelssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `labels`. + Labelssrc String `json:"labelssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *TreemapLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Level + // arrayOK: false + // type: any + // 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`. + Level interface{} `json:"level,omitempty"` + + // Marker + // role: Object + Marker *TreemapMarker `json:"marker,omitempty"` + + // Maxdepth + // arrayOK: false + // type: integer + // Sets the number of rendered sectors from any given `level`. Set `maxdepth` to *-1* to render all the levels in the hierarchy. + Maxdepth int64 `json:"maxdepth,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Outsidetextfont + // role: Object + Outsidetextfont *TreemapOutsidetextfont `json:"outsidetextfont,omitempty"` + + // Parents + // arrayOK: false + // 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. + Parents interface{} `json:"parents,omitempty"` + + // Parentssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `parents`. + Parentssrc String `json:"parentssrc,omitempty"` + + // Pathbar + // role: Object + Pathbar *TreemapPathbar `json:"pathbar,omitempty"` + + // Root + // role: Object + Root *TreemapRoot `json:"root,omitempty"` + + // Sort + // arrayOK: false + // type: boolean + // Determines whether or not the sectors are reordered from largest to smallest. + Sort Bool `json:"sort,omitempty"` + + // Stream + // role: Object + Stream *TreemapStream `json:"stream,omitempty"` + + // Text + // arrayOK: false + // 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. + Text interface{} `json:"text,omitempty"` + + // Textfont + // role: Object + Textfont *TreemapTextfont `json:"textfont,omitempty"` + + // Textinfo + // default: %!s() + // type: flaglist + // Determines which trace information appear on the graph. + Textinfo TreemapTextinfo `json:"textinfo,omitempty"` + + // Textposition + // default: top left + // type: enumerated + // Sets the positions of the `text` elements. + Textposition TreemapTextposition `json:"textposition,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: true + // 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 `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry`, `percentParent`, `label` and `value`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Texttemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `texttemplate`. + Texttemplatesrc String `json:"texttemplatesrc,omitempty"` + + // Tiling + // role: Object + Tiling *TreemapTiling `json:"tiling,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Values + // arrayOK: false + // type: data_array + // Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed. + Values interface{} `json:"values,omitempty"` + + // Valuessrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `values`. + Valuessrc String `json:"valuessrc,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible TreemapVisible `json:"visible,omitempty"` +} + +// TreemapDomain +type TreemapDomain struct { + + // Column + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this column in the grid for this treemap trace . + Column int64 `json:"column,omitempty"` + + // Row + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this row in the grid for this treemap trace . + Row int64 `json:"row,omitempty"` + + // X + // arrayOK: false + // type: info_array + // Sets the horizontal domain of this treemap trace (in plot fraction). + X interface{} `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: info_array + // Sets the vertical domain of this treemap trace (in plot fraction). + Y interface{} `json:"y,omitempty"` +} + +// TreemapHoverlabelFont Sets the font used in hover labels. +type TreemapHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// TreemapHoverlabel +type TreemapHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align TreemapHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *TreemapHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// TreemapInsidetextfont Sets the font used for `textinfo` lying inside the sector. +type TreemapInsidetextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// TreemapLegendgrouptitleFont Sets this legend group's title font. +type TreemapLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// TreemapLegendgrouptitle +type TreemapLegendgrouptitle struct { + + // Font + // role: Object + Font *TreemapLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// TreemapMarkerColorbarTickfont Sets the color bar's tick label font +type TreemapMarkerColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// TreemapMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type TreemapMarkerColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// TreemapMarkerColorbarTitle +type TreemapMarkerColorbarTitle struct { + + // Font + // role: Object + Font *TreemapMarkerColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side TreemapMarkerColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// TreemapMarkerColorbar +type TreemapMarkerColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat TreemapMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode TreemapMarkerColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation TreemapMarkerColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent TreemapMarkerColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix TreemapMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix TreemapMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode TreemapMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *TreemapMarkerColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow TreemapMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition TreemapMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode TreemapMarkerColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks TreemapMarkerColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *TreemapMarkerColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor TreemapMarkerColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref TreemapMarkerColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor TreemapMarkerColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref TreemapMarkerColorbarYref `json:"yref,omitempty"` +} + +// TreemapMarkerLine +type TreemapMarkerLine struct { + + // Color + // arrayOK: true + // type: color + // Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the line enclosing each sector. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// TreemapMarkerPad +type TreemapMarkerPad struct { + + // B + // arrayOK: false + // type: number + // Sets the padding form the bottom (in px). + B float64 `json:"b,omitempty"` + + // L + // arrayOK: false + // type: number + // Sets the padding form the left (in px). + L float64 `json:"l,omitempty"` + + // R + // arrayOK: false + // type: number + // Sets the padding form the right (in px). + R float64 `json:"r,omitempty"` + + // T + // arrayOK: false + // type: number + // Sets the padding form the top (in px). + T float64 `json:"t,omitempty"` +} + +// TreemapMarkerPattern Sets the pattern within the marker. +type TreemapMarkerPattern struct { + + // Bgcolor + // arrayOK: true + // type: color + // 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. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Fgcolor + // arrayOK: true + // type: color + // 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`. + Fgcolor Color `json:"fgcolor,omitempty"` + + // Fgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `fgcolor`. + Fgcolorsrc String `json:"fgcolorsrc,omitempty"` + + // Fgopacity + // arrayOK: false + // type: number + // Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1. + Fgopacity float64 `json:"fgopacity,omitempty"` + + // Fillmode + // default: replace + // type: enumerated + // Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. + Fillmode TreemapMarkerPatternFillmode `json:"fillmode,omitempty"` + + // Shape + // default: + // type: enumerated + // Sets the shape of the pattern fill. By default, no pattern is used for filling the area. + Shape TreemapMarkerPatternShape `json:"shape,omitempty"` + + // Shapesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `shape`. + Shapesrc String `json:"shapesrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Solidity + // arrayOK: true + // type: number + // 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. + Solidity float64 `json:"solidity,omitempty"` + + // Soliditysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `solidity`. + Soliditysrc String `json:"soliditysrc,omitempty"` +} + +// TreemapMarker +type TreemapMarker struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *TreemapMarkerColorbar `json:"colorbar,omitempty"` + + // Colors + // arrayOK: false + // 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. + Colors interface{} `json:"colors,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `colors`. + Colorssrc String `json:"colorssrc,omitempty"` + + // Cornerradius + // arrayOK: false + // type: number + // Sets the maximum rounding of corners (in px). + Cornerradius float64 `json:"cornerradius,omitempty"` + + // Depthfade + // default: %!s() + // type: enumerated + // 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. + Depthfade TreemapMarkerDepthfade `json:"depthfade,omitempty"` + + // Line + // role: Object + Line *TreemapMarkerLine `json:"line,omitempty"` + + // Pad + // role: Object + Pad *TreemapMarkerPad `json:"pad,omitempty"` + + // Pattern + // role: Object + Pattern *TreemapMarkerPattern `json:"pattern,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` +} + +// TreemapOutsidetextfont 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. +type TreemapOutsidetextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// TreemapPathbarTextfont Sets the font used inside `pathbar`. +type TreemapPathbarTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// TreemapPathbar +type TreemapPathbar struct { + + // Edgeshape + // default: > + // type: enumerated + // Determines which shape is used for edges between `barpath` labels. + Edgeshape TreemapPathbarEdgeshape `json:"edgeshape,omitempty"` + + // Side + // default: top + // type: enumerated + // Determines on which side of the the treemap the `pathbar` should be presented. + Side TreemapPathbarSide `json:"side,omitempty"` + + // Textfont + // role: Object + Textfont *TreemapPathbarTextfont `json:"textfont,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of `pathbar` (in px). If not specified the `pathbar.textfont.size` is used with 3 pixles extra padding on each side. + Thickness float64 `json:"thickness,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Determines if the path bar is drawn i.e. outside the trace `domain` and with one pixel gap. + Visible Bool `json:"visible,omitempty"` +} + +// TreemapRoot +type TreemapRoot struct { + + // Color + // arrayOK: false + // type: color + // 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. + Color Color `json:"color,omitempty"` +} + +// TreemapStream +type TreemapStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// TreemapTextfont Sets the font used for `textinfo`. +type TreemapTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// TreemapTiling +type TreemapTiling struct { + + // Flip + // default: + // type: flaglist + // Determines if the positions obtained from solver are flipped on each axis. + Flip TreemapTilingFlip `json:"flip,omitempty"` + + // Packing + // default: squarify + // type: enumerated + // Determines d3 treemap solver. For more info please refer to https://github.com/d3/d3-hierarchy#treemap-tiling + Packing TreemapTilingPacking `json:"packing,omitempty"` + + // Pad + // arrayOK: false + // type: number + // Sets the inner padding (in px). + Pad float64 `json:"pad,omitempty"` + + // Squarifyratio + // arrayOK: false + // type: number + // 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. + Squarifyratio float64 `json:"squarifyratio,omitempty"` +} + +// TreemapBranchvalues 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. +type TreemapBranchvalues string + +const ( + TreemapBranchvaluesRemainder TreemapBranchvalues = "remainder" + TreemapBranchvaluesTotal TreemapBranchvalues = "total" +) + +// TreemapHoverlabelAlign 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 +type TreemapHoverlabelAlign string + +const ( + TreemapHoverlabelAlignLeft TreemapHoverlabelAlign = "left" + TreemapHoverlabelAlignRight TreemapHoverlabelAlign = "right" + TreemapHoverlabelAlignAuto TreemapHoverlabelAlign = "auto" +) + +// TreemapMarkerColorbarExponentformat 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. +type TreemapMarkerColorbarExponentformat string + +const ( + TreemapMarkerColorbarExponentformatNone TreemapMarkerColorbarExponentformat = "none" + TreemapMarkerColorbarExponentformatE1 TreemapMarkerColorbarExponentformat = "e" + TreemapMarkerColorbarExponentformatE2 TreemapMarkerColorbarExponentformat = "E" + TreemapMarkerColorbarExponentformatPower TreemapMarkerColorbarExponentformat = "power" + TreemapMarkerColorbarExponentformatSI TreemapMarkerColorbarExponentformat = "SI" + TreemapMarkerColorbarExponentformatB TreemapMarkerColorbarExponentformat = "B" +) + +// TreemapMarkerColorbarLenmode 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. +type TreemapMarkerColorbarLenmode string + +const ( + TreemapMarkerColorbarLenmodeFraction TreemapMarkerColorbarLenmode = "fraction" + TreemapMarkerColorbarLenmodePixels TreemapMarkerColorbarLenmode = "pixels" +) + +// TreemapMarkerColorbarOrientation Sets the orientation of the colorbar. +type TreemapMarkerColorbarOrientation string + +const ( + TreemapMarkerColorbarOrientationH TreemapMarkerColorbarOrientation = "h" + TreemapMarkerColorbarOrientationV TreemapMarkerColorbarOrientation = "v" +) + +// TreemapMarkerColorbarShowexponent 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. +type TreemapMarkerColorbarShowexponent string + +const ( + TreemapMarkerColorbarShowexponentAll TreemapMarkerColorbarShowexponent = "all" + TreemapMarkerColorbarShowexponentFirst TreemapMarkerColorbarShowexponent = "first" + TreemapMarkerColorbarShowexponentLast TreemapMarkerColorbarShowexponent = "last" + TreemapMarkerColorbarShowexponentNone TreemapMarkerColorbarShowexponent = "none" +) + +// TreemapMarkerColorbarShowtickprefix 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. +type TreemapMarkerColorbarShowtickprefix string + +const ( + TreemapMarkerColorbarShowtickprefixAll TreemapMarkerColorbarShowtickprefix = "all" + TreemapMarkerColorbarShowtickprefixFirst TreemapMarkerColorbarShowtickprefix = "first" + TreemapMarkerColorbarShowtickprefixLast TreemapMarkerColorbarShowtickprefix = "last" + TreemapMarkerColorbarShowtickprefixNone TreemapMarkerColorbarShowtickprefix = "none" +) + +// TreemapMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type TreemapMarkerColorbarShowticksuffix string + +const ( + TreemapMarkerColorbarShowticksuffixAll TreemapMarkerColorbarShowticksuffix = "all" + TreemapMarkerColorbarShowticksuffixFirst TreemapMarkerColorbarShowticksuffix = "first" + TreemapMarkerColorbarShowticksuffixLast TreemapMarkerColorbarShowticksuffix = "last" + TreemapMarkerColorbarShowticksuffixNone TreemapMarkerColorbarShowticksuffix = "none" +) + +// TreemapMarkerColorbarThicknessmode 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. +type TreemapMarkerColorbarThicknessmode string + +const ( + TreemapMarkerColorbarThicknessmodeFraction TreemapMarkerColorbarThicknessmode = "fraction" + TreemapMarkerColorbarThicknessmodePixels TreemapMarkerColorbarThicknessmode = "pixels" +) + +// TreemapMarkerColorbarTicklabeloverflow 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*. +type TreemapMarkerColorbarTicklabeloverflow string + +const ( + TreemapMarkerColorbarTicklabeloverflowAllow TreemapMarkerColorbarTicklabeloverflow = "allow" + TreemapMarkerColorbarTicklabeloverflowHidePastDiv TreemapMarkerColorbarTicklabeloverflow = "hide past div" + TreemapMarkerColorbarTicklabeloverflowHidePastDomain TreemapMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// TreemapMarkerColorbarTicklabelposition 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*. +type TreemapMarkerColorbarTicklabelposition string + +const ( + TreemapMarkerColorbarTicklabelpositionOutside TreemapMarkerColorbarTicklabelposition = "outside" + TreemapMarkerColorbarTicklabelpositionInside TreemapMarkerColorbarTicklabelposition = "inside" + TreemapMarkerColorbarTicklabelpositionOutsideTop TreemapMarkerColorbarTicklabelposition = "outside top" + TreemapMarkerColorbarTicklabelpositionInsideTop TreemapMarkerColorbarTicklabelposition = "inside top" + TreemapMarkerColorbarTicklabelpositionOutsideLeft TreemapMarkerColorbarTicklabelposition = "outside left" + TreemapMarkerColorbarTicklabelpositionInsideLeft TreemapMarkerColorbarTicklabelposition = "inside left" + TreemapMarkerColorbarTicklabelpositionOutsideRight TreemapMarkerColorbarTicklabelposition = "outside right" + TreemapMarkerColorbarTicklabelpositionInsideRight TreemapMarkerColorbarTicklabelposition = "inside right" + TreemapMarkerColorbarTicklabelpositionOutsideBottom TreemapMarkerColorbarTicklabelposition = "outside bottom" + TreemapMarkerColorbarTicklabelpositionInsideBottom TreemapMarkerColorbarTicklabelposition = "inside bottom" +) + +// TreemapMarkerColorbarTickmode 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). +type TreemapMarkerColorbarTickmode string + +const ( + TreemapMarkerColorbarTickmodeAuto TreemapMarkerColorbarTickmode = "auto" + TreemapMarkerColorbarTickmodeLinear TreemapMarkerColorbarTickmode = "linear" + TreemapMarkerColorbarTickmodeArray TreemapMarkerColorbarTickmode = "array" +) + +// TreemapMarkerColorbarTicks 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. +type TreemapMarkerColorbarTicks string + +const ( + TreemapMarkerColorbarTicksOutside TreemapMarkerColorbarTicks = "outside" + TreemapMarkerColorbarTicksInside TreemapMarkerColorbarTicks = "inside" + TreemapMarkerColorbarTicksEmpty TreemapMarkerColorbarTicks = "" +) + +// TreemapMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type TreemapMarkerColorbarTitleSide string + +const ( + TreemapMarkerColorbarTitleSideRight TreemapMarkerColorbarTitleSide = "right" + TreemapMarkerColorbarTitleSideTop TreemapMarkerColorbarTitleSide = "top" + TreemapMarkerColorbarTitleSideBottom TreemapMarkerColorbarTitleSide = "bottom" +) + +// TreemapMarkerColorbarXanchor 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*. +type TreemapMarkerColorbarXanchor string + +const ( + TreemapMarkerColorbarXanchorLeft TreemapMarkerColorbarXanchor = "left" + TreemapMarkerColorbarXanchorCenter TreemapMarkerColorbarXanchor = "center" + TreemapMarkerColorbarXanchorRight TreemapMarkerColorbarXanchor = "right" +) + +// TreemapMarkerColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type TreemapMarkerColorbarXref string + +const ( + TreemapMarkerColorbarXrefContainer TreemapMarkerColorbarXref = "container" + TreemapMarkerColorbarXrefPaper TreemapMarkerColorbarXref = "paper" +) + +// TreemapMarkerColorbarYanchor 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*. +type TreemapMarkerColorbarYanchor string + +const ( + TreemapMarkerColorbarYanchorTop TreemapMarkerColorbarYanchor = "top" + TreemapMarkerColorbarYanchorMiddle TreemapMarkerColorbarYanchor = "middle" + TreemapMarkerColorbarYanchorBottom TreemapMarkerColorbarYanchor = "bottom" +) + +// TreemapMarkerColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type TreemapMarkerColorbarYref string + +const ( + TreemapMarkerColorbarYrefContainer TreemapMarkerColorbarYref = "container" + TreemapMarkerColorbarYrefPaper TreemapMarkerColorbarYref = "paper" +) + +// TreemapMarkerDepthfade 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. +type TreemapMarkerDepthfade interface{} + +var ( + TreemapMarkerDepthfadeTrue TreemapMarkerDepthfade = true + TreemapMarkerDepthfadeFalse TreemapMarkerDepthfade = false + TreemapMarkerDepthfadeReversed TreemapMarkerDepthfade = "reversed" +) + +// TreemapMarkerPatternFillmode Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. +type TreemapMarkerPatternFillmode string + +const ( + TreemapMarkerPatternFillmodeReplace TreemapMarkerPatternFillmode = "replace" + TreemapMarkerPatternFillmodeOverlay TreemapMarkerPatternFillmode = "overlay" +) + +// TreemapMarkerPatternShape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. +type TreemapMarkerPatternShape string + +const ( + TreemapMarkerPatternShapeEmpty TreemapMarkerPatternShape = "" + TreemapMarkerPatternShapeSlash TreemapMarkerPatternShape = "/" + TreemapMarkerPatternShapeDoublebackslash TreemapMarkerPatternShape = "\\" + TreemapMarkerPatternShapeX TreemapMarkerPatternShape = "x" + TreemapMarkerPatternShapeHyphenHyphen TreemapMarkerPatternShape = "-" + TreemapMarkerPatternShapeOr TreemapMarkerPatternShape = "|" + TreemapMarkerPatternShapePlus TreemapMarkerPatternShape = "+" + TreemapMarkerPatternShapeDot TreemapMarkerPatternShape = "." +) + +// TreemapPathbarEdgeshape Determines which shape is used for edges between `barpath` labels. +type TreemapPathbarEdgeshape string + +const ( + TreemapPathbarEdgeshapeGt TreemapPathbarEdgeshape = ">" + TreemapPathbarEdgeshapeLt TreemapPathbarEdgeshape = "<" + TreemapPathbarEdgeshapeOr TreemapPathbarEdgeshape = "|" + TreemapPathbarEdgeshapeSlash TreemapPathbarEdgeshape = "/" + TreemapPathbarEdgeshapeDoublebackslash TreemapPathbarEdgeshape = "\\" +) + +// TreemapPathbarSide Determines on which side of the the treemap the `pathbar` should be presented. +type TreemapPathbarSide string + +const ( + TreemapPathbarSideTop TreemapPathbarSide = "top" + TreemapPathbarSideBottom TreemapPathbarSide = "bottom" +) + +// TreemapTextposition Sets the positions of the `text` elements. +type TreemapTextposition string + +const ( + TreemapTextpositionTopLeft TreemapTextposition = "top left" + TreemapTextpositionTopCenter TreemapTextposition = "top center" + TreemapTextpositionTopRight TreemapTextposition = "top right" + TreemapTextpositionMiddleLeft TreemapTextposition = "middle left" + TreemapTextpositionMiddleCenter TreemapTextposition = "middle center" + TreemapTextpositionMiddleRight TreemapTextposition = "middle right" + TreemapTextpositionBottomLeft TreemapTextposition = "bottom left" + TreemapTextpositionBottomCenter TreemapTextposition = "bottom center" + TreemapTextpositionBottomRight TreemapTextposition = "bottom right" +) + +// TreemapTilingPacking Determines d3 treemap solver. For more info please refer to https://github.com/d3/d3-hierarchy#treemap-tiling +type TreemapTilingPacking string + +const ( + TreemapTilingPackingSquarify TreemapTilingPacking = "squarify" + TreemapTilingPackingBinary TreemapTilingPacking = "binary" + TreemapTilingPackingDice TreemapTilingPacking = "dice" + TreemapTilingPackingSlice TreemapTilingPacking = "slice" + TreemapTilingPackingSliceDice TreemapTilingPacking = "slice-dice" + TreemapTilingPackingDiceSlice TreemapTilingPacking = "dice-slice" +) + +// TreemapVisible 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). +type TreemapVisible interface{} + +var ( + TreemapVisibleTrue TreemapVisible = true + TreemapVisibleFalse TreemapVisible = false + TreemapVisibleLegendonly TreemapVisible = "legendonly" +) + +// TreemapCount Determines default for `values` when it is not provided, by inferring a 1 for each of the *leaves* and/or *branches*, otherwise 0. +type TreemapCount string + +const ( + // Flags + TreemapCountBranches TreemapCount = "branches" + TreemapCountLeaves TreemapCount = "leaves" + + // Extra + +) + +// TreemapHoverinfo 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. +type TreemapHoverinfo string + +const ( + // Flags + TreemapHoverinfoLabel TreemapHoverinfo = "label" + TreemapHoverinfoText TreemapHoverinfo = "text" + TreemapHoverinfoValue TreemapHoverinfo = "value" + TreemapHoverinfoName TreemapHoverinfo = "name" + TreemapHoverinfoCurrentPath TreemapHoverinfo = "current path" + TreemapHoverinfoPercentRoot TreemapHoverinfo = "percent root" + TreemapHoverinfoPercentEntry TreemapHoverinfo = "percent entry" + TreemapHoverinfoPercentParent TreemapHoverinfo = "percent parent" + + // Extra + TreemapHoverinfoAll TreemapHoverinfo = "all" + TreemapHoverinfoNone TreemapHoverinfo = "none" + TreemapHoverinfoSkip TreemapHoverinfo = "skip" +) + +// TreemapTextinfo Determines which trace information appear on the graph. +type TreemapTextinfo string + +const ( + // Flags + TreemapTextinfoLabel TreemapTextinfo = "label" + TreemapTextinfoText TreemapTextinfo = "text" + TreemapTextinfoValue TreemapTextinfo = "value" + TreemapTextinfoCurrentPath TreemapTextinfo = "current path" + TreemapTextinfoPercentRoot TreemapTextinfo = "percent root" + TreemapTextinfoPercentEntry TreemapTextinfo = "percent entry" + TreemapTextinfoPercentParent TreemapTextinfo = "percent parent" + + // Extra + TreemapTextinfoNone TreemapTextinfo = "none" +) + +// TreemapTilingFlip Determines if the positions obtained from solver are flipped on each axis. +type TreemapTilingFlip string + +const ( + // Flags + TreemapTilingFlipX TreemapTilingFlip = "x" + TreemapTilingFlipY TreemapTilingFlip = "y" + + // Extra + +) diff --git a/generated/v2.29.1/graph_objects/unmarshal_gen.go b/generated/v2.29.1/graph_objects/unmarshal_gen.go new file mode 100644 index 0000000..317396a --- /dev/null +++ b/generated/v2.29.1/graph_objects/unmarshal_gen.go @@ -0,0 +1,361 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT + +import ( + "encoding/json" + "errors" +) + +type unmarshalType struct { + Type TraceType `json:"type,omitempty"` +} + +// UnmarshalTrace decodes an array of bytes into a Trace interface. +func UnmarshalTrace(data []byte) (Trace, error) { + traceType := unmarshalType{} + err := json.Unmarshal(data, &traceType) + if err != nil { + return nil, err + } + switch traceType.Type { + case TraceTypeBar: + trace := &Bar{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeBarpolar: + trace := &Barpolar{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeBox: + trace := &Box{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeCandlestick: + trace := &Candlestick{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeCarpet: + trace := &Carpet{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeChoropleth: + trace := &Choropleth{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeChoroplethmapbox: + trace := &Choroplethmapbox{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeCone: + trace := &Cone{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeContour: + trace := &Contour{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeContourcarpet: + trace := &Contourcarpet{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeDensitymapbox: + trace := &Densitymapbox{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeFunnel: + trace := &Funnel{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeFunnelarea: + trace := &Funnelarea{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeHeatmap: + trace := &Heatmap{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeHeatmapgl: + trace := &Heatmapgl{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeHistogram: + trace := &Histogram{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeHistogram2d: + trace := &Histogram2d{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeHistogram2dcontour: + trace := &Histogram2dcontour{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeIcicle: + trace := &Icicle{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeImage: + trace := &Image{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeIndicator: + trace := &Indicator{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeIsosurface: + trace := &Isosurface{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeMesh3d: + trace := &Mesh3d{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeOhlc: + trace := &Ohlc{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeParcats: + trace := &Parcats{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeParcoords: + trace := &Parcoords{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypePie: + trace := &Pie{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypePointcloud: + trace := &Pointcloud{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeSankey: + trace := &Sankey{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeScatter: + trace := &Scatter{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeScatter3d: + trace := &Scatter3d{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeScattercarpet: + trace := &Scattercarpet{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeScattergeo: + trace := &Scattergeo{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeScattergl: + trace := &Scattergl{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeScattermapbox: + trace := &Scattermapbox{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeScatterpolar: + trace := &Scatterpolar{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeScatterpolargl: + trace := &Scatterpolargl{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeScattersmith: + trace := &Scattersmith{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeScatterternary: + trace := &Scatterternary{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeSplom: + trace := &Splom{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeStreamtube: + trace := &Streamtube{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeSunburst: + trace := &Sunburst{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeSurface: + trace := &Surface{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeTable: + trace := &Table{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeTreemap: + trace := &Treemap{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeViolin: + trace := &Violin{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeVolume: + trace := &Volume{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeWaterfall: + trace := &Waterfall{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + default: + return nil, errors.New("Trace Type is not registered") + } +} diff --git a/generated/v2.29.1/graph_objects/violin_gen.go b/generated/v2.29.1/graph_objects/violin_gen.go new file mode 100644 index 0000000..1ed8f3d --- /dev/null +++ b/generated/v2.29.1/graph_objects/violin_gen.go @@ -0,0 +1,1318 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeViolin TraceType = "violin" + +func (trace *Violin) GetType() TraceType { + return TraceTypeViolin +} + +// Violin 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. +type Violin struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Alignmentgroup + // arrayOK: false + // 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. + Alignmentgroup String `json:"alignmentgroup,omitempty"` + + // Bandwidth + // arrayOK: false + // type: number + // Sets the bandwidth used to compute the kernel density estimate. By default, the bandwidth is determined by Silverman's rule of thumb. + Bandwidth float64 `json:"bandwidth,omitempty"` + + // Box + // role: Object + Box *ViolinBox `json:"box,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Fillcolor + // arrayOK: false + // 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. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo ViolinHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *ViolinHoverlabel `json:"hoverlabel,omitempty"` + + // Hoveron + // default: violins+points+kde + // type: flaglist + // Do the hover effects highlight individual violins or sample points or the kernel density estimate or any combination of them? + Hoveron ViolinHoveron `json:"hoveron,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // Same as `text`. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Jitter + // arrayOK: false + // type: number + // 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. + Jitter float64 `json:"jitter,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *ViolinLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *ViolinLine `json:"line,omitempty"` + + // Marker + // role: Object + Marker *ViolinMarker `json:"marker,omitempty"` + + // Meanline + // role: Object + Meanline *ViolinMeanline `json:"meanline,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // 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). + Name String `json:"name,omitempty"` + + // Offsetgroup + // arrayOK: false + // 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. + Offsetgroup String `json:"offsetgroup,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Orientation + // default: %!s() + // type: enumerated + // Sets the orientation of the violin(s). If *v* (*h*), the distribution is visualized along the vertical (horizontal). + Orientation ViolinOrientation `json:"orientation,omitempty"` + + // Pointpos + // arrayOK: false + // type: number + // 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. + Pointpos float64 `json:"pointpos,omitempty"` + + // Points + // default: %!s() + // type: enumerated + // 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*. + Points ViolinPoints `json:"points,omitempty"` + + // Quartilemethod + // default: linear + // type: enumerated + // 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. + Quartilemethod ViolinQuartilemethod `json:"quartilemethod,omitempty"` + + // Scalegroup + // arrayOK: false + // 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 + Scalegroup String `json:"scalegroup,omitempty"` + + // Scalemode + // default: width + // type: enumerated + // 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. + Scalemode ViolinScalemode `json:"scalemode,omitempty"` + + // Selected + // role: Object + Selected *ViolinSelected `json:"selected,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Side + // default: both + // type: enumerated + // 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*. + Side ViolinSide `json:"side,omitempty"` + + // Span + // arrayOK: false + // type: info_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*. + Span interface{} `json:"span,omitempty"` + + // Spanmode + // default: soft + // type: enumerated + // 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. + Spanmode ViolinSpanmode `json:"spanmode,omitempty"` + + // Stream + // role: Object + Stream *ViolinStream `json:"stream,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Unselected + // role: Object + Unselected *ViolinUnselected `json:"unselected,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible ViolinVisible `json:"visible,omitempty"` + + // Width + // arrayOK: false + // 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. + Width float64 `json:"width,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the x sample data or coordinates. See overview for more info. + X interface{} `json:"x,omitempty"` + + // X0 + // arrayOK: false + // type: any + // 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. + X0 interface{} `json:"x0,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the y sample data or coordinates. See overview for more info. + Y interface{} `json:"y,omitempty"` + + // Y0 + // arrayOK: false + // type: any + // 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. + Y0 interface{} `json:"y0,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` +} + +// ViolinBoxLine +type ViolinBoxLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the inner box plot bounding line color. + Color Color `json:"color,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the inner box plot bounding line width. + Width float64 `json:"width,omitempty"` +} + +// ViolinBox +type ViolinBox struct { + + // Fillcolor + // arrayOK: false + // type: color + // Sets the inner box plot fill color. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Line + // role: Object + Line *ViolinBoxLine `json:"line,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Determines if an miniature box plot is drawn inside the violins. + Visible Bool `json:"visible,omitempty"` + + // Width + // arrayOK: false + // type: number + // 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. + Width float64 `json:"width,omitempty"` +} + +// ViolinHoverlabelFont Sets the font used in hover labels. +type ViolinHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ViolinHoverlabel +type ViolinHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align ViolinHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *ViolinHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// ViolinLegendgrouptitleFont Sets this legend group's title font. +type ViolinLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ViolinLegendgrouptitle +type ViolinLegendgrouptitle struct { + + // Font + // role: Object + Font *ViolinLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// ViolinLine +type ViolinLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the color of line bounding the violin(s). + Color Color `json:"color,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of line bounding the violin(s). + Width float64 `json:"width,omitempty"` +} + +// ViolinMarkerLine +type ViolinMarkerLine struct { + + // Color + // arrayOK: false + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Outliercolor + // arrayOK: false + // type: color + // Sets the border line color of the outlier sample points. Defaults to marker.color + Outliercolor Color `json:"outliercolor,omitempty"` + + // Outlierwidth + // arrayOK: false + // type: number + // Sets the border line width (in px) of the outlier sample points. + Outlierwidth float64 `json:"outlierwidth,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of the lines bounding the marker points. + Width float64 `json:"width,omitempty"` +} + +// ViolinMarker +type ViolinMarker struct { + + // Angle + // arrayOK: false + // type: angle + // Sets the marker angle in respect to `angleref`. + Angle float64 `json:"angle,omitempty"` + + // Color + // arrayOK: false + // 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. + Color Color `json:"color,omitempty"` + + // Line + // role: Object + Line *ViolinMarkerLine `json:"line,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity. + Opacity float64 `json:"opacity,omitempty"` + + // Outliercolor + // arrayOK: false + // type: color + // Sets the color of the outlier sample points. + Outliercolor Color `json:"outliercolor,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size (in px). + Size float64 `json:"size,omitempty"` + + // Symbol + // default: circle + // type: enumerated + // 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. + Symbol ViolinMarkerSymbol `json:"symbol,omitempty"` +} + +// ViolinMeanline +type ViolinMeanline struct { + + // Color + // arrayOK: false + // type: color + // Sets the mean line color. + Color Color `json:"color,omitempty"` + + // Visible + // arrayOK: false + // 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. + Visible Bool `json:"visible,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the mean line width. + Width float64 `json:"width,omitempty"` +} + +// ViolinSelectedMarker +type ViolinSelectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of selected points. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of selected points. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of selected points. + Size float64 `json:"size,omitempty"` +} + +// ViolinSelected +type ViolinSelected struct { + + // Marker + // role: Object + Marker *ViolinSelectedMarker `json:"marker,omitempty"` +} + +// ViolinStream +type ViolinStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// ViolinUnselectedMarker +type ViolinUnselectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of unselected points, applied only when a selection exists. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of unselected points, applied only when a selection exists. + Size float64 `json:"size,omitempty"` +} + +// ViolinUnselected +type ViolinUnselected struct { + + // Marker + // role: Object + Marker *ViolinUnselectedMarker `json:"marker,omitempty"` +} + +// ViolinHoverlabelAlign 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 +type ViolinHoverlabelAlign string + +const ( + ViolinHoverlabelAlignLeft ViolinHoverlabelAlign = "left" + ViolinHoverlabelAlignRight ViolinHoverlabelAlign = "right" + ViolinHoverlabelAlignAuto ViolinHoverlabelAlign = "auto" +) + +// ViolinMarkerSymbol 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. +type ViolinMarkerSymbol interface{} + +var ( + ViolinMarkerSymbolNumber0 ViolinMarkerSymbol = 0 + ViolinMarkerSymbol0 ViolinMarkerSymbol = "0" + ViolinMarkerSymbolCircle ViolinMarkerSymbol = "circle" + ViolinMarkerSymbolNumber100 ViolinMarkerSymbol = 100 + ViolinMarkerSymbol100 ViolinMarkerSymbol = "100" + ViolinMarkerSymbolCircleOpen ViolinMarkerSymbol = "circle-open" + ViolinMarkerSymbolNumber200 ViolinMarkerSymbol = 200 + ViolinMarkerSymbol200 ViolinMarkerSymbol = "200" + ViolinMarkerSymbolCircleDot ViolinMarkerSymbol = "circle-dot" + ViolinMarkerSymbolNumber300 ViolinMarkerSymbol = 300 + ViolinMarkerSymbol300 ViolinMarkerSymbol = "300" + ViolinMarkerSymbolCircleOpenDot ViolinMarkerSymbol = "circle-open-dot" + ViolinMarkerSymbolNumber1 ViolinMarkerSymbol = 1 + ViolinMarkerSymbol1 ViolinMarkerSymbol = "1" + ViolinMarkerSymbolSquare ViolinMarkerSymbol = "square" + ViolinMarkerSymbolNumber101 ViolinMarkerSymbol = 101 + ViolinMarkerSymbol101 ViolinMarkerSymbol = "101" + ViolinMarkerSymbolSquareOpen ViolinMarkerSymbol = "square-open" + ViolinMarkerSymbolNumber201 ViolinMarkerSymbol = 201 + ViolinMarkerSymbol201 ViolinMarkerSymbol = "201" + ViolinMarkerSymbolSquareDot ViolinMarkerSymbol = "square-dot" + ViolinMarkerSymbolNumber301 ViolinMarkerSymbol = 301 + ViolinMarkerSymbol301 ViolinMarkerSymbol = "301" + ViolinMarkerSymbolSquareOpenDot ViolinMarkerSymbol = "square-open-dot" + ViolinMarkerSymbolNumber2 ViolinMarkerSymbol = 2 + ViolinMarkerSymbol2 ViolinMarkerSymbol = "2" + ViolinMarkerSymbolDiamond ViolinMarkerSymbol = "diamond" + ViolinMarkerSymbolNumber102 ViolinMarkerSymbol = 102 + ViolinMarkerSymbol102 ViolinMarkerSymbol = "102" + ViolinMarkerSymbolDiamondOpen ViolinMarkerSymbol = "diamond-open" + ViolinMarkerSymbolNumber202 ViolinMarkerSymbol = 202 + ViolinMarkerSymbol202 ViolinMarkerSymbol = "202" + ViolinMarkerSymbolDiamondDot ViolinMarkerSymbol = "diamond-dot" + ViolinMarkerSymbolNumber302 ViolinMarkerSymbol = 302 + ViolinMarkerSymbol302 ViolinMarkerSymbol = "302" + ViolinMarkerSymbolDiamondOpenDot ViolinMarkerSymbol = "diamond-open-dot" + ViolinMarkerSymbolNumber3 ViolinMarkerSymbol = 3 + ViolinMarkerSymbol3 ViolinMarkerSymbol = "3" + ViolinMarkerSymbolCross ViolinMarkerSymbol = "cross" + ViolinMarkerSymbolNumber103 ViolinMarkerSymbol = 103 + ViolinMarkerSymbol103 ViolinMarkerSymbol = "103" + ViolinMarkerSymbolCrossOpen ViolinMarkerSymbol = "cross-open" + ViolinMarkerSymbolNumber203 ViolinMarkerSymbol = 203 + ViolinMarkerSymbol203 ViolinMarkerSymbol = "203" + ViolinMarkerSymbolCrossDot ViolinMarkerSymbol = "cross-dot" + ViolinMarkerSymbolNumber303 ViolinMarkerSymbol = 303 + ViolinMarkerSymbol303 ViolinMarkerSymbol = "303" + ViolinMarkerSymbolCrossOpenDot ViolinMarkerSymbol = "cross-open-dot" + ViolinMarkerSymbolNumber4 ViolinMarkerSymbol = 4 + ViolinMarkerSymbol4 ViolinMarkerSymbol = "4" + ViolinMarkerSymbolX ViolinMarkerSymbol = "x" + ViolinMarkerSymbolNumber104 ViolinMarkerSymbol = 104 + ViolinMarkerSymbol104 ViolinMarkerSymbol = "104" + ViolinMarkerSymbolXOpen ViolinMarkerSymbol = "x-open" + ViolinMarkerSymbolNumber204 ViolinMarkerSymbol = 204 + ViolinMarkerSymbol204 ViolinMarkerSymbol = "204" + ViolinMarkerSymbolXDot ViolinMarkerSymbol = "x-dot" + ViolinMarkerSymbolNumber304 ViolinMarkerSymbol = 304 + ViolinMarkerSymbol304 ViolinMarkerSymbol = "304" + ViolinMarkerSymbolXOpenDot ViolinMarkerSymbol = "x-open-dot" + ViolinMarkerSymbolNumber5 ViolinMarkerSymbol = 5 + ViolinMarkerSymbol5 ViolinMarkerSymbol = "5" + ViolinMarkerSymbolTriangleUp ViolinMarkerSymbol = "triangle-up" + ViolinMarkerSymbolNumber105 ViolinMarkerSymbol = 105 + ViolinMarkerSymbol105 ViolinMarkerSymbol = "105" + ViolinMarkerSymbolTriangleUpOpen ViolinMarkerSymbol = "triangle-up-open" + ViolinMarkerSymbolNumber205 ViolinMarkerSymbol = 205 + ViolinMarkerSymbol205 ViolinMarkerSymbol = "205" + ViolinMarkerSymbolTriangleUpDot ViolinMarkerSymbol = "triangle-up-dot" + ViolinMarkerSymbolNumber305 ViolinMarkerSymbol = 305 + ViolinMarkerSymbol305 ViolinMarkerSymbol = "305" + ViolinMarkerSymbolTriangleUpOpenDot ViolinMarkerSymbol = "triangle-up-open-dot" + ViolinMarkerSymbolNumber6 ViolinMarkerSymbol = 6 + ViolinMarkerSymbol6 ViolinMarkerSymbol = "6" + ViolinMarkerSymbolTriangleDown ViolinMarkerSymbol = "triangle-down" + ViolinMarkerSymbolNumber106 ViolinMarkerSymbol = 106 + ViolinMarkerSymbol106 ViolinMarkerSymbol = "106" + ViolinMarkerSymbolTriangleDownOpen ViolinMarkerSymbol = "triangle-down-open" + ViolinMarkerSymbolNumber206 ViolinMarkerSymbol = 206 + ViolinMarkerSymbol206 ViolinMarkerSymbol = "206" + ViolinMarkerSymbolTriangleDownDot ViolinMarkerSymbol = "triangle-down-dot" + ViolinMarkerSymbolNumber306 ViolinMarkerSymbol = 306 + ViolinMarkerSymbol306 ViolinMarkerSymbol = "306" + ViolinMarkerSymbolTriangleDownOpenDot ViolinMarkerSymbol = "triangle-down-open-dot" + ViolinMarkerSymbolNumber7 ViolinMarkerSymbol = 7 + ViolinMarkerSymbol7 ViolinMarkerSymbol = "7" + ViolinMarkerSymbolTriangleLeft ViolinMarkerSymbol = "triangle-left" + ViolinMarkerSymbolNumber107 ViolinMarkerSymbol = 107 + ViolinMarkerSymbol107 ViolinMarkerSymbol = "107" + ViolinMarkerSymbolTriangleLeftOpen ViolinMarkerSymbol = "triangle-left-open" + ViolinMarkerSymbolNumber207 ViolinMarkerSymbol = 207 + ViolinMarkerSymbol207 ViolinMarkerSymbol = "207" + ViolinMarkerSymbolTriangleLeftDot ViolinMarkerSymbol = "triangle-left-dot" + ViolinMarkerSymbolNumber307 ViolinMarkerSymbol = 307 + ViolinMarkerSymbol307 ViolinMarkerSymbol = "307" + ViolinMarkerSymbolTriangleLeftOpenDot ViolinMarkerSymbol = "triangle-left-open-dot" + ViolinMarkerSymbolNumber8 ViolinMarkerSymbol = 8 + ViolinMarkerSymbol8 ViolinMarkerSymbol = "8" + ViolinMarkerSymbolTriangleRight ViolinMarkerSymbol = "triangle-right" + ViolinMarkerSymbolNumber108 ViolinMarkerSymbol = 108 + ViolinMarkerSymbol108 ViolinMarkerSymbol = "108" + ViolinMarkerSymbolTriangleRightOpen ViolinMarkerSymbol = "triangle-right-open" + ViolinMarkerSymbolNumber208 ViolinMarkerSymbol = 208 + ViolinMarkerSymbol208 ViolinMarkerSymbol = "208" + ViolinMarkerSymbolTriangleRightDot ViolinMarkerSymbol = "triangle-right-dot" + ViolinMarkerSymbolNumber308 ViolinMarkerSymbol = 308 + ViolinMarkerSymbol308 ViolinMarkerSymbol = "308" + ViolinMarkerSymbolTriangleRightOpenDot ViolinMarkerSymbol = "triangle-right-open-dot" + ViolinMarkerSymbolNumber9 ViolinMarkerSymbol = 9 + ViolinMarkerSymbol9 ViolinMarkerSymbol = "9" + ViolinMarkerSymbolTriangleNe ViolinMarkerSymbol = "triangle-ne" + ViolinMarkerSymbolNumber109 ViolinMarkerSymbol = 109 + ViolinMarkerSymbol109 ViolinMarkerSymbol = "109" + ViolinMarkerSymbolTriangleNeOpen ViolinMarkerSymbol = "triangle-ne-open" + ViolinMarkerSymbolNumber209 ViolinMarkerSymbol = 209 + ViolinMarkerSymbol209 ViolinMarkerSymbol = "209" + ViolinMarkerSymbolTriangleNeDot ViolinMarkerSymbol = "triangle-ne-dot" + ViolinMarkerSymbolNumber309 ViolinMarkerSymbol = 309 + ViolinMarkerSymbol309 ViolinMarkerSymbol = "309" + ViolinMarkerSymbolTriangleNeOpenDot ViolinMarkerSymbol = "triangle-ne-open-dot" + ViolinMarkerSymbolNumber10 ViolinMarkerSymbol = 10 + ViolinMarkerSymbol10 ViolinMarkerSymbol = "10" + ViolinMarkerSymbolTriangleSe ViolinMarkerSymbol = "triangle-se" + ViolinMarkerSymbolNumber110 ViolinMarkerSymbol = 110 + ViolinMarkerSymbol110 ViolinMarkerSymbol = "110" + ViolinMarkerSymbolTriangleSeOpen ViolinMarkerSymbol = "triangle-se-open" + ViolinMarkerSymbolNumber210 ViolinMarkerSymbol = 210 + ViolinMarkerSymbol210 ViolinMarkerSymbol = "210" + ViolinMarkerSymbolTriangleSeDot ViolinMarkerSymbol = "triangle-se-dot" + ViolinMarkerSymbolNumber310 ViolinMarkerSymbol = 310 + ViolinMarkerSymbol310 ViolinMarkerSymbol = "310" + ViolinMarkerSymbolTriangleSeOpenDot ViolinMarkerSymbol = "triangle-se-open-dot" + ViolinMarkerSymbolNumber11 ViolinMarkerSymbol = 11 + ViolinMarkerSymbol11 ViolinMarkerSymbol = "11" + ViolinMarkerSymbolTriangleSw ViolinMarkerSymbol = "triangle-sw" + ViolinMarkerSymbolNumber111 ViolinMarkerSymbol = 111 + ViolinMarkerSymbol111 ViolinMarkerSymbol = "111" + ViolinMarkerSymbolTriangleSwOpen ViolinMarkerSymbol = "triangle-sw-open" + ViolinMarkerSymbolNumber211 ViolinMarkerSymbol = 211 + ViolinMarkerSymbol211 ViolinMarkerSymbol = "211" + ViolinMarkerSymbolTriangleSwDot ViolinMarkerSymbol = "triangle-sw-dot" + ViolinMarkerSymbolNumber311 ViolinMarkerSymbol = 311 + ViolinMarkerSymbol311 ViolinMarkerSymbol = "311" + ViolinMarkerSymbolTriangleSwOpenDot ViolinMarkerSymbol = "triangle-sw-open-dot" + ViolinMarkerSymbolNumber12 ViolinMarkerSymbol = 12 + ViolinMarkerSymbol12 ViolinMarkerSymbol = "12" + ViolinMarkerSymbolTriangleNw ViolinMarkerSymbol = "triangle-nw" + ViolinMarkerSymbolNumber112 ViolinMarkerSymbol = 112 + ViolinMarkerSymbol112 ViolinMarkerSymbol = "112" + ViolinMarkerSymbolTriangleNwOpen ViolinMarkerSymbol = "triangle-nw-open" + ViolinMarkerSymbolNumber212 ViolinMarkerSymbol = 212 + ViolinMarkerSymbol212 ViolinMarkerSymbol = "212" + ViolinMarkerSymbolTriangleNwDot ViolinMarkerSymbol = "triangle-nw-dot" + ViolinMarkerSymbolNumber312 ViolinMarkerSymbol = 312 + ViolinMarkerSymbol312 ViolinMarkerSymbol = "312" + ViolinMarkerSymbolTriangleNwOpenDot ViolinMarkerSymbol = "triangle-nw-open-dot" + ViolinMarkerSymbolNumber13 ViolinMarkerSymbol = 13 + ViolinMarkerSymbol13 ViolinMarkerSymbol = "13" + ViolinMarkerSymbolPentagon ViolinMarkerSymbol = "pentagon" + ViolinMarkerSymbolNumber113 ViolinMarkerSymbol = 113 + ViolinMarkerSymbol113 ViolinMarkerSymbol = "113" + ViolinMarkerSymbolPentagonOpen ViolinMarkerSymbol = "pentagon-open" + ViolinMarkerSymbolNumber213 ViolinMarkerSymbol = 213 + ViolinMarkerSymbol213 ViolinMarkerSymbol = "213" + ViolinMarkerSymbolPentagonDot ViolinMarkerSymbol = "pentagon-dot" + ViolinMarkerSymbolNumber313 ViolinMarkerSymbol = 313 + ViolinMarkerSymbol313 ViolinMarkerSymbol = "313" + ViolinMarkerSymbolPentagonOpenDot ViolinMarkerSymbol = "pentagon-open-dot" + ViolinMarkerSymbolNumber14 ViolinMarkerSymbol = 14 + ViolinMarkerSymbol14 ViolinMarkerSymbol = "14" + ViolinMarkerSymbolHexagon ViolinMarkerSymbol = "hexagon" + ViolinMarkerSymbolNumber114 ViolinMarkerSymbol = 114 + ViolinMarkerSymbol114 ViolinMarkerSymbol = "114" + ViolinMarkerSymbolHexagonOpen ViolinMarkerSymbol = "hexagon-open" + ViolinMarkerSymbolNumber214 ViolinMarkerSymbol = 214 + ViolinMarkerSymbol214 ViolinMarkerSymbol = "214" + ViolinMarkerSymbolHexagonDot ViolinMarkerSymbol = "hexagon-dot" + ViolinMarkerSymbolNumber314 ViolinMarkerSymbol = 314 + ViolinMarkerSymbol314 ViolinMarkerSymbol = "314" + ViolinMarkerSymbolHexagonOpenDot ViolinMarkerSymbol = "hexagon-open-dot" + ViolinMarkerSymbolNumber15 ViolinMarkerSymbol = 15 + ViolinMarkerSymbol15 ViolinMarkerSymbol = "15" + ViolinMarkerSymbolHexagon2 ViolinMarkerSymbol = "hexagon2" + ViolinMarkerSymbolNumber115 ViolinMarkerSymbol = 115 + ViolinMarkerSymbol115 ViolinMarkerSymbol = "115" + ViolinMarkerSymbolHexagon2Open ViolinMarkerSymbol = "hexagon2-open" + ViolinMarkerSymbolNumber215 ViolinMarkerSymbol = 215 + ViolinMarkerSymbol215 ViolinMarkerSymbol = "215" + ViolinMarkerSymbolHexagon2Dot ViolinMarkerSymbol = "hexagon2-dot" + ViolinMarkerSymbolNumber315 ViolinMarkerSymbol = 315 + ViolinMarkerSymbol315 ViolinMarkerSymbol = "315" + ViolinMarkerSymbolHexagon2OpenDot ViolinMarkerSymbol = "hexagon2-open-dot" + ViolinMarkerSymbolNumber16 ViolinMarkerSymbol = 16 + ViolinMarkerSymbol16 ViolinMarkerSymbol = "16" + ViolinMarkerSymbolOctagon ViolinMarkerSymbol = "octagon" + ViolinMarkerSymbolNumber116 ViolinMarkerSymbol = 116 + ViolinMarkerSymbol116 ViolinMarkerSymbol = "116" + ViolinMarkerSymbolOctagonOpen ViolinMarkerSymbol = "octagon-open" + ViolinMarkerSymbolNumber216 ViolinMarkerSymbol = 216 + ViolinMarkerSymbol216 ViolinMarkerSymbol = "216" + ViolinMarkerSymbolOctagonDot ViolinMarkerSymbol = "octagon-dot" + ViolinMarkerSymbolNumber316 ViolinMarkerSymbol = 316 + ViolinMarkerSymbol316 ViolinMarkerSymbol = "316" + ViolinMarkerSymbolOctagonOpenDot ViolinMarkerSymbol = "octagon-open-dot" + ViolinMarkerSymbolNumber17 ViolinMarkerSymbol = 17 + ViolinMarkerSymbol17 ViolinMarkerSymbol = "17" + ViolinMarkerSymbolStar ViolinMarkerSymbol = "star" + ViolinMarkerSymbolNumber117 ViolinMarkerSymbol = 117 + ViolinMarkerSymbol117 ViolinMarkerSymbol = "117" + ViolinMarkerSymbolStarOpen ViolinMarkerSymbol = "star-open" + ViolinMarkerSymbolNumber217 ViolinMarkerSymbol = 217 + ViolinMarkerSymbol217 ViolinMarkerSymbol = "217" + ViolinMarkerSymbolStarDot ViolinMarkerSymbol = "star-dot" + ViolinMarkerSymbolNumber317 ViolinMarkerSymbol = 317 + ViolinMarkerSymbol317 ViolinMarkerSymbol = "317" + ViolinMarkerSymbolStarOpenDot ViolinMarkerSymbol = "star-open-dot" + ViolinMarkerSymbolNumber18 ViolinMarkerSymbol = 18 + ViolinMarkerSymbol18 ViolinMarkerSymbol = "18" + ViolinMarkerSymbolHexagram ViolinMarkerSymbol = "hexagram" + ViolinMarkerSymbolNumber118 ViolinMarkerSymbol = 118 + ViolinMarkerSymbol118 ViolinMarkerSymbol = "118" + ViolinMarkerSymbolHexagramOpen ViolinMarkerSymbol = "hexagram-open" + ViolinMarkerSymbolNumber218 ViolinMarkerSymbol = 218 + ViolinMarkerSymbol218 ViolinMarkerSymbol = "218" + ViolinMarkerSymbolHexagramDot ViolinMarkerSymbol = "hexagram-dot" + ViolinMarkerSymbolNumber318 ViolinMarkerSymbol = 318 + ViolinMarkerSymbol318 ViolinMarkerSymbol = "318" + ViolinMarkerSymbolHexagramOpenDot ViolinMarkerSymbol = "hexagram-open-dot" + ViolinMarkerSymbolNumber19 ViolinMarkerSymbol = 19 + ViolinMarkerSymbol19 ViolinMarkerSymbol = "19" + ViolinMarkerSymbolStarTriangleUp ViolinMarkerSymbol = "star-triangle-up" + ViolinMarkerSymbolNumber119 ViolinMarkerSymbol = 119 + ViolinMarkerSymbol119 ViolinMarkerSymbol = "119" + ViolinMarkerSymbolStarTriangleUpOpen ViolinMarkerSymbol = "star-triangle-up-open" + ViolinMarkerSymbolNumber219 ViolinMarkerSymbol = 219 + ViolinMarkerSymbol219 ViolinMarkerSymbol = "219" + ViolinMarkerSymbolStarTriangleUpDot ViolinMarkerSymbol = "star-triangle-up-dot" + ViolinMarkerSymbolNumber319 ViolinMarkerSymbol = 319 + ViolinMarkerSymbol319 ViolinMarkerSymbol = "319" + ViolinMarkerSymbolStarTriangleUpOpenDot ViolinMarkerSymbol = "star-triangle-up-open-dot" + ViolinMarkerSymbolNumber20 ViolinMarkerSymbol = 20 + ViolinMarkerSymbol20 ViolinMarkerSymbol = "20" + ViolinMarkerSymbolStarTriangleDown ViolinMarkerSymbol = "star-triangle-down" + ViolinMarkerSymbolNumber120 ViolinMarkerSymbol = 120 + ViolinMarkerSymbol120 ViolinMarkerSymbol = "120" + ViolinMarkerSymbolStarTriangleDownOpen ViolinMarkerSymbol = "star-triangle-down-open" + ViolinMarkerSymbolNumber220 ViolinMarkerSymbol = 220 + ViolinMarkerSymbol220 ViolinMarkerSymbol = "220" + ViolinMarkerSymbolStarTriangleDownDot ViolinMarkerSymbol = "star-triangle-down-dot" + ViolinMarkerSymbolNumber320 ViolinMarkerSymbol = 320 + ViolinMarkerSymbol320 ViolinMarkerSymbol = "320" + ViolinMarkerSymbolStarTriangleDownOpenDot ViolinMarkerSymbol = "star-triangle-down-open-dot" + ViolinMarkerSymbolNumber21 ViolinMarkerSymbol = 21 + ViolinMarkerSymbol21 ViolinMarkerSymbol = "21" + ViolinMarkerSymbolStarSquare ViolinMarkerSymbol = "star-square" + ViolinMarkerSymbolNumber121 ViolinMarkerSymbol = 121 + ViolinMarkerSymbol121 ViolinMarkerSymbol = "121" + ViolinMarkerSymbolStarSquareOpen ViolinMarkerSymbol = "star-square-open" + ViolinMarkerSymbolNumber221 ViolinMarkerSymbol = 221 + ViolinMarkerSymbol221 ViolinMarkerSymbol = "221" + ViolinMarkerSymbolStarSquareDot ViolinMarkerSymbol = "star-square-dot" + ViolinMarkerSymbolNumber321 ViolinMarkerSymbol = 321 + ViolinMarkerSymbol321 ViolinMarkerSymbol = "321" + ViolinMarkerSymbolStarSquareOpenDot ViolinMarkerSymbol = "star-square-open-dot" + ViolinMarkerSymbolNumber22 ViolinMarkerSymbol = 22 + ViolinMarkerSymbol22 ViolinMarkerSymbol = "22" + ViolinMarkerSymbolStarDiamond ViolinMarkerSymbol = "star-diamond" + ViolinMarkerSymbolNumber122 ViolinMarkerSymbol = 122 + ViolinMarkerSymbol122 ViolinMarkerSymbol = "122" + ViolinMarkerSymbolStarDiamondOpen ViolinMarkerSymbol = "star-diamond-open" + ViolinMarkerSymbolNumber222 ViolinMarkerSymbol = 222 + ViolinMarkerSymbol222 ViolinMarkerSymbol = "222" + ViolinMarkerSymbolStarDiamondDot ViolinMarkerSymbol = "star-diamond-dot" + ViolinMarkerSymbolNumber322 ViolinMarkerSymbol = 322 + ViolinMarkerSymbol322 ViolinMarkerSymbol = "322" + ViolinMarkerSymbolStarDiamondOpenDot ViolinMarkerSymbol = "star-diamond-open-dot" + ViolinMarkerSymbolNumber23 ViolinMarkerSymbol = 23 + ViolinMarkerSymbol23 ViolinMarkerSymbol = "23" + ViolinMarkerSymbolDiamondTall ViolinMarkerSymbol = "diamond-tall" + ViolinMarkerSymbolNumber123 ViolinMarkerSymbol = 123 + ViolinMarkerSymbol123 ViolinMarkerSymbol = "123" + ViolinMarkerSymbolDiamondTallOpen ViolinMarkerSymbol = "diamond-tall-open" + ViolinMarkerSymbolNumber223 ViolinMarkerSymbol = 223 + ViolinMarkerSymbol223 ViolinMarkerSymbol = "223" + ViolinMarkerSymbolDiamondTallDot ViolinMarkerSymbol = "diamond-tall-dot" + ViolinMarkerSymbolNumber323 ViolinMarkerSymbol = 323 + ViolinMarkerSymbol323 ViolinMarkerSymbol = "323" + ViolinMarkerSymbolDiamondTallOpenDot ViolinMarkerSymbol = "diamond-tall-open-dot" + ViolinMarkerSymbolNumber24 ViolinMarkerSymbol = 24 + ViolinMarkerSymbol24 ViolinMarkerSymbol = "24" + ViolinMarkerSymbolDiamondWide ViolinMarkerSymbol = "diamond-wide" + ViolinMarkerSymbolNumber124 ViolinMarkerSymbol = 124 + ViolinMarkerSymbol124 ViolinMarkerSymbol = "124" + ViolinMarkerSymbolDiamondWideOpen ViolinMarkerSymbol = "diamond-wide-open" + ViolinMarkerSymbolNumber224 ViolinMarkerSymbol = 224 + ViolinMarkerSymbol224 ViolinMarkerSymbol = "224" + ViolinMarkerSymbolDiamondWideDot ViolinMarkerSymbol = "diamond-wide-dot" + ViolinMarkerSymbolNumber324 ViolinMarkerSymbol = 324 + ViolinMarkerSymbol324 ViolinMarkerSymbol = "324" + ViolinMarkerSymbolDiamondWideOpenDot ViolinMarkerSymbol = "diamond-wide-open-dot" + ViolinMarkerSymbolNumber25 ViolinMarkerSymbol = 25 + ViolinMarkerSymbol25 ViolinMarkerSymbol = "25" + ViolinMarkerSymbolHourglass ViolinMarkerSymbol = "hourglass" + ViolinMarkerSymbolNumber125 ViolinMarkerSymbol = 125 + ViolinMarkerSymbol125 ViolinMarkerSymbol = "125" + ViolinMarkerSymbolHourglassOpen ViolinMarkerSymbol = "hourglass-open" + ViolinMarkerSymbolNumber26 ViolinMarkerSymbol = 26 + ViolinMarkerSymbol26 ViolinMarkerSymbol = "26" + ViolinMarkerSymbolBowtie ViolinMarkerSymbol = "bowtie" + ViolinMarkerSymbolNumber126 ViolinMarkerSymbol = 126 + ViolinMarkerSymbol126 ViolinMarkerSymbol = "126" + ViolinMarkerSymbolBowtieOpen ViolinMarkerSymbol = "bowtie-open" + ViolinMarkerSymbolNumber27 ViolinMarkerSymbol = 27 + ViolinMarkerSymbol27 ViolinMarkerSymbol = "27" + ViolinMarkerSymbolCircleCross ViolinMarkerSymbol = "circle-cross" + ViolinMarkerSymbolNumber127 ViolinMarkerSymbol = 127 + ViolinMarkerSymbol127 ViolinMarkerSymbol = "127" + ViolinMarkerSymbolCircleCrossOpen ViolinMarkerSymbol = "circle-cross-open" + ViolinMarkerSymbolNumber28 ViolinMarkerSymbol = 28 + ViolinMarkerSymbol28 ViolinMarkerSymbol = "28" + ViolinMarkerSymbolCircleX ViolinMarkerSymbol = "circle-x" + ViolinMarkerSymbolNumber128 ViolinMarkerSymbol = 128 + ViolinMarkerSymbol128 ViolinMarkerSymbol = "128" + ViolinMarkerSymbolCircleXOpen ViolinMarkerSymbol = "circle-x-open" + ViolinMarkerSymbolNumber29 ViolinMarkerSymbol = 29 + ViolinMarkerSymbol29 ViolinMarkerSymbol = "29" + ViolinMarkerSymbolSquareCross ViolinMarkerSymbol = "square-cross" + ViolinMarkerSymbolNumber129 ViolinMarkerSymbol = 129 + ViolinMarkerSymbol129 ViolinMarkerSymbol = "129" + ViolinMarkerSymbolSquareCrossOpen ViolinMarkerSymbol = "square-cross-open" + ViolinMarkerSymbolNumber30 ViolinMarkerSymbol = 30 + ViolinMarkerSymbol30 ViolinMarkerSymbol = "30" + ViolinMarkerSymbolSquareX ViolinMarkerSymbol = "square-x" + ViolinMarkerSymbolNumber130 ViolinMarkerSymbol = 130 + ViolinMarkerSymbol130 ViolinMarkerSymbol = "130" + ViolinMarkerSymbolSquareXOpen ViolinMarkerSymbol = "square-x-open" + ViolinMarkerSymbolNumber31 ViolinMarkerSymbol = 31 + ViolinMarkerSymbol31 ViolinMarkerSymbol = "31" + ViolinMarkerSymbolDiamondCross ViolinMarkerSymbol = "diamond-cross" + ViolinMarkerSymbolNumber131 ViolinMarkerSymbol = 131 + ViolinMarkerSymbol131 ViolinMarkerSymbol = "131" + ViolinMarkerSymbolDiamondCrossOpen ViolinMarkerSymbol = "diamond-cross-open" + ViolinMarkerSymbolNumber32 ViolinMarkerSymbol = 32 + ViolinMarkerSymbol32 ViolinMarkerSymbol = "32" + ViolinMarkerSymbolDiamondX ViolinMarkerSymbol = "diamond-x" + ViolinMarkerSymbolNumber132 ViolinMarkerSymbol = 132 + ViolinMarkerSymbol132 ViolinMarkerSymbol = "132" + ViolinMarkerSymbolDiamondXOpen ViolinMarkerSymbol = "diamond-x-open" + ViolinMarkerSymbolNumber33 ViolinMarkerSymbol = 33 + ViolinMarkerSymbol33 ViolinMarkerSymbol = "33" + ViolinMarkerSymbolCrossThin ViolinMarkerSymbol = "cross-thin" + ViolinMarkerSymbolNumber133 ViolinMarkerSymbol = 133 + ViolinMarkerSymbol133 ViolinMarkerSymbol = "133" + ViolinMarkerSymbolCrossThinOpen ViolinMarkerSymbol = "cross-thin-open" + ViolinMarkerSymbolNumber34 ViolinMarkerSymbol = 34 + ViolinMarkerSymbol34 ViolinMarkerSymbol = "34" + ViolinMarkerSymbolXThin ViolinMarkerSymbol = "x-thin" + ViolinMarkerSymbolNumber134 ViolinMarkerSymbol = 134 + ViolinMarkerSymbol134 ViolinMarkerSymbol = "134" + ViolinMarkerSymbolXThinOpen ViolinMarkerSymbol = "x-thin-open" + ViolinMarkerSymbolNumber35 ViolinMarkerSymbol = 35 + ViolinMarkerSymbol35 ViolinMarkerSymbol = "35" + ViolinMarkerSymbolAsterisk ViolinMarkerSymbol = "asterisk" + ViolinMarkerSymbolNumber135 ViolinMarkerSymbol = 135 + ViolinMarkerSymbol135 ViolinMarkerSymbol = "135" + ViolinMarkerSymbolAsteriskOpen ViolinMarkerSymbol = "asterisk-open" + ViolinMarkerSymbolNumber36 ViolinMarkerSymbol = 36 + ViolinMarkerSymbol36 ViolinMarkerSymbol = "36" + ViolinMarkerSymbolHash ViolinMarkerSymbol = "hash" + ViolinMarkerSymbolNumber136 ViolinMarkerSymbol = 136 + ViolinMarkerSymbol136 ViolinMarkerSymbol = "136" + ViolinMarkerSymbolHashOpen ViolinMarkerSymbol = "hash-open" + ViolinMarkerSymbolNumber236 ViolinMarkerSymbol = 236 + ViolinMarkerSymbol236 ViolinMarkerSymbol = "236" + ViolinMarkerSymbolHashDot ViolinMarkerSymbol = "hash-dot" + ViolinMarkerSymbolNumber336 ViolinMarkerSymbol = 336 + ViolinMarkerSymbol336 ViolinMarkerSymbol = "336" + ViolinMarkerSymbolHashOpenDot ViolinMarkerSymbol = "hash-open-dot" + ViolinMarkerSymbolNumber37 ViolinMarkerSymbol = 37 + ViolinMarkerSymbol37 ViolinMarkerSymbol = "37" + ViolinMarkerSymbolYUp ViolinMarkerSymbol = "y-up" + ViolinMarkerSymbolNumber137 ViolinMarkerSymbol = 137 + ViolinMarkerSymbol137 ViolinMarkerSymbol = "137" + ViolinMarkerSymbolYUpOpen ViolinMarkerSymbol = "y-up-open" + ViolinMarkerSymbolNumber38 ViolinMarkerSymbol = 38 + ViolinMarkerSymbol38 ViolinMarkerSymbol = "38" + ViolinMarkerSymbolYDown ViolinMarkerSymbol = "y-down" + ViolinMarkerSymbolNumber138 ViolinMarkerSymbol = 138 + ViolinMarkerSymbol138 ViolinMarkerSymbol = "138" + ViolinMarkerSymbolYDownOpen ViolinMarkerSymbol = "y-down-open" + ViolinMarkerSymbolNumber39 ViolinMarkerSymbol = 39 + ViolinMarkerSymbol39 ViolinMarkerSymbol = "39" + ViolinMarkerSymbolYLeft ViolinMarkerSymbol = "y-left" + ViolinMarkerSymbolNumber139 ViolinMarkerSymbol = 139 + ViolinMarkerSymbol139 ViolinMarkerSymbol = "139" + ViolinMarkerSymbolYLeftOpen ViolinMarkerSymbol = "y-left-open" + ViolinMarkerSymbolNumber40 ViolinMarkerSymbol = 40 + ViolinMarkerSymbol40 ViolinMarkerSymbol = "40" + ViolinMarkerSymbolYRight ViolinMarkerSymbol = "y-right" + ViolinMarkerSymbolNumber140 ViolinMarkerSymbol = 140 + ViolinMarkerSymbol140 ViolinMarkerSymbol = "140" + ViolinMarkerSymbolYRightOpen ViolinMarkerSymbol = "y-right-open" + ViolinMarkerSymbolNumber41 ViolinMarkerSymbol = 41 + ViolinMarkerSymbol41 ViolinMarkerSymbol = "41" + ViolinMarkerSymbolLineEw ViolinMarkerSymbol = "line-ew" + ViolinMarkerSymbolNumber141 ViolinMarkerSymbol = 141 + ViolinMarkerSymbol141 ViolinMarkerSymbol = "141" + ViolinMarkerSymbolLineEwOpen ViolinMarkerSymbol = "line-ew-open" + ViolinMarkerSymbolNumber42 ViolinMarkerSymbol = 42 + ViolinMarkerSymbol42 ViolinMarkerSymbol = "42" + ViolinMarkerSymbolLineNs ViolinMarkerSymbol = "line-ns" + ViolinMarkerSymbolNumber142 ViolinMarkerSymbol = 142 + ViolinMarkerSymbol142 ViolinMarkerSymbol = "142" + ViolinMarkerSymbolLineNsOpen ViolinMarkerSymbol = "line-ns-open" + ViolinMarkerSymbolNumber43 ViolinMarkerSymbol = 43 + ViolinMarkerSymbol43 ViolinMarkerSymbol = "43" + ViolinMarkerSymbolLineNe ViolinMarkerSymbol = "line-ne" + ViolinMarkerSymbolNumber143 ViolinMarkerSymbol = 143 + ViolinMarkerSymbol143 ViolinMarkerSymbol = "143" + ViolinMarkerSymbolLineNeOpen ViolinMarkerSymbol = "line-ne-open" + ViolinMarkerSymbolNumber44 ViolinMarkerSymbol = 44 + ViolinMarkerSymbol44 ViolinMarkerSymbol = "44" + ViolinMarkerSymbolLineNw ViolinMarkerSymbol = "line-nw" + ViolinMarkerSymbolNumber144 ViolinMarkerSymbol = 144 + ViolinMarkerSymbol144 ViolinMarkerSymbol = "144" + ViolinMarkerSymbolLineNwOpen ViolinMarkerSymbol = "line-nw-open" + ViolinMarkerSymbolNumber45 ViolinMarkerSymbol = 45 + ViolinMarkerSymbol45 ViolinMarkerSymbol = "45" + ViolinMarkerSymbolArrowUp ViolinMarkerSymbol = "arrow-up" + ViolinMarkerSymbolNumber145 ViolinMarkerSymbol = 145 + ViolinMarkerSymbol145 ViolinMarkerSymbol = "145" + ViolinMarkerSymbolArrowUpOpen ViolinMarkerSymbol = "arrow-up-open" + ViolinMarkerSymbolNumber46 ViolinMarkerSymbol = 46 + ViolinMarkerSymbol46 ViolinMarkerSymbol = "46" + ViolinMarkerSymbolArrowDown ViolinMarkerSymbol = "arrow-down" + ViolinMarkerSymbolNumber146 ViolinMarkerSymbol = 146 + ViolinMarkerSymbol146 ViolinMarkerSymbol = "146" + ViolinMarkerSymbolArrowDownOpen ViolinMarkerSymbol = "arrow-down-open" + ViolinMarkerSymbolNumber47 ViolinMarkerSymbol = 47 + ViolinMarkerSymbol47 ViolinMarkerSymbol = "47" + ViolinMarkerSymbolArrowLeft ViolinMarkerSymbol = "arrow-left" + ViolinMarkerSymbolNumber147 ViolinMarkerSymbol = 147 + ViolinMarkerSymbol147 ViolinMarkerSymbol = "147" + ViolinMarkerSymbolArrowLeftOpen ViolinMarkerSymbol = "arrow-left-open" + ViolinMarkerSymbolNumber48 ViolinMarkerSymbol = 48 + ViolinMarkerSymbol48 ViolinMarkerSymbol = "48" + ViolinMarkerSymbolArrowRight ViolinMarkerSymbol = "arrow-right" + ViolinMarkerSymbolNumber148 ViolinMarkerSymbol = 148 + ViolinMarkerSymbol148 ViolinMarkerSymbol = "148" + ViolinMarkerSymbolArrowRightOpen ViolinMarkerSymbol = "arrow-right-open" + ViolinMarkerSymbolNumber49 ViolinMarkerSymbol = 49 + ViolinMarkerSymbol49 ViolinMarkerSymbol = "49" + ViolinMarkerSymbolArrowBarUp ViolinMarkerSymbol = "arrow-bar-up" + ViolinMarkerSymbolNumber149 ViolinMarkerSymbol = 149 + ViolinMarkerSymbol149 ViolinMarkerSymbol = "149" + ViolinMarkerSymbolArrowBarUpOpen ViolinMarkerSymbol = "arrow-bar-up-open" + ViolinMarkerSymbolNumber50 ViolinMarkerSymbol = 50 + ViolinMarkerSymbol50 ViolinMarkerSymbol = "50" + ViolinMarkerSymbolArrowBarDown ViolinMarkerSymbol = "arrow-bar-down" + ViolinMarkerSymbolNumber150 ViolinMarkerSymbol = 150 + ViolinMarkerSymbol150 ViolinMarkerSymbol = "150" + ViolinMarkerSymbolArrowBarDownOpen ViolinMarkerSymbol = "arrow-bar-down-open" + ViolinMarkerSymbolNumber51 ViolinMarkerSymbol = 51 + ViolinMarkerSymbol51 ViolinMarkerSymbol = "51" + ViolinMarkerSymbolArrowBarLeft ViolinMarkerSymbol = "arrow-bar-left" + ViolinMarkerSymbolNumber151 ViolinMarkerSymbol = 151 + ViolinMarkerSymbol151 ViolinMarkerSymbol = "151" + ViolinMarkerSymbolArrowBarLeftOpen ViolinMarkerSymbol = "arrow-bar-left-open" + ViolinMarkerSymbolNumber52 ViolinMarkerSymbol = 52 + ViolinMarkerSymbol52 ViolinMarkerSymbol = "52" + ViolinMarkerSymbolArrowBarRight ViolinMarkerSymbol = "arrow-bar-right" + ViolinMarkerSymbolNumber152 ViolinMarkerSymbol = 152 + ViolinMarkerSymbol152 ViolinMarkerSymbol = "152" + ViolinMarkerSymbolArrowBarRightOpen ViolinMarkerSymbol = "arrow-bar-right-open" + ViolinMarkerSymbolNumber53 ViolinMarkerSymbol = 53 + ViolinMarkerSymbol53 ViolinMarkerSymbol = "53" + ViolinMarkerSymbolArrow ViolinMarkerSymbol = "arrow" + ViolinMarkerSymbolNumber153 ViolinMarkerSymbol = 153 + ViolinMarkerSymbol153 ViolinMarkerSymbol = "153" + ViolinMarkerSymbolArrowOpen ViolinMarkerSymbol = "arrow-open" + ViolinMarkerSymbolNumber54 ViolinMarkerSymbol = 54 + ViolinMarkerSymbol54 ViolinMarkerSymbol = "54" + ViolinMarkerSymbolArrowWide ViolinMarkerSymbol = "arrow-wide" + ViolinMarkerSymbolNumber154 ViolinMarkerSymbol = 154 + ViolinMarkerSymbol154 ViolinMarkerSymbol = "154" + ViolinMarkerSymbolArrowWideOpen ViolinMarkerSymbol = "arrow-wide-open" +) + +// ViolinOrientation Sets the orientation of the violin(s). If *v* (*h*), the distribution is visualized along the vertical (horizontal). +type ViolinOrientation string + +const ( + ViolinOrientationV ViolinOrientation = "v" + ViolinOrientationH ViolinOrientation = "h" +) + +// ViolinPoints 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*. +type ViolinPoints interface{} + +var ( + ViolinPointsAll ViolinPoints = "all" + ViolinPointsOutliers ViolinPoints = "outliers" + ViolinPointsSuspectedoutliers ViolinPoints = "suspectedoutliers" + ViolinPointsFalse ViolinPoints = false +) + +// ViolinQuartilemethod 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. +type ViolinQuartilemethod string + +const ( + ViolinQuartilemethodLinear ViolinQuartilemethod = "linear" + ViolinQuartilemethodExclusive ViolinQuartilemethod = "exclusive" + ViolinQuartilemethodInclusive ViolinQuartilemethod = "inclusive" +) + +// ViolinScalemode 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. +type ViolinScalemode string + +const ( + ViolinScalemodeWidth ViolinScalemode = "width" + ViolinScalemodeCount ViolinScalemode = "count" +) + +// ViolinSide 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*. +type ViolinSide string + +const ( + ViolinSideBoth ViolinSide = "both" + ViolinSidePositive ViolinSide = "positive" + ViolinSideNegative ViolinSide = "negative" +) + +// ViolinSpanmode 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. +type ViolinSpanmode string + +const ( + ViolinSpanmodeSoft ViolinSpanmode = "soft" + ViolinSpanmodeHard ViolinSpanmode = "hard" + ViolinSpanmodeManual ViolinSpanmode = "manual" +) + +// ViolinVisible 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). +type ViolinVisible interface{} + +var ( + ViolinVisibleTrue ViolinVisible = true + ViolinVisibleFalse ViolinVisible = false + ViolinVisibleLegendonly ViolinVisible = "legendonly" +) + +// ViolinHoverinfo 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. +type ViolinHoverinfo string + +const ( + // Flags + ViolinHoverinfoX ViolinHoverinfo = "x" + ViolinHoverinfoY ViolinHoverinfo = "y" + ViolinHoverinfoZ ViolinHoverinfo = "z" + ViolinHoverinfoText ViolinHoverinfo = "text" + ViolinHoverinfoName ViolinHoverinfo = "name" + + // Extra + ViolinHoverinfoAll ViolinHoverinfo = "all" + ViolinHoverinfoNone ViolinHoverinfo = "none" + ViolinHoverinfoSkip ViolinHoverinfo = "skip" +) + +// ViolinHoveron Do the hover effects highlight individual violins or sample points or the kernel density estimate or any combination of them? +type ViolinHoveron string + +const ( + // Flags + ViolinHoveronViolins ViolinHoveron = "violins" + ViolinHoveronPoints ViolinHoveron = "points" + ViolinHoveronKde ViolinHoveron = "kde" + + // Extra + ViolinHoveronAll ViolinHoveron = "all" +) diff --git a/generated/v2.29.1/graph_objects/volume_gen.go b/generated/v2.29.1/graph_objects/volume_gen.go new file mode 100644 index 0000000..f809c72 --- /dev/null +++ b/generated/v2.29.1/graph_objects/volume_gen.go @@ -0,0 +1,1363 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeVolume TraceType = "volume" + +func (trace *Volume) GetType() TraceType { + return TraceTypeVolume +} + +// Volume 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. +type Volume struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Autocolorscale + // arrayOK: false + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Caps + // role: Object + Caps *VolumeCaps `json:"caps,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *VolumeColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Contour + // role: Object + Contour *VolumeContour `json:"contour,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Flatshading + // arrayOK: false + // type: boolean + // Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low-poly look via flat reflections. + Flatshading Bool `json:"flatshading,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo VolumeHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *VolumeHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // Same as `text`. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Isomax + // arrayOK: false + // type: number + // Sets the maximum boundary for iso-surface plot. + Isomax float64 `json:"isomax,omitempty"` + + // Isomin + // arrayOK: false + // type: number + // Sets the minimum boundary for iso-surface plot. + Isomin float64 `json:"isomin,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *VolumeLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Lighting + // role: Object + Lighting *VolumeLighting `json:"lighting,omitempty"` + + // Lightposition + // role: Object + Lightposition *VolumeLightposition `json:"lightposition,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // 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. + Opacity float64 `json:"opacity,omitempty"` + + // Opacityscale + // arrayOK: false + // type: any + // 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'. + Opacityscale interface{} `json:"opacityscale,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Scene + // arrayOK: false + // type: subplotid + // 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. + Scene String `json:"scene,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Showscale + // arrayOK: false + // type: boolean + // Determines whether or not a colorbar is displayed for this trace. + Showscale Bool `json:"showscale,omitempty"` + + // Slices + // role: Object + Slices *VolumeSlices `json:"slices,omitempty"` + + // Spaceframe + // role: Object + Spaceframe *VolumeSpaceframe `json:"spaceframe,omitempty"` + + // Stream + // role: Object + Stream *VolumeStream `json:"stream,omitempty"` + + // Surface + // role: Object + Surface *VolumeSurface `json:"surface,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Value + // arrayOK: false + // type: data_array + // Sets the 4th dimension (value) of the vertices. + Value interface{} `json:"value,omitempty"` + + // Valuehoverformat + // arrayOK: false + // 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. + Valuehoverformat String `json:"valuehoverformat,omitempty"` + + // Valuesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `value`. + Valuesrc String `json:"valuesrc,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible VolumeVisible `json:"visible,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the X coordinates of the vertices on X axis. + X interface{} `json:"x,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the Y coordinates of the vertices on Y axis. + Y interface{} `json:"y,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` + + // Z + // arrayOK: false + // type: data_array + // Sets the Z coordinates of the vertices on Z axis. + Z interface{} `json:"z,omitempty"` + + // Zhoverformat + // arrayOK: false + // 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`. + Zhoverformat String `json:"zhoverformat,omitempty"` + + // Zsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `z`. + Zsrc String `json:"zsrc,omitempty"` +} + +// VolumeCapsX +type VolumeCapsX struct { + + // Fill + // arrayOK: false + // type: number + // 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. + Fill float64 `json:"fill,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // 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. + Show Bool `json:"show,omitempty"` +} + +// VolumeCapsY +type VolumeCapsY struct { + + // Fill + // arrayOK: false + // type: number + // 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. + Fill float64 `json:"fill,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // 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. + Show Bool `json:"show,omitempty"` +} + +// VolumeCapsZ +type VolumeCapsZ struct { + + // Fill + // arrayOK: false + // type: number + // 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. + Fill float64 `json:"fill,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // 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. + Show Bool `json:"show,omitempty"` +} + +// VolumeCaps +type VolumeCaps struct { + + // X + // role: Object + X *VolumeCapsX `json:"x,omitempty"` + + // Y + // role: Object + Y *VolumeCapsY `json:"y,omitempty"` + + // Z + // role: Object + Z *VolumeCapsZ `json:"z,omitempty"` +} + +// VolumeColorbarTickfont Sets the color bar's tick label font +type VolumeColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// VolumeColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type VolumeColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// VolumeColorbarTitle +type VolumeColorbarTitle struct { + + // Font + // role: Object + Font *VolumeColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side VolumeColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// VolumeColorbar +type VolumeColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat VolumeColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode VolumeColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation VolumeColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent VolumeColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix VolumeColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix VolumeColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode VolumeColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *VolumeColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow VolumeColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition VolumeColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode VolumeColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks VolumeColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *VolumeColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor VolumeColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref VolumeColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor VolumeColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref VolumeColorbarYref `json:"yref,omitempty"` +} + +// VolumeContour +type VolumeContour struct { + + // Color + // arrayOK: false + // type: color + // Sets the color of the contour lines. + Color Color `json:"color,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // Sets whether or not dynamic contours are shown on hover + Show Bool `json:"show,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width of the contour lines. + Width float64 `json:"width,omitempty"` +} + +// VolumeHoverlabelFont Sets the font used in hover labels. +type VolumeHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// VolumeHoverlabel +type VolumeHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align VolumeHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *VolumeHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// VolumeLegendgrouptitleFont Sets this legend group's title font. +type VolumeLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// VolumeLegendgrouptitle +type VolumeLegendgrouptitle struct { + + // Font + // role: Object + Font *VolumeLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// VolumeLighting +type VolumeLighting struct { + + // Ambient + // arrayOK: false + // type: number + // Ambient light increases overall color visibility but can wash out the image. + Ambient float64 `json:"ambient,omitempty"` + + // Diffuse + // arrayOK: false + // type: number + // Represents the extent that incident rays are reflected in a range of angles. + Diffuse float64 `json:"diffuse,omitempty"` + + // Facenormalsepsilon + // arrayOK: false + // type: number + // Epsilon for face normals calculation avoids math issues arising from degenerate geometry. + Facenormalsepsilon float64 `json:"facenormalsepsilon,omitempty"` + + // Fresnel + // arrayOK: false + // type: number + // 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. + Fresnel float64 `json:"fresnel,omitempty"` + + // Roughness + // arrayOK: false + // type: number + // Alters specular reflection; the rougher the surface, the wider and less contrasty the shine. + Roughness float64 `json:"roughness,omitempty"` + + // Specular + // arrayOK: false + // type: number + // Represents the level that incident rays are reflected in a single direction, causing shine. + Specular float64 `json:"specular,omitempty"` + + // Vertexnormalsepsilon + // arrayOK: false + // type: number + // Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry. + Vertexnormalsepsilon float64 `json:"vertexnormalsepsilon,omitempty"` +} + +// VolumeLightposition +type VolumeLightposition struct { + + // X + // arrayOK: false + // type: number + // Numeric vector, representing the X coordinate for each vertex. + X float64 `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: number + // Numeric vector, representing the Y coordinate for each vertex. + Y float64 `json:"y,omitempty"` + + // Z + // arrayOK: false + // type: number + // Numeric vector, representing the Z coordinate for each vertex. + Z float64 `json:"z,omitempty"` +} + +// VolumeSlicesX +type VolumeSlicesX struct { + + // Fill + // arrayOK: false + // type: number + // 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. + Fill float64 `json:"fill,omitempty"` + + // Locations + // arrayOK: false + // 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. + Locations interface{} `json:"locations,omitempty"` + + // Locationssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `locations`. + Locationssrc String `json:"locationssrc,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // Determines whether or not slice planes about the x dimension are drawn. + Show Bool `json:"show,omitempty"` +} + +// VolumeSlicesY +type VolumeSlicesY struct { + + // Fill + // arrayOK: false + // type: number + // 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. + Fill float64 `json:"fill,omitempty"` + + // Locations + // arrayOK: false + // 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. + Locations interface{} `json:"locations,omitempty"` + + // Locationssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `locations`. + Locationssrc String `json:"locationssrc,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // Determines whether or not slice planes about the y dimension are drawn. + Show Bool `json:"show,omitempty"` +} + +// VolumeSlicesZ +type VolumeSlicesZ struct { + + // Fill + // arrayOK: false + // type: number + // 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. + Fill float64 `json:"fill,omitempty"` + + // Locations + // arrayOK: false + // 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. + Locations interface{} `json:"locations,omitempty"` + + // Locationssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `locations`. + Locationssrc String `json:"locationssrc,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // Determines whether or not slice planes about the z dimension are drawn. + Show Bool `json:"show,omitempty"` +} + +// VolumeSlices +type VolumeSlices struct { + + // X + // role: Object + X *VolumeSlicesX `json:"x,omitempty"` + + // Y + // role: Object + Y *VolumeSlicesY `json:"y,omitempty"` + + // Z + // role: Object + Z *VolumeSlicesZ `json:"z,omitempty"` +} + +// VolumeSpaceframe +type VolumeSpaceframe struct { + + // Fill + // arrayOK: false + // type: number + // 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. + Fill float64 `json:"fill,omitempty"` + + // Show + // arrayOK: false + // 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. + Show Bool `json:"show,omitempty"` +} + +// VolumeStream +type VolumeStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// VolumeSurface +type VolumeSurface struct { + + // Count + // arrayOK: false + // type: integer + // 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. + Count int64 `json:"count,omitempty"` + + // Fill + // arrayOK: false + // type: number + // 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. + Fill float64 `json:"fill,omitempty"` + + // Pattern + // default: all + // type: flaglist + // 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. + Pattern VolumeSurfacePattern `json:"pattern,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // Hides/displays surfaces between minimum and maximum iso-values. + Show Bool `json:"show,omitempty"` +} + +// VolumeColorbarExponentformat 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. +type VolumeColorbarExponentformat string + +const ( + VolumeColorbarExponentformatNone VolumeColorbarExponentformat = "none" + VolumeColorbarExponentformatE1 VolumeColorbarExponentformat = "e" + VolumeColorbarExponentformatE2 VolumeColorbarExponentformat = "E" + VolumeColorbarExponentformatPower VolumeColorbarExponentformat = "power" + VolumeColorbarExponentformatSI VolumeColorbarExponentformat = "SI" + VolumeColorbarExponentformatB VolumeColorbarExponentformat = "B" +) + +// VolumeColorbarLenmode 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. +type VolumeColorbarLenmode string + +const ( + VolumeColorbarLenmodeFraction VolumeColorbarLenmode = "fraction" + VolumeColorbarLenmodePixels VolumeColorbarLenmode = "pixels" +) + +// VolumeColorbarOrientation Sets the orientation of the colorbar. +type VolumeColorbarOrientation string + +const ( + VolumeColorbarOrientationH VolumeColorbarOrientation = "h" + VolumeColorbarOrientationV VolumeColorbarOrientation = "v" +) + +// VolumeColorbarShowexponent 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. +type VolumeColorbarShowexponent string + +const ( + VolumeColorbarShowexponentAll VolumeColorbarShowexponent = "all" + VolumeColorbarShowexponentFirst VolumeColorbarShowexponent = "first" + VolumeColorbarShowexponentLast VolumeColorbarShowexponent = "last" + VolumeColorbarShowexponentNone VolumeColorbarShowexponent = "none" +) + +// VolumeColorbarShowtickprefix 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. +type VolumeColorbarShowtickprefix string + +const ( + VolumeColorbarShowtickprefixAll VolumeColorbarShowtickprefix = "all" + VolumeColorbarShowtickprefixFirst VolumeColorbarShowtickprefix = "first" + VolumeColorbarShowtickprefixLast VolumeColorbarShowtickprefix = "last" + VolumeColorbarShowtickprefixNone VolumeColorbarShowtickprefix = "none" +) + +// VolumeColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type VolumeColorbarShowticksuffix string + +const ( + VolumeColorbarShowticksuffixAll VolumeColorbarShowticksuffix = "all" + VolumeColorbarShowticksuffixFirst VolumeColorbarShowticksuffix = "first" + VolumeColorbarShowticksuffixLast VolumeColorbarShowticksuffix = "last" + VolumeColorbarShowticksuffixNone VolumeColorbarShowticksuffix = "none" +) + +// VolumeColorbarThicknessmode 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. +type VolumeColorbarThicknessmode string + +const ( + VolumeColorbarThicknessmodeFraction VolumeColorbarThicknessmode = "fraction" + VolumeColorbarThicknessmodePixels VolumeColorbarThicknessmode = "pixels" +) + +// VolumeColorbarTicklabeloverflow 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*. +type VolumeColorbarTicklabeloverflow string + +const ( + VolumeColorbarTicklabeloverflowAllow VolumeColorbarTicklabeloverflow = "allow" + VolumeColorbarTicklabeloverflowHidePastDiv VolumeColorbarTicklabeloverflow = "hide past div" + VolumeColorbarTicklabeloverflowHidePastDomain VolumeColorbarTicklabeloverflow = "hide past domain" +) + +// VolumeColorbarTicklabelposition 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*. +type VolumeColorbarTicklabelposition string + +const ( + VolumeColorbarTicklabelpositionOutside VolumeColorbarTicklabelposition = "outside" + VolumeColorbarTicklabelpositionInside VolumeColorbarTicklabelposition = "inside" + VolumeColorbarTicklabelpositionOutsideTop VolumeColorbarTicklabelposition = "outside top" + VolumeColorbarTicklabelpositionInsideTop VolumeColorbarTicklabelposition = "inside top" + VolumeColorbarTicklabelpositionOutsideLeft VolumeColorbarTicklabelposition = "outside left" + VolumeColorbarTicklabelpositionInsideLeft VolumeColorbarTicklabelposition = "inside left" + VolumeColorbarTicklabelpositionOutsideRight VolumeColorbarTicklabelposition = "outside right" + VolumeColorbarTicklabelpositionInsideRight VolumeColorbarTicklabelposition = "inside right" + VolumeColorbarTicklabelpositionOutsideBottom VolumeColorbarTicklabelposition = "outside bottom" + VolumeColorbarTicklabelpositionInsideBottom VolumeColorbarTicklabelposition = "inside bottom" +) + +// VolumeColorbarTickmode 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). +type VolumeColorbarTickmode string + +const ( + VolumeColorbarTickmodeAuto VolumeColorbarTickmode = "auto" + VolumeColorbarTickmodeLinear VolumeColorbarTickmode = "linear" + VolumeColorbarTickmodeArray VolumeColorbarTickmode = "array" +) + +// VolumeColorbarTicks 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. +type VolumeColorbarTicks string + +const ( + VolumeColorbarTicksOutside VolumeColorbarTicks = "outside" + VolumeColorbarTicksInside VolumeColorbarTicks = "inside" + VolumeColorbarTicksEmpty VolumeColorbarTicks = "" +) + +// VolumeColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type VolumeColorbarTitleSide string + +const ( + VolumeColorbarTitleSideRight VolumeColorbarTitleSide = "right" + VolumeColorbarTitleSideTop VolumeColorbarTitleSide = "top" + VolumeColorbarTitleSideBottom VolumeColorbarTitleSide = "bottom" +) + +// VolumeColorbarXanchor 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*. +type VolumeColorbarXanchor string + +const ( + VolumeColorbarXanchorLeft VolumeColorbarXanchor = "left" + VolumeColorbarXanchorCenter VolumeColorbarXanchor = "center" + VolumeColorbarXanchorRight VolumeColorbarXanchor = "right" +) + +// VolumeColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type VolumeColorbarXref string + +const ( + VolumeColorbarXrefContainer VolumeColorbarXref = "container" + VolumeColorbarXrefPaper VolumeColorbarXref = "paper" +) + +// VolumeColorbarYanchor 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*. +type VolumeColorbarYanchor string + +const ( + VolumeColorbarYanchorTop VolumeColorbarYanchor = "top" + VolumeColorbarYanchorMiddle VolumeColorbarYanchor = "middle" + VolumeColorbarYanchorBottom VolumeColorbarYanchor = "bottom" +) + +// VolumeColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type VolumeColorbarYref string + +const ( + VolumeColorbarYrefContainer VolumeColorbarYref = "container" + VolumeColorbarYrefPaper VolumeColorbarYref = "paper" +) + +// VolumeHoverlabelAlign 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 +type VolumeHoverlabelAlign string + +const ( + VolumeHoverlabelAlignLeft VolumeHoverlabelAlign = "left" + VolumeHoverlabelAlignRight VolumeHoverlabelAlign = "right" + VolumeHoverlabelAlignAuto VolumeHoverlabelAlign = "auto" +) + +// VolumeVisible 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). +type VolumeVisible interface{} + +var ( + VolumeVisibleTrue VolumeVisible = true + VolumeVisibleFalse VolumeVisible = false + VolumeVisibleLegendonly VolumeVisible = "legendonly" +) + +// VolumeHoverinfo 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. +type VolumeHoverinfo string + +const ( + // Flags + VolumeHoverinfoX VolumeHoverinfo = "x" + VolumeHoverinfoY VolumeHoverinfo = "y" + VolumeHoverinfoZ VolumeHoverinfo = "z" + VolumeHoverinfoText VolumeHoverinfo = "text" + VolumeHoverinfoName VolumeHoverinfo = "name" + + // Extra + VolumeHoverinfoAll VolumeHoverinfo = "all" + VolumeHoverinfoNone VolumeHoverinfo = "none" + VolumeHoverinfoSkip VolumeHoverinfo = "skip" +) + +// VolumeSurfacePattern 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. +type VolumeSurfacePattern string + +const ( + // Flags + VolumeSurfacePatternA VolumeSurfacePattern = "A" + VolumeSurfacePatternB VolumeSurfacePattern = "B" + VolumeSurfacePatternC VolumeSurfacePattern = "C" + VolumeSurfacePatternD VolumeSurfacePattern = "D" + VolumeSurfacePatternE VolumeSurfacePattern = "E" + + // Extra + VolumeSurfacePatternAll VolumeSurfacePattern = "all" + VolumeSurfacePatternOdd VolumeSurfacePattern = "odd" + VolumeSurfacePatternEven VolumeSurfacePattern = "even" +) diff --git a/generated/v2.29.1/graph_objects/waterfall_gen.go b/generated/v2.29.1/graph_objects/waterfall_gen.go new file mode 100644 index 0000000..f2ce2a5 --- /dev/null +++ b/generated/v2.29.1/graph_objects/waterfall_gen.go @@ -0,0 +1,974 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeWaterfall TraceType = "waterfall" + +func (trace *Waterfall) GetType() TraceType { + return TraceTypeWaterfall +} + +// Waterfall 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. +type Waterfall struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Alignmentgroup + // arrayOK: false + // 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. + Alignmentgroup String `json:"alignmentgroup,omitempty"` + + // Base + // arrayOK: false + // type: number + // Sets where the bar base is drawn (in position axis units). + Base float64 `json:"base,omitempty"` + + // Cliponaxis + // arrayOK: false + // type: boolean + // 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*. + Cliponaxis Bool `json:"cliponaxis,omitempty"` + + // Connector + // role: Object + Connector *WaterfallConnector `json:"connector,omitempty"` + + // Constraintext + // default: both + // type: enumerated + // Constrain the size of text inside or outside a bar to be no larger than the bar itself. + Constraintext WaterfallConstraintext `json:"constraintext,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Decreasing + // role: Object + Decreasing *WaterfallDecreasing `json:"decreasing,omitempty"` + + // Dx + // arrayOK: false + // type: number + // Sets the x coordinate step. See `x0` for more info. + Dx float64 `json:"dx,omitempty"` + + // Dy + // arrayOK: false + // type: number + // Sets the y coordinate step. See `y0` for more info. + Dy float64 `json:"dy,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo WaterfallHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *WaterfallHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Finally, the template string has access to variables `initial`, `delta` and `final`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Increasing + // role: Object + Increasing *WaterfallIncreasing `json:"increasing,omitempty"` + + // Insidetextanchor + // default: end + // type: enumerated + // Determines if texts are kept at center or start/end points in `textposition` *inside* mode. + Insidetextanchor WaterfallInsidetextanchor `json:"insidetextanchor,omitempty"` + + // Insidetextfont + // role: Object + Insidetextfont *WaterfallInsidetextfont `json:"insidetextfont,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *WaterfallLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Measure + // arrayOK: false + // 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. + Measure interface{} `json:"measure,omitempty"` + + // Measuresrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `measure`. + Measuresrc String `json:"measuresrc,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Offset + // arrayOK: true + // 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. + Offset float64 `json:"offset,omitempty"` + + // Offsetgroup + // arrayOK: false + // 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. + Offsetgroup String `json:"offsetgroup,omitempty"` + + // Offsetsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `offset`. + Offsetsrc String `json:"offsetsrc,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Orientation + // default: %!s() + // type: enumerated + // Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal). + Orientation WaterfallOrientation `json:"orientation,omitempty"` + + // Outsidetextfont + // role: Object + Outsidetextfont *WaterfallOutsidetextfont `json:"outsidetextfont,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Stream + // role: Object + Stream *WaterfallStream `json:"stream,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textangle + // arrayOK: false + // 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. + Textangle float64 `json:"textangle,omitempty"` + + // Textfont + // role: Object + Textfont *WaterfallTextfont `json:"textfont,omitempty"` + + // Textinfo + // default: %!s() + // type: flaglist + // Determines which trace information appear on the graph. In the case of having multiple waterfalls, totals are computed separately (per trace). + Textinfo WaterfallTextinfo `json:"textinfo,omitempty"` + + // Textposition + // default: auto + // type: enumerated + // 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. + Textposition WaterfallTextposition `json:"textposition,omitempty"` + + // Textpositionsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `textposition`. + Textpositionsrc String `json:"textpositionsrc,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: true + // 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 `initial`, `delta`, `final` and `label`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Texttemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `texttemplate`. + Texttemplatesrc String `json:"texttemplatesrc,omitempty"` + + // Totals + // role: Object + Totals *WaterfallTotals `json:"totals,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible WaterfallVisible `json:"visible,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the bar width (in position axis units). + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the x coordinates. + X interface{} `json:"x,omitempty"` + + // X0 + // arrayOK: false + // type: any + // Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step. + X0 interface{} `json:"x0,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xperiod + // arrayOK: false + // type: any + // Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer. + Xperiod interface{} `json:"xperiod,omitempty"` + + // Xperiod0 + // arrayOK: false + // type: any + // 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. + Xperiod0 interface{} `json:"xperiod0,omitempty"` + + // Xperiodalignment + // default: middle + // type: enumerated + // Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. + Xperiodalignment WaterfallXperiodalignment `json:"xperiodalignment,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the y coordinates. + Y interface{} `json:"y,omitempty"` + + // Y0 + // arrayOK: false + // type: any + // Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step. + Y0 interface{} `json:"y0,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Yperiod + // arrayOK: false + // type: any + // Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the y axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer. + Yperiod interface{} `json:"yperiod,omitempty"` + + // Yperiod0 + // arrayOK: false + // type: any + // 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. + Yperiod0 interface{} `json:"yperiod0,omitempty"` + + // Yperiodalignment + // default: middle + // type: enumerated + // Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis. + Yperiodalignment WaterfallYperiodalignment `json:"yperiodalignment,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` +} + +// WaterfallConnectorLine +type WaterfallConnectorLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the line color. + Color Color `json:"color,omitempty"` + + // Dash + // arrayOK: false + // type: string + // 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*). + Dash String `json:"dash,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width (in px). + Width float64 `json:"width,omitempty"` +} + +// WaterfallConnector +type WaterfallConnector struct { + + // Line + // role: Object + Line *WaterfallConnectorLine `json:"line,omitempty"` + + // Mode + // default: between + // type: enumerated + // Sets the shape of connector lines. + Mode WaterfallConnectorMode `json:"mode,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Determines if connector lines are drawn. + Visible Bool `json:"visible,omitempty"` +} + +// WaterfallDecreasingMarkerLine +type WaterfallDecreasingMarkerLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the line color of all decreasing values. + Color Color `json:"color,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width of all decreasing values. + Width float64 `json:"width,omitempty"` +} + +// WaterfallDecreasingMarker +type WaterfallDecreasingMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of all decreasing values. + Color Color `json:"color,omitempty"` + + // Line + // role: Object + Line *WaterfallDecreasingMarkerLine `json:"line,omitempty"` +} + +// WaterfallDecreasing +type WaterfallDecreasing struct { + + // Marker + // role: Object + Marker *WaterfallDecreasingMarker `json:"marker,omitempty"` +} + +// WaterfallHoverlabelFont Sets the font used in hover labels. +type WaterfallHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// WaterfallHoverlabel +type WaterfallHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align WaterfallHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *WaterfallHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// WaterfallIncreasingMarkerLine +type WaterfallIncreasingMarkerLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the line color of all increasing values. + Color Color `json:"color,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width of all increasing values. + Width float64 `json:"width,omitempty"` +} + +// WaterfallIncreasingMarker +type WaterfallIncreasingMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of all increasing values. + Color Color `json:"color,omitempty"` + + // Line + // role: Object + Line *WaterfallIncreasingMarkerLine `json:"line,omitempty"` +} + +// WaterfallIncreasing +type WaterfallIncreasing struct { + + // Marker + // role: Object + Marker *WaterfallIncreasingMarker `json:"marker,omitempty"` +} + +// WaterfallInsidetextfont Sets the font used for `text` lying inside the bar. +type WaterfallInsidetextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// WaterfallLegendgrouptitleFont Sets this legend group's title font. +type WaterfallLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// WaterfallLegendgrouptitle +type WaterfallLegendgrouptitle struct { + + // Font + // role: Object + Font *WaterfallLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// WaterfallOutsidetextfont Sets the font used for `text` lying outside the bar. +type WaterfallOutsidetextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// WaterfallStream +type WaterfallStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// WaterfallTextfont Sets the font used for `text`. +type WaterfallTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// WaterfallTotalsMarkerLine +type WaterfallTotalsMarkerLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the line color of all intermediate sums and total values. + Color Color `json:"color,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width of all intermediate sums and total values. + Width float64 `json:"width,omitempty"` +} + +// WaterfallTotalsMarker +type WaterfallTotalsMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of all intermediate sums and total values. + Color Color `json:"color,omitempty"` + + // Line + // role: Object + Line *WaterfallTotalsMarkerLine `json:"line,omitempty"` +} + +// WaterfallTotals +type WaterfallTotals struct { + + // Marker + // role: Object + Marker *WaterfallTotalsMarker `json:"marker,omitempty"` +} + +// WaterfallConnectorMode Sets the shape of connector lines. +type WaterfallConnectorMode string + +const ( + WaterfallConnectorModeSpanning WaterfallConnectorMode = "spanning" + WaterfallConnectorModeBetween WaterfallConnectorMode = "between" +) + +// WaterfallConstraintext Constrain the size of text inside or outside a bar to be no larger than the bar itself. +type WaterfallConstraintext string + +const ( + WaterfallConstraintextInside WaterfallConstraintext = "inside" + WaterfallConstraintextOutside WaterfallConstraintext = "outside" + WaterfallConstraintextBoth WaterfallConstraintext = "both" + WaterfallConstraintextNone WaterfallConstraintext = "none" +) + +// WaterfallHoverlabelAlign 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 +type WaterfallHoverlabelAlign string + +const ( + WaterfallHoverlabelAlignLeft WaterfallHoverlabelAlign = "left" + WaterfallHoverlabelAlignRight WaterfallHoverlabelAlign = "right" + WaterfallHoverlabelAlignAuto WaterfallHoverlabelAlign = "auto" +) + +// WaterfallInsidetextanchor Determines if texts are kept at center or start/end points in `textposition` *inside* mode. +type WaterfallInsidetextanchor string + +const ( + WaterfallInsidetextanchorEnd WaterfallInsidetextanchor = "end" + WaterfallInsidetextanchorMiddle WaterfallInsidetextanchor = "middle" + WaterfallInsidetextanchorStart WaterfallInsidetextanchor = "start" +) + +// WaterfallOrientation Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal). +type WaterfallOrientation string + +const ( + WaterfallOrientationV WaterfallOrientation = "v" + WaterfallOrientationH WaterfallOrientation = "h" +) + +// WaterfallTextposition 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. +type WaterfallTextposition string + +const ( + WaterfallTextpositionInside WaterfallTextposition = "inside" + WaterfallTextpositionOutside WaterfallTextposition = "outside" + WaterfallTextpositionAuto WaterfallTextposition = "auto" + WaterfallTextpositionNone WaterfallTextposition = "none" +) + +// WaterfallVisible 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). +type WaterfallVisible interface{} + +var ( + WaterfallVisibleTrue WaterfallVisible = true + WaterfallVisibleFalse WaterfallVisible = false + WaterfallVisibleLegendonly WaterfallVisible = "legendonly" +) + +// WaterfallXperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. +type WaterfallXperiodalignment string + +const ( + WaterfallXperiodalignmentStart WaterfallXperiodalignment = "start" + WaterfallXperiodalignmentMiddle WaterfallXperiodalignment = "middle" + WaterfallXperiodalignmentEnd WaterfallXperiodalignment = "end" +) + +// WaterfallYperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis. +type WaterfallYperiodalignment string + +const ( + WaterfallYperiodalignmentStart WaterfallYperiodalignment = "start" + WaterfallYperiodalignmentMiddle WaterfallYperiodalignment = "middle" + WaterfallYperiodalignmentEnd WaterfallYperiodalignment = "end" +) + +// WaterfallHoverinfo 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. +type WaterfallHoverinfo string + +const ( + // Flags + WaterfallHoverinfoName WaterfallHoverinfo = "name" + WaterfallHoverinfoX WaterfallHoverinfo = "x" + WaterfallHoverinfoY WaterfallHoverinfo = "y" + WaterfallHoverinfoText WaterfallHoverinfo = "text" + WaterfallHoverinfoInitial WaterfallHoverinfo = "initial" + WaterfallHoverinfoDelta WaterfallHoverinfo = "delta" + WaterfallHoverinfoFinal WaterfallHoverinfo = "final" + + // Extra + WaterfallHoverinfoAll WaterfallHoverinfo = "all" + WaterfallHoverinfoNone WaterfallHoverinfo = "none" + WaterfallHoverinfoSkip WaterfallHoverinfo = "skip" +) + +// WaterfallTextinfo Determines which trace information appear on the graph. In the case of having multiple waterfalls, totals are computed separately (per trace). +type WaterfallTextinfo string + +const ( + // Flags + WaterfallTextinfoLabel WaterfallTextinfo = "label" + WaterfallTextinfoText WaterfallTextinfo = "text" + WaterfallTextinfoInitial WaterfallTextinfo = "initial" + WaterfallTextinfoDelta WaterfallTextinfo = "delta" + WaterfallTextinfoFinal WaterfallTextinfo = "final" + + // Extra + WaterfallTextinfoNone WaterfallTextinfo = "none" +) diff --git a/generated/v2.29.1/offline/plot_gen.go b/generated/v2.29.1/offline/plot_gen.go new file mode 100644 index 0000000..7d69c63 --- /dev/null +++ b/generated/v2.29.1/offline/plot_gen.go @@ -0,0 +1,93 @@ +package offline + +import ( + "bytes" + "encoding/json" + "io/ioutil" + "log" + "net/http" + "os" + "text/template" + + grob "github.com/MetalBlueberry/go-plotly/generated/v2.29.1/graph_objects" + + "github.com/pkg/browser" +) + +type Options struct { + Addr string +} + +// ToHtml saves the figure as standalone HTML. It still requires internet to load plotly.js from CDN. +func ToHtml(fig *grob.Fig, path string) { + buf := figToBuffer(fig) + ioutil.WriteFile(path, buf.Bytes(), os.ModePerm) +} + +// Show displays the figure in your browser. +// Use serve if you want a persistent view +func Show(fig *grob.Fig) { + buf := figToBuffer(fig) + browser.OpenReader(buf) +} + +func figToBuffer(fig *grob.Fig) *bytes.Buffer { + figBytes, err := json.Marshal(fig) + if err != nil { + panic(err) + } + tmpl, err := template.New("plotly").Parse(baseHtml) + if err != nil { + panic(err) + } + buf := &bytes.Buffer{} + tmpl.Execute(buf, string(figBytes)) + return buf +} + +// Serve creates a local web server that displays the image using plotly.js +// Is a good alternative to Show to avoid creating tmp files. +func Serve(fig *grob.Fig, opt ...Options) { + opts := computeOptions(Options{ + Addr: "localhost:8080", + }, opt...) + + mux := &http.ServeMux{} + srv := &http.Server{ + Handler: mux, + Addr: opts.Addr, + } + mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { + buf := figToBuffer(fig) + buf.WriteTo(w) + }) + + log.Print("Starting server") + if err := srv.ListenAndServe(); err != nil { + log.Print(err) + } + log.Print("Stop server") +} + +func computeOptions(def Options, opt ...Options) Options { + if len(opt) == 1 { + opts := opt[0] + if opts.Addr != "" { + def.Addr = opts.Addr + } + } + return def +} + +var baseHtml = ` + + + + +
+ + + ` diff --git a/generated/v2.31.1/graph_objects/bar_gen.go b/generated/v2.31.1/graph_objects/bar_gen.go new file mode 100644 index 0000000..405f6b5 --- /dev/null +++ b/generated/v2.31.1/graph_objects/bar_gen.go @@ -0,0 +1,1903 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeBar TraceType = "bar" + +func (trace *Bar) GetType() TraceType { + return TraceTypeBar +} + +// Bar 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. +type Bar struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Alignmentgroup + // arrayOK: false + // 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. + Alignmentgroup String `json:"alignmentgroup,omitempty"` + + // Base + // arrayOK: true + // type: any + // 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. + Base interface{} `json:"base,omitempty"` + + // Basesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `base`. + Basesrc String `json:"basesrc,omitempty"` + + // Cliponaxis + // arrayOK: false + // type: boolean + // 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*. + Cliponaxis Bool `json:"cliponaxis,omitempty"` + + // Constraintext + // default: both + // type: enumerated + // Constrain the size of text inside or outside a bar to be no larger than the bar itself. + Constraintext BarConstraintext `json:"constraintext,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Dx + // arrayOK: false + // type: number + // Sets the x coordinate step. See `x0` for more info. + Dx float64 `json:"dx,omitempty"` + + // Dy + // arrayOK: false + // type: number + // Sets the y coordinate step. See `y0` for more info. + Dy float64 `json:"dy,omitempty"` + + // ErrorX + // role: Object + ErrorX *BarErrorX `json:"error_x,omitempty"` + + // ErrorY + // role: Object + ErrorY *BarErrorY `json:"error_y,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo BarHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *BarHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Finally, the template string has access to variables `value` and `label`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Insidetextanchor + // default: end + // type: enumerated + // Determines if texts are kept at center or start/end points in `textposition` *inside* mode. + Insidetextanchor BarInsidetextanchor `json:"insidetextanchor,omitempty"` + + // Insidetextfont + // role: Object + Insidetextfont *BarInsidetextfont `json:"insidetextfont,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *BarLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Marker + // role: Object + Marker *BarMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Offset + // arrayOK: true + // 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. + Offset float64 `json:"offset,omitempty"` + + // Offsetgroup + // arrayOK: false + // 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. + Offsetgroup String `json:"offsetgroup,omitempty"` + + // Offsetsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `offset`. + Offsetsrc String `json:"offsetsrc,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Orientation + // default: %!s() + // type: enumerated + // Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal). + Orientation BarOrientation `json:"orientation,omitempty"` + + // Outsidetextfont + // role: Object + Outsidetextfont *BarOutsidetextfont `json:"outsidetextfont,omitempty"` + + // Selected + // role: Object + Selected *BarSelected `json:"selected,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Stream + // role: Object + Stream *BarStream `json:"stream,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textangle + // arrayOK: false + // 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. + Textangle float64 `json:"textangle,omitempty"` + + // Textfont + // role: Object + Textfont *BarTextfont `json:"textfont,omitempty"` + + // Textposition + // default: auto + // type: enumerated + // 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. + Textposition BarTextposition `json:"textposition,omitempty"` + + // Textpositionsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `textposition`. + Textpositionsrc String `json:"textpositionsrc,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: true + // 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 `value` and `label`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Texttemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `texttemplate`. + Texttemplatesrc String `json:"texttemplatesrc,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Unselected + // role: Object + Unselected *BarUnselected `json:"unselected,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible BarVisible `json:"visible,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the bar width (in position axis units). + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the x coordinates. + X interface{} `json:"x,omitempty"` + + // X0 + // arrayOK: false + // type: any + // Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step. + X0 interface{} `json:"x0,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Xcalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `x` date data. + Xcalendar BarXcalendar `json:"xcalendar,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xperiod + // arrayOK: false + // type: any + // Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer. + Xperiod interface{} `json:"xperiod,omitempty"` + + // Xperiod0 + // arrayOK: false + // type: any + // 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. + Xperiod0 interface{} `json:"xperiod0,omitempty"` + + // Xperiodalignment + // default: middle + // type: enumerated + // Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. + Xperiodalignment BarXperiodalignment `json:"xperiodalignment,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the y coordinates. + Y interface{} `json:"y,omitempty"` + + // Y0 + // arrayOK: false + // type: any + // Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step. + Y0 interface{} `json:"y0,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` + + // Ycalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `y` date data. + Ycalendar BarYcalendar `json:"ycalendar,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Yperiod + // arrayOK: false + // type: any + // Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the y axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer. + Yperiod interface{} `json:"yperiod,omitempty"` + + // Yperiod0 + // arrayOK: false + // type: any + // 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. + Yperiod0 interface{} `json:"yperiod0,omitempty"` + + // Yperiodalignment + // default: middle + // type: enumerated + // Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis. + Yperiodalignment BarYperiodalignment `json:"yperiodalignment,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` + + // Zorder + // arrayOK: false + // 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`. + Zorder int64 `json:"zorder,omitempty"` +} + +// BarErrorX +type BarErrorX struct { + + // Array + // arrayOK: false + // type: data_array + // Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data. + Array interface{} `json:"array,omitempty"` + + // Arrayminus + // arrayOK: false + // 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. + Arrayminus interface{} `json:"arrayminus,omitempty"` + + // Arrayminussrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `arrayminus`. + Arrayminussrc String `json:"arrayminussrc,omitempty"` + + // Arraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `array`. + Arraysrc String `json:"arraysrc,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the stoke color of the error bars. + Color Color `json:"color,omitempty"` + + // CopyYstyle + // arrayOK: false + // type: boolean + // + CopyYstyle Bool `json:"copy_ystyle,omitempty"` + + // Symmetric + // arrayOK: false + // 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. + Symmetric Bool `json:"symmetric,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness (in px) of the error bars. + Thickness float64 `json:"thickness,omitempty"` + + // Traceref + // arrayOK: false + // type: integer + // + Traceref int64 `json:"traceref,omitempty"` + + // Tracerefminus + // arrayOK: false + // type: integer + // + Tracerefminus int64 `json:"tracerefminus,omitempty"` + + // Type + // default: %!s() + // type: enumerated + // 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`. + Type BarErrorXType `json:"type,omitempty"` + + // Value + // arrayOK: false + // type: number + // 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. + Value float64 `json:"value,omitempty"` + + // Valueminus + // arrayOK: false + // type: number + // 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 + Valueminus float64 `json:"valueminus,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Determines whether or not this set of error bars is visible. + Visible Bool `json:"visible,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of the cross-bar at both ends of the error bars. + Width float64 `json:"width,omitempty"` +} + +// BarErrorY +type BarErrorY struct { + + // Array + // arrayOK: false + // type: data_array + // Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data. + Array interface{} `json:"array,omitempty"` + + // Arrayminus + // arrayOK: false + // 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. + Arrayminus interface{} `json:"arrayminus,omitempty"` + + // Arrayminussrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `arrayminus`. + Arrayminussrc String `json:"arrayminussrc,omitempty"` + + // Arraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `array`. + Arraysrc String `json:"arraysrc,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the stoke color of the error bars. + Color Color `json:"color,omitempty"` + + // Symmetric + // arrayOK: false + // 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. + Symmetric Bool `json:"symmetric,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness (in px) of the error bars. + Thickness float64 `json:"thickness,omitempty"` + + // Traceref + // arrayOK: false + // type: integer + // + Traceref int64 `json:"traceref,omitempty"` + + // Tracerefminus + // arrayOK: false + // type: integer + // + Tracerefminus int64 `json:"tracerefminus,omitempty"` + + // Type + // default: %!s() + // type: enumerated + // 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`. + Type BarErrorYType `json:"type,omitempty"` + + // Value + // arrayOK: false + // type: number + // 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. + Value float64 `json:"value,omitempty"` + + // Valueminus + // arrayOK: false + // type: number + // 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 + Valueminus float64 `json:"valueminus,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Determines whether or not this set of error bars is visible. + Visible Bool `json:"visible,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of the cross-bar at both ends of the error bars. + Width float64 `json:"width,omitempty"` +} + +// BarHoverlabelFont Sets the font used in hover labels. +type BarHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// BarHoverlabel +type BarHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align BarHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *BarHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// BarInsidetextfont Sets the font used for `text` lying inside the bar. +type BarInsidetextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// BarLegendgrouptitleFont Sets this legend group's title font. +type BarLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// BarLegendgrouptitle +type BarLegendgrouptitle struct { + + // Font + // role: Object + Font *BarLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// BarMarkerColorbarTickfont Sets the color bar's tick label font +type BarMarkerColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// BarMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type BarMarkerColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// BarMarkerColorbarTitle +type BarMarkerColorbarTitle struct { + + // Font + // role: Object + Font *BarMarkerColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side BarMarkerColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// BarMarkerColorbar +type BarMarkerColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat BarMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode BarMarkerColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation BarMarkerColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent BarMarkerColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix BarMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix BarMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode BarMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *BarMarkerColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow BarMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition BarMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode BarMarkerColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks BarMarkerColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *BarMarkerColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor BarMarkerColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref BarMarkerColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor BarMarkerColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref BarMarkerColorbarYref `json:"yref,omitempty"` +} + +// BarMarkerLine +type BarMarkerLine struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the lines bounding the marker points. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// BarMarkerPattern Sets the pattern within the marker. +type BarMarkerPattern struct { + + // Bgcolor + // arrayOK: true + // type: color + // 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. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Fgcolor + // arrayOK: true + // type: color + // 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`. + Fgcolor Color `json:"fgcolor,omitempty"` + + // Fgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `fgcolor`. + Fgcolorsrc String `json:"fgcolorsrc,omitempty"` + + // Fgopacity + // arrayOK: false + // type: number + // Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1. + Fgopacity float64 `json:"fgopacity,omitempty"` + + // Fillmode + // default: replace + // type: enumerated + // Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. + Fillmode BarMarkerPatternFillmode `json:"fillmode,omitempty"` + + // Shape + // default: + // type: enumerated + // Sets the shape of the pattern fill. By default, no pattern is used for filling the area. + Shape BarMarkerPatternShape `json:"shape,omitempty"` + + // Shapesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `shape`. + Shapesrc String `json:"shapesrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Solidity + // arrayOK: true + // type: number + // 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. + Solidity float64 `json:"solidity,omitempty"` + + // Soliditysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `solidity`. + Soliditysrc String `json:"soliditysrc,omitempty"` +} + +// BarMarker +type BarMarker struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *BarMarkerColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Cornerradius + // arrayOK: false + // type: any + // 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. + Cornerradius interface{} `json:"cornerradius,omitempty"` + + // Line + // role: Object + Line *BarMarkerLine `json:"line,omitempty"` + + // Opacity + // arrayOK: true + // type: number + // Sets the opacity of the bars. + Opacity float64 `json:"opacity,omitempty"` + + // Opacitysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `opacity`. + Opacitysrc String `json:"opacitysrc,omitempty"` + + // Pattern + // role: Object + Pattern *BarMarkerPattern `json:"pattern,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` +} + +// BarOutsidetextfont Sets the font used for `text` lying outside the bar. +type BarOutsidetextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// BarSelectedMarker +type BarSelectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of selected points. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of selected points. + Opacity float64 `json:"opacity,omitempty"` +} + +// BarSelectedTextfont +type BarSelectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of selected points. + Color Color `json:"color,omitempty"` +} + +// BarSelected +type BarSelected struct { + + // Marker + // role: Object + Marker *BarSelectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *BarSelectedTextfont `json:"textfont,omitempty"` +} + +// BarStream +type BarStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// BarTextfont Sets the font used for `text`. +type BarTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// BarUnselectedMarker +type BarUnselectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of unselected points, applied only when a selection exists. + Opacity float64 `json:"opacity,omitempty"` +} + +// BarUnselectedTextfont +type BarUnselectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` +} + +// BarUnselected +type BarUnselected struct { + + // Marker + // role: Object + Marker *BarUnselectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *BarUnselectedTextfont `json:"textfont,omitempty"` +} + +// BarConstraintext Constrain the size of text inside or outside a bar to be no larger than the bar itself. +type BarConstraintext string + +const ( + BarConstraintextInside BarConstraintext = "inside" + BarConstraintextOutside BarConstraintext = "outside" + BarConstraintextBoth BarConstraintext = "both" + BarConstraintextNone BarConstraintext = "none" +) + +// BarErrorXType 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`. +type BarErrorXType string + +const ( + BarErrorXTypePercent BarErrorXType = "percent" + BarErrorXTypeConstant BarErrorXType = "constant" + BarErrorXTypeSqrt BarErrorXType = "sqrt" + BarErrorXTypeData BarErrorXType = "data" +) + +// BarErrorYType 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`. +type BarErrorYType string + +const ( + BarErrorYTypePercent BarErrorYType = "percent" + BarErrorYTypeConstant BarErrorYType = "constant" + BarErrorYTypeSqrt BarErrorYType = "sqrt" + BarErrorYTypeData BarErrorYType = "data" +) + +// BarHoverlabelAlign 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 +type BarHoverlabelAlign string + +const ( + BarHoverlabelAlignLeft BarHoverlabelAlign = "left" + BarHoverlabelAlignRight BarHoverlabelAlign = "right" + BarHoverlabelAlignAuto BarHoverlabelAlign = "auto" +) + +// BarInsidetextanchor Determines if texts are kept at center or start/end points in `textposition` *inside* mode. +type BarInsidetextanchor string + +const ( + BarInsidetextanchorEnd BarInsidetextanchor = "end" + BarInsidetextanchorMiddle BarInsidetextanchor = "middle" + BarInsidetextanchorStart BarInsidetextanchor = "start" +) + +// BarMarkerColorbarExponentformat 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. +type BarMarkerColorbarExponentformat string + +const ( + BarMarkerColorbarExponentformatNone BarMarkerColorbarExponentformat = "none" + BarMarkerColorbarExponentformatE1 BarMarkerColorbarExponentformat = "e" + BarMarkerColorbarExponentformatE2 BarMarkerColorbarExponentformat = "E" + BarMarkerColorbarExponentformatPower BarMarkerColorbarExponentformat = "power" + BarMarkerColorbarExponentformatSI BarMarkerColorbarExponentformat = "SI" + BarMarkerColorbarExponentformatB BarMarkerColorbarExponentformat = "B" +) + +// BarMarkerColorbarLenmode 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. +type BarMarkerColorbarLenmode string + +const ( + BarMarkerColorbarLenmodeFraction BarMarkerColorbarLenmode = "fraction" + BarMarkerColorbarLenmodePixels BarMarkerColorbarLenmode = "pixels" +) + +// BarMarkerColorbarOrientation Sets the orientation of the colorbar. +type BarMarkerColorbarOrientation string + +const ( + BarMarkerColorbarOrientationH BarMarkerColorbarOrientation = "h" + BarMarkerColorbarOrientationV BarMarkerColorbarOrientation = "v" +) + +// BarMarkerColorbarShowexponent 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. +type BarMarkerColorbarShowexponent string + +const ( + BarMarkerColorbarShowexponentAll BarMarkerColorbarShowexponent = "all" + BarMarkerColorbarShowexponentFirst BarMarkerColorbarShowexponent = "first" + BarMarkerColorbarShowexponentLast BarMarkerColorbarShowexponent = "last" + BarMarkerColorbarShowexponentNone BarMarkerColorbarShowexponent = "none" +) + +// BarMarkerColorbarShowtickprefix 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. +type BarMarkerColorbarShowtickprefix string + +const ( + BarMarkerColorbarShowtickprefixAll BarMarkerColorbarShowtickprefix = "all" + BarMarkerColorbarShowtickprefixFirst BarMarkerColorbarShowtickprefix = "first" + BarMarkerColorbarShowtickprefixLast BarMarkerColorbarShowtickprefix = "last" + BarMarkerColorbarShowtickprefixNone BarMarkerColorbarShowtickprefix = "none" +) + +// BarMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type BarMarkerColorbarShowticksuffix string + +const ( + BarMarkerColorbarShowticksuffixAll BarMarkerColorbarShowticksuffix = "all" + BarMarkerColorbarShowticksuffixFirst BarMarkerColorbarShowticksuffix = "first" + BarMarkerColorbarShowticksuffixLast BarMarkerColorbarShowticksuffix = "last" + BarMarkerColorbarShowticksuffixNone BarMarkerColorbarShowticksuffix = "none" +) + +// BarMarkerColorbarThicknessmode 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. +type BarMarkerColorbarThicknessmode string + +const ( + BarMarkerColorbarThicknessmodeFraction BarMarkerColorbarThicknessmode = "fraction" + BarMarkerColorbarThicknessmodePixels BarMarkerColorbarThicknessmode = "pixels" +) + +// BarMarkerColorbarTicklabeloverflow 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*. +type BarMarkerColorbarTicklabeloverflow string + +const ( + BarMarkerColorbarTicklabeloverflowAllow BarMarkerColorbarTicklabeloverflow = "allow" + BarMarkerColorbarTicklabeloverflowHidePastDiv BarMarkerColorbarTicklabeloverflow = "hide past div" + BarMarkerColorbarTicklabeloverflowHidePastDomain BarMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// BarMarkerColorbarTicklabelposition 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*. +type BarMarkerColorbarTicklabelposition string + +const ( + BarMarkerColorbarTicklabelpositionOutside BarMarkerColorbarTicklabelposition = "outside" + BarMarkerColorbarTicklabelpositionInside BarMarkerColorbarTicklabelposition = "inside" + BarMarkerColorbarTicklabelpositionOutsideTop BarMarkerColorbarTicklabelposition = "outside top" + BarMarkerColorbarTicklabelpositionInsideTop BarMarkerColorbarTicklabelposition = "inside top" + BarMarkerColorbarTicklabelpositionOutsideLeft BarMarkerColorbarTicklabelposition = "outside left" + BarMarkerColorbarTicklabelpositionInsideLeft BarMarkerColorbarTicklabelposition = "inside left" + BarMarkerColorbarTicklabelpositionOutsideRight BarMarkerColorbarTicklabelposition = "outside right" + BarMarkerColorbarTicklabelpositionInsideRight BarMarkerColorbarTicklabelposition = "inside right" + BarMarkerColorbarTicklabelpositionOutsideBottom BarMarkerColorbarTicklabelposition = "outside bottom" + BarMarkerColorbarTicklabelpositionInsideBottom BarMarkerColorbarTicklabelposition = "inside bottom" +) + +// BarMarkerColorbarTickmode 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). +type BarMarkerColorbarTickmode string + +const ( + BarMarkerColorbarTickmodeAuto BarMarkerColorbarTickmode = "auto" + BarMarkerColorbarTickmodeLinear BarMarkerColorbarTickmode = "linear" + BarMarkerColorbarTickmodeArray BarMarkerColorbarTickmode = "array" +) + +// BarMarkerColorbarTicks 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. +type BarMarkerColorbarTicks string + +const ( + BarMarkerColorbarTicksOutside BarMarkerColorbarTicks = "outside" + BarMarkerColorbarTicksInside BarMarkerColorbarTicks = "inside" + BarMarkerColorbarTicksEmpty BarMarkerColorbarTicks = "" +) + +// BarMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type BarMarkerColorbarTitleSide string + +const ( + BarMarkerColorbarTitleSideRight BarMarkerColorbarTitleSide = "right" + BarMarkerColorbarTitleSideTop BarMarkerColorbarTitleSide = "top" + BarMarkerColorbarTitleSideBottom BarMarkerColorbarTitleSide = "bottom" +) + +// BarMarkerColorbarXanchor 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*. +type BarMarkerColorbarXanchor string + +const ( + BarMarkerColorbarXanchorLeft BarMarkerColorbarXanchor = "left" + BarMarkerColorbarXanchorCenter BarMarkerColorbarXanchor = "center" + BarMarkerColorbarXanchorRight BarMarkerColorbarXanchor = "right" +) + +// BarMarkerColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type BarMarkerColorbarXref string + +const ( + BarMarkerColorbarXrefContainer BarMarkerColorbarXref = "container" + BarMarkerColorbarXrefPaper BarMarkerColorbarXref = "paper" +) + +// BarMarkerColorbarYanchor 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*. +type BarMarkerColorbarYanchor string + +const ( + BarMarkerColorbarYanchorTop BarMarkerColorbarYanchor = "top" + BarMarkerColorbarYanchorMiddle BarMarkerColorbarYanchor = "middle" + BarMarkerColorbarYanchorBottom BarMarkerColorbarYanchor = "bottom" +) + +// BarMarkerColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type BarMarkerColorbarYref string + +const ( + BarMarkerColorbarYrefContainer BarMarkerColorbarYref = "container" + BarMarkerColorbarYrefPaper BarMarkerColorbarYref = "paper" +) + +// BarMarkerPatternFillmode Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. +type BarMarkerPatternFillmode string + +const ( + BarMarkerPatternFillmodeReplace BarMarkerPatternFillmode = "replace" + BarMarkerPatternFillmodeOverlay BarMarkerPatternFillmode = "overlay" +) + +// BarMarkerPatternShape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. +type BarMarkerPatternShape string + +const ( + BarMarkerPatternShapeEmpty BarMarkerPatternShape = "" + BarMarkerPatternShapeSlash BarMarkerPatternShape = "/" + BarMarkerPatternShapeDoublebackslash BarMarkerPatternShape = "\\" + BarMarkerPatternShapeX BarMarkerPatternShape = "x" + BarMarkerPatternShapeHyphenHyphen BarMarkerPatternShape = "-" + BarMarkerPatternShapeOr BarMarkerPatternShape = "|" + BarMarkerPatternShapePlus BarMarkerPatternShape = "+" + BarMarkerPatternShapeDot BarMarkerPatternShape = "." +) + +// BarOrientation Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal). +type BarOrientation string + +const ( + BarOrientationV BarOrientation = "v" + BarOrientationH BarOrientation = "h" +) + +// BarTextposition 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. +type BarTextposition string + +const ( + BarTextpositionInside BarTextposition = "inside" + BarTextpositionOutside BarTextposition = "outside" + BarTextpositionAuto BarTextposition = "auto" + BarTextpositionNone BarTextposition = "none" +) + +// BarVisible 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). +type BarVisible interface{} + +var ( + BarVisibleTrue BarVisible = true + BarVisibleFalse BarVisible = false + BarVisibleLegendonly BarVisible = "legendonly" +) + +// BarXcalendar Sets the calendar system to use with `x` date data. +type BarXcalendar string + +const ( + BarXcalendarChinese BarXcalendar = "chinese" + BarXcalendarCoptic BarXcalendar = "coptic" + BarXcalendarDiscworld BarXcalendar = "discworld" + BarXcalendarEthiopian BarXcalendar = "ethiopian" + BarXcalendarGregorian BarXcalendar = "gregorian" + BarXcalendarHebrew BarXcalendar = "hebrew" + BarXcalendarIslamic BarXcalendar = "islamic" + BarXcalendarJalali BarXcalendar = "jalali" + BarXcalendarJulian BarXcalendar = "julian" + BarXcalendarMayan BarXcalendar = "mayan" + BarXcalendarNanakshahi BarXcalendar = "nanakshahi" + BarXcalendarNepali BarXcalendar = "nepali" + BarXcalendarPersian BarXcalendar = "persian" + BarXcalendarTaiwan BarXcalendar = "taiwan" + BarXcalendarThai BarXcalendar = "thai" + BarXcalendarUmmalqura BarXcalendar = "ummalqura" +) + +// BarXperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. +type BarXperiodalignment string + +const ( + BarXperiodalignmentStart BarXperiodalignment = "start" + BarXperiodalignmentMiddle BarXperiodalignment = "middle" + BarXperiodalignmentEnd BarXperiodalignment = "end" +) + +// BarYcalendar Sets the calendar system to use with `y` date data. +type BarYcalendar string + +const ( + BarYcalendarChinese BarYcalendar = "chinese" + BarYcalendarCoptic BarYcalendar = "coptic" + BarYcalendarDiscworld BarYcalendar = "discworld" + BarYcalendarEthiopian BarYcalendar = "ethiopian" + BarYcalendarGregorian BarYcalendar = "gregorian" + BarYcalendarHebrew BarYcalendar = "hebrew" + BarYcalendarIslamic BarYcalendar = "islamic" + BarYcalendarJalali BarYcalendar = "jalali" + BarYcalendarJulian BarYcalendar = "julian" + BarYcalendarMayan BarYcalendar = "mayan" + BarYcalendarNanakshahi BarYcalendar = "nanakshahi" + BarYcalendarNepali BarYcalendar = "nepali" + BarYcalendarPersian BarYcalendar = "persian" + BarYcalendarTaiwan BarYcalendar = "taiwan" + BarYcalendarThai BarYcalendar = "thai" + BarYcalendarUmmalqura BarYcalendar = "ummalqura" +) + +// BarYperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis. +type BarYperiodalignment string + +const ( + BarYperiodalignmentStart BarYperiodalignment = "start" + BarYperiodalignmentMiddle BarYperiodalignment = "middle" + BarYperiodalignmentEnd BarYperiodalignment = "end" +) + +// BarHoverinfo 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. +type BarHoverinfo string + +const ( + // Flags + BarHoverinfoX BarHoverinfo = "x" + BarHoverinfoY BarHoverinfo = "y" + BarHoverinfoZ BarHoverinfo = "z" + BarHoverinfoText BarHoverinfo = "text" + BarHoverinfoName BarHoverinfo = "name" + + // Extra + BarHoverinfoAll BarHoverinfo = "all" + BarHoverinfoNone BarHoverinfo = "none" + BarHoverinfoSkip BarHoverinfo = "skip" +) diff --git a/generated/v2.31.1/graph_objects/barpolar_gen.go b/generated/v2.31.1/graph_objects/barpolar_gen.go new file mode 100644 index 0000000..cdbde3f --- /dev/null +++ b/generated/v2.31.1/graph_objects/barpolar_gen.go @@ -0,0 +1,1332 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeBarpolar TraceType = "barpolar" + +func (trace *Barpolar) GetType() TraceType { + return TraceTypeBarpolar +} + +// Barpolar The data visualized by the radial span of the bars is set in `r` +type Barpolar struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Base + // arrayOK: true + // type: any + // 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. + Base interface{} `json:"base,omitempty"` + + // Basesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `base`. + Basesrc String `json:"basesrc,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Dr + // arrayOK: false + // type: number + // Sets the r coordinate step. + Dr float64 `json:"dr,omitempty"` + + // Dtheta + // arrayOK: false + // 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. + Dtheta float64 `json:"dtheta,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo BarpolarHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *BarpolarHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // Same as `text`. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *BarpolarLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Marker + // role: Object + Marker *BarpolarMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Offset + // arrayOK: true + // type: number + // Shifts the angular position where the bar is drawn (in *thetatunit* units). + Offset float64 `json:"offset,omitempty"` + + // Offsetsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `offset`. + Offsetsrc String `json:"offsetsrc,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // R + // arrayOK: false + // type: data_array + // Sets the radial coordinates + R interface{} `json:"r,omitempty"` + + // R0 + // arrayOK: false + // type: any + // Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step. + R0 interface{} `json:"r0,omitempty"` + + // Rsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `r`. + Rsrc String `json:"rsrc,omitempty"` + + // Selected + // role: Object + Selected *BarpolarSelected `json:"selected,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Stream + // role: Object + Stream *BarpolarStream `json:"stream,omitempty"` + + // Subplot + // arrayOK: false + // type: subplotid + // 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. + Subplot String `json:"subplot,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Theta + // arrayOK: false + // type: data_array + // Sets the angular coordinates + Theta interface{} `json:"theta,omitempty"` + + // Theta0 + // arrayOK: false + // type: any + // Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step. + Theta0 interface{} `json:"theta0,omitempty"` + + // Thetasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `theta`. + Thetasrc String `json:"thetasrc,omitempty"` + + // Thetaunit + // default: degrees + // type: enumerated + // Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes. + Thetaunit BarpolarThetaunit `json:"thetaunit,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Unselected + // role: Object + Unselected *BarpolarUnselected `json:"unselected,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible BarpolarVisible `json:"visible,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the bar angular width (in *thetaunit* units). + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// BarpolarHoverlabelFont Sets the font used in hover labels. +type BarpolarHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// BarpolarHoverlabel +type BarpolarHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align BarpolarHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *BarpolarHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// BarpolarLegendgrouptitleFont Sets this legend group's title font. +type BarpolarLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// BarpolarLegendgrouptitle +type BarpolarLegendgrouptitle struct { + + // Font + // role: Object + Font *BarpolarLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// BarpolarMarkerColorbarTickfont Sets the color bar's tick label font +type BarpolarMarkerColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// BarpolarMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type BarpolarMarkerColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// BarpolarMarkerColorbarTitle +type BarpolarMarkerColorbarTitle struct { + + // Font + // role: Object + Font *BarpolarMarkerColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side BarpolarMarkerColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// BarpolarMarkerColorbar +type BarpolarMarkerColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat BarpolarMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode BarpolarMarkerColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation BarpolarMarkerColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent BarpolarMarkerColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix BarpolarMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix BarpolarMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode BarpolarMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *BarpolarMarkerColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow BarpolarMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition BarpolarMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode BarpolarMarkerColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks BarpolarMarkerColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *BarpolarMarkerColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor BarpolarMarkerColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref BarpolarMarkerColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor BarpolarMarkerColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref BarpolarMarkerColorbarYref `json:"yref,omitempty"` +} + +// BarpolarMarkerLine +type BarpolarMarkerLine struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the lines bounding the marker points. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// BarpolarMarkerPattern Sets the pattern within the marker. +type BarpolarMarkerPattern struct { + + // Bgcolor + // arrayOK: true + // type: color + // 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. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Fgcolor + // arrayOK: true + // type: color + // 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`. + Fgcolor Color `json:"fgcolor,omitempty"` + + // Fgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `fgcolor`. + Fgcolorsrc String `json:"fgcolorsrc,omitempty"` + + // Fgopacity + // arrayOK: false + // type: number + // Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1. + Fgopacity float64 `json:"fgopacity,omitempty"` + + // Fillmode + // default: replace + // type: enumerated + // Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. + Fillmode BarpolarMarkerPatternFillmode `json:"fillmode,omitempty"` + + // Shape + // default: + // type: enumerated + // Sets the shape of the pattern fill. By default, no pattern is used for filling the area. + Shape BarpolarMarkerPatternShape `json:"shape,omitempty"` + + // Shapesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `shape`. + Shapesrc String `json:"shapesrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Solidity + // arrayOK: true + // type: number + // 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. + Solidity float64 `json:"solidity,omitempty"` + + // Soliditysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `solidity`. + Soliditysrc String `json:"soliditysrc,omitempty"` +} + +// BarpolarMarker +type BarpolarMarker struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *BarpolarMarkerColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Line + // role: Object + Line *BarpolarMarkerLine `json:"line,omitempty"` + + // Opacity + // arrayOK: true + // type: number + // Sets the opacity of the bars. + Opacity float64 `json:"opacity,omitempty"` + + // Opacitysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `opacity`. + Opacitysrc String `json:"opacitysrc,omitempty"` + + // Pattern + // role: Object + Pattern *BarpolarMarkerPattern `json:"pattern,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` +} + +// BarpolarSelectedMarker +type BarpolarSelectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of selected points. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of selected points. + Opacity float64 `json:"opacity,omitempty"` +} + +// BarpolarSelectedTextfont +type BarpolarSelectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of selected points. + Color Color `json:"color,omitempty"` +} + +// BarpolarSelected +type BarpolarSelected struct { + + // Marker + // role: Object + Marker *BarpolarSelectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *BarpolarSelectedTextfont `json:"textfont,omitempty"` +} + +// BarpolarStream +type BarpolarStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// BarpolarUnselectedMarker +type BarpolarUnselectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of unselected points, applied only when a selection exists. + Opacity float64 `json:"opacity,omitempty"` +} + +// BarpolarUnselectedTextfont +type BarpolarUnselectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` +} + +// BarpolarUnselected +type BarpolarUnselected struct { + + // Marker + // role: Object + Marker *BarpolarUnselectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *BarpolarUnselectedTextfont `json:"textfont,omitempty"` +} + +// BarpolarHoverlabelAlign 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 +type BarpolarHoverlabelAlign string + +const ( + BarpolarHoverlabelAlignLeft BarpolarHoverlabelAlign = "left" + BarpolarHoverlabelAlignRight BarpolarHoverlabelAlign = "right" + BarpolarHoverlabelAlignAuto BarpolarHoverlabelAlign = "auto" +) + +// BarpolarMarkerColorbarExponentformat 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. +type BarpolarMarkerColorbarExponentformat string + +const ( + BarpolarMarkerColorbarExponentformatNone BarpolarMarkerColorbarExponentformat = "none" + BarpolarMarkerColorbarExponentformatE1 BarpolarMarkerColorbarExponentformat = "e" + BarpolarMarkerColorbarExponentformatE2 BarpolarMarkerColorbarExponentformat = "E" + BarpolarMarkerColorbarExponentformatPower BarpolarMarkerColorbarExponentformat = "power" + BarpolarMarkerColorbarExponentformatSI BarpolarMarkerColorbarExponentformat = "SI" + BarpolarMarkerColorbarExponentformatB BarpolarMarkerColorbarExponentformat = "B" +) + +// BarpolarMarkerColorbarLenmode 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. +type BarpolarMarkerColorbarLenmode string + +const ( + BarpolarMarkerColorbarLenmodeFraction BarpolarMarkerColorbarLenmode = "fraction" + BarpolarMarkerColorbarLenmodePixels BarpolarMarkerColorbarLenmode = "pixels" +) + +// BarpolarMarkerColorbarOrientation Sets the orientation of the colorbar. +type BarpolarMarkerColorbarOrientation string + +const ( + BarpolarMarkerColorbarOrientationH BarpolarMarkerColorbarOrientation = "h" + BarpolarMarkerColorbarOrientationV BarpolarMarkerColorbarOrientation = "v" +) + +// BarpolarMarkerColorbarShowexponent 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. +type BarpolarMarkerColorbarShowexponent string + +const ( + BarpolarMarkerColorbarShowexponentAll BarpolarMarkerColorbarShowexponent = "all" + BarpolarMarkerColorbarShowexponentFirst BarpolarMarkerColorbarShowexponent = "first" + BarpolarMarkerColorbarShowexponentLast BarpolarMarkerColorbarShowexponent = "last" + BarpolarMarkerColorbarShowexponentNone BarpolarMarkerColorbarShowexponent = "none" +) + +// BarpolarMarkerColorbarShowtickprefix 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. +type BarpolarMarkerColorbarShowtickprefix string + +const ( + BarpolarMarkerColorbarShowtickprefixAll BarpolarMarkerColorbarShowtickprefix = "all" + BarpolarMarkerColorbarShowtickprefixFirst BarpolarMarkerColorbarShowtickprefix = "first" + BarpolarMarkerColorbarShowtickprefixLast BarpolarMarkerColorbarShowtickprefix = "last" + BarpolarMarkerColorbarShowtickprefixNone BarpolarMarkerColorbarShowtickprefix = "none" +) + +// BarpolarMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type BarpolarMarkerColorbarShowticksuffix string + +const ( + BarpolarMarkerColorbarShowticksuffixAll BarpolarMarkerColorbarShowticksuffix = "all" + BarpolarMarkerColorbarShowticksuffixFirst BarpolarMarkerColorbarShowticksuffix = "first" + BarpolarMarkerColorbarShowticksuffixLast BarpolarMarkerColorbarShowticksuffix = "last" + BarpolarMarkerColorbarShowticksuffixNone BarpolarMarkerColorbarShowticksuffix = "none" +) + +// BarpolarMarkerColorbarThicknessmode 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. +type BarpolarMarkerColorbarThicknessmode string + +const ( + BarpolarMarkerColorbarThicknessmodeFraction BarpolarMarkerColorbarThicknessmode = "fraction" + BarpolarMarkerColorbarThicknessmodePixels BarpolarMarkerColorbarThicknessmode = "pixels" +) + +// BarpolarMarkerColorbarTicklabeloverflow 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*. +type BarpolarMarkerColorbarTicklabeloverflow string + +const ( + BarpolarMarkerColorbarTicklabeloverflowAllow BarpolarMarkerColorbarTicklabeloverflow = "allow" + BarpolarMarkerColorbarTicklabeloverflowHidePastDiv BarpolarMarkerColorbarTicklabeloverflow = "hide past div" + BarpolarMarkerColorbarTicklabeloverflowHidePastDomain BarpolarMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// BarpolarMarkerColorbarTicklabelposition 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*. +type BarpolarMarkerColorbarTicklabelposition string + +const ( + BarpolarMarkerColorbarTicklabelpositionOutside BarpolarMarkerColorbarTicklabelposition = "outside" + BarpolarMarkerColorbarTicklabelpositionInside BarpolarMarkerColorbarTicklabelposition = "inside" + BarpolarMarkerColorbarTicklabelpositionOutsideTop BarpolarMarkerColorbarTicklabelposition = "outside top" + BarpolarMarkerColorbarTicklabelpositionInsideTop BarpolarMarkerColorbarTicklabelposition = "inside top" + BarpolarMarkerColorbarTicklabelpositionOutsideLeft BarpolarMarkerColorbarTicklabelposition = "outside left" + BarpolarMarkerColorbarTicklabelpositionInsideLeft BarpolarMarkerColorbarTicklabelposition = "inside left" + BarpolarMarkerColorbarTicklabelpositionOutsideRight BarpolarMarkerColorbarTicklabelposition = "outside right" + BarpolarMarkerColorbarTicklabelpositionInsideRight BarpolarMarkerColorbarTicklabelposition = "inside right" + BarpolarMarkerColorbarTicklabelpositionOutsideBottom BarpolarMarkerColorbarTicklabelposition = "outside bottom" + BarpolarMarkerColorbarTicklabelpositionInsideBottom BarpolarMarkerColorbarTicklabelposition = "inside bottom" +) + +// BarpolarMarkerColorbarTickmode 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). +type BarpolarMarkerColorbarTickmode string + +const ( + BarpolarMarkerColorbarTickmodeAuto BarpolarMarkerColorbarTickmode = "auto" + BarpolarMarkerColorbarTickmodeLinear BarpolarMarkerColorbarTickmode = "linear" + BarpolarMarkerColorbarTickmodeArray BarpolarMarkerColorbarTickmode = "array" +) + +// BarpolarMarkerColorbarTicks 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. +type BarpolarMarkerColorbarTicks string + +const ( + BarpolarMarkerColorbarTicksOutside BarpolarMarkerColorbarTicks = "outside" + BarpolarMarkerColorbarTicksInside BarpolarMarkerColorbarTicks = "inside" + BarpolarMarkerColorbarTicksEmpty BarpolarMarkerColorbarTicks = "" +) + +// BarpolarMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type BarpolarMarkerColorbarTitleSide string + +const ( + BarpolarMarkerColorbarTitleSideRight BarpolarMarkerColorbarTitleSide = "right" + BarpolarMarkerColorbarTitleSideTop BarpolarMarkerColorbarTitleSide = "top" + BarpolarMarkerColorbarTitleSideBottom BarpolarMarkerColorbarTitleSide = "bottom" +) + +// BarpolarMarkerColorbarXanchor 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*. +type BarpolarMarkerColorbarXanchor string + +const ( + BarpolarMarkerColorbarXanchorLeft BarpolarMarkerColorbarXanchor = "left" + BarpolarMarkerColorbarXanchorCenter BarpolarMarkerColorbarXanchor = "center" + BarpolarMarkerColorbarXanchorRight BarpolarMarkerColorbarXanchor = "right" +) + +// BarpolarMarkerColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type BarpolarMarkerColorbarXref string + +const ( + BarpolarMarkerColorbarXrefContainer BarpolarMarkerColorbarXref = "container" + BarpolarMarkerColorbarXrefPaper BarpolarMarkerColorbarXref = "paper" +) + +// BarpolarMarkerColorbarYanchor 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*. +type BarpolarMarkerColorbarYanchor string + +const ( + BarpolarMarkerColorbarYanchorTop BarpolarMarkerColorbarYanchor = "top" + BarpolarMarkerColorbarYanchorMiddle BarpolarMarkerColorbarYanchor = "middle" + BarpolarMarkerColorbarYanchorBottom BarpolarMarkerColorbarYanchor = "bottom" +) + +// BarpolarMarkerColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type BarpolarMarkerColorbarYref string + +const ( + BarpolarMarkerColorbarYrefContainer BarpolarMarkerColorbarYref = "container" + BarpolarMarkerColorbarYrefPaper BarpolarMarkerColorbarYref = "paper" +) + +// BarpolarMarkerPatternFillmode Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. +type BarpolarMarkerPatternFillmode string + +const ( + BarpolarMarkerPatternFillmodeReplace BarpolarMarkerPatternFillmode = "replace" + BarpolarMarkerPatternFillmodeOverlay BarpolarMarkerPatternFillmode = "overlay" +) + +// BarpolarMarkerPatternShape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. +type BarpolarMarkerPatternShape string + +const ( + BarpolarMarkerPatternShapeEmpty BarpolarMarkerPatternShape = "" + BarpolarMarkerPatternShapeSlash BarpolarMarkerPatternShape = "/" + BarpolarMarkerPatternShapeDoublebackslash BarpolarMarkerPatternShape = "\\" + BarpolarMarkerPatternShapeX BarpolarMarkerPatternShape = "x" + BarpolarMarkerPatternShapeHyphenHyphen BarpolarMarkerPatternShape = "-" + BarpolarMarkerPatternShapeOr BarpolarMarkerPatternShape = "|" + BarpolarMarkerPatternShapePlus BarpolarMarkerPatternShape = "+" + BarpolarMarkerPatternShapeDot BarpolarMarkerPatternShape = "." +) + +// BarpolarThetaunit Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes. +type BarpolarThetaunit string + +const ( + BarpolarThetaunitRadians BarpolarThetaunit = "radians" + BarpolarThetaunitDegrees BarpolarThetaunit = "degrees" + BarpolarThetaunitGradians BarpolarThetaunit = "gradians" +) + +// BarpolarVisible 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). +type BarpolarVisible interface{} + +var ( + BarpolarVisibleTrue BarpolarVisible = true + BarpolarVisibleFalse BarpolarVisible = false + BarpolarVisibleLegendonly BarpolarVisible = "legendonly" +) + +// BarpolarHoverinfo 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. +type BarpolarHoverinfo string + +const ( + // Flags + BarpolarHoverinfoR BarpolarHoverinfo = "r" + BarpolarHoverinfoTheta BarpolarHoverinfo = "theta" + BarpolarHoverinfoText BarpolarHoverinfo = "text" + BarpolarHoverinfoName BarpolarHoverinfo = "name" + + // Extra + BarpolarHoverinfoAll BarpolarHoverinfo = "all" + BarpolarHoverinfoNone BarpolarHoverinfo = "none" + BarpolarHoverinfoSkip BarpolarHoverinfo = "skip" +) diff --git a/generated/v2.31.1/graph_objects/box_gen.go b/generated/v2.31.1/graph_objects/box_gen.go new file mode 100644 index 0000000..74df49f --- /dev/null +++ b/generated/v2.31.1/graph_objects/box_gen.go @@ -0,0 +1,1466 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeBox TraceType = "box" + +func (trace *Box) GetType() TraceType { + return TraceTypeBox +} + +// Box 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. +type Box struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Alignmentgroup + // arrayOK: false + // 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. + Alignmentgroup String `json:"alignmentgroup,omitempty"` + + // Boxmean + // default: %!s() + // type: enumerated + // 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*. + Boxmean BoxBoxmean `json:"boxmean,omitempty"` + + // Boxpoints + // default: %!s() + // type: enumerated + // 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*. + Boxpoints BoxBoxpoints `json:"boxpoints,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Dx + // arrayOK: false + // type: number + // Sets the x coordinate step for multi-box traces set using q1/median/q3. + Dx float64 `json:"dx,omitempty"` + + // Dy + // arrayOK: false + // type: number + // Sets the y coordinate step for multi-box traces set using q1/median/q3. + Dy float64 `json:"dy,omitempty"` + + // Fillcolor + // arrayOK: false + // 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. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo BoxHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *BoxHoverlabel `json:"hoverlabel,omitempty"` + + // Hoveron + // default: boxes+points + // type: flaglist + // Do the hover effects highlight individual boxes or sample points or both? + Hoveron BoxHoveron `json:"hoveron,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // Same as `text`. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Jitter + // arrayOK: false + // type: number + // 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). + Jitter float64 `json:"jitter,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *BoxLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *BoxLine `json:"line,omitempty"` + + // Lowerfence + // arrayOK: false + // 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. + Lowerfence interface{} `json:"lowerfence,omitempty"` + + // Lowerfencesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `lowerfence`. + Lowerfencesrc String `json:"lowerfencesrc,omitempty"` + + // Marker + // role: Object + Marker *BoxMarker `json:"marker,omitempty"` + + // Mean + // arrayOK: false + // 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. + Mean interface{} `json:"mean,omitempty"` + + // Meansrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `mean`. + Meansrc String `json:"meansrc,omitempty"` + + // Median + // arrayOK: false + // type: data_array + // Sets the median values. There should be as many items as the number of boxes desired. + Median interface{} `json:"median,omitempty"` + + // Mediansrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `median`. + Mediansrc String `json:"mediansrc,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // 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 + Name String `json:"name,omitempty"` + + // Notched + // arrayOK: false + // 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. + Notched Bool `json:"notched,omitempty"` + + // Notchspan + // arrayOK: false + // 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. + Notchspan interface{} `json:"notchspan,omitempty"` + + // Notchspansrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `notchspan`. + Notchspansrc String `json:"notchspansrc,omitempty"` + + // Notchwidth + // arrayOK: false + // type: number + // Sets the width of the notches relative to the box' width. For example, with 0, the notches are as wide as the box(es). + Notchwidth float64 `json:"notchwidth,omitempty"` + + // Offsetgroup + // arrayOK: false + // 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. + Offsetgroup String `json:"offsetgroup,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Orientation + // default: %!s() + // type: enumerated + // Sets the orientation of the box(es). If *v* (*h*), the distribution is visualized along the vertical (horizontal). + Orientation BoxOrientation `json:"orientation,omitempty"` + + // Pointpos + // arrayOK: false + // type: number + // 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 + Pointpos float64 `json:"pointpos,omitempty"` + + // Q1 + // arrayOK: false + // type: data_array + // Sets the Quartile 1 values. There should be as many items as the number of boxes desired. + Q1 interface{} `json:"q1,omitempty"` + + // Q1src + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `q1`. + Q1src String `json:"q1src,omitempty"` + + // Q3 + // arrayOK: false + // type: data_array + // Sets the Quartile 3 values. There should be as many items as the number of boxes desired. + Q3 interface{} `json:"q3,omitempty"` + + // Q3src + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `q3`. + Q3src String `json:"q3src,omitempty"` + + // Quartilemethod + // default: linear + // type: enumerated + // 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. + Quartilemethod BoxQuartilemethod `json:"quartilemethod,omitempty"` + + // Sd + // arrayOK: false + // 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. + Sd interface{} `json:"sd,omitempty"` + + // Sdmultiple + // arrayOK: false + // type: number + // Scales the box size when sizemode=sd Allowing boxes to be drawn across any stddev range For example 1-stddev, 3-stddev, 5-stddev + Sdmultiple float64 `json:"sdmultiple,omitempty"` + + // Sdsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `sd`. + Sdsrc String `json:"sdsrc,omitempty"` + + // Selected + // role: Object + Selected *BoxSelected `json:"selected,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Showwhiskers + // arrayOK: false + // type: boolean + // Determines whether or not whiskers are visible. Defaults to true for `sizemode` *quartiles*, false for *sd*. + Showwhiskers Bool `json:"showwhiskers,omitempty"` + + // Sizemode + // default: quartiles + // type: enumerated + // 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 + Sizemode BoxSizemode `json:"sizemode,omitempty"` + + // Stream + // role: Object + Stream *BoxStream `json:"stream,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Unselected + // role: Object + Unselected *BoxUnselected `json:"unselected,omitempty"` + + // Upperfence + // arrayOK: false + // 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. + Upperfence interface{} `json:"upperfence,omitempty"` + + // Upperfencesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `upperfence`. + Upperfencesrc String `json:"upperfencesrc,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible BoxVisible `json:"visible,omitempty"` + + // Whiskerwidth + // arrayOK: false + // type: number + // Sets the width of the whiskers relative to the box' width. For example, with 1, the whiskers are as wide as the box(es). + Whiskerwidth float64 `json:"whiskerwidth,omitempty"` + + // Width + // arrayOK: false + // 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. + Width float64 `json:"width,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the x sample data or coordinates. See overview for more info. + X interface{} `json:"x,omitempty"` + + // X0 + // arrayOK: false + // type: any + // 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. + X0 interface{} `json:"x0,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Xcalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `x` date data. + Xcalendar BoxXcalendar `json:"xcalendar,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xperiod + // arrayOK: false + // type: any + // Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer. + Xperiod interface{} `json:"xperiod,omitempty"` + + // Xperiod0 + // arrayOK: false + // type: any + // 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. + Xperiod0 interface{} `json:"xperiod0,omitempty"` + + // Xperiodalignment + // default: middle + // type: enumerated + // Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. + Xperiodalignment BoxXperiodalignment `json:"xperiodalignment,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the y sample data or coordinates. See overview for more info. + Y interface{} `json:"y,omitempty"` + + // Y0 + // arrayOK: false + // type: any + // 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. + Y0 interface{} `json:"y0,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` + + // Ycalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `y` date data. + Ycalendar BoxYcalendar `json:"ycalendar,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Yperiod + // arrayOK: false + // type: any + // Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the y axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer. + Yperiod interface{} `json:"yperiod,omitempty"` + + // Yperiod0 + // arrayOK: false + // type: any + // 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. + Yperiod0 interface{} `json:"yperiod0,omitempty"` + + // Yperiodalignment + // default: middle + // type: enumerated + // Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis. + Yperiodalignment BoxYperiodalignment `json:"yperiodalignment,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` + + // Zorder + // arrayOK: false + // 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`. + Zorder int64 `json:"zorder,omitempty"` +} + +// BoxHoverlabelFont Sets the font used in hover labels. +type BoxHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// BoxHoverlabel +type BoxHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align BoxHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *BoxHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// BoxLegendgrouptitleFont Sets this legend group's title font. +type BoxLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// BoxLegendgrouptitle +type BoxLegendgrouptitle struct { + + // Font + // role: Object + Font *BoxLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// BoxLine +type BoxLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the color of line bounding the box(es). + Color Color `json:"color,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of line bounding the box(es). + Width float64 `json:"width,omitempty"` +} + +// BoxMarkerLine +type BoxMarkerLine struct { + + // Color + // arrayOK: false + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Outliercolor + // arrayOK: false + // type: color + // Sets the border line color of the outlier sample points. Defaults to marker.color + Outliercolor Color `json:"outliercolor,omitempty"` + + // Outlierwidth + // arrayOK: false + // type: number + // Sets the border line width (in px) of the outlier sample points. + Outlierwidth float64 `json:"outlierwidth,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of the lines bounding the marker points. + Width float64 `json:"width,omitempty"` +} + +// BoxMarker +type BoxMarker struct { + + // Angle + // arrayOK: false + // type: angle + // Sets the marker angle in respect to `angleref`. + Angle float64 `json:"angle,omitempty"` + + // Color + // arrayOK: false + // 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. + Color Color `json:"color,omitempty"` + + // Line + // role: Object + Line *BoxMarkerLine `json:"line,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity. + Opacity float64 `json:"opacity,omitempty"` + + // Outliercolor + // arrayOK: false + // type: color + // Sets the color of the outlier sample points. + Outliercolor Color `json:"outliercolor,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size (in px). + Size float64 `json:"size,omitempty"` + + // Symbol + // default: circle + // type: enumerated + // 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. + Symbol BoxMarkerSymbol `json:"symbol,omitempty"` +} + +// BoxSelectedMarker +type BoxSelectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of selected points. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of selected points. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of selected points. + Size float64 `json:"size,omitempty"` +} + +// BoxSelected +type BoxSelected struct { + + // Marker + // role: Object + Marker *BoxSelectedMarker `json:"marker,omitempty"` +} + +// BoxStream +type BoxStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// BoxUnselectedMarker +type BoxUnselectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of unselected points, applied only when a selection exists. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of unselected points, applied only when a selection exists. + Size float64 `json:"size,omitempty"` +} + +// BoxUnselected +type BoxUnselected struct { + + // Marker + // role: Object + Marker *BoxUnselectedMarker `json:"marker,omitempty"` +} + +// BoxBoxmean 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*. +type BoxBoxmean interface{} + +var ( + BoxBoxmeanTrue BoxBoxmean = true + BoxBoxmeanSd BoxBoxmean = "sd" + BoxBoxmeanFalse BoxBoxmean = false +) + +// BoxBoxpoints 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*. +type BoxBoxpoints interface{} + +var ( + BoxBoxpointsAll BoxBoxpoints = "all" + BoxBoxpointsOutliers BoxBoxpoints = "outliers" + BoxBoxpointsSuspectedoutliers BoxBoxpoints = "suspectedoutliers" + BoxBoxpointsFalse BoxBoxpoints = false +) + +// BoxHoverlabelAlign 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 +type BoxHoverlabelAlign string + +const ( + BoxHoverlabelAlignLeft BoxHoverlabelAlign = "left" + BoxHoverlabelAlignRight BoxHoverlabelAlign = "right" + BoxHoverlabelAlignAuto BoxHoverlabelAlign = "auto" +) + +// BoxMarkerSymbol 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. +type BoxMarkerSymbol interface{} + +var ( + BoxMarkerSymbolNumber0 BoxMarkerSymbol = 0 + BoxMarkerSymbol0 BoxMarkerSymbol = "0" + BoxMarkerSymbolCircle BoxMarkerSymbol = "circle" + BoxMarkerSymbolNumber100 BoxMarkerSymbol = 100 + BoxMarkerSymbol100 BoxMarkerSymbol = "100" + BoxMarkerSymbolCircleOpen BoxMarkerSymbol = "circle-open" + BoxMarkerSymbolNumber200 BoxMarkerSymbol = 200 + BoxMarkerSymbol200 BoxMarkerSymbol = "200" + BoxMarkerSymbolCircleDot BoxMarkerSymbol = "circle-dot" + BoxMarkerSymbolNumber300 BoxMarkerSymbol = 300 + BoxMarkerSymbol300 BoxMarkerSymbol = "300" + BoxMarkerSymbolCircleOpenDot BoxMarkerSymbol = "circle-open-dot" + BoxMarkerSymbolNumber1 BoxMarkerSymbol = 1 + BoxMarkerSymbol1 BoxMarkerSymbol = "1" + BoxMarkerSymbolSquare BoxMarkerSymbol = "square" + BoxMarkerSymbolNumber101 BoxMarkerSymbol = 101 + BoxMarkerSymbol101 BoxMarkerSymbol = "101" + BoxMarkerSymbolSquareOpen BoxMarkerSymbol = "square-open" + BoxMarkerSymbolNumber201 BoxMarkerSymbol = 201 + BoxMarkerSymbol201 BoxMarkerSymbol = "201" + BoxMarkerSymbolSquareDot BoxMarkerSymbol = "square-dot" + BoxMarkerSymbolNumber301 BoxMarkerSymbol = 301 + BoxMarkerSymbol301 BoxMarkerSymbol = "301" + BoxMarkerSymbolSquareOpenDot BoxMarkerSymbol = "square-open-dot" + BoxMarkerSymbolNumber2 BoxMarkerSymbol = 2 + BoxMarkerSymbol2 BoxMarkerSymbol = "2" + BoxMarkerSymbolDiamond BoxMarkerSymbol = "diamond" + BoxMarkerSymbolNumber102 BoxMarkerSymbol = 102 + BoxMarkerSymbol102 BoxMarkerSymbol = "102" + BoxMarkerSymbolDiamondOpen BoxMarkerSymbol = "diamond-open" + BoxMarkerSymbolNumber202 BoxMarkerSymbol = 202 + BoxMarkerSymbol202 BoxMarkerSymbol = "202" + BoxMarkerSymbolDiamondDot BoxMarkerSymbol = "diamond-dot" + BoxMarkerSymbolNumber302 BoxMarkerSymbol = 302 + BoxMarkerSymbol302 BoxMarkerSymbol = "302" + BoxMarkerSymbolDiamondOpenDot BoxMarkerSymbol = "diamond-open-dot" + BoxMarkerSymbolNumber3 BoxMarkerSymbol = 3 + BoxMarkerSymbol3 BoxMarkerSymbol = "3" + BoxMarkerSymbolCross BoxMarkerSymbol = "cross" + BoxMarkerSymbolNumber103 BoxMarkerSymbol = 103 + BoxMarkerSymbol103 BoxMarkerSymbol = "103" + BoxMarkerSymbolCrossOpen BoxMarkerSymbol = "cross-open" + BoxMarkerSymbolNumber203 BoxMarkerSymbol = 203 + BoxMarkerSymbol203 BoxMarkerSymbol = "203" + BoxMarkerSymbolCrossDot BoxMarkerSymbol = "cross-dot" + BoxMarkerSymbolNumber303 BoxMarkerSymbol = 303 + BoxMarkerSymbol303 BoxMarkerSymbol = "303" + BoxMarkerSymbolCrossOpenDot BoxMarkerSymbol = "cross-open-dot" + BoxMarkerSymbolNumber4 BoxMarkerSymbol = 4 + BoxMarkerSymbol4 BoxMarkerSymbol = "4" + BoxMarkerSymbolX BoxMarkerSymbol = "x" + BoxMarkerSymbolNumber104 BoxMarkerSymbol = 104 + BoxMarkerSymbol104 BoxMarkerSymbol = "104" + BoxMarkerSymbolXOpen BoxMarkerSymbol = "x-open" + BoxMarkerSymbolNumber204 BoxMarkerSymbol = 204 + BoxMarkerSymbol204 BoxMarkerSymbol = "204" + BoxMarkerSymbolXDot BoxMarkerSymbol = "x-dot" + BoxMarkerSymbolNumber304 BoxMarkerSymbol = 304 + BoxMarkerSymbol304 BoxMarkerSymbol = "304" + BoxMarkerSymbolXOpenDot BoxMarkerSymbol = "x-open-dot" + BoxMarkerSymbolNumber5 BoxMarkerSymbol = 5 + BoxMarkerSymbol5 BoxMarkerSymbol = "5" + BoxMarkerSymbolTriangleUp BoxMarkerSymbol = "triangle-up" + BoxMarkerSymbolNumber105 BoxMarkerSymbol = 105 + BoxMarkerSymbol105 BoxMarkerSymbol = "105" + BoxMarkerSymbolTriangleUpOpen BoxMarkerSymbol = "triangle-up-open" + BoxMarkerSymbolNumber205 BoxMarkerSymbol = 205 + BoxMarkerSymbol205 BoxMarkerSymbol = "205" + BoxMarkerSymbolTriangleUpDot BoxMarkerSymbol = "triangle-up-dot" + BoxMarkerSymbolNumber305 BoxMarkerSymbol = 305 + BoxMarkerSymbol305 BoxMarkerSymbol = "305" + BoxMarkerSymbolTriangleUpOpenDot BoxMarkerSymbol = "triangle-up-open-dot" + BoxMarkerSymbolNumber6 BoxMarkerSymbol = 6 + BoxMarkerSymbol6 BoxMarkerSymbol = "6" + BoxMarkerSymbolTriangleDown BoxMarkerSymbol = "triangle-down" + BoxMarkerSymbolNumber106 BoxMarkerSymbol = 106 + BoxMarkerSymbol106 BoxMarkerSymbol = "106" + BoxMarkerSymbolTriangleDownOpen BoxMarkerSymbol = "triangle-down-open" + BoxMarkerSymbolNumber206 BoxMarkerSymbol = 206 + BoxMarkerSymbol206 BoxMarkerSymbol = "206" + BoxMarkerSymbolTriangleDownDot BoxMarkerSymbol = "triangle-down-dot" + BoxMarkerSymbolNumber306 BoxMarkerSymbol = 306 + BoxMarkerSymbol306 BoxMarkerSymbol = "306" + BoxMarkerSymbolTriangleDownOpenDot BoxMarkerSymbol = "triangle-down-open-dot" + BoxMarkerSymbolNumber7 BoxMarkerSymbol = 7 + BoxMarkerSymbol7 BoxMarkerSymbol = "7" + BoxMarkerSymbolTriangleLeft BoxMarkerSymbol = "triangle-left" + BoxMarkerSymbolNumber107 BoxMarkerSymbol = 107 + BoxMarkerSymbol107 BoxMarkerSymbol = "107" + BoxMarkerSymbolTriangleLeftOpen BoxMarkerSymbol = "triangle-left-open" + BoxMarkerSymbolNumber207 BoxMarkerSymbol = 207 + BoxMarkerSymbol207 BoxMarkerSymbol = "207" + BoxMarkerSymbolTriangleLeftDot BoxMarkerSymbol = "triangle-left-dot" + BoxMarkerSymbolNumber307 BoxMarkerSymbol = 307 + BoxMarkerSymbol307 BoxMarkerSymbol = "307" + BoxMarkerSymbolTriangleLeftOpenDot BoxMarkerSymbol = "triangle-left-open-dot" + BoxMarkerSymbolNumber8 BoxMarkerSymbol = 8 + BoxMarkerSymbol8 BoxMarkerSymbol = "8" + BoxMarkerSymbolTriangleRight BoxMarkerSymbol = "triangle-right" + BoxMarkerSymbolNumber108 BoxMarkerSymbol = 108 + BoxMarkerSymbol108 BoxMarkerSymbol = "108" + BoxMarkerSymbolTriangleRightOpen BoxMarkerSymbol = "triangle-right-open" + BoxMarkerSymbolNumber208 BoxMarkerSymbol = 208 + BoxMarkerSymbol208 BoxMarkerSymbol = "208" + BoxMarkerSymbolTriangleRightDot BoxMarkerSymbol = "triangle-right-dot" + BoxMarkerSymbolNumber308 BoxMarkerSymbol = 308 + BoxMarkerSymbol308 BoxMarkerSymbol = "308" + BoxMarkerSymbolTriangleRightOpenDot BoxMarkerSymbol = "triangle-right-open-dot" + BoxMarkerSymbolNumber9 BoxMarkerSymbol = 9 + BoxMarkerSymbol9 BoxMarkerSymbol = "9" + BoxMarkerSymbolTriangleNe BoxMarkerSymbol = "triangle-ne" + BoxMarkerSymbolNumber109 BoxMarkerSymbol = 109 + BoxMarkerSymbol109 BoxMarkerSymbol = "109" + BoxMarkerSymbolTriangleNeOpen BoxMarkerSymbol = "triangle-ne-open" + BoxMarkerSymbolNumber209 BoxMarkerSymbol = 209 + BoxMarkerSymbol209 BoxMarkerSymbol = "209" + BoxMarkerSymbolTriangleNeDot BoxMarkerSymbol = "triangle-ne-dot" + BoxMarkerSymbolNumber309 BoxMarkerSymbol = 309 + BoxMarkerSymbol309 BoxMarkerSymbol = "309" + BoxMarkerSymbolTriangleNeOpenDot BoxMarkerSymbol = "triangle-ne-open-dot" + BoxMarkerSymbolNumber10 BoxMarkerSymbol = 10 + BoxMarkerSymbol10 BoxMarkerSymbol = "10" + BoxMarkerSymbolTriangleSe BoxMarkerSymbol = "triangle-se" + BoxMarkerSymbolNumber110 BoxMarkerSymbol = 110 + BoxMarkerSymbol110 BoxMarkerSymbol = "110" + BoxMarkerSymbolTriangleSeOpen BoxMarkerSymbol = "triangle-se-open" + BoxMarkerSymbolNumber210 BoxMarkerSymbol = 210 + BoxMarkerSymbol210 BoxMarkerSymbol = "210" + BoxMarkerSymbolTriangleSeDot BoxMarkerSymbol = "triangle-se-dot" + BoxMarkerSymbolNumber310 BoxMarkerSymbol = 310 + BoxMarkerSymbol310 BoxMarkerSymbol = "310" + BoxMarkerSymbolTriangleSeOpenDot BoxMarkerSymbol = "triangle-se-open-dot" + BoxMarkerSymbolNumber11 BoxMarkerSymbol = 11 + BoxMarkerSymbol11 BoxMarkerSymbol = "11" + BoxMarkerSymbolTriangleSw BoxMarkerSymbol = "triangle-sw" + BoxMarkerSymbolNumber111 BoxMarkerSymbol = 111 + BoxMarkerSymbol111 BoxMarkerSymbol = "111" + BoxMarkerSymbolTriangleSwOpen BoxMarkerSymbol = "triangle-sw-open" + BoxMarkerSymbolNumber211 BoxMarkerSymbol = 211 + BoxMarkerSymbol211 BoxMarkerSymbol = "211" + BoxMarkerSymbolTriangleSwDot BoxMarkerSymbol = "triangle-sw-dot" + BoxMarkerSymbolNumber311 BoxMarkerSymbol = 311 + BoxMarkerSymbol311 BoxMarkerSymbol = "311" + BoxMarkerSymbolTriangleSwOpenDot BoxMarkerSymbol = "triangle-sw-open-dot" + BoxMarkerSymbolNumber12 BoxMarkerSymbol = 12 + BoxMarkerSymbol12 BoxMarkerSymbol = "12" + BoxMarkerSymbolTriangleNw BoxMarkerSymbol = "triangle-nw" + BoxMarkerSymbolNumber112 BoxMarkerSymbol = 112 + BoxMarkerSymbol112 BoxMarkerSymbol = "112" + BoxMarkerSymbolTriangleNwOpen BoxMarkerSymbol = "triangle-nw-open" + BoxMarkerSymbolNumber212 BoxMarkerSymbol = 212 + BoxMarkerSymbol212 BoxMarkerSymbol = "212" + BoxMarkerSymbolTriangleNwDot BoxMarkerSymbol = "triangle-nw-dot" + BoxMarkerSymbolNumber312 BoxMarkerSymbol = 312 + BoxMarkerSymbol312 BoxMarkerSymbol = "312" + BoxMarkerSymbolTriangleNwOpenDot BoxMarkerSymbol = "triangle-nw-open-dot" + BoxMarkerSymbolNumber13 BoxMarkerSymbol = 13 + BoxMarkerSymbol13 BoxMarkerSymbol = "13" + BoxMarkerSymbolPentagon BoxMarkerSymbol = "pentagon" + BoxMarkerSymbolNumber113 BoxMarkerSymbol = 113 + BoxMarkerSymbol113 BoxMarkerSymbol = "113" + BoxMarkerSymbolPentagonOpen BoxMarkerSymbol = "pentagon-open" + BoxMarkerSymbolNumber213 BoxMarkerSymbol = 213 + BoxMarkerSymbol213 BoxMarkerSymbol = "213" + BoxMarkerSymbolPentagonDot BoxMarkerSymbol = "pentagon-dot" + BoxMarkerSymbolNumber313 BoxMarkerSymbol = 313 + BoxMarkerSymbol313 BoxMarkerSymbol = "313" + BoxMarkerSymbolPentagonOpenDot BoxMarkerSymbol = "pentagon-open-dot" + BoxMarkerSymbolNumber14 BoxMarkerSymbol = 14 + BoxMarkerSymbol14 BoxMarkerSymbol = "14" + BoxMarkerSymbolHexagon BoxMarkerSymbol = "hexagon" + BoxMarkerSymbolNumber114 BoxMarkerSymbol = 114 + BoxMarkerSymbol114 BoxMarkerSymbol = "114" + BoxMarkerSymbolHexagonOpen BoxMarkerSymbol = "hexagon-open" + BoxMarkerSymbolNumber214 BoxMarkerSymbol = 214 + BoxMarkerSymbol214 BoxMarkerSymbol = "214" + BoxMarkerSymbolHexagonDot BoxMarkerSymbol = "hexagon-dot" + BoxMarkerSymbolNumber314 BoxMarkerSymbol = 314 + BoxMarkerSymbol314 BoxMarkerSymbol = "314" + BoxMarkerSymbolHexagonOpenDot BoxMarkerSymbol = "hexagon-open-dot" + BoxMarkerSymbolNumber15 BoxMarkerSymbol = 15 + BoxMarkerSymbol15 BoxMarkerSymbol = "15" + BoxMarkerSymbolHexagon2 BoxMarkerSymbol = "hexagon2" + BoxMarkerSymbolNumber115 BoxMarkerSymbol = 115 + BoxMarkerSymbol115 BoxMarkerSymbol = "115" + BoxMarkerSymbolHexagon2Open BoxMarkerSymbol = "hexagon2-open" + BoxMarkerSymbolNumber215 BoxMarkerSymbol = 215 + BoxMarkerSymbol215 BoxMarkerSymbol = "215" + BoxMarkerSymbolHexagon2Dot BoxMarkerSymbol = "hexagon2-dot" + BoxMarkerSymbolNumber315 BoxMarkerSymbol = 315 + BoxMarkerSymbol315 BoxMarkerSymbol = "315" + BoxMarkerSymbolHexagon2OpenDot BoxMarkerSymbol = "hexagon2-open-dot" + BoxMarkerSymbolNumber16 BoxMarkerSymbol = 16 + BoxMarkerSymbol16 BoxMarkerSymbol = "16" + BoxMarkerSymbolOctagon BoxMarkerSymbol = "octagon" + BoxMarkerSymbolNumber116 BoxMarkerSymbol = 116 + BoxMarkerSymbol116 BoxMarkerSymbol = "116" + BoxMarkerSymbolOctagonOpen BoxMarkerSymbol = "octagon-open" + BoxMarkerSymbolNumber216 BoxMarkerSymbol = 216 + BoxMarkerSymbol216 BoxMarkerSymbol = "216" + BoxMarkerSymbolOctagonDot BoxMarkerSymbol = "octagon-dot" + BoxMarkerSymbolNumber316 BoxMarkerSymbol = 316 + BoxMarkerSymbol316 BoxMarkerSymbol = "316" + BoxMarkerSymbolOctagonOpenDot BoxMarkerSymbol = "octagon-open-dot" + BoxMarkerSymbolNumber17 BoxMarkerSymbol = 17 + BoxMarkerSymbol17 BoxMarkerSymbol = "17" + BoxMarkerSymbolStar BoxMarkerSymbol = "star" + BoxMarkerSymbolNumber117 BoxMarkerSymbol = 117 + BoxMarkerSymbol117 BoxMarkerSymbol = "117" + BoxMarkerSymbolStarOpen BoxMarkerSymbol = "star-open" + BoxMarkerSymbolNumber217 BoxMarkerSymbol = 217 + BoxMarkerSymbol217 BoxMarkerSymbol = "217" + BoxMarkerSymbolStarDot BoxMarkerSymbol = "star-dot" + BoxMarkerSymbolNumber317 BoxMarkerSymbol = 317 + BoxMarkerSymbol317 BoxMarkerSymbol = "317" + BoxMarkerSymbolStarOpenDot BoxMarkerSymbol = "star-open-dot" + BoxMarkerSymbolNumber18 BoxMarkerSymbol = 18 + BoxMarkerSymbol18 BoxMarkerSymbol = "18" + BoxMarkerSymbolHexagram BoxMarkerSymbol = "hexagram" + BoxMarkerSymbolNumber118 BoxMarkerSymbol = 118 + BoxMarkerSymbol118 BoxMarkerSymbol = "118" + BoxMarkerSymbolHexagramOpen BoxMarkerSymbol = "hexagram-open" + BoxMarkerSymbolNumber218 BoxMarkerSymbol = 218 + BoxMarkerSymbol218 BoxMarkerSymbol = "218" + BoxMarkerSymbolHexagramDot BoxMarkerSymbol = "hexagram-dot" + BoxMarkerSymbolNumber318 BoxMarkerSymbol = 318 + BoxMarkerSymbol318 BoxMarkerSymbol = "318" + BoxMarkerSymbolHexagramOpenDot BoxMarkerSymbol = "hexagram-open-dot" + BoxMarkerSymbolNumber19 BoxMarkerSymbol = 19 + BoxMarkerSymbol19 BoxMarkerSymbol = "19" + BoxMarkerSymbolStarTriangleUp BoxMarkerSymbol = "star-triangle-up" + BoxMarkerSymbolNumber119 BoxMarkerSymbol = 119 + BoxMarkerSymbol119 BoxMarkerSymbol = "119" + BoxMarkerSymbolStarTriangleUpOpen BoxMarkerSymbol = "star-triangle-up-open" + BoxMarkerSymbolNumber219 BoxMarkerSymbol = 219 + BoxMarkerSymbol219 BoxMarkerSymbol = "219" + BoxMarkerSymbolStarTriangleUpDot BoxMarkerSymbol = "star-triangle-up-dot" + BoxMarkerSymbolNumber319 BoxMarkerSymbol = 319 + BoxMarkerSymbol319 BoxMarkerSymbol = "319" + BoxMarkerSymbolStarTriangleUpOpenDot BoxMarkerSymbol = "star-triangle-up-open-dot" + BoxMarkerSymbolNumber20 BoxMarkerSymbol = 20 + BoxMarkerSymbol20 BoxMarkerSymbol = "20" + BoxMarkerSymbolStarTriangleDown BoxMarkerSymbol = "star-triangle-down" + BoxMarkerSymbolNumber120 BoxMarkerSymbol = 120 + BoxMarkerSymbol120 BoxMarkerSymbol = "120" + BoxMarkerSymbolStarTriangleDownOpen BoxMarkerSymbol = "star-triangle-down-open" + BoxMarkerSymbolNumber220 BoxMarkerSymbol = 220 + BoxMarkerSymbol220 BoxMarkerSymbol = "220" + BoxMarkerSymbolStarTriangleDownDot BoxMarkerSymbol = "star-triangle-down-dot" + BoxMarkerSymbolNumber320 BoxMarkerSymbol = 320 + BoxMarkerSymbol320 BoxMarkerSymbol = "320" + BoxMarkerSymbolStarTriangleDownOpenDot BoxMarkerSymbol = "star-triangle-down-open-dot" + BoxMarkerSymbolNumber21 BoxMarkerSymbol = 21 + BoxMarkerSymbol21 BoxMarkerSymbol = "21" + BoxMarkerSymbolStarSquare BoxMarkerSymbol = "star-square" + BoxMarkerSymbolNumber121 BoxMarkerSymbol = 121 + BoxMarkerSymbol121 BoxMarkerSymbol = "121" + BoxMarkerSymbolStarSquareOpen BoxMarkerSymbol = "star-square-open" + BoxMarkerSymbolNumber221 BoxMarkerSymbol = 221 + BoxMarkerSymbol221 BoxMarkerSymbol = "221" + BoxMarkerSymbolStarSquareDot BoxMarkerSymbol = "star-square-dot" + BoxMarkerSymbolNumber321 BoxMarkerSymbol = 321 + BoxMarkerSymbol321 BoxMarkerSymbol = "321" + BoxMarkerSymbolStarSquareOpenDot BoxMarkerSymbol = "star-square-open-dot" + BoxMarkerSymbolNumber22 BoxMarkerSymbol = 22 + BoxMarkerSymbol22 BoxMarkerSymbol = "22" + BoxMarkerSymbolStarDiamond BoxMarkerSymbol = "star-diamond" + BoxMarkerSymbolNumber122 BoxMarkerSymbol = 122 + BoxMarkerSymbol122 BoxMarkerSymbol = "122" + BoxMarkerSymbolStarDiamondOpen BoxMarkerSymbol = "star-diamond-open" + BoxMarkerSymbolNumber222 BoxMarkerSymbol = 222 + BoxMarkerSymbol222 BoxMarkerSymbol = "222" + BoxMarkerSymbolStarDiamondDot BoxMarkerSymbol = "star-diamond-dot" + BoxMarkerSymbolNumber322 BoxMarkerSymbol = 322 + BoxMarkerSymbol322 BoxMarkerSymbol = "322" + BoxMarkerSymbolStarDiamondOpenDot BoxMarkerSymbol = "star-diamond-open-dot" + BoxMarkerSymbolNumber23 BoxMarkerSymbol = 23 + BoxMarkerSymbol23 BoxMarkerSymbol = "23" + BoxMarkerSymbolDiamondTall BoxMarkerSymbol = "diamond-tall" + BoxMarkerSymbolNumber123 BoxMarkerSymbol = 123 + BoxMarkerSymbol123 BoxMarkerSymbol = "123" + BoxMarkerSymbolDiamondTallOpen BoxMarkerSymbol = "diamond-tall-open" + BoxMarkerSymbolNumber223 BoxMarkerSymbol = 223 + BoxMarkerSymbol223 BoxMarkerSymbol = "223" + BoxMarkerSymbolDiamondTallDot BoxMarkerSymbol = "diamond-tall-dot" + BoxMarkerSymbolNumber323 BoxMarkerSymbol = 323 + BoxMarkerSymbol323 BoxMarkerSymbol = "323" + BoxMarkerSymbolDiamondTallOpenDot BoxMarkerSymbol = "diamond-tall-open-dot" + BoxMarkerSymbolNumber24 BoxMarkerSymbol = 24 + BoxMarkerSymbol24 BoxMarkerSymbol = "24" + BoxMarkerSymbolDiamondWide BoxMarkerSymbol = "diamond-wide" + BoxMarkerSymbolNumber124 BoxMarkerSymbol = 124 + BoxMarkerSymbol124 BoxMarkerSymbol = "124" + BoxMarkerSymbolDiamondWideOpen BoxMarkerSymbol = "diamond-wide-open" + BoxMarkerSymbolNumber224 BoxMarkerSymbol = 224 + BoxMarkerSymbol224 BoxMarkerSymbol = "224" + BoxMarkerSymbolDiamondWideDot BoxMarkerSymbol = "diamond-wide-dot" + BoxMarkerSymbolNumber324 BoxMarkerSymbol = 324 + BoxMarkerSymbol324 BoxMarkerSymbol = "324" + BoxMarkerSymbolDiamondWideOpenDot BoxMarkerSymbol = "diamond-wide-open-dot" + BoxMarkerSymbolNumber25 BoxMarkerSymbol = 25 + BoxMarkerSymbol25 BoxMarkerSymbol = "25" + BoxMarkerSymbolHourglass BoxMarkerSymbol = "hourglass" + BoxMarkerSymbolNumber125 BoxMarkerSymbol = 125 + BoxMarkerSymbol125 BoxMarkerSymbol = "125" + BoxMarkerSymbolHourglassOpen BoxMarkerSymbol = "hourglass-open" + BoxMarkerSymbolNumber26 BoxMarkerSymbol = 26 + BoxMarkerSymbol26 BoxMarkerSymbol = "26" + BoxMarkerSymbolBowtie BoxMarkerSymbol = "bowtie" + BoxMarkerSymbolNumber126 BoxMarkerSymbol = 126 + BoxMarkerSymbol126 BoxMarkerSymbol = "126" + BoxMarkerSymbolBowtieOpen BoxMarkerSymbol = "bowtie-open" + BoxMarkerSymbolNumber27 BoxMarkerSymbol = 27 + BoxMarkerSymbol27 BoxMarkerSymbol = "27" + BoxMarkerSymbolCircleCross BoxMarkerSymbol = "circle-cross" + BoxMarkerSymbolNumber127 BoxMarkerSymbol = 127 + BoxMarkerSymbol127 BoxMarkerSymbol = "127" + BoxMarkerSymbolCircleCrossOpen BoxMarkerSymbol = "circle-cross-open" + BoxMarkerSymbolNumber28 BoxMarkerSymbol = 28 + BoxMarkerSymbol28 BoxMarkerSymbol = "28" + BoxMarkerSymbolCircleX BoxMarkerSymbol = "circle-x" + BoxMarkerSymbolNumber128 BoxMarkerSymbol = 128 + BoxMarkerSymbol128 BoxMarkerSymbol = "128" + BoxMarkerSymbolCircleXOpen BoxMarkerSymbol = "circle-x-open" + BoxMarkerSymbolNumber29 BoxMarkerSymbol = 29 + BoxMarkerSymbol29 BoxMarkerSymbol = "29" + BoxMarkerSymbolSquareCross BoxMarkerSymbol = "square-cross" + BoxMarkerSymbolNumber129 BoxMarkerSymbol = 129 + BoxMarkerSymbol129 BoxMarkerSymbol = "129" + BoxMarkerSymbolSquareCrossOpen BoxMarkerSymbol = "square-cross-open" + BoxMarkerSymbolNumber30 BoxMarkerSymbol = 30 + BoxMarkerSymbol30 BoxMarkerSymbol = "30" + BoxMarkerSymbolSquareX BoxMarkerSymbol = "square-x" + BoxMarkerSymbolNumber130 BoxMarkerSymbol = 130 + BoxMarkerSymbol130 BoxMarkerSymbol = "130" + BoxMarkerSymbolSquareXOpen BoxMarkerSymbol = "square-x-open" + BoxMarkerSymbolNumber31 BoxMarkerSymbol = 31 + BoxMarkerSymbol31 BoxMarkerSymbol = "31" + BoxMarkerSymbolDiamondCross BoxMarkerSymbol = "diamond-cross" + BoxMarkerSymbolNumber131 BoxMarkerSymbol = 131 + BoxMarkerSymbol131 BoxMarkerSymbol = "131" + BoxMarkerSymbolDiamondCrossOpen BoxMarkerSymbol = "diamond-cross-open" + BoxMarkerSymbolNumber32 BoxMarkerSymbol = 32 + BoxMarkerSymbol32 BoxMarkerSymbol = "32" + BoxMarkerSymbolDiamondX BoxMarkerSymbol = "diamond-x" + BoxMarkerSymbolNumber132 BoxMarkerSymbol = 132 + BoxMarkerSymbol132 BoxMarkerSymbol = "132" + BoxMarkerSymbolDiamondXOpen BoxMarkerSymbol = "diamond-x-open" + BoxMarkerSymbolNumber33 BoxMarkerSymbol = 33 + BoxMarkerSymbol33 BoxMarkerSymbol = "33" + BoxMarkerSymbolCrossThin BoxMarkerSymbol = "cross-thin" + BoxMarkerSymbolNumber133 BoxMarkerSymbol = 133 + BoxMarkerSymbol133 BoxMarkerSymbol = "133" + BoxMarkerSymbolCrossThinOpen BoxMarkerSymbol = "cross-thin-open" + BoxMarkerSymbolNumber34 BoxMarkerSymbol = 34 + BoxMarkerSymbol34 BoxMarkerSymbol = "34" + BoxMarkerSymbolXThin BoxMarkerSymbol = "x-thin" + BoxMarkerSymbolNumber134 BoxMarkerSymbol = 134 + BoxMarkerSymbol134 BoxMarkerSymbol = "134" + BoxMarkerSymbolXThinOpen BoxMarkerSymbol = "x-thin-open" + BoxMarkerSymbolNumber35 BoxMarkerSymbol = 35 + BoxMarkerSymbol35 BoxMarkerSymbol = "35" + BoxMarkerSymbolAsterisk BoxMarkerSymbol = "asterisk" + BoxMarkerSymbolNumber135 BoxMarkerSymbol = 135 + BoxMarkerSymbol135 BoxMarkerSymbol = "135" + BoxMarkerSymbolAsteriskOpen BoxMarkerSymbol = "asterisk-open" + BoxMarkerSymbolNumber36 BoxMarkerSymbol = 36 + BoxMarkerSymbol36 BoxMarkerSymbol = "36" + BoxMarkerSymbolHash BoxMarkerSymbol = "hash" + BoxMarkerSymbolNumber136 BoxMarkerSymbol = 136 + BoxMarkerSymbol136 BoxMarkerSymbol = "136" + BoxMarkerSymbolHashOpen BoxMarkerSymbol = "hash-open" + BoxMarkerSymbolNumber236 BoxMarkerSymbol = 236 + BoxMarkerSymbol236 BoxMarkerSymbol = "236" + BoxMarkerSymbolHashDot BoxMarkerSymbol = "hash-dot" + BoxMarkerSymbolNumber336 BoxMarkerSymbol = 336 + BoxMarkerSymbol336 BoxMarkerSymbol = "336" + BoxMarkerSymbolHashOpenDot BoxMarkerSymbol = "hash-open-dot" + BoxMarkerSymbolNumber37 BoxMarkerSymbol = 37 + BoxMarkerSymbol37 BoxMarkerSymbol = "37" + BoxMarkerSymbolYUp BoxMarkerSymbol = "y-up" + BoxMarkerSymbolNumber137 BoxMarkerSymbol = 137 + BoxMarkerSymbol137 BoxMarkerSymbol = "137" + BoxMarkerSymbolYUpOpen BoxMarkerSymbol = "y-up-open" + BoxMarkerSymbolNumber38 BoxMarkerSymbol = 38 + BoxMarkerSymbol38 BoxMarkerSymbol = "38" + BoxMarkerSymbolYDown BoxMarkerSymbol = "y-down" + BoxMarkerSymbolNumber138 BoxMarkerSymbol = 138 + BoxMarkerSymbol138 BoxMarkerSymbol = "138" + BoxMarkerSymbolYDownOpen BoxMarkerSymbol = "y-down-open" + BoxMarkerSymbolNumber39 BoxMarkerSymbol = 39 + BoxMarkerSymbol39 BoxMarkerSymbol = "39" + BoxMarkerSymbolYLeft BoxMarkerSymbol = "y-left" + BoxMarkerSymbolNumber139 BoxMarkerSymbol = 139 + BoxMarkerSymbol139 BoxMarkerSymbol = "139" + BoxMarkerSymbolYLeftOpen BoxMarkerSymbol = "y-left-open" + BoxMarkerSymbolNumber40 BoxMarkerSymbol = 40 + BoxMarkerSymbol40 BoxMarkerSymbol = "40" + BoxMarkerSymbolYRight BoxMarkerSymbol = "y-right" + BoxMarkerSymbolNumber140 BoxMarkerSymbol = 140 + BoxMarkerSymbol140 BoxMarkerSymbol = "140" + BoxMarkerSymbolYRightOpen BoxMarkerSymbol = "y-right-open" + BoxMarkerSymbolNumber41 BoxMarkerSymbol = 41 + BoxMarkerSymbol41 BoxMarkerSymbol = "41" + BoxMarkerSymbolLineEw BoxMarkerSymbol = "line-ew" + BoxMarkerSymbolNumber141 BoxMarkerSymbol = 141 + BoxMarkerSymbol141 BoxMarkerSymbol = "141" + BoxMarkerSymbolLineEwOpen BoxMarkerSymbol = "line-ew-open" + BoxMarkerSymbolNumber42 BoxMarkerSymbol = 42 + BoxMarkerSymbol42 BoxMarkerSymbol = "42" + BoxMarkerSymbolLineNs BoxMarkerSymbol = "line-ns" + BoxMarkerSymbolNumber142 BoxMarkerSymbol = 142 + BoxMarkerSymbol142 BoxMarkerSymbol = "142" + BoxMarkerSymbolLineNsOpen BoxMarkerSymbol = "line-ns-open" + BoxMarkerSymbolNumber43 BoxMarkerSymbol = 43 + BoxMarkerSymbol43 BoxMarkerSymbol = "43" + BoxMarkerSymbolLineNe BoxMarkerSymbol = "line-ne" + BoxMarkerSymbolNumber143 BoxMarkerSymbol = 143 + BoxMarkerSymbol143 BoxMarkerSymbol = "143" + BoxMarkerSymbolLineNeOpen BoxMarkerSymbol = "line-ne-open" + BoxMarkerSymbolNumber44 BoxMarkerSymbol = 44 + BoxMarkerSymbol44 BoxMarkerSymbol = "44" + BoxMarkerSymbolLineNw BoxMarkerSymbol = "line-nw" + BoxMarkerSymbolNumber144 BoxMarkerSymbol = 144 + BoxMarkerSymbol144 BoxMarkerSymbol = "144" + BoxMarkerSymbolLineNwOpen BoxMarkerSymbol = "line-nw-open" + BoxMarkerSymbolNumber45 BoxMarkerSymbol = 45 + BoxMarkerSymbol45 BoxMarkerSymbol = "45" + BoxMarkerSymbolArrowUp BoxMarkerSymbol = "arrow-up" + BoxMarkerSymbolNumber145 BoxMarkerSymbol = 145 + BoxMarkerSymbol145 BoxMarkerSymbol = "145" + BoxMarkerSymbolArrowUpOpen BoxMarkerSymbol = "arrow-up-open" + BoxMarkerSymbolNumber46 BoxMarkerSymbol = 46 + BoxMarkerSymbol46 BoxMarkerSymbol = "46" + BoxMarkerSymbolArrowDown BoxMarkerSymbol = "arrow-down" + BoxMarkerSymbolNumber146 BoxMarkerSymbol = 146 + BoxMarkerSymbol146 BoxMarkerSymbol = "146" + BoxMarkerSymbolArrowDownOpen BoxMarkerSymbol = "arrow-down-open" + BoxMarkerSymbolNumber47 BoxMarkerSymbol = 47 + BoxMarkerSymbol47 BoxMarkerSymbol = "47" + BoxMarkerSymbolArrowLeft BoxMarkerSymbol = "arrow-left" + BoxMarkerSymbolNumber147 BoxMarkerSymbol = 147 + BoxMarkerSymbol147 BoxMarkerSymbol = "147" + BoxMarkerSymbolArrowLeftOpen BoxMarkerSymbol = "arrow-left-open" + BoxMarkerSymbolNumber48 BoxMarkerSymbol = 48 + BoxMarkerSymbol48 BoxMarkerSymbol = "48" + BoxMarkerSymbolArrowRight BoxMarkerSymbol = "arrow-right" + BoxMarkerSymbolNumber148 BoxMarkerSymbol = 148 + BoxMarkerSymbol148 BoxMarkerSymbol = "148" + BoxMarkerSymbolArrowRightOpen BoxMarkerSymbol = "arrow-right-open" + BoxMarkerSymbolNumber49 BoxMarkerSymbol = 49 + BoxMarkerSymbol49 BoxMarkerSymbol = "49" + BoxMarkerSymbolArrowBarUp BoxMarkerSymbol = "arrow-bar-up" + BoxMarkerSymbolNumber149 BoxMarkerSymbol = 149 + BoxMarkerSymbol149 BoxMarkerSymbol = "149" + BoxMarkerSymbolArrowBarUpOpen BoxMarkerSymbol = "arrow-bar-up-open" + BoxMarkerSymbolNumber50 BoxMarkerSymbol = 50 + BoxMarkerSymbol50 BoxMarkerSymbol = "50" + BoxMarkerSymbolArrowBarDown BoxMarkerSymbol = "arrow-bar-down" + BoxMarkerSymbolNumber150 BoxMarkerSymbol = 150 + BoxMarkerSymbol150 BoxMarkerSymbol = "150" + BoxMarkerSymbolArrowBarDownOpen BoxMarkerSymbol = "arrow-bar-down-open" + BoxMarkerSymbolNumber51 BoxMarkerSymbol = 51 + BoxMarkerSymbol51 BoxMarkerSymbol = "51" + BoxMarkerSymbolArrowBarLeft BoxMarkerSymbol = "arrow-bar-left" + BoxMarkerSymbolNumber151 BoxMarkerSymbol = 151 + BoxMarkerSymbol151 BoxMarkerSymbol = "151" + BoxMarkerSymbolArrowBarLeftOpen BoxMarkerSymbol = "arrow-bar-left-open" + BoxMarkerSymbolNumber52 BoxMarkerSymbol = 52 + BoxMarkerSymbol52 BoxMarkerSymbol = "52" + BoxMarkerSymbolArrowBarRight BoxMarkerSymbol = "arrow-bar-right" + BoxMarkerSymbolNumber152 BoxMarkerSymbol = 152 + BoxMarkerSymbol152 BoxMarkerSymbol = "152" + BoxMarkerSymbolArrowBarRightOpen BoxMarkerSymbol = "arrow-bar-right-open" + BoxMarkerSymbolNumber53 BoxMarkerSymbol = 53 + BoxMarkerSymbol53 BoxMarkerSymbol = "53" + BoxMarkerSymbolArrow BoxMarkerSymbol = "arrow" + BoxMarkerSymbolNumber153 BoxMarkerSymbol = 153 + BoxMarkerSymbol153 BoxMarkerSymbol = "153" + BoxMarkerSymbolArrowOpen BoxMarkerSymbol = "arrow-open" + BoxMarkerSymbolNumber54 BoxMarkerSymbol = 54 + BoxMarkerSymbol54 BoxMarkerSymbol = "54" + BoxMarkerSymbolArrowWide BoxMarkerSymbol = "arrow-wide" + BoxMarkerSymbolNumber154 BoxMarkerSymbol = 154 + BoxMarkerSymbol154 BoxMarkerSymbol = "154" + BoxMarkerSymbolArrowWideOpen BoxMarkerSymbol = "arrow-wide-open" +) + +// BoxOrientation Sets the orientation of the box(es). If *v* (*h*), the distribution is visualized along the vertical (horizontal). +type BoxOrientation string + +const ( + BoxOrientationV BoxOrientation = "v" + BoxOrientationH BoxOrientation = "h" +) + +// BoxQuartilemethod 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. +type BoxQuartilemethod string + +const ( + BoxQuartilemethodLinear BoxQuartilemethod = "linear" + BoxQuartilemethodExclusive BoxQuartilemethod = "exclusive" + BoxQuartilemethodInclusive BoxQuartilemethod = "inclusive" +) + +// BoxSizemode 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 +type BoxSizemode string + +const ( + BoxSizemodeQuartiles BoxSizemode = "quartiles" + BoxSizemodeSd BoxSizemode = "sd" +) + +// BoxVisible 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). +type BoxVisible interface{} + +var ( + BoxVisibleTrue BoxVisible = true + BoxVisibleFalse BoxVisible = false + BoxVisibleLegendonly BoxVisible = "legendonly" +) + +// BoxXcalendar Sets the calendar system to use with `x` date data. +type BoxXcalendar string + +const ( + BoxXcalendarChinese BoxXcalendar = "chinese" + BoxXcalendarCoptic BoxXcalendar = "coptic" + BoxXcalendarDiscworld BoxXcalendar = "discworld" + BoxXcalendarEthiopian BoxXcalendar = "ethiopian" + BoxXcalendarGregorian BoxXcalendar = "gregorian" + BoxXcalendarHebrew BoxXcalendar = "hebrew" + BoxXcalendarIslamic BoxXcalendar = "islamic" + BoxXcalendarJalali BoxXcalendar = "jalali" + BoxXcalendarJulian BoxXcalendar = "julian" + BoxXcalendarMayan BoxXcalendar = "mayan" + BoxXcalendarNanakshahi BoxXcalendar = "nanakshahi" + BoxXcalendarNepali BoxXcalendar = "nepali" + BoxXcalendarPersian BoxXcalendar = "persian" + BoxXcalendarTaiwan BoxXcalendar = "taiwan" + BoxXcalendarThai BoxXcalendar = "thai" + BoxXcalendarUmmalqura BoxXcalendar = "ummalqura" +) + +// BoxXperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. +type BoxXperiodalignment string + +const ( + BoxXperiodalignmentStart BoxXperiodalignment = "start" + BoxXperiodalignmentMiddle BoxXperiodalignment = "middle" + BoxXperiodalignmentEnd BoxXperiodalignment = "end" +) + +// BoxYcalendar Sets the calendar system to use with `y` date data. +type BoxYcalendar string + +const ( + BoxYcalendarChinese BoxYcalendar = "chinese" + BoxYcalendarCoptic BoxYcalendar = "coptic" + BoxYcalendarDiscworld BoxYcalendar = "discworld" + BoxYcalendarEthiopian BoxYcalendar = "ethiopian" + BoxYcalendarGregorian BoxYcalendar = "gregorian" + BoxYcalendarHebrew BoxYcalendar = "hebrew" + BoxYcalendarIslamic BoxYcalendar = "islamic" + BoxYcalendarJalali BoxYcalendar = "jalali" + BoxYcalendarJulian BoxYcalendar = "julian" + BoxYcalendarMayan BoxYcalendar = "mayan" + BoxYcalendarNanakshahi BoxYcalendar = "nanakshahi" + BoxYcalendarNepali BoxYcalendar = "nepali" + BoxYcalendarPersian BoxYcalendar = "persian" + BoxYcalendarTaiwan BoxYcalendar = "taiwan" + BoxYcalendarThai BoxYcalendar = "thai" + BoxYcalendarUmmalqura BoxYcalendar = "ummalqura" +) + +// BoxYperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis. +type BoxYperiodalignment string + +const ( + BoxYperiodalignmentStart BoxYperiodalignment = "start" + BoxYperiodalignmentMiddle BoxYperiodalignment = "middle" + BoxYperiodalignmentEnd BoxYperiodalignment = "end" +) + +// BoxHoverinfo 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. +type BoxHoverinfo string + +const ( + // Flags + BoxHoverinfoX BoxHoverinfo = "x" + BoxHoverinfoY BoxHoverinfo = "y" + BoxHoverinfoZ BoxHoverinfo = "z" + BoxHoverinfoText BoxHoverinfo = "text" + BoxHoverinfoName BoxHoverinfo = "name" + + // Extra + BoxHoverinfoAll BoxHoverinfo = "all" + BoxHoverinfoNone BoxHoverinfo = "none" + BoxHoverinfoSkip BoxHoverinfo = "skip" +) + +// BoxHoveron Do the hover effects highlight individual boxes or sample points or both? +type BoxHoveron string + +const ( + // Flags + BoxHoveronBoxes BoxHoveron = "boxes" + BoxHoveronPoints BoxHoveron = "points" + + // Extra + +) diff --git a/generated/v2.31.1/graph_objects/candlestick_gen.go b/generated/v2.31.1/graph_objects/candlestick_gen.go new file mode 100644 index 0000000..d6b3d3b --- /dev/null +++ b/generated/v2.31.1/graph_objects/candlestick_gen.go @@ -0,0 +1,595 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeCandlestick TraceType = "candlestick" + +func (trace *Candlestick) GetType() TraceType { + return TraceTypeCandlestick +} + +// Candlestick 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. +type Candlestick struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Close + // arrayOK: false + // type: data_array + // Sets the close values. + Close interface{} `json:"close,omitempty"` + + // Closesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `close`. + Closesrc String `json:"closesrc,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Decreasing + // role: Object + Decreasing *CandlestickDecreasing `json:"decreasing,omitempty"` + + // High + // arrayOK: false + // type: data_array + // Sets the high values. + High interface{} `json:"high,omitempty"` + + // Highsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `high`. + Highsrc String `json:"highsrc,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo CandlestickHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *CandlestickHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // Same as `text`. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Increasing + // role: Object + Increasing *CandlestickIncreasing `json:"increasing,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *CandlestickLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *CandlestickLine `json:"line,omitempty"` + + // Low + // arrayOK: false + // type: data_array + // Sets the low values. + Low interface{} `json:"low,omitempty"` + + // Lowsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `low`. + Lowsrc String `json:"lowsrc,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Open + // arrayOK: false + // type: data_array + // Sets the open values. + Open interface{} `json:"open,omitempty"` + + // Opensrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `open`. + Opensrc String `json:"opensrc,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Stream + // role: Object + Stream *CandlestickStream `json:"stream,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible CandlestickVisible `json:"visible,omitempty"` + + // Whiskerwidth + // arrayOK: false + // type: number + // Sets the width of the whiskers relative to the box' width. For example, with 1, the whiskers are as wide as the box(es). + Whiskerwidth float64 `json:"whiskerwidth,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the x coordinates. If absent, linear coordinate will be generated. + X interface{} `json:"x,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Xcalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `x` date data. + Xcalendar CandlestickXcalendar `json:"xcalendar,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xperiod + // arrayOK: false + // type: any + // Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer. + Xperiod interface{} `json:"xperiod,omitempty"` + + // Xperiod0 + // arrayOK: false + // type: any + // 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. + Xperiod0 interface{} `json:"xperiod0,omitempty"` + + // Xperiodalignment + // default: middle + // type: enumerated + // Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. + Xperiodalignment CandlestickXperiodalignment `json:"xperiodalignment,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Zorder + // arrayOK: false + // 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`. + Zorder int64 `json:"zorder,omitempty"` +} + +// CandlestickDecreasingLine +type CandlestickDecreasingLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the color of line bounding the box(es). + Color Color `json:"color,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of line bounding the box(es). + Width float64 `json:"width,omitempty"` +} + +// CandlestickDecreasing +type CandlestickDecreasing struct { + + // Fillcolor + // arrayOK: false + // 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. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Line + // role: Object + Line *CandlestickDecreasingLine `json:"line,omitempty"` +} + +// CandlestickHoverlabelFont Sets the font used in hover labels. +type CandlestickHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// CandlestickHoverlabel +type CandlestickHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align CandlestickHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *CandlestickHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` + + // Split + // arrayOK: false + // type: boolean + // Show hover information (open, close, high, low) in separate labels. + Split Bool `json:"split,omitempty"` +} + +// CandlestickIncreasingLine +type CandlestickIncreasingLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the color of line bounding the box(es). + Color Color `json:"color,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of line bounding the box(es). + Width float64 `json:"width,omitempty"` +} + +// CandlestickIncreasing +type CandlestickIncreasing struct { + + // Fillcolor + // arrayOK: false + // 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. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Line + // role: Object + Line *CandlestickIncreasingLine `json:"line,omitempty"` +} + +// CandlestickLegendgrouptitleFont Sets this legend group's title font. +type CandlestickLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// CandlestickLegendgrouptitle +type CandlestickLegendgrouptitle struct { + + // Font + // role: Object + Font *CandlestickLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// CandlestickLine +type CandlestickLine struct { + + // Width + // arrayOK: false + // type: number + // 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`. + Width float64 `json:"width,omitempty"` +} + +// CandlestickStream +type CandlestickStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// CandlestickHoverlabelAlign 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 +type CandlestickHoverlabelAlign string + +const ( + CandlestickHoverlabelAlignLeft CandlestickHoverlabelAlign = "left" + CandlestickHoverlabelAlignRight CandlestickHoverlabelAlign = "right" + CandlestickHoverlabelAlignAuto CandlestickHoverlabelAlign = "auto" +) + +// CandlestickVisible 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). +type CandlestickVisible interface{} + +var ( + CandlestickVisibleTrue CandlestickVisible = true + CandlestickVisibleFalse CandlestickVisible = false + CandlestickVisibleLegendonly CandlestickVisible = "legendonly" +) + +// CandlestickXcalendar Sets the calendar system to use with `x` date data. +type CandlestickXcalendar string + +const ( + CandlestickXcalendarChinese CandlestickXcalendar = "chinese" + CandlestickXcalendarCoptic CandlestickXcalendar = "coptic" + CandlestickXcalendarDiscworld CandlestickXcalendar = "discworld" + CandlestickXcalendarEthiopian CandlestickXcalendar = "ethiopian" + CandlestickXcalendarGregorian CandlestickXcalendar = "gregorian" + CandlestickXcalendarHebrew CandlestickXcalendar = "hebrew" + CandlestickXcalendarIslamic CandlestickXcalendar = "islamic" + CandlestickXcalendarJalali CandlestickXcalendar = "jalali" + CandlestickXcalendarJulian CandlestickXcalendar = "julian" + CandlestickXcalendarMayan CandlestickXcalendar = "mayan" + CandlestickXcalendarNanakshahi CandlestickXcalendar = "nanakshahi" + CandlestickXcalendarNepali CandlestickXcalendar = "nepali" + CandlestickXcalendarPersian CandlestickXcalendar = "persian" + CandlestickXcalendarTaiwan CandlestickXcalendar = "taiwan" + CandlestickXcalendarThai CandlestickXcalendar = "thai" + CandlestickXcalendarUmmalqura CandlestickXcalendar = "ummalqura" +) + +// CandlestickXperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. +type CandlestickXperiodalignment string + +const ( + CandlestickXperiodalignmentStart CandlestickXperiodalignment = "start" + CandlestickXperiodalignmentMiddle CandlestickXperiodalignment = "middle" + CandlestickXperiodalignmentEnd CandlestickXperiodalignment = "end" +) + +// CandlestickHoverinfo 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. +type CandlestickHoverinfo string + +const ( + // Flags + CandlestickHoverinfoX CandlestickHoverinfo = "x" + CandlestickHoverinfoY CandlestickHoverinfo = "y" + CandlestickHoverinfoZ CandlestickHoverinfo = "z" + CandlestickHoverinfoText CandlestickHoverinfo = "text" + CandlestickHoverinfoName CandlestickHoverinfo = "name" + + // Extra + CandlestickHoverinfoAll CandlestickHoverinfo = "all" + CandlestickHoverinfoNone CandlestickHoverinfo = "none" + CandlestickHoverinfoSkip CandlestickHoverinfo = "skip" +) diff --git a/generated/v2.31.1/graph_objects/carpet_gen.go b/generated/v2.31.1/graph_objects/carpet_gen.go new file mode 100644 index 0000000..caf11c5 --- /dev/null +++ b/generated/v2.31.1/graph_objects/carpet_gen.go @@ -0,0 +1,1352 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeCarpet TraceType = "carpet" + +func (trace *Carpet) GetType() TraceType { + return TraceTypeCarpet +} + +// Carpet 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`. +type Carpet struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // A + // arrayOK: false + // type: data_array + // An array containing values of the first parameter value + A interface{} `json:"a,omitempty"` + + // A0 + // arrayOK: false + // 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. + A0 float64 `json:"a0,omitempty"` + + // Aaxis + // role: Object + Aaxis *CarpetAaxis `json:"aaxis,omitempty"` + + // Asrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `a`. + Asrc String `json:"asrc,omitempty"` + + // B + // arrayOK: false + // type: data_array + // A two dimensional array of y coordinates at each carpet point. + B interface{} `json:"b,omitempty"` + + // B0 + // arrayOK: false + // 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. + B0 float64 `json:"b0,omitempty"` + + // Baxis + // role: Object + Baxis *CarpetBaxis `json:"baxis,omitempty"` + + // Bsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `b`. + Bsrc String `json:"bsrc,omitempty"` + + // Carpet + // arrayOK: false + // type: string + // An identifier for this carpet, so that `scattercarpet` and `contourcarpet` traces can specify a carpet plot on which they lie + Carpet String `json:"carpet,omitempty"` + + // Cheaterslope + // arrayOK: false + // type: number + // The shift applied to each successive row of data in creating a cheater plot. Only used if `x` is been omitted. + Cheaterslope float64 `json:"cheaterslope,omitempty"` + + // Color + // arrayOK: false + // 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. + Color Color `json:"color,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Da + // arrayOK: false + // type: number + // Sets the a coordinate step. See `a0` for more info. + Da float64 `json:"da,omitempty"` + + // Db + // arrayOK: false + // type: number + // Sets the b coordinate step. See `b0` for more info. + Db float64 `json:"db,omitempty"` + + // Font + // role: Object + Font *CarpetFont `json:"font,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *CarpetLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Stream + // role: Object + Stream *CarpetStream `json:"stream,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible CarpetVisible `json:"visible,omitempty"` + + // X + // arrayOK: false + // 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. + X interface{} `json:"x,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // A two dimensional array of y coordinates at each carpet point. + Y interface{} `json:"y,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` + + // Zorder + // arrayOK: false + // 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`. + Zorder int64 `json:"zorder,omitempty"` +} + +// CarpetAaxisTickfont Sets the tick font. +type CarpetAaxisTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// CarpetAaxisTitleFont Sets this axis' title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type CarpetAaxisTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// CarpetAaxisTitle +type CarpetAaxisTitle struct { + + // Font + // role: Object + Font *CarpetAaxisTitleFont `json:"font,omitempty"` + + // Offset + // arrayOK: false + // type: number + // An additional amount by which to offset the title from the tick labels, given in pixels. Note that this used to be set by the now deprecated `titleoffset` attribute. + Offset float64 `json:"offset,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// CarpetAaxis +type CarpetAaxis struct { + + // Arraydtick + // arrayOK: false + // type: integer + // The stride between grid lines along the axis + Arraydtick int64 `json:"arraydtick,omitempty"` + + // Arraytick0 + // arrayOK: false + // type: integer + // The starting index of grid lines along the axis + Arraytick0 int64 `json:"arraytick0,omitempty"` + + // Autorange + // default: %!s(bool=true) + // type: enumerated + // 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*. + Autorange CarpetAaxisAutorange `json:"autorange,omitempty"` + + // Autotypenumbers + // default: convert types + // type: enumerated + // 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. + Autotypenumbers CarpetAaxisAutotypenumbers `json:"autotypenumbers,omitempty"` + + // Categoryarray + // arrayOK: false + // 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`. + Categoryarray interface{} `json:"categoryarray,omitempty"` + + // Categoryarraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `categoryarray`. + Categoryarraysrc String `json:"categoryarraysrc,omitempty"` + + // Categoryorder + // default: trace + // type: enumerated + // 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`. + Categoryorder CarpetAaxisCategoryorder `json:"categoryorder,omitempty"` + + // Cheatertype + // default: value + // type: enumerated + // + Cheatertype CarpetAaxisCheatertype `json:"cheatertype,omitempty"` + + // Color + // arrayOK: false + // 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. + Color Color `json:"color,omitempty"` + + // Dtick + // arrayOK: false + // type: number + // The stride between grid lines along the axis + Dtick float64 `json:"dtick,omitempty"` + + // Endline + // arrayOK: false + // 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. + Endline Bool `json:"endline,omitempty"` + + // Endlinecolor + // arrayOK: false + // type: color + // Sets the line color of the end line. + Endlinecolor Color `json:"endlinecolor,omitempty"` + + // Endlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the end line. + Endlinewidth float64 `json:"endlinewidth,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat CarpetAaxisExponentformat `json:"exponentformat,omitempty"` + + // Fixedrange + // arrayOK: false + // type: boolean + // Determines whether or not this axis is zoom-able. If true, then zoom is disabled. + Fixedrange Bool `json:"fixedrange,omitempty"` + + // Gridcolor + // arrayOK: false + // type: color + // Sets the axis line color. + Gridcolor Color `json:"gridcolor,omitempty"` + + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Labelpadding + // arrayOK: false + // type: integer + // Extra padding between label and the axis + Labelpadding int64 `json:"labelpadding,omitempty"` + + // Labelprefix + // arrayOK: false + // type: string + // Sets a axis label prefix. + Labelprefix String `json:"labelprefix,omitempty"` + + // Labelsuffix + // arrayOK: false + // type: string + // Sets a axis label suffix. + Labelsuffix String `json:"labelsuffix,omitempty"` + + // Linecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Linecolor Color `json:"linecolor,omitempty"` + + // Linewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Linewidth float64 `json:"linewidth,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number + Minexponent float64 `json:"minexponent,omitempty"` + + // Minorgridcolor + // arrayOK: false + // type: color + // Sets the color of the grid lines. + Minorgridcolor Color `json:"minorgridcolor,omitempty"` + + // Minorgridcount + // arrayOK: false + // type: integer + // Sets the number of minor grid ticks per major grid tick + Minorgridcount int64 `json:"minorgridcount,omitempty"` + + // Minorgriddash + // arrayOK: false + // type: string + // 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*). + Minorgriddash String `json:"minorgriddash,omitempty"` + + // Minorgridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the grid lines. + Minorgridwidth float64 `json:"minorgridwidth,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Range + // arrayOK: false + // type: info_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. + Range interface{} `json:"range,omitempty"` + + // Rangemode + // default: normal + // type: enumerated + // 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. + Rangemode CarpetAaxisRangemode `json:"rangemode,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent CarpetAaxisShowexponent `json:"showexponent,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark. + Showgrid Bool `json:"showgrid,omitempty"` + + // Showline + // arrayOK: false + // type: boolean + // Determines whether or not a line bounding this axis is drawn. + Showline Bool `json:"showline,omitempty"` + + // Showticklabels + // default: start + // type: enumerated + // Determines whether axis labels are drawn on the low side, the high side, both, or neither side of the axis. + Showticklabels CarpetAaxisShowticklabels `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix CarpetAaxisShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix CarpetAaxisShowticksuffix `json:"showticksuffix,omitempty"` + + // Smoothing + // arrayOK: false + // type: number + // + Smoothing float64 `json:"smoothing,omitempty"` + + // Startline + // arrayOK: false + // 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. + Startline Bool `json:"startline,omitempty"` + + // Startlinecolor + // arrayOK: false + // type: color + // Sets the line color of the start line. + Startlinecolor Color `json:"startlinecolor,omitempty"` + + // Startlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the start line. + Startlinewidth float64 `json:"startlinewidth,omitempty"` + + // Tick0 + // arrayOK: false + // type: number + // The starting index of grid lines along the axis + Tick0 float64 `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickfont + // role: Object + Tickfont *CarpetAaxisTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Tickmode + // default: array + // type: enumerated + // + Tickmode CarpetAaxisTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Title + // role: Object + Title *CarpetAaxisTitle `json:"title,omitempty"` + + // Type + // default: - + // type: enumerated + // 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. + Type CarpetAaxisType `json:"type,omitempty"` +} + +// CarpetBaxisTickfont Sets the tick font. +type CarpetBaxisTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// CarpetBaxisTitleFont Sets this axis' title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type CarpetBaxisTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// CarpetBaxisTitle +type CarpetBaxisTitle struct { + + // Font + // role: Object + Font *CarpetBaxisTitleFont `json:"font,omitempty"` + + // Offset + // arrayOK: false + // type: number + // An additional amount by which to offset the title from the tick labels, given in pixels. Note that this used to be set by the now deprecated `titleoffset` attribute. + Offset float64 `json:"offset,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// CarpetBaxis +type CarpetBaxis struct { + + // Arraydtick + // arrayOK: false + // type: integer + // The stride between grid lines along the axis + Arraydtick int64 `json:"arraydtick,omitempty"` + + // Arraytick0 + // arrayOK: false + // type: integer + // The starting index of grid lines along the axis + Arraytick0 int64 `json:"arraytick0,omitempty"` + + // Autorange + // default: %!s(bool=true) + // type: enumerated + // 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*. + Autorange CarpetBaxisAutorange `json:"autorange,omitempty"` + + // Autotypenumbers + // default: convert types + // type: enumerated + // 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. + Autotypenumbers CarpetBaxisAutotypenumbers `json:"autotypenumbers,omitempty"` + + // Categoryarray + // arrayOK: false + // 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`. + Categoryarray interface{} `json:"categoryarray,omitempty"` + + // Categoryarraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `categoryarray`. + Categoryarraysrc String `json:"categoryarraysrc,omitempty"` + + // Categoryorder + // default: trace + // type: enumerated + // 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`. + Categoryorder CarpetBaxisCategoryorder `json:"categoryorder,omitempty"` + + // Cheatertype + // default: value + // type: enumerated + // + Cheatertype CarpetBaxisCheatertype `json:"cheatertype,omitempty"` + + // Color + // arrayOK: false + // 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. + Color Color `json:"color,omitempty"` + + // Dtick + // arrayOK: false + // type: number + // The stride between grid lines along the axis + Dtick float64 `json:"dtick,omitempty"` + + // Endline + // arrayOK: false + // 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. + Endline Bool `json:"endline,omitempty"` + + // Endlinecolor + // arrayOK: false + // type: color + // Sets the line color of the end line. + Endlinecolor Color `json:"endlinecolor,omitempty"` + + // Endlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the end line. + Endlinewidth float64 `json:"endlinewidth,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat CarpetBaxisExponentformat `json:"exponentformat,omitempty"` + + // Fixedrange + // arrayOK: false + // type: boolean + // Determines whether or not this axis is zoom-able. If true, then zoom is disabled. + Fixedrange Bool `json:"fixedrange,omitempty"` + + // Gridcolor + // arrayOK: false + // type: color + // Sets the axis line color. + Gridcolor Color `json:"gridcolor,omitempty"` + + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Labelpadding + // arrayOK: false + // type: integer + // Extra padding between label and the axis + Labelpadding int64 `json:"labelpadding,omitempty"` + + // Labelprefix + // arrayOK: false + // type: string + // Sets a axis label prefix. + Labelprefix String `json:"labelprefix,omitempty"` + + // Labelsuffix + // arrayOK: false + // type: string + // Sets a axis label suffix. + Labelsuffix String `json:"labelsuffix,omitempty"` + + // Linecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Linecolor Color `json:"linecolor,omitempty"` + + // Linewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Linewidth float64 `json:"linewidth,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number + Minexponent float64 `json:"minexponent,omitempty"` + + // Minorgridcolor + // arrayOK: false + // type: color + // Sets the color of the grid lines. + Minorgridcolor Color `json:"minorgridcolor,omitempty"` + + // Minorgridcount + // arrayOK: false + // type: integer + // Sets the number of minor grid ticks per major grid tick + Minorgridcount int64 `json:"minorgridcount,omitempty"` + + // Minorgriddash + // arrayOK: false + // type: string + // 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*). + Minorgriddash String `json:"minorgriddash,omitempty"` + + // Minorgridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the grid lines. + Minorgridwidth float64 `json:"minorgridwidth,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Range + // arrayOK: false + // type: info_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. + Range interface{} `json:"range,omitempty"` + + // Rangemode + // default: normal + // type: enumerated + // 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. + Rangemode CarpetBaxisRangemode `json:"rangemode,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent CarpetBaxisShowexponent `json:"showexponent,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark. + Showgrid Bool `json:"showgrid,omitempty"` + + // Showline + // arrayOK: false + // type: boolean + // Determines whether or not a line bounding this axis is drawn. + Showline Bool `json:"showline,omitempty"` + + // Showticklabels + // default: start + // type: enumerated + // Determines whether axis labels are drawn on the low side, the high side, both, or neither side of the axis. + Showticklabels CarpetBaxisShowticklabels `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix CarpetBaxisShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix CarpetBaxisShowticksuffix `json:"showticksuffix,omitempty"` + + // Smoothing + // arrayOK: false + // type: number + // + Smoothing float64 `json:"smoothing,omitempty"` + + // Startline + // arrayOK: false + // 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. + Startline Bool `json:"startline,omitempty"` + + // Startlinecolor + // arrayOK: false + // type: color + // Sets the line color of the start line. + Startlinecolor Color `json:"startlinecolor,omitempty"` + + // Startlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the start line. + Startlinewidth float64 `json:"startlinewidth,omitempty"` + + // Tick0 + // arrayOK: false + // type: number + // The starting index of grid lines along the axis + Tick0 float64 `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickfont + // role: Object + Tickfont *CarpetBaxisTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Tickmode + // default: array + // type: enumerated + // + Tickmode CarpetBaxisTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Title + // role: Object + Title *CarpetBaxisTitle `json:"title,omitempty"` + + // Type + // default: - + // type: enumerated + // 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. + Type CarpetBaxisType `json:"type,omitempty"` +} + +// CarpetFont The default font used for axis & tick labels on this carpet +type CarpetFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// CarpetLegendgrouptitleFont Sets this legend group's title font. +type CarpetLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// CarpetLegendgrouptitle +type CarpetLegendgrouptitle struct { + + // Font + // role: Object + Font *CarpetLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// CarpetStream +type CarpetStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// CarpetAaxisAutorange 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*. +type CarpetAaxisAutorange interface{} + +var ( + CarpetAaxisAutorangeTrue CarpetAaxisAutorange = true + CarpetAaxisAutorangeFalse CarpetAaxisAutorange = false + CarpetAaxisAutorangeReversed CarpetAaxisAutorange = "reversed" +) + +// CarpetAaxisAutotypenumbers 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. +type CarpetAaxisAutotypenumbers string + +const ( + CarpetAaxisAutotypenumbersConvertTypes CarpetAaxisAutotypenumbers = "convert types" + CarpetAaxisAutotypenumbersStrict CarpetAaxisAutotypenumbers = "strict" +) + +// CarpetAaxisCategoryorder 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`. +type CarpetAaxisCategoryorder string + +const ( + CarpetAaxisCategoryorderTrace CarpetAaxisCategoryorder = "trace" + CarpetAaxisCategoryorderCategoryAscending CarpetAaxisCategoryorder = "category ascending" + CarpetAaxisCategoryorderCategoryDescending CarpetAaxisCategoryorder = "category descending" + CarpetAaxisCategoryorderArray CarpetAaxisCategoryorder = "array" +) + +// CarpetAaxisCheatertype +type CarpetAaxisCheatertype string + +const ( + CarpetAaxisCheatertypeIndex CarpetAaxisCheatertype = "index" + CarpetAaxisCheatertypeValue CarpetAaxisCheatertype = "value" +) + +// CarpetAaxisExponentformat 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. +type CarpetAaxisExponentformat string + +const ( + CarpetAaxisExponentformatNone CarpetAaxisExponentformat = "none" + CarpetAaxisExponentformatE1 CarpetAaxisExponentformat = "e" + CarpetAaxisExponentformatE2 CarpetAaxisExponentformat = "E" + CarpetAaxisExponentformatPower CarpetAaxisExponentformat = "power" + CarpetAaxisExponentformatSI CarpetAaxisExponentformat = "SI" + CarpetAaxisExponentformatB CarpetAaxisExponentformat = "B" +) + +// CarpetAaxisRangemode 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. +type CarpetAaxisRangemode string + +const ( + CarpetAaxisRangemodeNormal CarpetAaxisRangemode = "normal" + CarpetAaxisRangemodeTozero CarpetAaxisRangemode = "tozero" + CarpetAaxisRangemodeNonnegative CarpetAaxisRangemode = "nonnegative" +) + +// CarpetAaxisShowexponent 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. +type CarpetAaxisShowexponent string + +const ( + CarpetAaxisShowexponentAll CarpetAaxisShowexponent = "all" + CarpetAaxisShowexponentFirst CarpetAaxisShowexponent = "first" + CarpetAaxisShowexponentLast CarpetAaxisShowexponent = "last" + CarpetAaxisShowexponentNone CarpetAaxisShowexponent = "none" +) + +// CarpetAaxisShowticklabels Determines whether axis labels are drawn on the low side, the high side, both, or neither side of the axis. +type CarpetAaxisShowticklabels string + +const ( + CarpetAaxisShowticklabelsStart CarpetAaxisShowticklabels = "start" + CarpetAaxisShowticklabelsEnd CarpetAaxisShowticklabels = "end" + CarpetAaxisShowticklabelsBoth CarpetAaxisShowticklabels = "both" + CarpetAaxisShowticklabelsNone CarpetAaxisShowticklabels = "none" +) + +// CarpetAaxisShowtickprefix 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. +type CarpetAaxisShowtickprefix string + +const ( + CarpetAaxisShowtickprefixAll CarpetAaxisShowtickprefix = "all" + CarpetAaxisShowtickprefixFirst CarpetAaxisShowtickprefix = "first" + CarpetAaxisShowtickprefixLast CarpetAaxisShowtickprefix = "last" + CarpetAaxisShowtickprefixNone CarpetAaxisShowtickprefix = "none" +) + +// CarpetAaxisShowticksuffix Same as `showtickprefix` but for tick suffixes. +type CarpetAaxisShowticksuffix string + +const ( + CarpetAaxisShowticksuffixAll CarpetAaxisShowticksuffix = "all" + CarpetAaxisShowticksuffixFirst CarpetAaxisShowticksuffix = "first" + CarpetAaxisShowticksuffixLast CarpetAaxisShowticksuffix = "last" + CarpetAaxisShowticksuffixNone CarpetAaxisShowticksuffix = "none" +) + +// CarpetAaxisTickmode +type CarpetAaxisTickmode string + +const ( + CarpetAaxisTickmodeLinear CarpetAaxisTickmode = "linear" + CarpetAaxisTickmodeArray CarpetAaxisTickmode = "array" +) + +// CarpetAaxisType 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. +type CarpetAaxisType string + +const ( + CarpetAaxisTypeHyphenHyphen CarpetAaxisType = "-" + CarpetAaxisTypeLinear CarpetAaxisType = "linear" + CarpetAaxisTypeDate CarpetAaxisType = "date" + CarpetAaxisTypeCategory CarpetAaxisType = "category" +) + +// CarpetBaxisAutorange 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*. +type CarpetBaxisAutorange interface{} + +var ( + CarpetBaxisAutorangeTrue CarpetBaxisAutorange = true + CarpetBaxisAutorangeFalse CarpetBaxisAutorange = false + CarpetBaxisAutorangeReversed CarpetBaxisAutorange = "reversed" +) + +// CarpetBaxisAutotypenumbers 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. +type CarpetBaxisAutotypenumbers string + +const ( + CarpetBaxisAutotypenumbersConvertTypes CarpetBaxisAutotypenumbers = "convert types" + CarpetBaxisAutotypenumbersStrict CarpetBaxisAutotypenumbers = "strict" +) + +// CarpetBaxisCategoryorder 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`. +type CarpetBaxisCategoryorder string + +const ( + CarpetBaxisCategoryorderTrace CarpetBaxisCategoryorder = "trace" + CarpetBaxisCategoryorderCategoryAscending CarpetBaxisCategoryorder = "category ascending" + CarpetBaxisCategoryorderCategoryDescending CarpetBaxisCategoryorder = "category descending" + CarpetBaxisCategoryorderArray CarpetBaxisCategoryorder = "array" +) + +// CarpetBaxisCheatertype +type CarpetBaxisCheatertype string + +const ( + CarpetBaxisCheatertypeIndex CarpetBaxisCheatertype = "index" + CarpetBaxisCheatertypeValue CarpetBaxisCheatertype = "value" +) + +// CarpetBaxisExponentformat 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. +type CarpetBaxisExponentformat string + +const ( + CarpetBaxisExponentformatNone CarpetBaxisExponentformat = "none" + CarpetBaxisExponentformatE1 CarpetBaxisExponentformat = "e" + CarpetBaxisExponentformatE2 CarpetBaxisExponentformat = "E" + CarpetBaxisExponentformatPower CarpetBaxisExponentformat = "power" + CarpetBaxisExponentformatSI CarpetBaxisExponentformat = "SI" + CarpetBaxisExponentformatB CarpetBaxisExponentformat = "B" +) + +// CarpetBaxisRangemode 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. +type CarpetBaxisRangemode string + +const ( + CarpetBaxisRangemodeNormal CarpetBaxisRangemode = "normal" + CarpetBaxisRangemodeTozero CarpetBaxisRangemode = "tozero" + CarpetBaxisRangemodeNonnegative CarpetBaxisRangemode = "nonnegative" +) + +// CarpetBaxisShowexponent 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. +type CarpetBaxisShowexponent string + +const ( + CarpetBaxisShowexponentAll CarpetBaxisShowexponent = "all" + CarpetBaxisShowexponentFirst CarpetBaxisShowexponent = "first" + CarpetBaxisShowexponentLast CarpetBaxisShowexponent = "last" + CarpetBaxisShowexponentNone CarpetBaxisShowexponent = "none" +) + +// CarpetBaxisShowticklabels Determines whether axis labels are drawn on the low side, the high side, both, or neither side of the axis. +type CarpetBaxisShowticklabels string + +const ( + CarpetBaxisShowticklabelsStart CarpetBaxisShowticklabels = "start" + CarpetBaxisShowticklabelsEnd CarpetBaxisShowticklabels = "end" + CarpetBaxisShowticklabelsBoth CarpetBaxisShowticklabels = "both" + CarpetBaxisShowticklabelsNone CarpetBaxisShowticklabels = "none" +) + +// CarpetBaxisShowtickprefix 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. +type CarpetBaxisShowtickprefix string + +const ( + CarpetBaxisShowtickprefixAll CarpetBaxisShowtickprefix = "all" + CarpetBaxisShowtickprefixFirst CarpetBaxisShowtickprefix = "first" + CarpetBaxisShowtickprefixLast CarpetBaxisShowtickprefix = "last" + CarpetBaxisShowtickprefixNone CarpetBaxisShowtickprefix = "none" +) + +// CarpetBaxisShowticksuffix Same as `showtickprefix` but for tick suffixes. +type CarpetBaxisShowticksuffix string + +const ( + CarpetBaxisShowticksuffixAll CarpetBaxisShowticksuffix = "all" + CarpetBaxisShowticksuffixFirst CarpetBaxisShowticksuffix = "first" + CarpetBaxisShowticksuffixLast CarpetBaxisShowticksuffix = "last" + CarpetBaxisShowticksuffixNone CarpetBaxisShowticksuffix = "none" +) + +// CarpetBaxisTickmode +type CarpetBaxisTickmode string + +const ( + CarpetBaxisTickmodeLinear CarpetBaxisTickmode = "linear" + CarpetBaxisTickmodeArray CarpetBaxisTickmode = "array" +) + +// CarpetBaxisType 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. +type CarpetBaxisType string + +const ( + CarpetBaxisTypeHyphenHyphen CarpetBaxisType = "-" + CarpetBaxisTypeLinear CarpetBaxisType = "linear" + CarpetBaxisTypeDate CarpetBaxisType = "date" + CarpetBaxisTypeCategory CarpetBaxisType = "category" +) + +// CarpetVisible 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). +type CarpetVisible interface{} + +var ( + CarpetVisibleTrue CarpetVisible = true + CarpetVisibleFalse CarpetVisible = false + CarpetVisibleLegendonly CarpetVisible = "legendonly" +) diff --git a/generated/v2.31.1/graph_objects/choropleth_gen.go b/generated/v2.31.1/graph_objects/choropleth_gen.go new file mode 100644 index 0000000..6420f68 --- /dev/null +++ b/generated/v2.31.1/graph_objects/choropleth_gen.go @@ -0,0 +1,1077 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeChoropleth TraceType = "choropleth" + +func (trace *Choropleth) GetType() TraceType { + return TraceTypeChoropleth +} + +// Choropleth 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`. +type Choropleth struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Autocolorscale + // arrayOK: false + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *ChoroplethColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Featureidkey + // arrayOK: false + // type: string + // 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*. + Featureidkey String `json:"featureidkey,omitempty"` + + // Geo + // arrayOK: false + // type: subplotid + // 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. + Geo String `json:"geo,omitempty"` + + // Geojson + // arrayOK: false + // type: any + // 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*. + Geojson interface{} `json:"geojson,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo ChoroplethHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *ChoroplethHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // Same as `text`. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *ChoroplethLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Locationmode + // default: ISO-3 + // type: enumerated + // 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. + Locationmode ChoroplethLocationmode `json:"locationmode,omitempty"` + + // Locations + // arrayOK: false + // type: data_array + // Sets the coordinates via location IDs or names. See `locationmode` for more info. + Locations interface{} `json:"locations,omitempty"` + + // Locationssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `locations`. + Locationssrc String `json:"locationssrc,omitempty"` + + // Marker + // role: Object + Marker *ChoroplethMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Selected + // role: Object + Selected *ChoroplethSelected `json:"selected,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Showscale + // arrayOK: false + // type: boolean + // Determines whether or not a colorbar is displayed for this trace. + Showscale Bool `json:"showscale,omitempty"` + + // Stream + // role: Object + Stream *ChoroplethStream `json:"stream,omitempty"` + + // Text + // arrayOK: true + // type: string + // Sets the text elements associated with each location. + Text String `json:"text,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Unselected + // role: Object + Unselected *ChoroplethUnselected `json:"unselected,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible ChoroplethVisible `json:"visible,omitempty"` + + // Z + // arrayOK: false + // type: data_array + // Sets the color values. + Z interface{} `json:"z,omitempty"` + + // Zauto + // arrayOK: false + // type: boolean + // 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. + Zauto Bool `json:"zauto,omitempty"` + + // Zmax + // arrayOK: false + // 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. + Zmax float64 `json:"zmax,omitempty"` + + // Zmid + // arrayOK: false + // 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`. + Zmid float64 `json:"zmid,omitempty"` + + // Zmin + // arrayOK: false + // 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. + Zmin float64 `json:"zmin,omitempty"` + + // Zsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `z`. + Zsrc String `json:"zsrc,omitempty"` +} + +// ChoroplethColorbarTickfont Sets the color bar's tick label font +type ChoroplethColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ChoroplethColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type ChoroplethColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ChoroplethColorbarTitle +type ChoroplethColorbarTitle struct { + + // Font + // role: Object + Font *ChoroplethColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side ChoroplethColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// ChoroplethColorbar +type ChoroplethColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat ChoroplethColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode ChoroplethColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ChoroplethColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent ChoroplethColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix ChoroplethColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix ChoroplethColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode ChoroplethColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *ChoroplethColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ChoroplethColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition ChoroplethColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode ChoroplethColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks ChoroplethColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *ChoroplethColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor ChoroplethColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref ChoroplethColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor ChoroplethColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref ChoroplethColorbarYref `json:"yref,omitempty"` +} + +// ChoroplethHoverlabelFont Sets the font used in hover labels. +type ChoroplethHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ChoroplethHoverlabel +type ChoroplethHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align ChoroplethHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *ChoroplethHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// ChoroplethLegendgrouptitleFont Sets this legend group's title font. +type ChoroplethLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ChoroplethLegendgrouptitle +type ChoroplethLegendgrouptitle struct { + + // Font + // role: Object + Font *ChoroplethLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// ChoroplethMarkerLine +type ChoroplethMarkerLine struct { + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the lines bounding the marker points. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// ChoroplethMarker +type ChoroplethMarker struct { + + // Line + // role: Object + Line *ChoroplethMarkerLine `json:"line,omitempty"` + + // Opacity + // arrayOK: true + // type: number + // Sets the opacity of the locations. + Opacity float64 `json:"opacity,omitempty"` + + // Opacitysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `opacity`. + Opacitysrc String `json:"opacitysrc,omitempty"` +} + +// ChoroplethSelectedMarker +type ChoroplethSelectedMarker struct { + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of selected points. + Opacity float64 `json:"opacity,omitempty"` +} + +// ChoroplethSelected +type ChoroplethSelected struct { + + // Marker + // role: Object + Marker *ChoroplethSelectedMarker `json:"marker,omitempty"` +} + +// ChoroplethStream +type ChoroplethStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// ChoroplethUnselectedMarker +type ChoroplethUnselectedMarker struct { + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of unselected points, applied only when a selection exists. + Opacity float64 `json:"opacity,omitempty"` +} + +// ChoroplethUnselected +type ChoroplethUnselected struct { + + // Marker + // role: Object + Marker *ChoroplethUnselectedMarker `json:"marker,omitempty"` +} + +// ChoroplethColorbarExponentformat 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. +type ChoroplethColorbarExponentformat string + +const ( + ChoroplethColorbarExponentformatNone ChoroplethColorbarExponentformat = "none" + ChoroplethColorbarExponentformatE1 ChoroplethColorbarExponentformat = "e" + ChoroplethColorbarExponentformatE2 ChoroplethColorbarExponentformat = "E" + ChoroplethColorbarExponentformatPower ChoroplethColorbarExponentformat = "power" + ChoroplethColorbarExponentformatSI ChoroplethColorbarExponentformat = "SI" + ChoroplethColorbarExponentformatB ChoroplethColorbarExponentformat = "B" +) + +// ChoroplethColorbarLenmode 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. +type ChoroplethColorbarLenmode string + +const ( + ChoroplethColorbarLenmodeFraction ChoroplethColorbarLenmode = "fraction" + ChoroplethColorbarLenmodePixels ChoroplethColorbarLenmode = "pixels" +) + +// ChoroplethColorbarOrientation Sets the orientation of the colorbar. +type ChoroplethColorbarOrientation string + +const ( + ChoroplethColorbarOrientationH ChoroplethColorbarOrientation = "h" + ChoroplethColorbarOrientationV ChoroplethColorbarOrientation = "v" +) + +// ChoroplethColorbarShowexponent 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. +type ChoroplethColorbarShowexponent string + +const ( + ChoroplethColorbarShowexponentAll ChoroplethColorbarShowexponent = "all" + ChoroplethColorbarShowexponentFirst ChoroplethColorbarShowexponent = "first" + ChoroplethColorbarShowexponentLast ChoroplethColorbarShowexponent = "last" + ChoroplethColorbarShowexponentNone ChoroplethColorbarShowexponent = "none" +) + +// ChoroplethColorbarShowtickprefix 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. +type ChoroplethColorbarShowtickprefix string + +const ( + ChoroplethColorbarShowtickprefixAll ChoroplethColorbarShowtickprefix = "all" + ChoroplethColorbarShowtickprefixFirst ChoroplethColorbarShowtickprefix = "first" + ChoroplethColorbarShowtickprefixLast ChoroplethColorbarShowtickprefix = "last" + ChoroplethColorbarShowtickprefixNone ChoroplethColorbarShowtickprefix = "none" +) + +// ChoroplethColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type ChoroplethColorbarShowticksuffix string + +const ( + ChoroplethColorbarShowticksuffixAll ChoroplethColorbarShowticksuffix = "all" + ChoroplethColorbarShowticksuffixFirst ChoroplethColorbarShowticksuffix = "first" + ChoroplethColorbarShowticksuffixLast ChoroplethColorbarShowticksuffix = "last" + ChoroplethColorbarShowticksuffixNone ChoroplethColorbarShowticksuffix = "none" +) + +// ChoroplethColorbarThicknessmode 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. +type ChoroplethColorbarThicknessmode string + +const ( + ChoroplethColorbarThicknessmodeFraction ChoroplethColorbarThicknessmode = "fraction" + ChoroplethColorbarThicknessmodePixels ChoroplethColorbarThicknessmode = "pixels" +) + +// ChoroplethColorbarTicklabeloverflow 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*. +type ChoroplethColorbarTicklabeloverflow string + +const ( + ChoroplethColorbarTicklabeloverflowAllow ChoroplethColorbarTicklabeloverflow = "allow" + ChoroplethColorbarTicklabeloverflowHidePastDiv ChoroplethColorbarTicklabeloverflow = "hide past div" + ChoroplethColorbarTicklabeloverflowHidePastDomain ChoroplethColorbarTicklabeloverflow = "hide past domain" +) + +// ChoroplethColorbarTicklabelposition 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*. +type ChoroplethColorbarTicklabelposition string + +const ( + ChoroplethColorbarTicklabelpositionOutside ChoroplethColorbarTicklabelposition = "outside" + ChoroplethColorbarTicklabelpositionInside ChoroplethColorbarTicklabelposition = "inside" + ChoroplethColorbarTicklabelpositionOutsideTop ChoroplethColorbarTicklabelposition = "outside top" + ChoroplethColorbarTicklabelpositionInsideTop ChoroplethColorbarTicklabelposition = "inside top" + ChoroplethColorbarTicklabelpositionOutsideLeft ChoroplethColorbarTicklabelposition = "outside left" + ChoroplethColorbarTicklabelpositionInsideLeft ChoroplethColorbarTicklabelposition = "inside left" + ChoroplethColorbarTicklabelpositionOutsideRight ChoroplethColorbarTicklabelposition = "outside right" + ChoroplethColorbarTicklabelpositionInsideRight ChoroplethColorbarTicklabelposition = "inside right" + ChoroplethColorbarTicklabelpositionOutsideBottom ChoroplethColorbarTicklabelposition = "outside bottom" + ChoroplethColorbarTicklabelpositionInsideBottom ChoroplethColorbarTicklabelposition = "inside bottom" +) + +// ChoroplethColorbarTickmode 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). +type ChoroplethColorbarTickmode string + +const ( + ChoroplethColorbarTickmodeAuto ChoroplethColorbarTickmode = "auto" + ChoroplethColorbarTickmodeLinear ChoroplethColorbarTickmode = "linear" + ChoroplethColorbarTickmodeArray ChoroplethColorbarTickmode = "array" +) + +// ChoroplethColorbarTicks 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. +type ChoroplethColorbarTicks string + +const ( + ChoroplethColorbarTicksOutside ChoroplethColorbarTicks = "outside" + ChoroplethColorbarTicksInside ChoroplethColorbarTicks = "inside" + ChoroplethColorbarTicksEmpty ChoroplethColorbarTicks = "" +) + +// ChoroplethColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type ChoroplethColorbarTitleSide string + +const ( + ChoroplethColorbarTitleSideRight ChoroplethColorbarTitleSide = "right" + ChoroplethColorbarTitleSideTop ChoroplethColorbarTitleSide = "top" + ChoroplethColorbarTitleSideBottom ChoroplethColorbarTitleSide = "bottom" +) + +// ChoroplethColorbarXanchor 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*. +type ChoroplethColorbarXanchor string + +const ( + ChoroplethColorbarXanchorLeft ChoroplethColorbarXanchor = "left" + ChoroplethColorbarXanchorCenter ChoroplethColorbarXanchor = "center" + ChoroplethColorbarXanchorRight ChoroplethColorbarXanchor = "right" +) + +// ChoroplethColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type ChoroplethColorbarXref string + +const ( + ChoroplethColorbarXrefContainer ChoroplethColorbarXref = "container" + ChoroplethColorbarXrefPaper ChoroplethColorbarXref = "paper" +) + +// ChoroplethColorbarYanchor 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*. +type ChoroplethColorbarYanchor string + +const ( + ChoroplethColorbarYanchorTop ChoroplethColorbarYanchor = "top" + ChoroplethColorbarYanchorMiddle ChoroplethColorbarYanchor = "middle" + ChoroplethColorbarYanchorBottom ChoroplethColorbarYanchor = "bottom" +) + +// ChoroplethColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type ChoroplethColorbarYref string + +const ( + ChoroplethColorbarYrefContainer ChoroplethColorbarYref = "container" + ChoroplethColorbarYrefPaper ChoroplethColorbarYref = "paper" +) + +// ChoroplethHoverlabelAlign 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 +type ChoroplethHoverlabelAlign string + +const ( + ChoroplethHoverlabelAlignLeft ChoroplethHoverlabelAlign = "left" + ChoroplethHoverlabelAlignRight ChoroplethHoverlabelAlign = "right" + ChoroplethHoverlabelAlignAuto ChoroplethHoverlabelAlign = "auto" +) + +// ChoroplethLocationmode 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. +type ChoroplethLocationmode string + +const ( + ChoroplethLocationmodeISO3 ChoroplethLocationmode = "ISO-3" + ChoroplethLocationmodeUSAStates ChoroplethLocationmode = "USA-states" + ChoroplethLocationmodeCountryNames ChoroplethLocationmode = "country names" + ChoroplethLocationmodeGeojsonId ChoroplethLocationmode = "geojson-id" +) + +// ChoroplethVisible 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). +type ChoroplethVisible interface{} + +var ( + ChoroplethVisibleTrue ChoroplethVisible = true + ChoroplethVisibleFalse ChoroplethVisible = false + ChoroplethVisibleLegendonly ChoroplethVisible = "legendonly" +) + +// ChoroplethHoverinfo 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. +type ChoroplethHoverinfo string + +const ( + // Flags + ChoroplethHoverinfoLocation ChoroplethHoverinfo = "location" + ChoroplethHoverinfoZ ChoroplethHoverinfo = "z" + ChoroplethHoverinfoText ChoroplethHoverinfo = "text" + ChoroplethHoverinfoName ChoroplethHoverinfo = "name" + + // Extra + ChoroplethHoverinfoAll ChoroplethHoverinfo = "all" + ChoroplethHoverinfoNone ChoroplethHoverinfo = "none" + ChoroplethHoverinfoSkip ChoroplethHoverinfo = "skip" +) diff --git a/generated/v2.31.1/graph_objects/choroplethmapbox_gen.go b/generated/v2.31.1/graph_objects/choroplethmapbox_gen.go new file mode 100644 index 0000000..0202c45 --- /dev/null +++ b/generated/v2.31.1/graph_objects/choroplethmapbox_gen.go @@ -0,0 +1,1067 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeChoroplethmapbox TraceType = "choroplethmapbox" + +func (trace *Choroplethmapbox) GetType() TraceType { + return TraceTypeChoroplethmapbox +} + +// Choroplethmapbox 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`. +type Choroplethmapbox struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Autocolorscale + // arrayOK: false + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Below + // arrayOK: false + // 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. + Below String `json:"below,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *ChoroplethmapboxColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Featureidkey + // arrayOK: false + // type: string + // 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*. + Featureidkey String `json:"featureidkey,omitempty"` + + // Geojson + // arrayOK: false + // type: any + // 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*. + Geojson interface{} `json:"geojson,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo ChoroplethmapboxHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *ChoroplethmapboxHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Finally, the template string has access to variable `properties` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // Same as `text`. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *ChoroplethmapboxLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Locations + // arrayOK: false + // type: data_array + // Sets which features found in *geojson* to plot using their feature `id` field. + Locations interface{} `json:"locations,omitempty"` + + // Locationssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `locations`. + Locationssrc String `json:"locationssrc,omitempty"` + + // Marker + // role: Object + Marker *ChoroplethmapboxMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Selected + // role: Object + Selected *ChoroplethmapboxSelected `json:"selected,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Showscale + // arrayOK: false + // type: boolean + // Determines whether or not a colorbar is displayed for this trace. + Showscale Bool `json:"showscale,omitempty"` + + // Stream + // role: Object + Stream *ChoroplethmapboxStream `json:"stream,omitempty"` + + // Subplot + // arrayOK: false + // type: subplotid + // 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. + Subplot String `json:"subplot,omitempty"` + + // Text + // arrayOK: true + // type: string + // Sets the text elements associated with each location. + Text String `json:"text,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Unselected + // role: Object + Unselected *ChoroplethmapboxUnselected `json:"unselected,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible ChoroplethmapboxVisible `json:"visible,omitempty"` + + // Z + // arrayOK: false + // type: data_array + // Sets the color values. + Z interface{} `json:"z,omitempty"` + + // Zauto + // arrayOK: false + // type: boolean + // 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. + Zauto Bool `json:"zauto,omitempty"` + + // Zmax + // arrayOK: false + // 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. + Zmax float64 `json:"zmax,omitempty"` + + // Zmid + // arrayOK: false + // 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`. + Zmid float64 `json:"zmid,omitempty"` + + // Zmin + // arrayOK: false + // 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. + Zmin float64 `json:"zmin,omitempty"` + + // Zsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `z`. + Zsrc String `json:"zsrc,omitempty"` +} + +// ChoroplethmapboxColorbarTickfont Sets the color bar's tick label font +type ChoroplethmapboxColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ChoroplethmapboxColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type ChoroplethmapboxColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ChoroplethmapboxColorbarTitle +type ChoroplethmapboxColorbarTitle struct { + + // Font + // role: Object + Font *ChoroplethmapboxColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side ChoroplethmapboxColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// ChoroplethmapboxColorbar +type ChoroplethmapboxColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat ChoroplethmapboxColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode ChoroplethmapboxColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ChoroplethmapboxColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent ChoroplethmapboxColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix ChoroplethmapboxColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix ChoroplethmapboxColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode ChoroplethmapboxColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *ChoroplethmapboxColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ChoroplethmapboxColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition ChoroplethmapboxColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode ChoroplethmapboxColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks ChoroplethmapboxColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *ChoroplethmapboxColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor ChoroplethmapboxColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref ChoroplethmapboxColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor ChoroplethmapboxColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref ChoroplethmapboxColorbarYref `json:"yref,omitempty"` +} + +// ChoroplethmapboxHoverlabelFont Sets the font used in hover labels. +type ChoroplethmapboxHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ChoroplethmapboxHoverlabel +type ChoroplethmapboxHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align ChoroplethmapboxHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *ChoroplethmapboxHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// ChoroplethmapboxLegendgrouptitleFont Sets this legend group's title font. +type ChoroplethmapboxLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ChoroplethmapboxLegendgrouptitle +type ChoroplethmapboxLegendgrouptitle struct { + + // Font + // role: Object + Font *ChoroplethmapboxLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// ChoroplethmapboxMarkerLine +type ChoroplethmapboxMarkerLine struct { + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the lines bounding the marker points. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// ChoroplethmapboxMarker +type ChoroplethmapboxMarker struct { + + // Line + // role: Object + Line *ChoroplethmapboxMarkerLine `json:"line,omitempty"` + + // Opacity + // arrayOK: true + // type: number + // Sets the opacity of the locations. + Opacity float64 `json:"opacity,omitempty"` + + // Opacitysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `opacity`. + Opacitysrc String `json:"opacitysrc,omitempty"` +} + +// ChoroplethmapboxSelectedMarker +type ChoroplethmapboxSelectedMarker struct { + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of selected points. + Opacity float64 `json:"opacity,omitempty"` +} + +// ChoroplethmapboxSelected +type ChoroplethmapboxSelected struct { + + // Marker + // role: Object + Marker *ChoroplethmapboxSelectedMarker `json:"marker,omitempty"` +} + +// ChoroplethmapboxStream +type ChoroplethmapboxStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// ChoroplethmapboxUnselectedMarker +type ChoroplethmapboxUnselectedMarker struct { + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of unselected points, applied only when a selection exists. + Opacity float64 `json:"opacity,omitempty"` +} + +// ChoroplethmapboxUnselected +type ChoroplethmapboxUnselected struct { + + // Marker + // role: Object + Marker *ChoroplethmapboxUnselectedMarker `json:"marker,omitempty"` +} + +// ChoroplethmapboxColorbarExponentformat 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. +type ChoroplethmapboxColorbarExponentformat string + +const ( + ChoroplethmapboxColorbarExponentformatNone ChoroplethmapboxColorbarExponentformat = "none" + ChoroplethmapboxColorbarExponentformatE1 ChoroplethmapboxColorbarExponentformat = "e" + ChoroplethmapboxColorbarExponentformatE2 ChoroplethmapboxColorbarExponentformat = "E" + ChoroplethmapboxColorbarExponentformatPower ChoroplethmapboxColorbarExponentformat = "power" + ChoroplethmapboxColorbarExponentformatSI ChoroplethmapboxColorbarExponentformat = "SI" + ChoroplethmapboxColorbarExponentformatB ChoroplethmapboxColorbarExponentformat = "B" +) + +// ChoroplethmapboxColorbarLenmode 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. +type ChoroplethmapboxColorbarLenmode string + +const ( + ChoroplethmapboxColorbarLenmodeFraction ChoroplethmapboxColorbarLenmode = "fraction" + ChoroplethmapboxColorbarLenmodePixels ChoroplethmapboxColorbarLenmode = "pixels" +) + +// ChoroplethmapboxColorbarOrientation Sets the orientation of the colorbar. +type ChoroplethmapboxColorbarOrientation string + +const ( + ChoroplethmapboxColorbarOrientationH ChoroplethmapboxColorbarOrientation = "h" + ChoroplethmapboxColorbarOrientationV ChoroplethmapboxColorbarOrientation = "v" +) + +// ChoroplethmapboxColorbarShowexponent 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. +type ChoroplethmapboxColorbarShowexponent string + +const ( + ChoroplethmapboxColorbarShowexponentAll ChoroplethmapboxColorbarShowexponent = "all" + ChoroplethmapboxColorbarShowexponentFirst ChoroplethmapboxColorbarShowexponent = "first" + ChoroplethmapboxColorbarShowexponentLast ChoroplethmapboxColorbarShowexponent = "last" + ChoroplethmapboxColorbarShowexponentNone ChoroplethmapboxColorbarShowexponent = "none" +) + +// ChoroplethmapboxColorbarShowtickprefix 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. +type ChoroplethmapboxColorbarShowtickprefix string + +const ( + ChoroplethmapboxColorbarShowtickprefixAll ChoroplethmapboxColorbarShowtickprefix = "all" + ChoroplethmapboxColorbarShowtickprefixFirst ChoroplethmapboxColorbarShowtickprefix = "first" + ChoroplethmapboxColorbarShowtickprefixLast ChoroplethmapboxColorbarShowtickprefix = "last" + ChoroplethmapboxColorbarShowtickprefixNone ChoroplethmapboxColorbarShowtickprefix = "none" +) + +// ChoroplethmapboxColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type ChoroplethmapboxColorbarShowticksuffix string + +const ( + ChoroplethmapboxColorbarShowticksuffixAll ChoroplethmapboxColorbarShowticksuffix = "all" + ChoroplethmapboxColorbarShowticksuffixFirst ChoroplethmapboxColorbarShowticksuffix = "first" + ChoroplethmapboxColorbarShowticksuffixLast ChoroplethmapboxColorbarShowticksuffix = "last" + ChoroplethmapboxColorbarShowticksuffixNone ChoroplethmapboxColorbarShowticksuffix = "none" +) + +// ChoroplethmapboxColorbarThicknessmode 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. +type ChoroplethmapboxColorbarThicknessmode string + +const ( + ChoroplethmapboxColorbarThicknessmodeFraction ChoroplethmapboxColorbarThicknessmode = "fraction" + ChoroplethmapboxColorbarThicknessmodePixels ChoroplethmapboxColorbarThicknessmode = "pixels" +) + +// ChoroplethmapboxColorbarTicklabeloverflow 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*. +type ChoroplethmapboxColorbarTicklabeloverflow string + +const ( + ChoroplethmapboxColorbarTicklabeloverflowAllow ChoroplethmapboxColorbarTicklabeloverflow = "allow" + ChoroplethmapboxColorbarTicklabeloverflowHidePastDiv ChoroplethmapboxColorbarTicklabeloverflow = "hide past div" + ChoroplethmapboxColorbarTicklabeloverflowHidePastDomain ChoroplethmapboxColorbarTicklabeloverflow = "hide past domain" +) + +// ChoroplethmapboxColorbarTicklabelposition 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*. +type ChoroplethmapboxColorbarTicklabelposition string + +const ( + ChoroplethmapboxColorbarTicklabelpositionOutside ChoroplethmapboxColorbarTicklabelposition = "outside" + ChoroplethmapboxColorbarTicklabelpositionInside ChoroplethmapboxColorbarTicklabelposition = "inside" + ChoroplethmapboxColorbarTicklabelpositionOutsideTop ChoroplethmapboxColorbarTicklabelposition = "outside top" + ChoroplethmapboxColorbarTicklabelpositionInsideTop ChoroplethmapboxColorbarTicklabelposition = "inside top" + ChoroplethmapboxColorbarTicklabelpositionOutsideLeft ChoroplethmapboxColorbarTicklabelposition = "outside left" + ChoroplethmapboxColorbarTicklabelpositionInsideLeft ChoroplethmapboxColorbarTicklabelposition = "inside left" + ChoroplethmapboxColorbarTicklabelpositionOutsideRight ChoroplethmapboxColorbarTicklabelposition = "outside right" + ChoroplethmapboxColorbarTicklabelpositionInsideRight ChoroplethmapboxColorbarTicklabelposition = "inside right" + ChoroplethmapboxColorbarTicklabelpositionOutsideBottom ChoroplethmapboxColorbarTicklabelposition = "outside bottom" + ChoroplethmapboxColorbarTicklabelpositionInsideBottom ChoroplethmapboxColorbarTicklabelposition = "inside bottom" +) + +// ChoroplethmapboxColorbarTickmode 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). +type ChoroplethmapboxColorbarTickmode string + +const ( + ChoroplethmapboxColorbarTickmodeAuto ChoroplethmapboxColorbarTickmode = "auto" + ChoroplethmapboxColorbarTickmodeLinear ChoroplethmapboxColorbarTickmode = "linear" + ChoroplethmapboxColorbarTickmodeArray ChoroplethmapboxColorbarTickmode = "array" +) + +// ChoroplethmapboxColorbarTicks 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. +type ChoroplethmapboxColorbarTicks string + +const ( + ChoroplethmapboxColorbarTicksOutside ChoroplethmapboxColorbarTicks = "outside" + ChoroplethmapboxColorbarTicksInside ChoroplethmapboxColorbarTicks = "inside" + ChoroplethmapboxColorbarTicksEmpty ChoroplethmapboxColorbarTicks = "" +) + +// ChoroplethmapboxColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type ChoroplethmapboxColorbarTitleSide string + +const ( + ChoroplethmapboxColorbarTitleSideRight ChoroplethmapboxColorbarTitleSide = "right" + ChoroplethmapboxColorbarTitleSideTop ChoroplethmapboxColorbarTitleSide = "top" + ChoroplethmapboxColorbarTitleSideBottom ChoroplethmapboxColorbarTitleSide = "bottom" +) + +// ChoroplethmapboxColorbarXanchor 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*. +type ChoroplethmapboxColorbarXanchor string + +const ( + ChoroplethmapboxColorbarXanchorLeft ChoroplethmapboxColorbarXanchor = "left" + ChoroplethmapboxColorbarXanchorCenter ChoroplethmapboxColorbarXanchor = "center" + ChoroplethmapboxColorbarXanchorRight ChoroplethmapboxColorbarXanchor = "right" +) + +// ChoroplethmapboxColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type ChoroplethmapboxColorbarXref string + +const ( + ChoroplethmapboxColorbarXrefContainer ChoroplethmapboxColorbarXref = "container" + ChoroplethmapboxColorbarXrefPaper ChoroplethmapboxColorbarXref = "paper" +) + +// ChoroplethmapboxColorbarYanchor 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*. +type ChoroplethmapboxColorbarYanchor string + +const ( + ChoroplethmapboxColorbarYanchorTop ChoroplethmapboxColorbarYanchor = "top" + ChoroplethmapboxColorbarYanchorMiddle ChoroplethmapboxColorbarYanchor = "middle" + ChoroplethmapboxColorbarYanchorBottom ChoroplethmapboxColorbarYanchor = "bottom" +) + +// ChoroplethmapboxColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type ChoroplethmapboxColorbarYref string + +const ( + ChoroplethmapboxColorbarYrefContainer ChoroplethmapboxColorbarYref = "container" + ChoroplethmapboxColorbarYrefPaper ChoroplethmapboxColorbarYref = "paper" +) + +// ChoroplethmapboxHoverlabelAlign 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 +type ChoroplethmapboxHoverlabelAlign string + +const ( + ChoroplethmapboxHoverlabelAlignLeft ChoroplethmapboxHoverlabelAlign = "left" + ChoroplethmapboxHoverlabelAlignRight ChoroplethmapboxHoverlabelAlign = "right" + ChoroplethmapboxHoverlabelAlignAuto ChoroplethmapboxHoverlabelAlign = "auto" +) + +// ChoroplethmapboxVisible 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). +type ChoroplethmapboxVisible interface{} + +var ( + ChoroplethmapboxVisibleTrue ChoroplethmapboxVisible = true + ChoroplethmapboxVisibleFalse ChoroplethmapboxVisible = false + ChoroplethmapboxVisibleLegendonly ChoroplethmapboxVisible = "legendonly" +) + +// ChoroplethmapboxHoverinfo 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. +type ChoroplethmapboxHoverinfo string + +const ( + // Flags + ChoroplethmapboxHoverinfoLocation ChoroplethmapboxHoverinfo = "location" + ChoroplethmapboxHoverinfoZ ChoroplethmapboxHoverinfo = "z" + ChoroplethmapboxHoverinfoText ChoroplethmapboxHoverinfo = "text" + ChoroplethmapboxHoverinfoName ChoroplethmapboxHoverinfo = "name" + + // Extra + ChoroplethmapboxHoverinfoAll ChoroplethmapboxHoverinfo = "all" + ChoroplethmapboxHoverinfoNone ChoroplethmapboxHoverinfo = "none" + ChoroplethmapboxHoverinfoSkip ChoroplethmapboxHoverinfo = "skip" +) diff --git a/generated/v2.31.1/graph_objects/cone_gen.go b/generated/v2.31.1/graph_objects/cone_gen.go new file mode 100644 index 0000000..418fd8f --- /dev/null +++ b/generated/v2.31.1/graph_objects/cone_gen.go @@ -0,0 +1,1149 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeCone TraceType = "cone" + +func (trace *Cone) GetType() TraceType { + return TraceTypeCone +} + +// Cone 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`. +type Cone struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Anchor + // default: cm + // type: enumerated + // 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. + Anchor ConeAnchor `json:"anchor,omitempty"` + + // Autocolorscale + // arrayOK: false + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *ConeColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Hoverinfo + // default: x+y+z+norm+text+name + // type: flaglist + // 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. + Hoverinfo ConeHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *ConeHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Finally, the template string has access to variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // Same as `text`. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *ConeLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Lighting + // role: Object + Lighting *ConeLighting `json:"lighting,omitempty"` + + // Lightposition + // role: Object + Lightposition *ConeLightposition `json:"lightposition,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // 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. + Opacity float64 `json:"opacity,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Scene + // arrayOK: false + // type: subplotid + // 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. + Scene String `json:"scene,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Showscale + // arrayOK: false + // type: boolean + // Determines whether or not a colorbar is displayed for this trace. + Showscale Bool `json:"showscale,omitempty"` + + // Sizemode + // default: scaled + // type: enumerated + // 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*. + Sizemode ConeSizemode `json:"sizemode,omitempty"` + + // Sizeref + // arrayOK: false + // 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. + Sizeref float64 `json:"sizeref,omitempty"` + + // Stream + // role: Object + Stream *ConeStream `json:"stream,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // U + // arrayOK: false + // type: data_array + // Sets the x components of the vector field. + U interface{} `json:"u,omitempty"` + + // Uhoverformat + // arrayOK: false + // 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. + Uhoverformat String `json:"uhoverformat,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Usrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `u`. + Usrc String `json:"usrc,omitempty"` + + // V + // arrayOK: false + // type: data_array + // Sets the y components of the vector field. + V interface{} `json:"v,omitempty"` + + // Vhoverformat + // arrayOK: false + // 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. + Vhoverformat String `json:"vhoverformat,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible ConeVisible `json:"visible,omitempty"` + + // Vsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `v`. + Vsrc String `json:"vsrc,omitempty"` + + // W + // arrayOK: false + // type: data_array + // Sets the z components of the vector field. + W interface{} `json:"w,omitempty"` + + // Whoverformat + // arrayOK: false + // 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. + Whoverformat String `json:"whoverformat,omitempty"` + + // Wsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `w`. + Wsrc String `json:"wsrc,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the x coordinates of the vector field and of the displayed cones. + X interface{} `json:"x,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the y coordinates of the vector field and of the displayed cones. + Y interface{} `json:"y,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` + + // Z + // arrayOK: false + // type: data_array + // Sets the z coordinates of the vector field and of the displayed cones. + Z interface{} `json:"z,omitempty"` + + // Zhoverformat + // arrayOK: false + // 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`. + Zhoverformat String `json:"zhoverformat,omitempty"` + + // Zsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `z`. + Zsrc String `json:"zsrc,omitempty"` +} + +// ConeColorbarTickfont Sets the color bar's tick label font +type ConeColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ConeColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type ConeColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ConeColorbarTitle +type ConeColorbarTitle struct { + + // Font + // role: Object + Font *ConeColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side ConeColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// ConeColorbar +type ConeColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat ConeColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode ConeColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ConeColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent ConeColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix ConeColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix ConeColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode ConeColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *ConeColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ConeColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition ConeColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode ConeColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks ConeColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *ConeColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor ConeColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref ConeColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor ConeColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref ConeColorbarYref `json:"yref,omitempty"` +} + +// ConeHoverlabelFont Sets the font used in hover labels. +type ConeHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ConeHoverlabel +type ConeHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align ConeHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *ConeHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// ConeLegendgrouptitleFont Sets this legend group's title font. +type ConeLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ConeLegendgrouptitle +type ConeLegendgrouptitle struct { + + // Font + // role: Object + Font *ConeLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// ConeLighting +type ConeLighting struct { + + // Ambient + // arrayOK: false + // type: number + // Ambient light increases overall color visibility but can wash out the image. + Ambient float64 `json:"ambient,omitempty"` + + // Diffuse + // arrayOK: false + // type: number + // Represents the extent that incident rays are reflected in a range of angles. + Diffuse float64 `json:"diffuse,omitempty"` + + // Facenormalsepsilon + // arrayOK: false + // type: number + // Epsilon for face normals calculation avoids math issues arising from degenerate geometry. + Facenormalsepsilon float64 `json:"facenormalsepsilon,omitempty"` + + // Fresnel + // arrayOK: false + // type: number + // 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. + Fresnel float64 `json:"fresnel,omitempty"` + + // Roughness + // arrayOK: false + // type: number + // Alters specular reflection; the rougher the surface, the wider and less contrasty the shine. + Roughness float64 `json:"roughness,omitempty"` + + // Specular + // arrayOK: false + // type: number + // Represents the level that incident rays are reflected in a single direction, causing shine. + Specular float64 `json:"specular,omitempty"` + + // Vertexnormalsepsilon + // arrayOK: false + // type: number + // Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry. + Vertexnormalsepsilon float64 `json:"vertexnormalsepsilon,omitempty"` +} + +// ConeLightposition +type ConeLightposition struct { + + // X + // arrayOK: false + // type: number + // Numeric vector, representing the X coordinate for each vertex. + X float64 `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: number + // Numeric vector, representing the Y coordinate for each vertex. + Y float64 `json:"y,omitempty"` + + // Z + // arrayOK: false + // type: number + // Numeric vector, representing the Z coordinate for each vertex. + Z float64 `json:"z,omitempty"` +} + +// ConeStream +type ConeStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// ConeAnchor 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. +type ConeAnchor string + +const ( + ConeAnchorTip ConeAnchor = "tip" + ConeAnchorTail ConeAnchor = "tail" + ConeAnchorCm ConeAnchor = "cm" + ConeAnchorCenter ConeAnchor = "center" +) + +// ConeColorbarExponentformat 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. +type ConeColorbarExponentformat string + +const ( + ConeColorbarExponentformatNone ConeColorbarExponentformat = "none" + ConeColorbarExponentformatE1 ConeColorbarExponentformat = "e" + ConeColorbarExponentformatE2 ConeColorbarExponentformat = "E" + ConeColorbarExponentformatPower ConeColorbarExponentformat = "power" + ConeColorbarExponentformatSI ConeColorbarExponentformat = "SI" + ConeColorbarExponentformatB ConeColorbarExponentformat = "B" +) + +// ConeColorbarLenmode 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. +type ConeColorbarLenmode string + +const ( + ConeColorbarLenmodeFraction ConeColorbarLenmode = "fraction" + ConeColorbarLenmodePixels ConeColorbarLenmode = "pixels" +) + +// ConeColorbarOrientation Sets the orientation of the colorbar. +type ConeColorbarOrientation string + +const ( + ConeColorbarOrientationH ConeColorbarOrientation = "h" + ConeColorbarOrientationV ConeColorbarOrientation = "v" +) + +// ConeColorbarShowexponent 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. +type ConeColorbarShowexponent string + +const ( + ConeColorbarShowexponentAll ConeColorbarShowexponent = "all" + ConeColorbarShowexponentFirst ConeColorbarShowexponent = "first" + ConeColorbarShowexponentLast ConeColorbarShowexponent = "last" + ConeColorbarShowexponentNone ConeColorbarShowexponent = "none" +) + +// ConeColorbarShowtickprefix 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. +type ConeColorbarShowtickprefix string + +const ( + ConeColorbarShowtickprefixAll ConeColorbarShowtickprefix = "all" + ConeColorbarShowtickprefixFirst ConeColorbarShowtickprefix = "first" + ConeColorbarShowtickprefixLast ConeColorbarShowtickprefix = "last" + ConeColorbarShowtickprefixNone ConeColorbarShowtickprefix = "none" +) + +// ConeColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type ConeColorbarShowticksuffix string + +const ( + ConeColorbarShowticksuffixAll ConeColorbarShowticksuffix = "all" + ConeColorbarShowticksuffixFirst ConeColorbarShowticksuffix = "first" + ConeColorbarShowticksuffixLast ConeColorbarShowticksuffix = "last" + ConeColorbarShowticksuffixNone ConeColorbarShowticksuffix = "none" +) + +// ConeColorbarThicknessmode 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. +type ConeColorbarThicknessmode string + +const ( + ConeColorbarThicknessmodeFraction ConeColorbarThicknessmode = "fraction" + ConeColorbarThicknessmodePixels ConeColorbarThicknessmode = "pixels" +) + +// ConeColorbarTicklabeloverflow 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*. +type ConeColorbarTicklabeloverflow string + +const ( + ConeColorbarTicklabeloverflowAllow ConeColorbarTicklabeloverflow = "allow" + ConeColorbarTicklabeloverflowHidePastDiv ConeColorbarTicklabeloverflow = "hide past div" + ConeColorbarTicklabeloverflowHidePastDomain ConeColorbarTicklabeloverflow = "hide past domain" +) + +// ConeColorbarTicklabelposition 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*. +type ConeColorbarTicklabelposition string + +const ( + ConeColorbarTicklabelpositionOutside ConeColorbarTicklabelposition = "outside" + ConeColorbarTicklabelpositionInside ConeColorbarTicklabelposition = "inside" + ConeColorbarTicklabelpositionOutsideTop ConeColorbarTicklabelposition = "outside top" + ConeColorbarTicklabelpositionInsideTop ConeColorbarTicklabelposition = "inside top" + ConeColorbarTicklabelpositionOutsideLeft ConeColorbarTicklabelposition = "outside left" + ConeColorbarTicklabelpositionInsideLeft ConeColorbarTicklabelposition = "inside left" + ConeColorbarTicklabelpositionOutsideRight ConeColorbarTicklabelposition = "outside right" + ConeColorbarTicklabelpositionInsideRight ConeColorbarTicklabelposition = "inside right" + ConeColorbarTicklabelpositionOutsideBottom ConeColorbarTicklabelposition = "outside bottom" + ConeColorbarTicklabelpositionInsideBottom ConeColorbarTicklabelposition = "inside bottom" +) + +// ConeColorbarTickmode 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). +type ConeColorbarTickmode string + +const ( + ConeColorbarTickmodeAuto ConeColorbarTickmode = "auto" + ConeColorbarTickmodeLinear ConeColorbarTickmode = "linear" + ConeColorbarTickmodeArray ConeColorbarTickmode = "array" +) + +// ConeColorbarTicks 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. +type ConeColorbarTicks string + +const ( + ConeColorbarTicksOutside ConeColorbarTicks = "outside" + ConeColorbarTicksInside ConeColorbarTicks = "inside" + ConeColorbarTicksEmpty ConeColorbarTicks = "" +) + +// ConeColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type ConeColorbarTitleSide string + +const ( + ConeColorbarTitleSideRight ConeColorbarTitleSide = "right" + ConeColorbarTitleSideTop ConeColorbarTitleSide = "top" + ConeColorbarTitleSideBottom ConeColorbarTitleSide = "bottom" +) + +// ConeColorbarXanchor 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*. +type ConeColorbarXanchor string + +const ( + ConeColorbarXanchorLeft ConeColorbarXanchor = "left" + ConeColorbarXanchorCenter ConeColorbarXanchor = "center" + ConeColorbarXanchorRight ConeColorbarXanchor = "right" +) + +// ConeColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type ConeColorbarXref string + +const ( + ConeColorbarXrefContainer ConeColorbarXref = "container" + ConeColorbarXrefPaper ConeColorbarXref = "paper" +) + +// ConeColorbarYanchor 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*. +type ConeColorbarYanchor string + +const ( + ConeColorbarYanchorTop ConeColorbarYanchor = "top" + ConeColorbarYanchorMiddle ConeColorbarYanchor = "middle" + ConeColorbarYanchorBottom ConeColorbarYanchor = "bottom" +) + +// ConeColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type ConeColorbarYref string + +const ( + ConeColorbarYrefContainer ConeColorbarYref = "container" + ConeColorbarYrefPaper ConeColorbarYref = "paper" +) + +// ConeHoverlabelAlign 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 +type ConeHoverlabelAlign string + +const ( + ConeHoverlabelAlignLeft ConeHoverlabelAlign = "left" + ConeHoverlabelAlignRight ConeHoverlabelAlign = "right" + ConeHoverlabelAlignAuto ConeHoverlabelAlign = "auto" +) + +// ConeSizemode 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*. +type ConeSizemode string + +const ( + ConeSizemodeScaled ConeSizemode = "scaled" + ConeSizemodeAbsolute ConeSizemode = "absolute" + ConeSizemodeRaw ConeSizemode = "raw" +) + +// ConeVisible 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). +type ConeVisible interface{} + +var ( + ConeVisibleTrue ConeVisible = true + ConeVisibleFalse ConeVisible = false + ConeVisibleLegendonly ConeVisible = "legendonly" +) + +// ConeHoverinfo 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. +type ConeHoverinfo string + +const ( + // Flags + ConeHoverinfoX ConeHoverinfo = "x" + ConeHoverinfoY ConeHoverinfo = "y" + ConeHoverinfoZ ConeHoverinfo = "z" + ConeHoverinfoU ConeHoverinfo = "u" + ConeHoverinfoV ConeHoverinfo = "v" + ConeHoverinfoW ConeHoverinfo = "w" + ConeHoverinfoNorm ConeHoverinfo = "norm" + ConeHoverinfoText ConeHoverinfo = "text" + ConeHoverinfoName ConeHoverinfo = "name" + + // Extra + ConeHoverinfoAll ConeHoverinfo = "all" + ConeHoverinfoNone ConeHoverinfo = "none" + ConeHoverinfoSkip ConeHoverinfo = "skip" +) diff --git a/generated/v2.31.1/graph_objects/config_gen.go b/generated/v2.31.1/graph_objects/config_gen.go new file mode 100644 index 0000000..4f14501 --- /dev/null +++ b/generated/v2.31.1/graph_objects/config_gen.go @@ -0,0 +1,335 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT.// Config Plot config options +type Config struct { + + // Autosizable + // arrayOK: false + // type: boolean + // Determines whether the graphs are plotted with respect to layout.autosize:true and infer its container size. + Autosizable Bool `json:"autosizable,omitempty"` + + // DisplayModeBar + // default: hover + // type: enumerated + // Determines the mode bar display mode. If *true*, the mode bar is always visible. If *false*, the mode bar is always hidden. If *hover*, the mode bar is visible while the mouse cursor is on the graph container. + DisplayModeBar ConfigDisplayModeBar `json:"displayModeBar,omitempty"` + + // Displaylogo + // arrayOK: false + // type: boolean + // Determines whether or not the plotly logo is displayed on the end of the mode bar. + Displaylogo Bool `json:"displaylogo,omitempty"` + + // DoubleClick + // default: reset+autosize + // type: enumerated + // Sets the double click interaction mode. Has an effect only in cartesian plots. If *false*, double click is disable. If *reset*, double click resets the axis ranges to their initial values. If *autosize*, double click set the axis ranges to their autorange values. If *reset+autosize*, the odd double clicks resets the axis ranges to their initial values and even double clicks set the axis ranges to their autorange values. + DoubleClick ConfigDoubleClick `json:"doubleClick,omitempty"` + + // DoubleClickDelay + // arrayOK: false + // type: number + // Sets the delay for registering a double-click in ms. This is the time interval (in ms) between first mousedown and 2nd mouseup to constitute a double-click. This setting propagates to all on-subplot double clicks (except for geo and mapbox) and on-legend double clicks. + DoubleClickDelay float64 `json:"doubleClickDelay,omitempty"` + + // EditSelection + // arrayOK: false + // type: boolean + // Enables moving selections. + EditSelection Bool `json:"editSelection,omitempty"` + + // Editable + // arrayOK: false + // type: boolean + // Determines whether the graph is editable or not. Sets all pieces of `edits` unless a separate `edits` config item overrides individual parts. + Editable Bool `json:"editable,omitempty"` + + // Edits + // role: Object + Edits *ConfigEdits `json:"edits,omitempty"` + + // FillFrame + // arrayOK: false + // type: boolean + // When `layout.autosize` is turned on, determines whether the graph fills the container (the default) or the screen (if set to *true*). + FillFrame Bool `json:"fillFrame,omitempty"` + + // FrameMargins + // arrayOK: false + // type: number + // When `layout.autosize` is turned on, set the frame margins in fraction of the graph size. + FrameMargins float64 `json:"frameMargins,omitempty"` + + // GlobalTransforms + // arrayOK: false + // type: any + // Set global transform to be applied to all traces with no specification needed + GlobalTransforms interface{} `json:"globalTransforms,omitempty"` + + // LinkText + // arrayOK: false + // type: string + // Sets the text appearing in the `showLink` link. + LinkText String `json:"linkText,omitempty"` + + // Locale + // arrayOK: false + // type: string + // Which localization should we use? Should be a string like 'en' or 'en-US'. + Locale String `json:"locale,omitempty"` + + // Locales + // arrayOK: false + // type: any + // Localization definitions Locales can be provided either here (specific to one chart) or globally by registering them as modules. Should be an object of objects {locale: {dictionary: {...}, format: {...}}} { da: { dictionary: {'Reset axes': 'Nulstil aksler', ...}, format: {months: [...], shortMonths: [...]} }, ... } All parts are optional. When looking for translation or format fields, we look first for an exact match in a config locale, then in a registered module. If those fail, we strip off any regionalization ('en-US' -> 'en') and try each (config, registry) again. The final fallback for translation is untranslated (which is US English) and for formats is the base English (the only consequence being the last fallback date format %x is DD/MM/YYYY instead of MM/DD/YYYY). Currently `grouping` and `currency` are ignored for our automatic number formatting, but can be used in custom formats. + Locales interface{} `json:"locales,omitempty"` + + // Logging + // arrayOK: false + // type: integer + // Turn all console logging on or off (errors will be thrown) This should ONLY be set via Plotly.setPlotConfig Available levels: 0: no logs 1: warnings and errors, but not informational messages 2: verbose logs + Logging int64 `json:"logging,omitempty"` + + // MapboxAccessToken + // arrayOK: false + // type: string + // Mapbox access token (required to plot mapbox trace types) If using an Mapbox Atlas server, set this option to '' so that plotly.js won't attempt to authenticate to the public Mapbox server. + MapboxAccessToken String `json:"mapboxAccessToken,omitempty"` + + // ModeBarButtons + // arrayOK: false + // type: any + // Define fully custom mode bar buttons as nested array, where the outer arrays represents button groups, and the inner arrays have buttons config objects or names of default buttons See ./components/modebar/buttons.js for more info. + ModeBarButtons interface{} `json:"modeBarButtons,omitempty"` + + // ModeBarButtonsToAdd + // arrayOK: false + // type: any + // Add mode bar button using config objects See ./components/modebar/buttons.js for list of arguments. To enable predefined modebar buttons e.g. shape drawing, hover and spikelines, simply provide their string name(s). This could include: *v1hovermode*, *hoverclosest*, *hovercompare*, *togglehover*, *togglespikelines*, *drawline*, *drawopenpath*, *drawclosedpath*, *drawcircle*, *drawrect* and *eraseshape*. Please note that these predefined buttons will only be shown if they are compatible with all trace types used in a graph. + ModeBarButtonsToAdd interface{} `json:"modeBarButtonsToAdd,omitempty"` + + // ModeBarButtonsToRemove + // arrayOK: false + // type: any + // Remove mode bar buttons by name. See ./components/modebar/buttons.js for the list of names. + ModeBarButtonsToRemove interface{} `json:"modeBarButtonsToRemove,omitempty"` + + // NotifyOnLogging + // arrayOK: false + // type: integer + // Set on-graph logging (notifier) level This should ONLY be set via Plotly.setPlotConfig Available levels: 0: no on-graph logs 1: warnings and errors, but not informational messages 2: verbose logs + NotifyOnLogging int64 `json:"notifyOnLogging,omitempty"` + + // PlotGlPixelRatio + // arrayOK: false + // type: number + // Set the pixel ratio during WebGL image export. This config option was formerly named `plot3dPixelRatio` which is now deprecated. + PlotGlPixelRatio float64 `json:"plotGlPixelRatio,omitempty"` + + // PlotlyServerURL + // arrayOK: false + // type: string + // When set it determines base URL for the 'Edit in Chart Studio' `showEditInChartStudio`/`showSendToCloud` mode bar button and the showLink/sendData on-graph link. To enable sending your data to Chart Studio Cloud, you need to set both `plotlyServerURL` to 'https://chart-studio.plotly.com' and also set `showSendToCloud` to true. + PlotlyServerURL String `json:"plotlyServerURL,omitempty"` + + // QueueLength + // arrayOK: false + // type: integer + // Sets the length of the undo/redo queue. + QueueLength int64 `json:"queueLength,omitempty"` + + // Responsive + // arrayOK: false + // type: boolean + // Determines whether to change the layout size when window is resized. In v3, this option will be removed and will always be true. + Responsive Bool `json:"responsive,omitempty"` + + // ScrollZoom + // default: gl3d+geo+mapbox + // type: flaglist + // Determines whether mouse wheel or two-finger scroll zooms is enable. Turned on by default for gl3d, geo and mapbox subplots (as these subplot types do not have zoombox via pan), but turned off by default for cartesian subplots. Set `scrollZoom` to *false* to disable scrolling for all subplots. + ScrollZoom ConfigScrollZoom `json:"scrollZoom,omitempty"` + + // SendData + // arrayOK: false + // type: boolean + // If *showLink* is true, does it contain data just link to a Chart Studio Cloud file? + SendData Bool `json:"sendData,omitempty"` + + // SetBackground + // arrayOK: false + // type: any + // Set function to add the background color (i.e. `layout.paper_color`) to a different container. This function take the graph div as first argument and the current background color as second argument. Alternatively, set to string *opaque* to ensure there is white behind it. + SetBackground interface{} `json:"setBackground,omitempty"` + + // ShowAxisDragHandles + // arrayOK: false + // type: boolean + // Set to *false* to omit cartesian axis pan/zoom drag handles. + ShowAxisDragHandles Bool `json:"showAxisDragHandles,omitempty"` + + // ShowAxisRangeEntryBoxes + // arrayOK: false + // type: boolean + // Set to *false* to omit direct range entry at the pan/zoom drag points, note that `showAxisDragHandles` must be enabled to have an effect. + ShowAxisRangeEntryBoxes Bool `json:"showAxisRangeEntryBoxes,omitempty"` + + // ShowEditInChartStudio + // arrayOK: false + // type: boolean + // Same as `showSendToCloud`, but use a pencil icon instead of a floppy-disk. Note that if both `showSendToCloud` and `showEditInChartStudio` are turned, only `showEditInChartStudio` will be honored. + ShowEditInChartStudio Bool `json:"showEditInChartStudio,omitempty"` + + // ShowLink + // arrayOK: false + // type: boolean + // Determines whether a link to Chart Studio Cloud is displayed at the bottom right corner of resulting graphs. Use with `sendData` and `linkText`. + ShowLink Bool `json:"showLink,omitempty"` + + // ShowSendToCloud + // arrayOK: false + // type: boolean + // Should we include a ModeBar button, labeled "Edit in Chart Studio", that sends this chart to chart-studio.plotly.com (formerly plot.ly) or another plotly server as specified by `plotlyServerURL` for editing, export, etc? Prior to version 1.43.0 this button was included by default, now it is opt-in using this flag. Note that this button can (depending on `plotlyServerURL` being set) send your data to an external server. However that server does not persist your data until you arrive at the Chart Studio and explicitly click "Save". + ShowSendToCloud Bool `json:"showSendToCloud,omitempty"` + + // ShowSources + // arrayOK: false + // type: any + // Adds a source-displaying function to show sources on the resulting graphs. + ShowSources interface{} `json:"showSources,omitempty"` + + // ShowTips + // arrayOK: false + // type: boolean + // Determines whether or not tips are shown while interacting with the resulting graphs. + ShowTips Bool `json:"showTips,omitempty"` + + // StaticPlot + // arrayOK: false + // type: boolean + // Determines whether the graphs are interactive or not. If *false*, no interactivity, for export or image generation. + StaticPlot Bool `json:"staticPlot,omitempty"` + + // ToImageButtonOptions + // arrayOK: false + // type: any + // Statically override options for toImage modebar button allowed keys are format, filename, width, height, scale see ../components/modebar/buttons.js + ToImageButtonOptions interface{} `json:"toImageButtonOptions,omitempty"` + + // TopojsonURL + // arrayOK: false + // type: string + // 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. + TopojsonURL String `json:"topojsonURL,omitempty"` + + // TypesetMath + // arrayOK: false + // type: boolean + // Determines whether math should be typeset or not, when MathJax (either v2 or v3) is present on the page. + TypesetMath Bool `json:"typesetMath,omitempty"` + + // Watermark + // arrayOK: false + // type: boolean + // watermark the images with the company's logo + Watermark Bool `json:"watermark,omitempty"` +} + +// ConfigEdits +type ConfigEdits struct { + + // AnnotationPosition + // arrayOK: false + // type: boolean + // Determines if the main anchor of the annotation is editable. The main anchor corresponds to the text (if no arrow) or the arrow (which drags the whole thing leaving the arrow length & direction unchanged). + AnnotationPosition Bool `json:"annotationPosition,omitempty"` + + // AnnotationTail + // arrayOK: false + // type: boolean + // Has only an effect for annotations with arrows. Enables changing the length and direction of the arrow. + AnnotationTail Bool `json:"annotationTail,omitempty"` + + // AnnotationText + // arrayOK: false + // type: boolean + // Enables editing annotation text. + AnnotationText Bool `json:"annotationText,omitempty"` + + // AxisTitleText + // arrayOK: false + // type: boolean + // Enables editing axis title text. + AxisTitleText Bool `json:"axisTitleText,omitempty"` + + // ColorbarPosition + // arrayOK: false + // type: boolean + // Enables moving colorbars. + ColorbarPosition Bool `json:"colorbarPosition,omitempty"` + + // ColorbarTitleText + // arrayOK: false + // type: boolean + // Enables editing colorbar title text. + ColorbarTitleText Bool `json:"colorbarTitleText,omitempty"` + + // LegendPosition + // arrayOK: false + // type: boolean + // Enables moving the legend. + LegendPosition Bool `json:"legendPosition,omitempty"` + + // LegendText + // arrayOK: false + // type: boolean + // Enables editing the trace name fields from the legend + LegendText Bool `json:"legendText,omitempty"` + + // ShapePosition + // arrayOK: false + // type: boolean + // Enables moving shapes. + ShapePosition Bool `json:"shapePosition,omitempty"` + + // TitleText + // arrayOK: false + // type: boolean + // Enables editing the global layout title. + TitleText Bool `json:"titleText,omitempty"` +} + +// ConfigDisplayModeBar Determines the mode bar display mode. If *true*, the mode bar is always visible. If *false*, the mode bar is always hidden. If *hover*, the mode bar is visible while the mouse cursor is on the graph container. +type ConfigDisplayModeBar interface{} + +var ( + ConfigDisplayModeBarHover ConfigDisplayModeBar = "hover" + ConfigDisplayModeBarTrue ConfigDisplayModeBar = true + ConfigDisplayModeBarFalse ConfigDisplayModeBar = false +) + +// ConfigDoubleClick Sets the double click interaction mode. Has an effect only in cartesian plots. If *false*, double click is disable. If *reset*, double click resets the axis ranges to their initial values. If *autosize*, double click set the axis ranges to their autorange values. If *reset+autosize*, the odd double clicks resets the axis ranges to their initial values and even double clicks set the axis ranges to their autorange values. +type ConfigDoubleClick interface{} + +var ( + ConfigDoubleClickFalse ConfigDoubleClick = false + ConfigDoubleClickReset ConfigDoubleClick = "reset" + ConfigDoubleClickAutosize ConfigDoubleClick = "autosize" + ConfigDoubleClickResetPlusautosize ConfigDoubleClick = "reset+autosize" +) + +// ConfigScrollZoom Determines whether mouse wheel or two-finger scroll zooms is enable. Turned on by default for gl3d, geo and mapbox subplots (as these subplot types do not have zoombox via pan), but turned off by default for cartesian subplots. Set `scrollZoom` to *false* to disable scrolling for all subplots. +type ConfigScrollZoom interface{} + +var ( + // Flags + ConfigScrollZoomCartesian ConfigScrollZoom = "cartesian" + ConfigScrollZoomGl3d ConfigScrollZoom = "gl3d" + ConfigScrollZoomGeo ConfigScrollZoom = "geo" + ConfigScrollZoomMapbox ConfigScrollZoom = "mapbox" + + // Extra + ConfigScrollZoomTrue ConfigScrollZoom = true + ConfigScrollZoomFalse ConfigScrollZoom = false +) diff --git a/generated/v2.31.1/graph_objects/contour_gen.go b/generated/v2.31.1/graph_objects/contour_gen.go new file mode 100644 index 0000000..4bbb550 --- /dev/null +++ b/generated/v2.31.1/graph_objects/contour_gen.go @@ -0,0 +1,1389 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeContour TraceType = "contour" + +func (trace *Contour) GetType() TraceType { + return TraceTypeContour +} + +// Contour 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. +type Contour struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Autocolorscale + // arrayOK: false + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Autocontour + // arrayOK: false + // type: boolean + // 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`. + Autocontour Bool `json:"autocontour,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *ContourColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Connectgaps + // arrayOK: false + // 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. + Connectgaps Bool `json:"connectgaps,omitempty"` + + // Contours + // role: Object + Contours *ContourContours `json:"contours,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Dx + // arrayOK: false + // type: number + // Sets the x coordinate step. See `x0` for more info. + Dx float64 `json:"dx,omitempty"` + + // Dy + // arrayOK: false + // type: number + // Sets the y coordinate step. See `y0` for more info. + Dy float64 `json:"dy,omitempty"` + + // Fillcolor + // arrayOK: false + // 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. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo ContourHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *ContourHoverlabel `json:"hoverlabel,omitempty"` + + // Hoverongaps + // arrayOK: false + // type: boolean + // Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data have hover labels associated with them. + Hoverongaps Bool `json:"hoverongaps,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: false + // type: data_array + // Same as `text`. + Hovertext interface{} `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *ContourLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *ContourLine `json:"line,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Ncontours + // arrayOK: false + // type: integer + // 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. + Ncontours int64 `json:"ncontours,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Showscale + // arrayOK: false + // type: boolean + // Determines whether or not a colorbar is displayed for this trace. + Showscale Bool `json:"showscale,omitempty"` + + // Stream + // role: Object + Stream *ContourStream `json:"stream,omitempty"` + + // Text + // arrayOK: false + // type: data_array + // Sets the text elements associated with each z value. + Text interface{} `json:"text,omitempty"` + + // Textfont + // role: Object + Textfont *ContourTextfont `json:"textfont,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: false + // 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`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Transpose + // arrayOK: false + // type: boolean + // Transposes the z data. + Transpose Bool `json:"transpose,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible ContourVisible `json:"visible,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the x coordinates. + X interface{} `json:"x,omitempty"` + + // X0 + // arrayOK: false + // type: any + // Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step. + X0 interface{} `json:"x0,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Xcalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `x` date data. + Xcalendar ContourXcalendar `json:"xcalendar,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xperiod + // arrayOK: false + // type: any + // Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer. + Xperiod interface{} `json:"xperiod,omitempty"` + + // Xperiod0 + // arrayOK: false + // type: any + // 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. + Xperiod0 interface{} `json:"xperiod0,omitempty"` + + // Xperiodalignment + // default: middle + // type: enumerated + // Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. + Xperiodalignment ContourXperiodalignment `json:"xperiodalignment,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Xtype + // default: %!s() + // type: enumerated + // 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). + Xtype ContourXtype `json:"xtype,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the y coordinates. + Y interface{} `json:"y,omitempty"` + + // Y0 + // arrayOK: false + // type: any + // Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step. + Y0 interface{} `json:"y0,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` + + // Ycalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `y` date data. + Ycalendar ContourYcalendar `json:"ycalendar,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Yperiod + // arrayOK: false + // type: any + // Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the y axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer. + Yperiod interface{} `json:"yperiod,omitempty"` + + // Yperiod0 + // arrayOK: false + // type: any + // 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. + Yperiod0 interface{} `json:"yperiod0,omitempty"` + + // Yperiodalignment + // default: middle + // type: enumerated + // Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis. + Yperiodalignment ContourYperiodalignment `json:"yperiodalignment,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` + + // Ytype + // default: %!s() + // type: enumerated + // 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) + Ytype ContourYtype `json:"ytype,omitempty"` + + // Z + // arrayOK: false + // type: data_array + // Sets the z data. + Z interface{} `json:"z,omitempty"` + + // Zauto + // arrayOK: false + // type: boolean + // 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. + Zauto Bool `json:"zauto,omitempty"` + + // Zhoverformat + // arrayOK: false + // 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. + Zhoverformat String `json:"zhoverformat,omitempty"` + + // Zmax + // arrayOK: false + // 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. + Zmax float64 `json:"zmax,omitempty"` + + // Zmid + // arrayOK: false + // 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`. + Zmid float64 `json:"zmid,omitempty"` + + // Zmin + // arrayOK: false + // 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. + Zmin float64 `json:"zmin,omitempty"` + + // Zorder + // arrayOK: false + // 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`. + Zorder int64 `json:"zorder,omitempty"` + + // Zsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `z`. + Zsrc String `json:"zsrc,omitempty"` +} + +// ContourColorbarTickfont Sets the color bar's tick label font +type ContourColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ContourColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type ContourColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ContourColorbarTitle +type ContourColorbarTitle struct { + + // Font + // role: Object + Font *ContourColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side ContourColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// ContourColorbar +type ContourColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat ContourColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode ContourColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ContourColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent ContourColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix ContourColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix ContourColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode ContourColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *ContourColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ContourColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition ContourColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode ContourColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks ContourColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *ContourColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor ContourColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref ContourColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor ContourColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref ContourColorbarYref `json:"yref,omitempty"` +} + +// ContourContoursLabelfont 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`. +type ContourContoursLabelfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ContourContours +type ContourContours struct { + + // Coloring + // default: fill + // type: enumerated + // 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. + Coloring ContourContoursColoring `json:"coloring,omitempty"` + + // End + // arrayOK: false + // type: number + // Sets the end contour level value. Must be more than `contours.start` + End float64 `json:"end,omitempty"` + + // Labelfont + // role: Object + Labelfont *ContourContoursLabelfont `json:"labelfont,omitempty"` + + // Labelformat + // arrayOK: false + // 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. + Labelformat String `json:"labelformat,omitempty"` + + // Operation + // default: = + // type: enumerated + // 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. + Operation ContourContoursOperation `json:"operation,omitempty"` + + // Showlabels + // arrayOK: false + // type: boolean + // Determines whether to label the contour lines with their values. + Showlabels Bool `json:"showlabels,omitempty"` + + // Showlines + // arrayOK: false + // type: boolean + // Determines whether or not the contour lines are drawn. Has an effect only if `contours.coloring` is set to *fill*. + Showlines Bool `json:"showlines,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the step between each contour level. Must be positive. + Size float64 `json:"size,omitempty"` + + // Start + // arrayOK: false + // type: number + // Sets the starting contour level value. Must be less than `contours.end` + Start float64 `json:"start,omitempty"` + + // Type + // default: levels + // type: enumerated + // 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. + Type ContourContoursType `json:"type,omitempty"` + + // Value + // arrayOK: false + // type: any + // 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. + Value interface{} `json:"value,omitempty"` +} + +// ContourHoverlabelFont Sets the font used in hover labels. +type ContourHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ContourHoverlabel +type ContourHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align ContourHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *ContourHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// ContourLegendgrouptitleFont Sets this legend group's title font. +type ContourLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ContourLegendgrouptitle +type ContourLegendgrouptitle struct { + + // Font + // role: Object + Font *ContourLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// ContourLine +type ContourLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the color of the contour level. Has no effect if `contours.coloring` is set to *lines*. + Color Color `json:"color,omitempty"` + + // Dash + // arrayOK: false + // type: string + // 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*). + Dash String `json:"dash,omitempty"` + + // Smoothing + // arrayOK: false + // type: number + // Sets the amount of smoothing for the contour lines, where *0* corresponds to no smoothing. + Smoothing float64 `json:"smoothing,omitempty"` + + // Width + // arrayOK: false + // 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*. + Width float64 `json:"width,omitempty"` +} + +// ContourStream +type ContourStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// ContourTextfont For this trace it only has an effect if `coloring` is set to *heatmap*. Sets the text font. +type ContourTextfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ContourColorbarExponentformat 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. +type ContourColorbarExponentformat string + +const ( + ContourColorbarExponentformatNone ContourColorbarExponentformat = "none" + ContourColorbarExponentformatE1 ContourColorbarExponentformat = "e" + ContourColorbarExponentformatE2 ContourColorbarExponentformat = "E" + ContourColorbarExponentformatPower ContourColorbarExponentformat = "power" + ContourColorbarExponentformatSI ContourColorbarExponentformat = "SI" + ContourColorbarExponentformatB ContourColorbarExponentformat = "B" +) + +// ContourColorbarLenmode 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. +type ContourColorbarLenmode string + +const ( + ContourColorbarLenmodeFraction ContourColorbarLenmode = "fraction" + ContourColorbarLenmodePixels ContourColorbarLenmode = "pixels" +) + +// ContourColorbarOrientation Sets the orientation of the colorbar. +type ContourColorbarOrientation string + +const ( + ContourColorbarOrientationH ContourColorbarOrientation = "h" + ContourColorbarOrientationV ContourColorbarOrientation = "v" +) + +// ContourColorbarShowexponent 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. +type ContourColorbarShowexponent string + +const ( + ContourColorbarShowexponentAll ContourColorbarShowexponent = "all" + ContourColorbarShowexponentFirst ContourColorbarShowexponent = "first" + ContourColorbarShowexponentLast ContourColorbarShowexponent = "last" + ContourColorbarShowexponentNone ContourColorbarShowexponent = "none" +) + +// ContourColorbarShowtickprefix 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. +type ContourColorbarShowtickprefix string + +const ( + ContourColorbarShowtickprefixAll ContourColorbarShowtickprefix = "all" + ContourColorbarShowtickprefixFirst ContourColorbarShowtickprefix = "first" + ContourColorbarShowtickprefixLast ContourColorbarShowtickprefix = "last" + ContourColorbarShowtickprefixNone ContourColorbarShowtickprefix = "none" +) + +// ContourColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type ContourColorbarShowticksuffix string + +const ( + ContourColorbarShowticksuffixAll ContourColorbarShowticksuffix = "all" + ContourColorbarShowticksuffixFirst ContourColorbarShowticksuffix = "first" + ContourColorbarShowticksuffixLast ContourColorbarShowticksuffix = "last" + ContourColorbarShowticksuffixNone ContourColorbarShowticksuffix = "none" +) + +// ContourColorbarThicknessmode 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. +type ContourColorbarThicknessmode string + +const ( + ContourColorbarThicknessmodeFraction ContourColorbarThicknessmode = "fraction" + ContourColorbarThicknessmodePixels ContourColorbarThicknessmode = "pixels" +) + +// ContourColorbarTicklabeloverflow 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*. +type ContourColorbarTicklabeloverflow string + +const ( + ContourColorbarTicklabeloverflowAllow ContourColorbarTicklabeloverflow = "allow" + ContourColorbarTicklabeloverflowHidePastDiv ContourColorbarTicklabeloverflow = "hide past div" + ContourColorbarTicklabeloverflowHidePastDomain ContourColorbarTicklabeloverflow = "hide past domain" +) + +// ContourColorbarTicklabelposition 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*. +type ContourColorbarTicklabelposition string + +const ( + ContourColorbarTicklabelpositionOutside ContourColorbarTicklabelposition = "outside" + ContourColorbarTicklabelpositionInside ContourColorbarTicklabelposition = "inside" + ContourColorbarTicklabelpositionOutsideTop ContourColorbarTicklabelposition = "outside top" + ContourColorbarTicklabelpositionInsideTop ContourColorbarTicklabelposition = "inside top" + ContourColorbarTicklabelpositionOutsideLeft ContourColorbarTicklabelposition = "outside left" + ContourColorbarTicklabelpositionInsideLeft ContourColorbarTicklabelposition = "inside left" + ContourColorbarTicklabelpositionOutsideRight ContourColorbarTicklabelposition = "outside right" + ContourColorbarTicklabelpositionInsideRight ContourColorbarTicklabelposition = "inside right" + ContourColorbarTicklabelpositionOutsideBottom ContourColorbarTicklabelposition = "outside bottom" + ContourColorbarTicklabelpositionInsideBottom ContourColorbarTicklabelposition = "inside bottom" +) + +// ContourColorbarTickmode 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). +type ContourColorbarTickmode string + +const ( + ContourColorbarTickmodeAuto ContourColorbarTickmode = "auto" + ContourColorbarTickmodeLinear ContourColorbarTickmode = "linear" + ContourColorbarTickmodeArray ContourColorbarTickmode = "array" +) + +// ContourColorbarTicks 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. +type ContourColorbarTicks string + +const ( + ContourColorbarTicksOutside ContourColorbarTicks = "outside" + ContourColorbarTicksInside ContourColorbarTicks = "inside" + ContourColorbarTicksEmpty ContourColorbarTicks = "" +) + +// ContourColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type ContourColorbarTitleSide string + +const ( + ContourColorbarTitleSideRight ContourColorbarTitleSide = "right" + ContourColorbarTitleSideTop ContourColorbarTitleSide = "top" + ContourColorbarTitleSideBottom ContourColorbarTitleSide = "bottom" +) + +// ContourColorbarXanchor 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*. +type ContourColorbarXanchor string + +const ( + ContourColorbarXanchorLeft ContourColorbarXanchor = "left" + ContourColorbarXanchorCenter ContourColorbarXanchor = "center" + ContourColorbarXanchorRight ContourColorbarXanchor = "right" +) + +// ContourColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type ContourColorbarXref string + +const ( + ContourColorbarXrefContainer ContourColorbarXref = "container" + ContourColorbarXrefPaper ContourColorbarXref = "paper" +) + +// ContourColorbarYanchor 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*. +type ContourColorbarYanchor string + +const ( + ContourColorbarYanchorTop ContourColorbarYanchor = "top" + ContourColorbarYanchorMiddle ContourColorbarYanchor = "middle" + ContourColorbarYanchorBottom ContourColorbarYanchor = "bottom" +) + +// ContourColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type ContourColorbarYref string + +const ( + ContourColorbarYrefContainer ContourColorbarYref = "container" + ContourColorbarYrefPaper ContourColorbarYref = "paper" +) + +// ContourContoursColoring 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. +type ContourContoursColoring string + +const ( + ContourContoursColoringFill ContourContoursColoring = "fill" + ContourContoursColoringHeatmap ContourContoursColoring = "heatmap" + ContourContoursColoringLines ContourContoursColoring = "lines" + ContourContoursColoringNone ContourContoursColoring = "none" +) + +// ContourContoursOperation 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. +type ContourContoursOperation string + +const ( + ContourContoursOperationEq ContourContoursOperation = "=" + ContourContoursOperationLt ContourContoursOperation = "<" + ContourContoursOperationGtEq ContourContoursOperation = ">=" + ContourContoursOperationGt ContourContoursOperation = ">" + ContourContoursOperationLtEq ContourContoursOperation = "<=" + ContourContoursOperationLbracketRbracket ContourContoursOperation = "[]" + ContourContoursOperationLparRpar ContourContoursOperation = "()" + ContourContoursOperationLbracketRpar ContourContoursOperation = "[)" + ContourContoursOperationLparRbracket ContourContoursOperation = "(]" + ContourContoursOperationRbracketLbracket ContourContoursOperation = "][" + ContourContoursOperationRparLpar ContourContoursOperation = ")(" + ContourContoursOperationRbracketLpar ContourContoursOperation = "](" + ContourContoursOperationRparLbracket ContourContoursOperation = ")[" +) + +// ContourContoursType 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. +type ContourContoursType string + +const ( + ContourContoursTypeLevels ContourContoursType = "levels" + ContourContoursTypeConstraint ContourContoursType = "constraint" +) + +// ContourHoverlabelAlign 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 +type ContourHoverlabelAlign string + +const ( + ContourHoverlabelAlignLeft ContourHoverlabelAlign = "left" + ContourHoverlabelAlignRight ContourHoverlabelAlign = "right" + ContourHoverlabelAlignAuto ContourHoverlabelAlign = "auto" +) + +// ContourVisible 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). +type ContourVisible interface{} + +var ( + ContourVisibleTrue ContourVisible = true + ContourVisibleFalse ContourVisible = false + ContourVisibleLegendonly ContourVisible = "legendonly" +) + +// ContourXcalendar Sets the calendar system to use with `x` date data. +type ContourXcalendar string + +const ( + ContourXcalendarChinese ContourXcalendar = "chinese" + ContourXcalendarCoptic ContourXcalendar = "coptic" + ContourXcalendarDiscworld ContourXcalendar = "discworld" + ContourXcalendarEthiopian ContourXcalendar = "ethiopian" + ContourXcalendarGregorian ContourXcalendar = "gregorian" + ContourXcalendarHebrew ContourXcalendar = "hebrew" + ContourXcalendarIslamic ContourXcalendar = "islamic" + ContourXcalendarJalali ContourXcalendar = "jalali" + ContourXcalendarJulian ContourXcalendar = "julian" + ContourXcalendarMayan ContourXcalendar = "mayan" + ContourXcalendarNanakshahi ContourXcalendar = "nanakshahi" + ContourXcalendarNepali ContourXcalendar = "nepali" + ContourXcalendarPersian ContourXcalendar = "persian" + ContourXcalendarTaiwan ContourXcalendar = "taiwan" + ContourXcalendarThai ContourXcalendar = "thai" + ContourXcalendarUmmalqura ContourXcalendar = "ummalqura" +) + +// ContourXperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. +type ContourXperiodalignment string + +const ( + ContourXperiodalignmentStart ContourXperiodalignment = "start" + ContourXperiodalignmentMiddle ContourXperiodalignment = "middle" + ContourXperiodalignmentEnd ContourXperiodalignment = "end" +) + +// ContourXtype 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). +type ContourXtype string + +const ( + ContourXtypeArray ContourXtype = "array" + ContourXtypeScaled ContourXtype = "scaled" +) + +// ContourYcalendar Sets the calendar system to use with `y` date data. +type ContourYcalendar string + +const ( + ContourYcalendarChinese ContourYcalendar = "chinese" + ContourYcalendarCoptic ContourYcalendar = "coptic" + ContourYcalendarDiscworld ContourYcalendar = "discworld" + ContourYcalendarEthiopian ContourYcalendar = "ethiopian" + ContourYcalendarGregorian ContourYcalendar = "gregorian" + ContourYcalendarHebrew ContourYcalendar = "hebrew" + ContourYcalendarIslamic ContourYcalendar = "islamic" + ContourYcalendarJalali ContourYcalendar = "jalali" + ContourYcalendarJulian ContourYcalendar = "julian" + ContourYcalendarMayan ContourYcalendar = "mayan" + ContourYcalendarNanakshahi ContourYcalendar = "nanakshahi" + ContourYcalendarNepali ContourYcalendar = "nepali" + ContourYcalendarPersian ContourYcalendar = "persian" + ContourYcalendarTaiwan ContourYcalendar = "taiwan" + ContourYcalendarThai ContourYcalendar = "thai" + ContourYcalendarUmmalqura ContourYcalendar = "ummalqura" +) + +// ContourYperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis. +type ContourYperiodalignment string + +const ( + ContourYperiodalignmentStart ContourYperiodalignment = "start" + ContourYperiodalignmentMiddle ContourYperiodalignment = "middle" + ContourYperiodalignmentEnd ContourYperiodalignment = "end" +) + +// ContourYtype 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) +type ContourYtype string + +const ( + ContourYtypeArray ContourYtype = "array" + ContourYtypeScaled ContourYtype = "scaled" +) + +// ContourHoverinfo 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. +type ContourHoverinfo string + +const ( + // Flags + ContourHoverinfoX ContourHoverinfo = "x" + ContourHoverinfoY ContourHoverinfo = "y" + ContourHoverinfoZ ContourHoverinfo = "z" + ContourHoverinfoText ContourHoverinfo = "text" + ContourHoverinfoName ContourHoverinfo = "name" + + // Extra + ContourHoverinfoAll ContourHoverinfo = "all" + ContourHoverinfoNone ContourHoverinfo = "none" + ContourHoverinfoSkip ContourHoverinfo = "skip" +) diff --git a/generated/v2.31.1/graph_objects/contourcarpet_gen.go b/generated/v2.31.1/graph_objects/contourcarpet_gen.go new file mode 100644 index 0000000..00dd5b8 --- /dev/null +++ b/generated/v2.31.1/graph_objects/contourcarpet_gen.go @@ -0,0 +1,1066 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeContourcarpet TraceType = "contourcarpet" + +func (trace *Contourcarpet) GetType() TraceType { + return TraceTypeContourcarpet +} + +// Contourcarpet 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. +type Contourcarpet struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // A + // arrayOK: false + // type: data_array + // Sets the x coordinates. + A interface{} `json:"a,omitempty"` + + // A0 + // arrayOK: false + // type: any + // Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step. + A0 interface{} `json:"a0,omitempty"` + + // Asrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `a`. + Asrc String `json:"asrc,omitempty"` + + // Atype + // default: %!s() + // type: enumerated + // 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). + Atype ContourcarpetAtype `json:"atype,omitempty"` + + // Autocolorscale + // arrayOK: false + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Autocontour + // arrayOK: false + // type: boolean + // 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`. + Autocontour Bool `json:"autocontour,omitempty"` + + // B + // arrayOK: false + // type: data_array + // Sets the y coordinates. + B interface{} `json:"b,omitempty"` + + // B0 + // arrayOK: false + // type: any + // Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step. + B0 interface{} `json:"b0,omitempty"` + + // Bsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `b`. + Bsrc String `json:"bsrc,omitempty"` + + // Btype + // default: %!s() + // type: enumerated + // 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) + Btype ContourcarpetBtype `json:"btype,omitempty"` + + // Carpet + // arrayOK: false + // type: string + // The `carpet` of the carpet axes on which this contour trace lies + Carpet String `json:"carpet,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *ContourcarpetColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Contours + // role: Object + Contours *ContourcarpetContours `json:"contours,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Da + // arrayOK: false + // type: number + // Sets the x coordinate step. See `x0` for more info. + Da float64 `json:"da,omitempty"` + + // Db + // arrayOK: false + // type: number + // Sets the y coordinate step. See `y0` for more info. + Db float64 `json:"db,omitempty"` + + // Fillcolor + // arrayOK: false + // 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. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Hovertext + // arrayOK: false + // type: data_array + // Same as `text`. + Hovertext interface{} `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *ContourcarpetLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *ContourcarpetLine `json:"line,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Ncontours + // arrayOK: false + // type: integer + // 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. + Ncontours int64 `json:"ncontours,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Showscale + // arrayOK: false + // type: boolean + // Determines whether or not a colorbar is displayed for this trace. + Showscale Bool `json:"showscale,omitempty"` + + // Stream + // role: Object + Stream *ContourcarpetStream `json:"stream,omitempty"` + + // Text + // arrayOK: false + // type: data_array + // Sets the text elements associated with each z value. + Text interface{} `json:"text,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Transpose + // arrayOK: false + // type: boolean + // Transposes the z data. + Transpose Bool `json:"transpose,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible ContourcarpetVisible `json:"visible,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` + + // Z + // arrayOK: false + // type: data_array + // Sets the z data. + Z interface{} `json:"z,omitempty"` + + // Zauto + // arrayOK: false + // type: boolean + // 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. + Zauto Bool `json:"zauto,omitempty"` + + // Zmax + // arrayOK: false + // 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. + Zmax float64 `json:"zmax,omitempty"` + + // Zmid + // arrayOK: false + // 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`. + Zmid float64 `json:"zmid,omitempty"` + + // Zmin + // arrayOK: false + // 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. + Zmin float64 `json:"zmin,omitempty"` + + // Zorder + // arrayOK: false + // 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`. + Zorder int64 `json:"zorder,omitempty"` + + // Zsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `z`. + Zsrc String `json:"zsrc,omitempty"` +} + +// ContourcarpetColorbarTickfont Sets the color bar's tick label font +type ContourcarpetColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ContourcarpetColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type ContourcarpetColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ContourcarpetColorbarTitle +type ContourcarpetColorbarTitle struct { + + // Font + // role: Object + Font *ContourcarpetColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side ContourcarpetColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// ContourcarpetColorbar +type ContourcarpetColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat ContourcarpetColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode ContourcarpetColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ContourcarpetColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent ContourcarpetColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix ContourcarpetColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix ContourcarpetColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode ContourcarpetColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *ContourcarpetColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ContourcarpetColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition ContourcarpetColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode ContourcarpetColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks ContourcarpetColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *ContourcarpetColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor ContourcarpetColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref ContourcarpetColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor ContourcarpetColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref ContourcarpetColorbarYref `json:"yref,omitempty"` +} + +// ContourcarpetContoursLabelfont 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`. +type ContourcarpetContoursLabelfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ContourcarpetContours +type ContourcarpetContours struct { + + // Coloring + // default: fill + // type: enumerated + // 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. + Coloring ContourcarpetContoursColoring `json:"coloring,omitempty"` + + // End + // arrayOK: false + // type: number + // Sets the end contour level value. Must be more than `contours.start` + End float64 `json:"end,omitempty"` + + // Labelfont + // role: Object + Labelfont *ContourcarpetContoursLabelfont `json:"labelfont,omitempty"` + + // Labelformat + // arrayOK: false + // 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. + Labelformat String `json:"labelformat,omitempty"` + + // Operation + // default: = + // type: enumerated + // 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. + Operation ContourcarpetContoursOperation `json:"operation,omitempty"` + + // Showlabels + // arrayOK: false + // type: boolean + // Determines whether to label the contour lines with their values. + Showlabels Bool `json:"showlabels,omitempty"` + + // Showlines + // arrayOK: false + // type: boolean + // Determines whether or not the contour lines are drawn. Has an effect only if `contours.coloring` is set to *fill*. + Showlines Bool `json:"showlines,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the step between each contour level. Must be positive. + Size float64 `json:"size,omitempty"` + + // Start + // arrayOK: false + // type: number + // Sets the starting contour level value. Must be less than `contours.end` + Start float64 `json:"start,omitempty"` + + // Type + // default: levels + // type: enumerated + // 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. + Type ContourcarpetContoursType `json:"type,omitempty"` + + // Value + // arrayOK: false + // type: any + // 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. + Value interface{} `json:"value,omitempty"` +} + +// ContourcarpetLegendgrouptitleFont Sets this legend group's title font. +type ContourcarpetLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ContourcarpetLegendgrouptitle +type ContourcarpetLegendgrouptitle struct { + + // Font + // role: Object + Font *ContourcarpetLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// ContourcarpetLine +type ContourcarpetLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the color of the contour level. Has no effect if `contours.coloring` is set to *lines*. + Color Color `json:"color,omitempty"` + + // Dash + // arrayOK: false + // type: string + // 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*). + Dash String `json:"dash,omitempty"` + + // Smoothing + // arrayOK: false + // type: number + // Sets the amount of smoothing for the contour lines, where *0* corresponds to no smoothing. + Smoothing float64 `json:"smoothing,omitempty"` + + // Width + // arrayOK: false + // 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*. + Width float64 `json:"width,omitempty"` +} + +// ContourcarpetStream +type ContourcarpetStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// ContourcarpetAtype 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). +type ContourcarpetAtype string + +const ( + ContourcarpetAtypeArray ContourcarpetAtype = "array" + ContourcarpetAtypeScaled ContourcarpetAtype = "scaled" +) + +// ContourcarpetBtype 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) +type ContourcarpetBtype string + +const ( + ContourcarpetBtypeArray ContourcarpetBtype = "array" + ContourcarpetBtypeScaled ContourcarpetBtype = "scaled" +) + +// ContourcarpetColorbarExponentformat 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. +type ContourcarpetColorbarExponentformat string + +const ( + ContourcarpetColorbarExponentformatNone ContourcarpetColorbarExponentformat = "none" + ContourcarpetColorbarExponentformatE1 ContourcarpetColorbarExponentformat = "e" + ContourcarpetColorbarExponentformatE2 ContourcarpetColorbarExponentformat = "E" + ContourcarpetColorbarExponentformatPower ContourcarpetColorbarExponentformat = "power" + ContourcarpetColorbarExponentformatSI ContourcarpetColorbarExponentformat = "SI" + ContourcarpetColorbarExponentformatB ContourcarpetColorbarExponentformat = "B" +) + +// ContourcarpetColorbarLenmode 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. +type ContourcarpetColorbarLenmode string + +const ( + ContourcarpetColorbarLenmodeFraction ContourcarpetColorbarLenmode = "fraction" + ContourcarpetColorbarLenmodePixels ContourcarpetColorbarLenmode = "pixels" +) + +// ContourcarpetColorbarOrientation Sets the orientation of the colorbar. +type ContourcarpetColorbarOrientation string + +const ( + ContourcarpetColorbarOrientationH ContourcarpetColorbarOrientation = "h" + ContourcarpetColorbarOrientationV ContourcarpetColorbarOrientation = "v" +) + +// ContourcarpetColorbarShowexponent 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. +type ContourcarpetColorbarShowexponent string + +const ( + ContourcarpetColorbarShowexponentAll ContourcarpetColorbarShowexponent = "all" + ContourcarpetColorbarShowexponentFirst ContourcarpetColorbarShowexponent = "first" + ContourcarpetColorbarShowexponentLast ContourcarpetColorbarShowexponent = "last" + ContourcarpetColorbarShowexponentNone ContourcarpetColorbarShowexponent = "none" +) + +// ContourcarpetColorbarShowtickprefix 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. +type ContourcarpetColorbarShowtickprefix string + +const ( + ContourcarpetColorbarShowtickprefixAll ContourcarpetColorbarShowtickprefix = "all" + ContourcarpetColorbarShowtickprefixFirst ContourcarpetColorbarShowtickprefix = "first" + ContourcarpetColorbarShowtickprefixLast ContourcarpetColorbarShowtickprefix = "last" + ContourcarpetColorbarShowtickprefixNone ContourcarpetColorbarShowtickprefix = "none" +) + +// ContourcarpetColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type ContourcarpetColorbarShowticksuffix string + +const ( + ContourcarpetColorbarShowticksuffixAll ContourcarpetColorbarShowticksuffix = "all" + ContourcarpetColorbarShowticksuffixFirst ContourcarpetColorbarShowticksuffix = "first" + ContourcarpetColorbarShowticksuffixLast ContourcarpetColorbarShowticksuffix = "last" + ContourcarpetColorbarShowticksuffixNone ContourcarpetColorbarShowticksuffix = "none" +) + +// ContourcarpetColorbarThicknessmode 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. +type ContourcarpetColorbarThicknessmode string + +const ( + ContourcarpetColorbarThicknessmodeFraction ContourcarpetColorbarThicknessmode = "fraction" + ContourcarpetColorbarThicknessmodePixels ContourcarpetColorbarThicknessmode = "pixels" +) + +// ContourcarpetColorbarTicklabeloverflow 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*. +type ContourcarpetColorbarTicklabeloverflow string + +const ( + ContourcarpetColorbarTicklabeloverflowAllow ContourcarpetColorbarTicklabeloverflow = "allow" + ContourcarpetColorbarTicklabeloverflowHidePastDiv ContourcarpetColorbarTicklabeloverflow = "hide past div" + ContourcarpetColorbarTicklabeloverflowHidePastDomain ContourcarpetColorbarTicklabeloverflow = "hide past domain" +) + +// ContourcarpetColorbarTicklabelposition 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*. +type ContourcarpetColorbarTicklabelposition string + +const ( + ContourcarpetColorbarTicklabelpositionOutside ContourcarpetColorbarTicklabelposition = "outside" + ContourcarpetColorbarTicklabelpositionInside ContourcarpetColorbarTicklabelposition = "inside" + ContourcarpetColorbarTicklabelpositionOutsideTop ContourcarpetColorbarTicklabelposition = "outside top" + ContourcarpetColorbarTicklabelpositionInsideTop ContourcarpetColorbarTicklabelposition = "inside top" + ContourcarpetColorbarTicklabelpositionOutsideLeft ContourcarpetColorbarTicklabelposition = "outside left" + ContourcarpetColorbarTicklabelpositionInsideLeft ContourcarpetColorbarTicklabelposition = "inside left" + ContourcarpetColorbarTicklabelpositionOutsideRight ContourcarpetColorbarTicklabelposition = "outside right" + ContourcarpetColorbarTicklabelpositionInsideRight ContourcarpetColorbarTicklabelposition = "inside right" + ContourcarpetColorbarTicklabelpositionOutsideBottom ContourcarpetColorbarTicklabelposition = "outside bottom" + ContourcarpetColorbarTicklabelpositionInsideBottom ContourcarpetColorbarTicklabelposition = "inside bottom" +) + +// ContourcarpetColorbarTickmode 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). +type ContourcarpetColorbarTickmode string + +const ( + ContourcarpetColorbarTickmodeAuto ContourcarpetColorbarTickmode = "auto" + ContourcarpetColorbarTickmodeLinear ContourcarpetColorbarTickmode = "linear" + ContourcarpetColorbarTickmodeArray ContourcarpetColorbarTickmode = "array" +) + +// ContourcarpetColorbarTicks 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. +type ContourcarpetColorbarTicks string + +const ( + ContourcarpetColorbarTicksOutside ContourcarpetColorbarTicks = "outside" + ContourcarpetColorbarTicksInside ContourcarpetColorbarTicks = "inside" + ContourcarpetColorbarTicksEmpty ContourcarpetColorbarTicks = "" +) + +// ContourcarpetColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type ContourcarpetColorbarTitleSide string + +const ( + ContourcarpetColorbarTitleSideRight ContourcarpetColorbarTitleSide = "right" + ContourcarpetColorbarTitleSideTop ContourcarpetColorbarTitleSide = "top" + ContourcarpetColorbarTitleSideBottom ContourcarpetColorbarTitleSide = "bottom" +) + +// ContourcarpetColorbarXanchor 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*. +type ContourcarpetColorbarXanchor string + +const ( + ContourcarpetColorbarXanchorLeft ContourcarpetColorbarXanchor = "left" + ContourcarpetColorbarXanchorCenter ContourcarpetColorbarXanchor = "center" + ContourcarpetColorbarXanchorRight ContourcarpetColorbarXanchor = "right" +) + +// ContourcarpetColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type ContourcarpetColorbarXref string + +const ( + ContourcarpetColorbarXrefContainer ContourcarpetColorbarXref = "container" + ContourcarpetColorbarXrefPaper ContourcarpetColorbarXref = "paper" +) + +// ContourcarpetColorbarYanchor 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*. +type ContourcarpetColorbarYanchor string + +const ( + ContourcarpetColorbarYanchorTop ContourcarpetColorbarYanchor = "top" + ContourcarpetColorbarYanchorMiddle ContourcarpetColorbarYanchor = "middle" + ContourcarpetColorbarYanchorBottom ContourcarpetColorbarYanchor = "bottom" +) + +// ContourcarpetColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type ContourcarpetColorbarYref string + +const ( + ContourcarpetColorbarYrefContainer ContourcarpetColorbarYref = "container" + ContourcarpetColorbarYrefPaper ContourcarpetColorbarYref = "paper" +) + +// ContourcarpetContoursColoring 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. +type ContourcarpetContoursColoring string + +const ( + ContourcarpetContoursColoringFill ContourcarpetContoursColoring = "fill" + ContourcarpetContoursColoringLines ContourcarpetContoursColoring = "lines" + ContourcarpetContoursColoringNone ContourcarpetContoursColoring = "none" +) + +// ContourcarpetContoursOperation 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. +type ContourcarpetContoursOperation string + +const ( + ContourcarpetContoursOperationEq ContourcarpetContoursOperation = "=" + ContourcarpetContoursOperationLt ContourcarpetContoursOperation = "<" + ContourcarpetContoursOperationGtEq ContourcarpetContoursOperation = ">=" + ContourcarpetContoursOperationGt ContourcarpetContoursOperation = ">" + ContourcarpetContoursOperationLtEq ContourcarpetContoursOperation = "<=" + ContourcarpetContoursOperationLbracketRbracket ContourcarpetContoursOperation = "[]" + ContourcarpetContoursOperationLparRpar ContourcarpetContoursOperation = "()" + ContourcarpetContoursOperationLbracketRpar ContourcarpetContoursOperation = "[)" + ContourcarpetContoursOperationLparRbracket ContourcarpetContoursOperation = "(]" + ContourcarpetContoursOperationRbracketLbracket ContourcarpetContoursOperation = "][" + ContourcarpetContoursOperationRparLpar ContourcarpetContoursOperation = ")(" + ContourcarpetContoursOperationRbracketLpar ContourcarpetContoursOperation = "](" + ContourcarpetContoursOperationRparLbracket ContourcarpetContoursOperation = ")[" +) + +// ContourcarpetContoursType 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. +type ContourcarpetContoursType string + +const ( + ContourcarpetContoursTypeLevels ContourcarpetContoursType = "levels" + ContourcarpetContoursTypeConstraint ContourcarpetContoursType = "constraint" +) + +// ContourcarpetVisible 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). +type ContourcarpetVisible interface{} + +var ( + ContourcarpetVisibleTrue ContourcarpetVisible = true + ContourcarpetVisibleFalse ContourcarpetVisible = false + ContourcarpetVisibleLegendonly ContourcarpetVisible = "legendonly" +) diff --git a/generated/v2.31.1/graph_objects/densitymapbox_gen.go b/generated/v2.31.1/graph_objects/densitymapbox_gen.go new file mode 100644 index 0000000..1a1a1e0 --- /dev/null +++ b/generated/v2.31.1/graph_objects/densitymapbox_gen.go @@ -0,0 +1,984 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeDensitymapbox TraceType = "densitymapbox" + +func (trace *Densitymapbox) GetType() TraceType { + return TraceTypeDensitymapbox +} + +// Densitymapbox Draws a bivariate kernel density estimation with a Gaussian kernel from `lon` and `lat` coordinates and optional `z` values using a colorscale. +type Densitymapbox struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Autocolorscale + // arrayOK: false + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Below + // arrayOK: false + // 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. + Below String `json:"below,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *DensitymapboxColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo DensitymapboxHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *DensitymapboxHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Lat + // arrayOK: false + // type: data_array + // Sets the latitude coordinates (in degrees North). + Lat interface{} `json:"lat,omitempty"` + + // Latsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `lat`. + Latsrc String `json:"latsrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *DensitymapboxLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Lon + // arrayOK: false + // type: data_array + // Sets the longitude coordinates (in degrees East). + Lon interface{} `json:"lon,omitempty"` + + // Lonsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `lon`. + Lonsrc String `json:"lonsrc,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Radius + // arrayOK: true + // type: number + // Sets the radius of influence of one `lon` / `lat` point in pixels. Increasing the value makes the densitymapbox trace smoother, but less detailed. + Radius float64 `json:"radius,omitempty"` + + // Radiussrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `radius`. + Radiussrc String `json:"radiussrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Showscale + // arrayOK: false + // type: boolean + // Determines whether or not a colorbar is displayed for this trace. + Showscale Bool `json:"showscale,omitempty"` + + // Stream + // role: Object + Stream *DensitymapboxStream `json:"stream,omitempty"` + + // Subplot + // arrayOK: false + // type: subplotid + // 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. + Subplot String `json:"subplot,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible DensitymapboxVisible `json:"visible,omitempty"` + + // Z + // arrayOK: false + // 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 + Z interface{} `json:"z,omitempty"` + + // Zauto + // arrayOK: false + // type: boolean + // 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. + Zauto Bool `json:"zauto,omitempty"` + + // Zmax + // arrayOK: false + // 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. + Zmax float64 `json:"zmax,omitempty"` + + // Zmid + // arrayOK: false + // 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`. + Zmid float64 `json:"zmid,omitempty"` + + // Zmin + // arrayOK: false + // 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. + Zmin float64 `json:"zmin,omitempty"` + + // Zsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `z`. + Zsrc String `json:"zsrc,omitempty"` +} + +// DensitymapboxColorbarTickfont Sets the color bar's tick label font +type DensitymapboxColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// DensitymapboxColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type DensitymapboxColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// DensitymapboxColorbarTitle +type DensitymapboxColorbarTitle struct { + + // Font + // role: Object + Font *DensitymapboxColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side DensitymapboxColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// DensitymapboxColorbar +type DensitymapboxColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat DensitymapboxColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode DensitymapboxColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation DensitymapboxColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent DensitymapboxColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix DensitymapboxColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix DensitymapboxColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode DensitymapboxColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *DensitymapboxColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow DensitymapboxColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition DensitymapboxColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode DensitymapboxColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks DensitymapboxColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *DensitymapboxColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor DensitymapboxColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref DensitymapboxColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor DensitymapboxColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref DensitymapboxColorbarYref `json:"yref,omitempty"` +} + +// DensitymapboxHoverlabelFont Sets the font used in hover labels. +type DensitymapboxHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// DensitymapboxHoverlabel +type DensitymapboxHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align DensitymapboxHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *DensitymapboxHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// DensitymapboxLegendgrouptitleFont Sets this legend group's title font. +type DensitymapboxLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// DensitymapboxLegendgrouptitle +type DensitymapboxLegendgrouptitle struct { + + // Font + // role: Object + Font *DensitymapboxLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// DensitymapboxStream +type DensitymapboxStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// DensitymapboxColorbarExponentformat 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. +type DensitymapboxColorbarExponentformat string + +const ( + DensitymapboxColorbarExponentformatNone DensitymapboxColorbarExponentformat = "none" + DensitymapboxColorbarExponentformatE1 DensitymapboxColorbarExponentformat = "e" + DensitymapboxColorbarExponentformatE2 DensitymapboxColorbarExponentformat = "E" + DensitymapboxColorbarExponentformatPower DensitymapboxColorbarExponentformat = "power" + DensitymapboxColorbarExponentformatSI DensitymapboxColorbarExponentformat = "SI" + DensitymapboxColorbarExponentformatB DensitymapboxColorbarExponentformat = "B" +) + +// DensitymapboxColorbarLenmode 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. +type DensitymapboxColorbarLenmode string + +const ( + DensitymapboxColorbarLenmodeFraction DensitymapboxColorbarLenmode = "fraction" + DensitymapboxColorbarLenmodePixels DensitymapboxColorbarLenmode = "pixels" +) + +// DensitymapboxColorbarOrientation Sets the orientation of the colorbar. +type DensitymapboxColorbarOrientation string + +const ( + DensitymapboxColorbarOrientationH DensitymapboxColorbarOrientation = "h" + DensitymapboxColorbarOrientationV DensitymapboxColorbarOrientation = "v" +) + +// DensitymapboxColorbarShowexponent 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. +type DensitymapboxColorbarShowexponent string + +const ( + DensitymapboxColorbarShowexponentAll DensitymapboxColorbarShowexponent = "all" + DensitymapboxColorbarShowexponentFirst DensitymapboxColorbarShowexponent = "first" + DensitymapboxColorbarShowexponentLast DensitymapboxColorbarShowexponent = "last" + DensitymapboxColorbarShowexponentNone DensitymapboxColorbarShowexponent = "none" +) + +// DensitymapboxColorbarShowtickprefix 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. +type DensitymapboxColorbarShowtickprefix string + +const ( + DensitymapboxColorbarShowtickprefixAll DensitymapboxColorbarShowtickprefix = "all" + DensitymapboxColorbarShowtickprefixFirst DensitymapboxColorbarShowtickprefix = "first" + DensitymapboxColorbarShowtickprefixLast DensitymapboxColorbarShowtickprefix = "last" + DensitymapboxColorbarShowtickprefixNone DensitymapboxColorbarShowtickprefix = "none" +) + +// DensitymapboxColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type DensitymapboxColorbarShowticksuffix string + +const ( + DensitymapboxColorbarShowticksuffixAll DensitymapboxColorbarShowticksuffix = "all" + DensitymapboxColorbarShowticksuffixFirst DensitymapboxColorbarShowticksuffix = "first" + DensitymapboxColorbarShowticksuffixLast DensitymapboxColorbarShowticksuffix = "last" + DensitymapboxColorbarShowticksuffixNone DensitymapboxColorbarShowticksuffix = "none" +) + +// DensitymapboxColorbarThicknessmode 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. +type DensitymapboxColorbarThicknessmode string + +const ( + DensitymapboxColorbarThicknessmodeFraction DensitymapboxColorbarThicknessmode = "fraction" + DensitymapboxColorbarThicknessmodePixels DensitymapboxColorbarThicknessmode = "pixels" +) + +// DensitymapboxColorbarTicklabeloverflow 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*. +type DensitymapboxColorbarTicklabeloverflow string + +const ( + DensitymapboxColorbarTicklabeloverflowAllow DensitymapboxColorbarTicklabeloverflow = "allow" + DensitymapboxColorbarTicklabeloverflowHidePastDiv DensitymapboxColorbarTicklabeloverflow = "hide past div" + DensitymapboxColorbarTicklabeloverflowHidePastDomain DensitymapboxColorbarTicklabeloverflow = "hide past domain" +) + +// DensitymapboxColorbarTicklabelposition 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*. +type DensitymapboxColorbarTicklabelposition string + +const ( + DensitymapboxColorbarTicklabelpositionOutside DensitymapboxColorbarTicklabelposition = "outside" + DensitymapboxColorbarTicklabelpositionInside DensitymapboxColorbarTicklabelposition = "inside" + DensitymapboxColorbarTicklabelpositionOutsideTop DensitymapboxColorbarTicklabelposition = "outside top" + DensitymapboxColorbarTicklabelpositionInsideTop DensitymapboxColorbarTicklabelposition = "inside top" + DensitymapboxColorbarTicklabelpositionOutsideLeft DensitymapboxColorbarTicklabelposition = "outside left" + DensitymapboxColorbarTicklabelpositionInsideLeft DensitymapboxColorbarTicklabelposition = "inside left" + DensitymapboxColorbarTicklabelpositionOutsideRight DensitymapboxColorbarTicklabelposition = "outside right" + DensitymapboxColorbarTicklabelpositionInsideRight DensitymapboxColorbarTicklabelposition = "inside right" + DensitymapboxColorbarTicklabelpositionOutsideBottom DensitymapboxColorbarTicklabelposition = "outside bottom" + DensitymapboxColorbarTicklabelpositionInsideBottom DensitymapboxColorbarTicklabelposition = "inside bottom" +) + +// DensitymapboxColorbarTickmode 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). +type DensitymapboxColorbarTickmode string + +const ( + DensitymapboxColorbarTickmodeAuto DensitymapboxColorbarTickmode = "auto" + DensitymapboxColorbarTickmodeLinear DensitymapboxColorbarTickmode = "linear" + DensitymapboxColorbarTickmodeArray DensitymapboxColorbarTickmode = "array" +) + +// DensitymapboxColorbarTicks 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. +type DensitymapboxColorbarTicks string + +const ( + DensitymapboxColorbarTicksOutside DensitymapboxColorbarTicks = "outside" + DensitymapboxColorbarTicksInside DensitymapboxColorbarTicks = "inside" + DensitymapboxColorbarTicksEmpty DensitymapboxColorbarTicks = "" +) + +// DensitymapboxColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type DensitymapboxColorbarTitleSide string + +const ( + DensitymapboxColorbarTitleSideRight DensitymapboxColorbarTitleSide = "right" + DensitymapboxColorbarTitleSideTop DensitymapboxColorbarTitleSide = "top" + DensitymapboxColorbarTitleSideBottom DensitymapboxColorbarTitleSide = "bottom" +) + +// DensitymapboxColorbarXanchor 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*. +type DensitymapboxColorbarXanchor string + +const ( + DensitymapboxColorbarXanchorLeft DensitymapboxColorbarXanchor = "left" + DensitymapboxColorbarXanchorCenter DensitymapboxColorbarXanchor = "center" + DensitymapboxColorbarXanchorRight DensitymapboxColorbarXanchor = "right" +) + +// DensitymapboxColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type DensitymapboxColorbarXref string + +const ( + DensitymapboxColorbarXrefContainer DensitymapboxColorbarXref = "container" + DensitymapboxColorbarXrefPaper DensitymapboxColorbarXref = "paper" +) + +// DensitymapboxColorbarYanchor 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*. +type DensitymapboxColorbarYanchor string + +const ( + DensitymapboxColorbarYanchorTop DensitymapboxColorbarYanchor = "top" + DensitymapboxColorbarYanchorMiddle DensitymapboxColorbarYanchor = "middle" + DensitymapboxColorbarYanchorBottom DensitymapboxColorbarYanchor = "bottom" +) + +// DensitymapboxColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type DensitymapboxColorbarYref string + +const ( + DensitymapboxColorbarYrefContainer DensitymapboxColorbarYref = "container" + DensitymapboxColorbarYrefPaper DensitymapboxColorbarYref = "paper" +) + +// DensitymapboxHoverlabelAlign 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 +type DensitymapboxHoverlabelAlign string + +const ( + DensitymapboxHoverlabelAlignLeft DensitymapboxHoverlabelAlign = "left" + DensitymapboxHoverlabelAlignRight DensitymapboxHoverlabelAlign = "right" + DensitymapboxHoverlabelAlignAuto DensitymapboxHoverlabelAlign = "auto" +) + +// DensitymapboxVisible 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). +type DensitymapboxVisible interface{} + +var ( + DensitymapboxVisibleTrue DensitymapboxVisible = true + DensitymapboxVisibleFalse DensitymapboxVisible = false + DensitymapboxVisibleLegendonly DensitymapboxVisible = "legendonly" +) + +// DensitymapboxHoverinfo 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. +type DensitymapboxHoverinfo string + +const ( + // Flags + DensitymapboxHoverinfoLon DensitymapboxHoverinfo = "lon" + DensitymapboxHoverinfoLat DensitymapboxHoverinfo = "lat" + DensitymapboxHoverinfoZ DensitymapboxHoverinfo = "z" + DensitymapboxHoverinfoText DensitymapboxHoverinfo = "text" + DensitymapboxHoverinfoName DensitymapboxHoverinfo = "name" + + // Extra + DensitymapboxHoverinfoAll DensitymapboxHoverinfo = "all" + DensitymapboxHoverinfoNone DensitymapboxHoverinfo = "none" + DensitymapboxHoverinfoSkip DensitymapboxHoverinfo = "skip" +) diff --git a/generated/v2.31.1/graph_objects/funnel_gen.go b/generated/v2.31.1/graph_objects/funnel_gen.go new file mode 100644 index 0000000..565e4d8 --- /dev/null +++ b/generated/v2.31.1/graph_objects/funnel_gen.go @@ -0,0 +1,1491 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeFunnel TraceType = "funnel" + +func (trace *Funnel) GetType() TraceType { + return TraceTypeFunnel +} + +// Funnel 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. +type Funnel struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Alignmentgroup + // arrayOK: false + // 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. + Alignmentgroup String `json:"alignmentgroup,omitempty"` + + // Cliponaxis + // arrayOK: false + // type: boolean + // 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*. + Cliponaxis Bool `json:"cliponaxis,omitempty"` + + // Connector + // role: Object + Connector *FunnelConnector `json:"connector,omitempty"` + + // Constraintext + // default: both + // type: enumerated + // Constrain the size of text inside or outside a bar to be no larger than the bar itself. + Constraintext FunnelConstraintext `json:"constraintext,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Dx + // arrayOK: false + // type: number + // Sets the x coordinate step. See `x0` for more info. + Dx float64 `json:"dx,omitempty"` + + // Dy + // arrayOK: false + // type: number + // Sets the y coordinate step. See `y0` for more info. + Dy float64 `json:"dy,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo FunnelHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *FunnelHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Finally, the template string has access to variables `percentInitial`, `percentPrevious` and `percentTotal`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Insidetextanchor + // default: middle + // type: enumerated + // Determines if texts are kept at center or start/end points in `textposition` *inside* mode. + Insidetextanchor FunnelInsidetextanchor `json:"insidetextanchor,omitempty"` + + // Insidetextfont + // role: Object + Insidetextfont *FunnelInsidetextfont `json:"insidetextfont,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *FunnelLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Marker + // role: Object + Marker *FunnelMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Offset + // arrayOK: false + // 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. + Offset float64 `json:"offset,omitempty"` + + // Offsetgroup + // arrayOK: false + // 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. + Offsetgroup String `json:"offsetgroup,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Orientation + // default: %!s() + // type: enumerated + // 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*. + Orientation FunnelOrientation `json:"orientation,omitempty"` + + // Outsidetextfont + // role: Object + Outsidetextfont *FunnelOutsidetextfont `json:"outsidetextfont,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Stream + // role: Object + Stream *FunnelStream `json:"stream,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textangle + // arrayOK: false + // 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. + Textangle float64 `json:"textangle,omitempty"` + + // Textfont + // role: Object + Textfont *FunnelTextfont `json:"textfont,omitempty"` + + // Textinfo + // default: %!s() + // type: flaglist + // Determines which trace information appear on the graph. In the case of having multiple funnels, percentages & totals are computed separately (per trace). + Textinfo FunnelTextinfo `json:"textinfo,omitempty"` + + // Textposition + // default: auto + // type: enumerated + // 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. + Textposition FunnelTextposition `json:"textposition,omitempty"` + + // Textpositionsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `textposition`. + Textpositionsrc String `json:"textpositionsrc,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: true + // 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 `percentInitial`, `percentPrevious`, `percentTotal`, `label` and `value`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Texttemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `texttemplate`. + Texttemplatesrc String `json:"texttemplatesrc,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible FunnelVisible `json:"visible,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the bar width (in position axis units). + Width float64 `json:"width,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the x coordinates. + X interface{} `json:"x,omitempty"` + + // X0 + // arrayOK: false + // type: any + // Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step. + X0 interface{} `json:"x0,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xperiod + // arrayOK: false + // type: any + // Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer. + Xperiod interface{} `json:"xperiod,omitempty"` + + // Xperiod0 + // arrayOK: false + // type: any + // 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. + Xperiod0 interface{} `json:"xperiod0,omitempty"` + + // Xperiodalignment + // default: middle + // type: enumerated + // Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. + Xperiodalignment FunnelXperiodalignment `json:"xperiodalignment,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the y coordinates. + Y interface{} `json:"y,omitempty"` + + // Y0 + // arrayOK: false + // type: any + // Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step. + Y0 interface{} `json:"y0,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Yperiod + // arrayOK: false + // type: any + // Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the y axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer. + Yperiod interface{} `json:"yperiod,omitempty"` + + // Yperiod0 + // arrayOK: false + // type: any + // 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. + Yperiod0 interface{} `json:"yperiod0,omitempty"` + + // Yperiodalignment + // default: middle + // type: enumerated + // Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis. + Yperiodalignment FunnelYperiodalignment `json:"yperiodalignment,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` + + // Zorder + // arrayOK: false + // 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`. + Zorder int64 `json:"zorder,omitempty"` +} + +// FunnelConnectorLine +type FunnelConnectorLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the line color. + Color Color `json:"color,omitempty"` + + // Dash + // arrayOK: false + // type: string + // 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*). + Dash String `json:"dash,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width (in px). + Width float64 `json:"width,omitempty"` +} + +// FunnelConnector +type FunnelConnector struct { + + // Fillcolor + // arrayOK: false + // type: color + // Sets the fill color. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Line + // role: Object + Line *FunnelConnectorLine `json:"line,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Determines if connector regions and lines are drawn. + Visible Bool `json:"visible,omitempty"` +} + +// FunnelHoverlabelFont Sets the font used in hover labels. +type FunnelHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// FunnelHoverlabel +type FunnelHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align FunnelHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *FunnelHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// FunnelInsidetextfont Sets the font used for `text` lying inside the bar. +type FunnelInsidetextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// FunnelLegendgrouptitleFont Sets this legend group's title font. +type FunnelLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// FunnelLegendgrouptitle +type FunnelLegendgrouptitle struct { + + // Font + // role: Object + Font *FunnelLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// FunnelMarkerColorbarTickfont Sets the color bar's tick label font +type FunnelMarkerColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// FunnelMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type FunnelMarkerColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// FunnelMarkerColorbarTitle +type FunnelMarkerColorbarTitle struct { + + // Font + // role: Object + Font *FunnelMarkerColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side FunnelMarkerColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// FunnelMarkerColorbar +type FunnelMarkerColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat FunnelMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode FunnelMarkerColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation FunnelMarkerColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent FunnelMarkerColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix FunnelMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix FunnelMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode FunnelMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *FunnelMarkerColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow FunnelMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition FunnelMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode FunnelMarkerColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks FunnelMarkerColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *FunnelMarkerColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor FunnelMarkerColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref FunnelMarkerColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor FunnelMarkerColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref FunnelMarkerColorbarYref `json:"yref,omitempty"` +} + +// FunnelMarkerLine +type FunnelMarkerLine struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the lines bounding the marker points. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// FunnelMarker +type FunnelMarker struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *FunnelMarkerColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Line + // role: Object + Line *FunnelMarkerLine `json:"line,omitempty"` + + // Opacity + // arrayOK: true + // type: number + // Sets the opacity of the bars. + Opacity float64 `json:"opacity,omitempty"` + + // Opacitysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `opacity`. + Opacitysrc String `json:"opacitysrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` +} + +// FunnelOutsidetextfont Sets the font used for `text` lying outside the bar. +type FunnelOutsidetextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// FunnelStream +type FunnelStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// FunnelTextfont Sets the font used for `text`. +type FunnelTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// FunnelConstraintext Constrain the size of text inside or outside a bar to be no larger than the bar itself. +type FunnelConstraintext string + +const ( + FunnelConstraintextInside FunnelConstraintext = "inside" + FunnelConstraintextOutside FunnelConstraintext = "outside" + FunnelConstraintextBoth FunnelConstraintext = "both" + FunnelConstraintextNone FunnelConstraintext = "none" +) + +// FunnelHoverlabelAlign 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 +type FunnelHoverlabelAlign string + +const ( + FunnelHoverlabelAlignLeft FunnelHoverlabelAlign = "left" + FunnelHoverlabelAlignRight FunnelHoverlabelAlign = "right" + FunnelHoverlabelAlignAuto FunnelHoverlabelAlign = "auto" +) + +// FunnelInsidetextanchor Determines if texts are kept at center or start/end points in `textposition` *inside* mode. +type FunnelInsidetextanchor string + +const ( + FunnelInsidetextanchorEnd FunnelInsidetextanchor = "end" + FunnelInsidetextanchorMiddle FunnelInsidetextanchor = "middle" + FunnelInsidetextanchorStart FunnelInsidetextanchor = "start" +) + +// FunnelMarkerColorbarExponentformat 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. +type FunnelMarkerColorbarExponentformat string + +const ( + FunnelMarkerColorbarExponentformatNone FunnelMarkerColorbarExponentformat = "none" + FunnelMarkerColorbarExponentformatE1 FunnelMarkerColorbarExponentformat = "e" + FunnelMarkerColorbarExponentformatE2 FunnelMarkerColorbarExponentformat = "E" + FunnelMarkerColorbarExponentformatPower FunnelMarkerColorbarExponentformat = "power" + FunnelMarkerColorbarExponentformatSI FunnelMarkerColorbarExponentformat = "SI" + FunnelMarkerColorbarExponentformatB FunnelMarkerColorbarExponentformat = "B" +) + +// FunnelMarkerColorbarLenmode 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. +type FunnelMarkerColorbarLenmode string + +const ( + FunnelMarkerColorbarLenmodeFraction FunnelMarkerColorbarLenmode = "fraction" + FunnelMarkerColorbarLenmodePixels FunnelMarkerColorbarLenmode = "pixels" +) + +// FunnelMarkerColorbarOrientation Sets the orientation of the colorbar. +type FunnelMarkerColorbarOrientation string + +const ( + FunnelMarkerColorbarOrientationH FunnelMarkerColorbarOrientation = "h" + FunnelMarkerColorbarOrientationV FunnelMarkerColorbarOrientation = "v" +) + +// FunnelMarkerColorbarShowexponent 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. +type FunnelMarkerColorbarShowexponent string + +const ( + FunnelMarkerColorbarShowexponentAll FunnelMarkerColorbarShowexponent = "all" + FunnelMarkerColorbarShowexponentFirst FunnelMarkerColorbarShowexponent = "first" + FunnelMarkerColorbarShowexponentLast FunnelMarkerColorbarShowexponent = "last" + FunnelMarkerColorbarShowexponentNone FunnelMarkerColorbarShowexponent = "none" +) + +// FunnelMarkerColorbarShowtickprefix 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. +type FunnelMarkerColorbarShowtickprefix string + +const ( + FunnelMarkerColorbarShowtickprefixAll FunnelMarkerColorbarShowtickprefix = "all" + FunnelMarkerColorbarShowtickprefixFirst FunnelMarkerColorbarShowtickprefix = "first" + FunnelMarkerColorbarShowtickprefixLast FunnelMarkerColorbarShowtickprefix = "last" + FunnelMarkerColorbarShowtickprefixNone FunnelMarkerColorbarShowtickprefix = "none" +) + +// FunnelMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type FunnelMarkerColorbarShowticksuffix string + +const ( + FunnelMarkerColorbarShowticksuffixAll FunnelMarkerColorbarShowticksuffix = "all" + FunnelMarkerColorbarShowticksuffixFirst FunnelMarkerColorbarShowticksuffix = "first" + FunnelMarkerColorbarShowticksuffixLast FunnelMarkerColorbarShowticksuffix = "last" + FunnelMarkerColorbarShowticksuffixNone FunnelMarkerColorbarShowticksuffix = "none" +) + +// FunnelMarkerColorbarThicknessmode 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. +type FunnelMarkerColorbarThicknessmode string + +const ( + FunnelMarkerColorbarThicknessmodeFraction FunnelMarkerColorbarThicknessmode = "fraction" + FunnelMarkerColorbarThicknessmodePixels FunnelMarkerColorbarThicknessmode = "pixels" +) + +// FunnelMarkerColorbarTicklabeloverflow 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*. +type FunnelMarkerColorbarTicklabeloverflow string + +const ( + FunnelMarkerColorbarTicklabeloverflowAllow FunnelMarkerColorbarTicklabeloverflow = "allow" + FunnelMarkerColorbarTicklabeloverflowHidePastDiv FunnelMarkerColorbarTicklabeloverflow = "hide past div" + FunnelMarkerColorbarTicklabeloverflowHidePastDomain FunnelMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// FunnelMarkerColorbarTicklabelposition 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*. +type FunnelMarkerColorbarTicklabelposition string + +const ( + FunnelMarkerColorbarTicklabelpositionOutside FunnelMarkerColorbarTicklabelposition = "outside" + FunnelMarkerColorbarTicklabelpositionInside FunnelMarkerColorbarTicklabelposition = "inside" + FunnelMarkerColorbarTicklabelpositionOutsideTop FunnelMarkerColorbarTicklabelposition = "outside top" + FunnelMarkerColorbarTicklabelpositionInsideTop FunnelMarkerColorbarTicklabelposition = "inside top" + FunnelMarkerColorbarTicklabelpositionOutsideLeft FunnelMarkerColorbarTicklabelposition = "outside left" + FunnelMarkerColorbarTicklabelpositionInsideLeft FunnelMarkerColorbarTicklabelposition = "inside left" + FunnelMarkerColorbarTicklabelpositionOutsideRight FunnelMarkerColorbarTicklabelposition = "outside right" + FunnelMarkerColorbarTicklabelpositionInsideRight FunnelMarkerColorbarTicklabelposition = "inside right" + FunnelMarkerColorbarTicklabelpositionOutsideBottom FunnelMarkerColorbarTicklabelposition = "outside bottom" + FunnelMarkerColorbarTicklabelpositionInsideBottom FunnelMarkerColorbarTicklabelposition = "inside bottom" +) + +// FunnelMarkerColorbarTickmode 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). +type FunnelMarkerColorbarTickmode string + +const ( + FunnelMarkerColorbarTickmodeAuto FunnelMarkerColorbarTickmode = "auto" + FunnelMarkerColorbarTickmodeLinear FunnelMarkerColorbarTickmode = "linear" + FunnelMarkerColorbarTickmodeArray FunnelMarkerColorbarTickmode = "array" +) + +// FunnelMarkerColorbarTicks 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. +type FunnelMarkerColorbarTicks string + +const ( + FunnelMarkerColorbarTicksOutside FunnelMarkerColorbarTicks = "outside" + FunnelMarkerColorbarTicksInside FunnelMarkerColorbarTicks = "inside" + FunnelMarkerColorbarTicksEmpty FunnelMarkerColorbarTicks = "" +) + +// FunnelMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type FunnelMarkerColorbarTitleSide string + +const ( + FunnelMarkerColorbarTitleSideRight FunnelMarkerColorbarTitleSide = "right" + FunnelMarkerColorbarTitleSideTop FunnelMarkerColorbarTitleSide = "top" + FunnelMarkerColorbarTitleSideBottom FunnelMarkerColorbarTitleSide = "bottom" +) + +// FunnelMarkerColorbarXanchor 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*. +type FunnelMarkerColorbarXanchor string + +const ( + FunnelMarkerColorbarXanchorLeft FunnelMarkerColorbarXanchor = "left" + FunnelMarkerColorbarXanchorCenter FunnelMarkerColorbarXanchor = "center" + FunnelMarkerColorbarXanchorRight FunnelMarkerColorbarXanchor = "right" +) + +// FunnelMarkerColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type FunnelMarkerColorbarXref string + +const ( + FunnelMarkerColorbarXrefContainer FunnelMarkerColorbarXref = "container" + FunnelMarkerColorbarXrefPaper FunnelMarkerColorbarXref = "paper" +) + +// FunnelMarkerColorbarYanchor 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*. +type FunnelMarkerColorbarYanchor string + +const ( + FunnelMarkerColorbarYanchorTop FunnelMarkerColorbarYanchor = "top" + FunnelMarkerColorbarYanchorMiddle FunnelMarkerColorbarYanchor = "middle" + FunnelMarkerColorbarYanchorBottom FunnelMarkerColorbarYanchor = "bottom" +) + +// FunnelMarkerColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type FunnelMarkerColorbarYref string + +const ( + FunnelMarkerColorbarYrefContainer FunnelMarkerColorbarYref = "container" + FunnelMarkerColorbarYrefPaper FunnelMarkerColorbarYref = "paper" +) + +// FunnelOrientation 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*. +type FunnelOrientation string + +const ( + FunnelOrientationV FunnelOrientation = "v" + FunnelOrientationH FunnelOrientation = "h" +) + +// FunnelTextposition 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. +type FunnelTextposition string + +const ( + FunnelTextpositionInside FunnelTextposition = "inside" + FunnelTextpositionOutside FunnelTextposition = "outside" + FunnelTextpositionAuto FunnelTextposition = "auto" + FunnelTextpositionNone FunnelTextposition = "none" +) + +// FunnelVisible 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). +type FunnelVisible interface{} + +var ( + FunnelVisibleTrue FunnelVisible = true + FunnelVisibleFalse FunnelVisible = false + FunnelVisibleLegendonly FunnelVisible = "legendonly" +) + +// FunnelXperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. +type FunnelXperiodalignment string + +const ( + FunnelXperiodalignmentStart FunnelXperiodalignment = "start" + FunnelXperiodalignmentMiddle FunnelXperiodalignment = "middle" + FunnelXperiodalignmentEnd FunnelXperiodalignment = "end" +) + +// FunnelYperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis. +type FunnelYperiodalignment string + +const ( + FunnelYperiodalignmentStart FunnelYperiodalignment = "start" + FunnelYperiodalignmentMiddle FunnelYperiodalignment = "middle" + FunnelYperiodalignmentEnd FunnelYperiodalignment = "end" +) + +// FunnelHoverinfo 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. +type FunnelHoverinfo string + +const ( + // Flags + FunnelHoverinfoName FunnelHoverinfo = "name" + FunnelHoverinfoX FunnelHoverinfo = "x" + FunnelHoverinfoY FunnelHoverinfo = "y" + FunnelHoverinfoText FunnelHoverinfo = "text" + FunnelHoverinfoPercentInitial FunnelHoverinfo = "percent initial" + FunnelHoverinfoPercentPrevious FunnelHoverinfo = "percent previous" + FunnelHoverinfoPercentTotal FunnelHoverinfo = "percent total" + + // Extra + FunnelHoverinfoAll FunnelHoverinfo = "all" + FunnelHoverinfoNone FunnelHoverinfo = "none" + FunnelHoverinfoSkip FunnelHoverinfo = "skip" +) + +// FunnelTextinfo Determines which trace information appear on the graph. In the case of having multiple funnels, percentages & totals are computed separately (per trace). +type FunnelTextinfo string + +const ( + // Flags + FunnelTextinfoLabel FunnelTextinfo = "label" + FunnelTextinfoText FunnelTextinfo = "text" + FunnelTextinfoPercentInitial FunnelTextinfo = "percent initial" + FunnelTextinfoPercentPrevious FunnelTextinfo = "percent previous" + FunnelTextinfoPercentTotal FunnelTextinfo = "percent total" + FunnelTextinfoValue FunnelTextinfo = "value" + + // Extra + FunnelTextinfoNone FunnelTextinfo = "none" +) diff --git a/generated/v2.31.1/graph_objects/funnelarea_gen.go b/generated/v2.31.1/graph_objects/funnelarea_gen.go new file mode 100644 index 0000000..3bec04a --- /dev/null +++ b/generated/v2.31.1/graph_objects/funnelarea_gen.go @@ -0,0 +1,815 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeFunnelarea TraceType = "funnelarea" + +func (trace *Funnelarea) GetType() TraceType { + return TraceTypeFunnelarea +} + +// Funnelarea 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. +type Funnelarea struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Aspectratio + // arrayOK: false + // type: number + // Sets the ratio between height and width + Aspectratio float64 `json:"aspectratio,omitempty"` + + // Baseratio + // arrayOK: false + // type: number + // Sets the ratio between bottom length and maximum top length. + Baseratio float64 `json:"baseratio,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Dlabel + // arrayOK: false + // type: number + // Sets the label step. See `label0` for more info. + Dlabel float64 `json:"dlabel,omitempty"` + + // Domain + // role: Object + Domain *FunnelareaDomain `json:"domain,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo FunnelareaHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *FunnelareaHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Finally, the template string has access to variables `label`, `color`, `value`, `text` and `percent`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Insidetextfont + // role: Object + Insidetextfont *FunnelareaInsidetextfont `json:"insidetextfont,omitempty"` + + // Label0 + // arrayOK: false + // type: number + // Alternate to `labels`. Builds a numeric set of labels. Use with `dlabel` where `label0` is the starting label and `dlabel` the step. + Label0 float64 `json:"label0,omitempty"` + + // Labels + // arrayOK: false + // 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. + Labels interface{} `json:"labels,omitempty"` + + // Labelssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `labels`. + Labelssrc String `json:"labelssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *FunnelareaLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Marker + // role: Object + Marker *FunnelareaMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Scalegroup + // arrayOK: false + // 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. + Scalegroup String `json:"scalegroup,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Stream + // role: Object + Stream *FunnelareaStream `json:"stream,omitempty"` + + // Text + // arrayOK: false + // 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. + Text interface{} `json:"text,omitempty"` + + // Textfont + // role: Object + Textfont *FunnelareaTextfont `json:"textfont,omitempty"` + + // Textinfo + // default: %!s() + // type: flaglist + // Determines which trace information appear on the graph. + Textinfo FunnelareaTextinfo `json:"textinfo,omitempty"` + + // Textposition + // default: inside + // type: enumerated + // Specifies the location of the `textinfo`. + Textposition FunnelareaTextposition `json:"textposition,omitempty"` + + // Textpositionsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `textposition`. + Textpositionsrc String `json:"textpositionsrc,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: true + // 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`, `color`, `value`, `text` and `percent`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Texttemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `texttemplate`. + Texttemplatesrc String `json:"texttemplatesrc,omitempty"` + + // Title + // role: Object + Title *FunnelareaTitle `json:"title,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Values + // arrayOK: false + // type: data_array + // Sets the values of the sectors. If omitted, we count occurrences of each label. + Values interface{} `json:"values,omitempty"` + + // Valuessrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `values`. + Valuessrc String `json:"valuessrc,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible FunnelareaVisible `json:"visible,omitempty"` +} + +// FunnelareaDomain +type FunnelareaDomain struct { + + // Column + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this column in the grid for this funnelarea trace . + Column int64 `json:"column,omitempty"` + + // Row + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this row in the grid for this funnelarea trace . + Row int64 `json:"row,omitempty"` + + // X + // arrayOK: false + // type: info_array + // Sets the horizontal domain of this funnelarea trace (in plot fraction). + X interface{} `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: info_array + // Sets the vertical domain of this funnelarea trace (in plot fraction). + Y interface{} `json:"y,omitempty"` +} + +// FunnelareaHoverlabelFont Sets the font used in hover labels. +type FunnelareaHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// FunnelareaHoverlabel +type FunnelareaHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align FunnelareaHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *FunnelareaHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// FunnelareaInsidetextfont Sets the font used for `textinfo` lying inside the sector. +type FunnelareaInsidetextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// FunnelareaLegendgrouptitleFont Sets this legend group's title font. +type FunnelareaLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// FunnelareaLegendgrouptitle +type FunnelareaLegendgrouptitle struct { + + // Font + // role: Object + Font *FunnelareaLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// FunnelareaMarkerLine +type FunnelareaMarkerLine struct { + + // Color + // arrayOK: true + // type: color + // Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the line enclosing each sector. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// FunnelareaMarkerPattern Sets the pattern within the marker. +type FunnelareaMarkerPattern struct { + + // Bgcolor + // arrayOK: true + // type: color + // 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. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Fgcolor + // arrayOK: true + // type: color + // 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`. + Fgcolor Color `json:"fgcolor,omitempty"` + + // Fgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `fgcolor`. + Fgcolorsrc String `json:"fgcolorsrc,omitempty"` + + // Fgopacity + // arrayOK: false + // type: number + // Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1. + Fgopacity float64 `json:"fgopacity,omitempty"` + + // Fillmode + // default: replace + // type: enumerated + // Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. + Fillmode FunnelareaMarkerPatternFillmode `json:"fillmode,omitempty"` + + // Shape + // default: + // type: enumerated + // Sets the shape of the pattern fill. By default, no pattern is used for filling the area. + Shape FunnelareaMarkerPatternShape `json:"shape,omitempty"` + + // Shapesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `shape`. + Shapesrc String `json:"shapesrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Solidity + // arrayOK: true + // type: number + // 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. + Solidity float64 `json:"solidity,omitempty"` + + // Soliditysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `solidity`. + Soliditysrc String `json:"soliditysrc,omitempty"` +} + +// FunnelareaMarker +type FunnelareaMarker struct { + + // Colors + // arrayOK: false + // type: data_array + // Sets the color of each sector. If not specified, the default trace color set is used to pick the sector colors. + Colors interface{} `json:"colors,omitempty"` + + // Colorssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `colors`. + Colorssrc String `json:"colorssrc,omitempty"` + + // Line + // role: Object + Line *FunnelareaMarkerLine `json:"line,omitempty"` + + // Pattern + // role: Object + Pattern *FunnelareaMarkerPattern `json:"pattern,omitempty"` +} + +// FunnelareaStream +type FunnelareaStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// FunnelareaTextfont Sets the font used for `textinfo`. +type FunnelareaTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// FunnelareaTitleFont Sets the font used for `title`. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type FunnelareaTitleFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// FunnelareaTitle +type FunnelareaTitle struct { + + // Font + // role: Object + Font *FunnelareaTitleFont `json:"font,omitempty"` + + // Position + // default: top center + // type: enumerated + // Specifies the location of the `title`. Note that the title's position used to be set by the now deprecated `titleposition` attribute. + Position FunnelareaTitlePosition `json:"position,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the chart. If it is empty, no title is displayed. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// FunnelareaHoverlabelAlign 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 +type FunnelareaHoverlabelAlign string + +const ( + FunnelareaHoverlabelAlignLeft FunnelareaHoverlabelAlign = "left" + FunnelareaHoverlabelAlignRight FunnelareaHoverlabelAlign = "right" + FunnelareaHoverlabelAlignAuto FunnelareaHoverlabelAlign = "auto" +) + +// FunnelareaMarkerPatternFillmode Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. +type FunnelareaMarkerPatternFillmode string + +const ( + FunnelareaMarkerPatternFillmodeReplace FunnelareaMarkerPatternFillmode = "replace" + FunnelareaMarkerPatternFillmodeOverlay FunnelareaMarkerPatternFillmode = "overlay" +) + +// FunnelareaMarkerPatternShape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. +type FunnelareaMarkerPatternShape string + +const ( + FunnelareaMarkerPatternShapeEmpty FunnelareaMarkerPatternShape = "" + FunnelareaMarkerPatternShapeSlash FunnelareaMarkerPatternShape = "/" + FunnelareaMarkerPatternShapeDoublebackslash FunnelareaMarkerPatternShape = "\\" + FunnelareaMarkerPatternShapeX FunnelareaMarkerPatternShape = "x" + FunnelareaMarkerPatternShapeHyphenHyphen FunnelareaMarkerPatternShape = "-" + FunnelareaMarkerPatternShapeOr FunnelareaMarkerPatternShape = "|" + FunnelareaMarkerPatternShapePlus FunnelareaMarkerPatternShape = "+" + FunnelareaMarkerPatternShapeDot FunnelareaMarkerPatternShape = "." +) + +// FunnelareaTextposition Specifies the location of the `textinfo`. +type FunnelareaTextposition string + +const ( + FunnelareaTextpositionInside FunnelareaTextposition = "inside" + FunnelareaTextpositionNone FunnelareaTextposition = "none" +) + +// FunnelareaTitlePosition Specifies the location of the `title`. Note that the title's position used to be set by the now deprecated `titleposition` attribute. +type FunnelareaTitlePosition string + +const ( + FunnelareaTitlePositionTopLeft FunnelareaTitlePosition = "top left" + FunnelareaTitlePositionTopCenter FunnelareaTitlePosition = "top center" + FunnelareaTitlePositionTopRight FunnelareaTitlePosition = "top right" +) + +// FunnelareaVisible 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). +type FunnelareaVisible interface{} + +var ( + FunnelareaVisibleTrue FunnelareaVisible = true + FunnelareaVisibleFalse FunnelareaVisible = false + FunnelareaVisibleLegendonly FunnelareaVisible = "legendonly" +) + +// FunnelareaHoverinfo 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. +type FunnelareaHoverinfo string + +const ( + // Flags + FunnelareaHoverinfoLabel FunnelareaHoverinfo = "label" + FunnelareaHoverinfoText FunnelareaHoverinfo = "text" + FunnelareaHoverinfoValue FunnelareaHoverinfo = "value" + FunnelareaHoverinfoPercent FunnelareaHoverinfo = "percent" + FunnelareaHoverinfoName FunnelareaHoverinfo = "name" + + // Extra + FunnelareaHoverinfoAll FunnelareaHoverinfo = "all" + FunnelareaHoverinfoNone FunnelareaHoverinfo = "none" + FunnelareaHoverinfoSkip FunnelareaHoverinfo = "skip" +) + +// FunnelareaTextinfo Determines which trace information appear on the graph. +type FunnelareaTextinfo string + +const ( + // Flags + FunnelareaTextinfoLabel FunnelareaTextinfo = "label" + FunnelareaTextinfoText FunnelareaTextinfo = "text" + FunnelareaTextinfoValue FunnelareaTextinfo = "value" + FunnelareaTextinfoPercent FunnelareaTextinfo = "percent" + + // Extra + FunnelareaTextinfoNone FunnelareaTextinfo = "none" +) diff --git a/generated/v2.31.1/graph_objects/heatmap_gen.go b/generated/v2.31.1/graph_objects/heatmap_gen.go new file mode 100644 index 0000000..1d29965 --- /dev/null +++ b/generated/v2.31.1/graph_objects/heatmap_gen.go @@ -0,0 +1,1235 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeHeatmap TraceType = "heatmap" + +func (trace *Heatmap) GetType() TraceType { + return TraceTypeHeatmap +} + +// Heatmap 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. +type Heatmap struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Autocolorscale + // arrayOK: false + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *HeatmapColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Connectgaps + // arrayOK: false + // 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. + Connectgaps Bool `json:"connectgaps,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Dx + // arrayOK: false + // type: number + // Sets the x coordinate step. See `x0` for more info. + Dx float64 `json:"dx,omitempty"` + + // Dy + // arrayOK: false + // type: number + // Sets the y coordinate step. See `y0` for more info. + Dy float64 `json:"dy,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo HeatmapHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *HeatmapHoverlabel `json:"hoverlabel,omitempty"` + + // Hoverongaps + // arrayOK: false + // type: boolean + // Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data have hover labels associated with them. + Hoverongaps Bool `json:"hoverongaps,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: false + // type: data_array + // Same as `text`. + Hovertext interface{} `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *HeatmapLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Showscale + // arrayOK: false + // type: boolean + // Determines whether or not a colorbar is displayed for this trace. + Showscale Bool `json:"showscale,omitempty"` + + // Stream + // role: Object + Stream *HeatmapStream `json:"stream,omitempty"` + + // Text + // arrayOK: false + // type: data_array + // Sets the text elements associated with each z value. + Text interface{} `json:"text,omitempty"` + + // Textfont + // role: Object + Textfont *HeatmapTextfont `json:"textfont,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: false + // 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`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Transpose + // arrayOK: false + // type: boolean + // Transposes the z data. + Transpose Bool `json:"transpose,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible HeatmapVisible `json:"visible,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the x coordinates. + X interface{} `json:"x,omitempty"` + + // X0 + // arrayOK: false + // type: any + // Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step. + X0 interface{} `json:"x0,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Xcalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `x` date data. + Xcalendar HeatmapXcalendar `json:"xcalendar,omitempty"` + + // Xgap + // arrayOK: false + // type: number + // Sets the horizontal gap (in pixels) between bricks. + Xgap float64 `json:"xgap,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xperiod + // arrayOK: false + // type: any + // Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer. + Xperiod interface{} `json:"xperiod,omitempty"` + + // Xperiod0 + // arrayOK: false + // type: any + // 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. + Xperiod0 interface{} `json:"xperiod0,omitempty"` + + // Xperiodalignment + // default: middle + // type: enumerated + // Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. + Xperiodalignment HeatmapXperiodalignment `json:"xperiodalignment,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Xtype + // default: %!s() + // type: enumerated + // 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). + Xtype HeatmapXtype `json:"xtype,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the y coordinates. + Y interface{} `json:"y,omitempty"` + + // Y0 + // arrayOK: false + // type: any + // Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step. + Y0 interface{} `json:"y0,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` + + // Ycalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `y` date data. + Ycalendar HeatmapYcalendar `json:"ycalendar,omitempty"` + + // Ygap + // arrayOK: false + // type: number + // Sets the vertical gap (in pixels) between bricks. + Ygap float64 `json:"ygap,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Yperiod + // arrayOK: false + // type: any + // Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the y axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer. + Yperiod interface{} `json:"yperiod,omitempty"` + + // Yperiod0 + // arrayOK: false + // type: any + // 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. + Yperiod0 interface{} `json:"yperiod0,omitempty"` + + // Yperiodalignment + // default: middle + // type: enumerated + // Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis. + Yperiodalignment HeatmapYperiodalignment `json:"yperiodalignment,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` + + // Ytype + // default: %!s() + // type: enumerated + // 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) + Ytype HeatmapYtype `json:"ytype,omitempty"` + + // Z + // arrayOK: false + // type: data_array + // Sets the z data. + Z interface{} `json:"z,omitempty"` + + // Zauto + // arrayOK: false + // type: boolean + // 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. + Zauto Bool `json:"zauto,omitempty"` + + // Zhoverformat + // arrayOK: false + // 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. + Zhoverformat String `json:"zhoverformat,omitempty"` + + // Zmax + // arrayOK: false + // 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. + Zmax float64 `json:"zmax,omitempty"` + + // Zmid + // arrayOK: false + // 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`. + Zmid float64 `json:"zmid,omitempty"` + + // Zmin + // arrayOK: false + // 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. + Zmin float64 `json:"zmin,omitempty"` + + // Zorder + // arrayOK: false + // 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`. + Zorder int64 `json:"zorder,omitempty"` + + // Zsmooth + // default: %!s(bool=false) + // type: enumerated + // Picks a smoothing algorithm use to smooth `z` data. + Zsmooth HeatmapZsmooth `json:"zsmooth,omitempty"` + + // Zsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `z`. + Zsrc String `json:"zsrc,omitempty"` +} + +// HeatmapColorbarTickfont Sets the color bar's tick label font +type HeatmapColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// HeatmapColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type HeatmapColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// HeatmapColorbarTitle +type HeatmapColorbarTitle struct { + + // Font + // role: Object + Font *HeatmapColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side HeatmapColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// HeatmapColorbar +type HeatmapColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat HeatmapColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode HeatmapColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation HeatmapColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent HeatmapColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix HeatmapColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix HeatmapColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode HeatmapColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *HeatmapColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow HeatmapColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition HeatmapColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode HeatmapColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks HeatmapColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *HeatmapColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor HeatmapColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref HeatmapColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor HeatmapColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref HeatmapColorbarYref `json:"yref,omitempty"` +} + +// HeatmapHoverlabelFont Sets the font used in hover labels. +type HeatmapHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// HeatmapHoverlabel +type HeatmapHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align HeatmapHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *HeatmapHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// HeatmapLegendgrouptitleFont Sets this legend group's title font. +type HeatmapLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// HeatmapLegendgrouptitle +type HeatmapLegendgrouptitle struct { + + // Font + // role: Object + Font *HeatmapLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// HeatmapStream +type HeatmapStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// HeatmapTextfont Sets the text font. +type HeatmapTextfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// HeatmapColorbarExponentformat 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. +type HeatmapColorbarExponentformat string + +const ( + HeatmapColorbarExponentformatNone HeatmapColorbarExponentformat = "none" + HeatmapColorbarExponentformatE1 HeatmapColorbarExponentformat = "e" + HeatmapColorbarExponentformatE2 HeatmapColorbarExponentformat = "E" + HeatmapColorbarExponentformatPower HeatmapColorbarExponentformat = "power" + HeatmapColorbarExponentformatSI HeatmapColorbarExponentformat = "SI" + HeatmapColorbarExponentformatB HeatmapColorbarExponentformat = "B" +) + +// HeatmapColorbarLenmode 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. +type HeatmapColorbarLenmode string + +const ( + HeatmapColorbarLenmodeFraction HeatmapColorbarLenmode = "fraction" + HeatmapColorbarLenmodePixels HeatmapColorbarLenmode = "pixels" +) + +// HeatmapColorbarOrientation Sets the orientation of the colorbar. +type HeatmapColorbarOrientation string + +const ( + HeatmapColorbarOrientationH HeatmapColorbarOrientation = "h" + HeatmapColorbarOrientationV HeatmapColorbarOrientation = "v" +) + +// HeatmapColorbarShowexponent 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. +type HeatmapColorbarShowexponent string + +const ( + HeatmapColorbarShowexponentAll HeatmapColorbarShowexponent = "all" + HeatmapColorbarShowexponentFirst HeatmapColorbarShowexponent = "first" + HeatmapColorbarShowexponentLast HeatmapColorbarShowexponent = "last" + HeatmapColorbarShowexponentNone HeatmapColorbarShowexponent = "none" +) + +// HeatmapColorbarShowtickprefix 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. +type HeatmapColorbarShowtickprefix string + +const ( + HeatmapColorbarShowtickprefixAll HeatmapColorbarShowtickprefix = "all" + HeatmapColorbarShowtickprefixFirst HeatmapColorbarShowtickprefix = "first" + HeatmapColorbarShowtickprefixLast HeatmapColorbarShowtickprefix = "last" + HeatmapColorbarShowtickprefixNone HeatmapColorbarShowtickprefix = "none" +) + +// HeatmapColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type HeatmapColorbarShowticksuffix string + +const ( + HeatmapColorbarShowticksuffixAll HeatmapColorbarShowticksuffix = "all" + HeatmapColorbarShowticksuffixFirst HeatmapColorbarShowticksuffix = "first" + HeatmapColorbarShowticksuffixLast HeatmapColorbarShowticksuffix = "last" + HeatmapColorbarShowticksuffixNone HeatmapColorbarShowticksuffix = "none" +) + +// HeatmapColorbarThicknessmode 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. +type HeatmapColorbarThicknessmode string + +const ( + HeatmapColorbarThicknessmodeFraction HeatmapColorbarThicknessmode = "fraction" + HeatmapColorbarThicknessmodePixels HeatmapColorbarThicknessmode = "pixels" +) + +// HeatmapColorbarTicklabeloverflow 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*. +type HeatmapColorbarTicklabeloverflow string + +const ( + HeatmapColorbarTicklabeloverflowAllow HeatmapColorbarTicklabeloverflow = "allow" + HeatmapColorbarTicklabeloverflowHidePastDiv HeatmapColorbarTicklabeloverflow = "hide past div" + HeatmapColorbarTicklabeloverflowHidePastDomain HeatmapColorbarTicklabeloverflow = "hide past domain" +) + +// HeatmapColorbarTicklabelposition 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*. +type HeatmapColorbarTicklabelposition string + +const ( + HeatmapColorbarTicklabelpositionOutside HeatmapColorbarTicklabelposition = "outside" + HeatmapColorbarTicklabelpositionInside HeatmapColorbarTicklabelposition = "inside" + HeatmapColorbarTicklabelpositionOutsideTop HeatmapColorbarTicklabelposition = "outside top" + HeatmapColorbarTicklabelpositionInsideTop HeatmapColorbarTicklabelposition = "inside top" + HeatmapColorbarTicklabelpositionOutsideLeft HeatmapColorbarTicklabelposition = "outside left" + HeatmapColorbarTicklabelpositionInsideLeft HeatmapColorbarTicklabelposition = "inside left" + HeatmapColorbarTicklabelpositionOutsideRight HeatmapColorbarTicklabelposition = "outside right" + HeatmapColorbarTicklabelpositionInsideRight HeatmapColorbarTicklabelposition = "inside right" + HeatmapColorbarTicklabelpositionOutsideBottom HeatmapColorbarTicklabelposition = "outside bottom" + HeatmapColorbarTicklabelpositionInsideBottom HeatmapColorbarTicklabelposition = "inside bottom" +) + +// HeatmapColorbarTickmode 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). +type HeatmapColorbarTickmode string + +const ( + HeatmapColorbarTickmodeAuto HeatmapColorbarTickmode = "auto" + HeatmapColorbarTickmodeLinear HeatmapColorbarTickmode = "linear" + HeatmapColorbarTickmodeArray HeatmapColorbarTickmode = "array" +) + +// HeatmapColorbarTicks 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. +type HeatmapColorbarTicks string + +const ( + HeatmapColorbarTicksOutside HeatmapColorbarTicks = "outside" + HeatmapColorbarTicksInside HeatmapColorbarTicks = "inside" + HeatmapColorbarTicksEmpty HeatmapColorbarTicks = "" +) + +// HeatmapColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type HeatmapColorbarTitleSide string + +const ( + HeatmapColorbarTitleSideRight HeatmapColorbarTitleSide = "right" + HeatmapColorbarTitleSideTop HeatmapColorbarTitleSide = "top" + HeatmapColorbarTitleSideBottom HeatmapColorbarTitleSide = "bottom" +) + +// HeatmapColorbarXanchor 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*. +type HeatmapColorbarXanchor string + +const ( + HeatmapColorbarXanchorLeft HeatmapColorbarXanchor = "left" + HeatmapColorbarXanchorCenter HeatmapColorbarXanchor = "center" + HeatmapColorbarXanchorRight HeatmapColorbarXanchor = "right" +) + +// HeatmapColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type HeatmapColorbarXref string + +const ( + HeatmapColorbarXrefContainer HeatmapColorbarXref = "container" + HeatmapColorbarXrefPaper HeatmapColorbarXref = "paper" +) + +// HeatmapColorbarYanchor 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*. +type HeatmapColorbarYanchor string + +const ( + HeatmapColorbarYanchorTop HeatmapColorbarYanchor = "top" + HeatmapColorbarYanchorMiddle HeatmapColorbarYanchor = "middle" + HeatmapColorbarYanchorBottom HeatmapColorbarYanchor = "bottom" +) + +// HeatmapColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type HeatmapColorbarYref string + +const ( + HeatmapColorbarYrefContainer HeatmapColorbarYref = "container" + HeatmapColorbarYrefPaper HeatmapColorbarYref = "paper" +) + +// HeatmapHoverlabelAlign 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 +type HeatmapHoverlabelAlign string + +const ( + HeatmapHoverlabelAlignLeft HeatmapHoverlabelAlign = "left" + HeatmapHoverlabelAlignRight HeatmapHoverlabelAlign = "right" + HeatmapHoverlabelAlignAuto HeatmapHoverlabelAlign = "auto" +) + +// HeatmapVisible 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). +type HeatmapVisible interface{} + +var ( + HeatmapVisibleTrue HeatmapVisible = true + HeatmapVisibleFalse HeatmapVisible = false + HeatmapVisibleLegendonly HeatmapVisible = "legendonly" +) + +// HeatmapXcalendar Sets the calendar system to use with `x` date data. +type HeatmapXcalendar string + +const ( + HeatmapXcalendarChinese HeatmapXcalendar = "chinese" + HeatmapXcalendarCoptic HeatmapXcalendar = "coptic" + HeatmapXcalendarDiscworld HeatmapXcalendar = "discworld" + HeatmapXcalendarEthiopian HeatmapXcalendar = "ethiopian" + HeatmapXcalendarGregorian HeatmapXcalendar = "gregorian" + HeatmapXcalendarHebrew HeatmapXcalendar = "hebrew" + HeatmapXcalendarIslamic HeatmapXcalendar = "islamic" + HeatmapXcalendarJalali HeatmapXcalendar = "jalali" + HeatmapXcalendarJulian HeatmapXcalendar = "julian" + HeatmapXcalendarMayan HeatmapXcalendar = "mayan" + HeatmapXcalendarNanakshahi HeatmapXcalendar = "nanakshahi" + HeatmapXcalendarNepali HeatmapXcalendar = "nepali" + HeatmapXcalendarPersian HeatmapXcalendar = "persian" + HeatmapXcalendarTaiwan HeatmapXcalendar = "taiwan" + HeatmapXcalendarThai HeatmapXcalendar = "thai" + HeatmapXcalendarUmmalqura HeatmapXcalendar = "ummalqura" +) + +// HeatmapXperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. +type HeatmapXperiodalignment string + +const ( + HeatmapXperiodalignmentStart HeatmapXperiodalignment = "start" + HeatmapXperiodalignmentMiddle HeatmapXperiodalignment = "middle" + HeatmapXperiodalignmentEnd HeatmapXperiodalignment = "end" +) + +// HeatmapXtype 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). +type HeatmapXtype string + +const ( + HeatmapXtypeArray HeatmapXtype = "array" + HeatmapXtypeScaled HeatmapXtype = "scaled" +) + +// HeatmapYcalendar Sets the calendar system to use with `y` date data. +type HeatmapYcalendar string + +const ( + HeatmapYcalendarChinese HeatmapYcalendar = "chinese" + HeatmapYcalendarCoptic HeatmapYcalendar = "coptic" + HeatmapYcalendarDiscworld HeatmapYcalendar = "discworld" + HeatmapYcalendarEthiopian HeatmapYcalendar = "ethiopian" + HeatmapYcalendarGregorian HeatmapYcalendar = "gregorian" + HeatmapYcalendarHebrew HeatmapYcalendar = "hebrew" + HeatmapYcalendarIslamic HeatmapYcalendar = "islamic" + HeatmapYcalendarJalali HeatmapYcalendar = "jalali" + HeatmapYcalendarJulian HeatmapYcalendar = "julian" + HeatmapYcalendarMayan HeatmapYcalendar = "mayan" + HeatmapYcalendarNanakshahi HeatmapYcalendar = "nanakshahi" + HeatmapYcalendarNepali HeatmapYcalendar = "nepali" + HeatmapYcalendarPersian HeatmapYcalendar = "persian" + HeatmapYcalendarTaiwan HeatmapYcalendar = "taiwan" + HeatmapYcalendarThai HeatmapYcalendar = "thai" + HeatmapYcalendarUmmalqura HeatmapYcalendar = "ummalqura" +) + +// HeatmapYperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis. +type HeatmapYperiodalignment string + +const ( + HeatmapYperiodalignmentStart HeatmapYperiodalignment = "start" + HeatmapYperiodalignmentMiddle HeatmapYperiodalignment = "middle" + HeatmapYperiodalignmentEnd HeatmapYperiodalignment = "end" +) + +// HeatmapYtype 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) +type HeatmapYtype string + +const ( + HeatmapYtypeArray HeatmapYtype = "array" + HeatmapYtypeScaled HeatmapYtype = "scaled" +) + +// HeatmapZsmooth Picks a smoothing algorithm use to smooth `z` data. +type HeatmapZsmooth interface{} + +var ( + HeatmapZsmoothFast HeatmapZsmooth = "fast" + HeatmapZsmoothBest HeatmapZsmooth = "best" + HeatmapZsmoothFalse HeatmapZsmooth = false +) + +// HeatmapHoverinfo 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. +type HeatmapHoverinfo string + +const ( + // Flags + HeatmapHoverinfoX HeatmapHoverinfo = "x" + HeatmapHoverinfoY HeatmapHoverinfo = "y" + HeatmapHoverinfoZ HeatmapHoverinfo = "z" + HeatmapHoverinfoText HeatmapHoverinfo = "text" + HeatmapHoverinfoName HeatmapHoverinfo = "name" + + // Extra + HeatmapHoverinfoAll HeatmapHoverinfo = "all" + HeatmapHoverinfoNone HeatmapHoverinfo = "none" + HeatmapHoverinfoSkip HeatmapHoverinfo = "skip" +) diff --git a/generated/v2.31.1/graph_objects/heatmapgl_gen.go b/generated/v2.31.1/graph_objects/heatmapgl_gen.go new file mode 100644 index 0000000..83d7a88 --- /dev/null +++ b/generated/v2.31.1/graph_objects/heatmapgl_gen.go @@ -0,0 +1,1008 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeHeatmapgl TraceType = "heatmapgl" + +func (trace *Heatmapgl) GetType() TraceType { + return TraceTypeHeatmapgl +} + +// Heatmapgl *heatmapgl* trace is deprecated! Please consider switching to the *heatmap* or *image* trace types. Alternatively you could contribute/sponsor rewriting this trace type based on cartesian features and using regl framework. WebGL version of the heatmap trace type. +type Heatmapgl struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Autocolorscale + // arrayOK: false + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *HeatmapglColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Dx + // arrayOK: false + // type: number + // Sets the x coordinate step. See `x0` for more info. + Dx float64 `json:"dx,omitempty"` + + // Dy + // arrayOK: false + // type: number + // Sets the y coordinate step. See `y0` for more info. + Dy float64 `json:"dy,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo HeatmapglHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *HeatmapglHoverlabel `json:"hoverlabel,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *HeatmapglLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // type: boolean + // Determines whether or not a colorbar is displayed for this trace. + Showscale Bool `json:"showscale,omitempty"` + + // Stream + // role: Object + Stream *HeatmapglStream `json:"stream,omitempty"` + + // Text + // arrayOK: false + // type: data_array + // Sets the text elements associated with each z value. + Text interface{} `json:"text,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Transpose + // arrayOK: false + // type: boolean + // Transposes the z data. + Transpose Bool `json:"transpose,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible HeatmapglVisible `json:"visible,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the x coordinates. + X interface{} `json:"x,omitempty"` + + // X0 + // arrayOK: false + // type: any + // Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step. + X0 interface{} `json:"x0,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Xtype + // default: %!s() + // type: enumerated + // 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). + Xtype HeatmapglXtype `json:"xtype,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the y coordinates. + Y interface{} `json:"y,omitempty"` + + // Y0 + // arrayOK: false + // type: any + // Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step. + Y0 interface{} `json:"y0,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` + + // Ytype + // default: %!s() + // type: enumerated + // 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) + Ytype HeatmapglYtype `json:"ytype,omitempty"` + + // Z + // arrayOK: false + // type: data_array + // Sets the z data. + Z interface{} `json:"z,omitempty"` + + // Zauto + // arrayOK: false + // type: boolean + // 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. + Zauto Bool `json:"zauto,omitempty"` + + // Zmax + // arrayOK: false + // 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. + Zmax float64 `json:"zmax,omitempty"` + + // Zmid + // arrayOK: false + // 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`. + Zmid float64 `json:"zmid,omitempty"` + + // Zmin + // arrayOK: false + // 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. + Zmin float64 `json:"zmin,omitempty"` + + // Zsmooth + // default: fast + // type: enumerated + // Picks a smoothing algorithm use to smooth `z` data. + Zsmooth HeatmapglZsmooth `json:"zsmooth,omitempty"` + + // Zsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `z`. + Zsrc String `json:"zsrc,omitempty"` +} + +// HeatmapglColorbarTickfont Sets the color bar's tick label font +type HeatmapglColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// HeatmapglColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type HeatmapglColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// HeatmapglColorbarTitle +type HeatmapglColorbarTitle struct { + + // Font + // role: Object + Font *HeatmapglColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side HeatmapglColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// HeatmapglColorbar +type HeatmapglColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat HeatmapglColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode HeatmapglColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation HeatmapglColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent HeatmapglColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix HeatmapglColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix HeatmapglColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode HeatmapglColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *HeatmapglColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow HeatmapglColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition HeatmapglColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode HeatmapglColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks HeatmapglColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *HeatmapglColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor HeatmapglColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref HeatmapglColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor HeatmapglColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref HeatmapglColorbarYref `json:"yref,omitempty"` +} + +// HeatmapglHoverlabelFont Sets the font used in hover labels. +type HeatmapglHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// HeatmapglHoverlabel +type HeatmapglHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align HeatmapglHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *HeatmapglHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// HeatmapglLegendgrouptitleFont Sets this legend group's title font. +type HeatmapglLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// HeatmapglLegendgrouptitle +type HeatmapglLegendgrouptitle struct { + + // Font + // role: Object + Font *HeatmapglLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// HeatmapglStream +type HeatmapglStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// HeatmapglColorbarExponentformat 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. +type HeatmapglColorbarExponentformat string + +const ( + HeatmapglColorbarExponentformatNone HeatmapglColorbarExponentformat = "none" + HeatmapglColorbarExponentformatE1 HeatmapglColorbarExponentformat = "e" + HeatmapglColorbarExponentformatE2 HeatmapglColorbarExponentformat = "E" + HeatmapglColorbarExponentformatPower HeatmapglColorbarExponentformat = "power" + HeatmapglColorbarExponentformatSI HeatmapglColorbarExponentformat = "SI" + HeatmapglColorbarExponentformatB HeatmapglColorbarExponentformat = "B" +) + +// HeatmapglColorbarLenmode 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. +type HeatmapglColorbarLenmode string + +const ( + HeatmapglColorbarLenmodeFraction HeatmapglColorbarLenmode = "fraction" + HeatmapglColorbarLenmodePixels HeatmapglColorbarLenmode = "pixels" +) + +// HeatmapglColorbarOrientation Sets the orientation of the colorbar. +type HeatmapglColorbarOrientation string + +const ( + HeatmapglColorbarOrientationH HeatmapglColorbarOrientation = "h" + HeatmapglColorbarOrientationV HeatmapglColorbarOrientation = "v" +) + +// HeatmapglColorbarShowexponent 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. +type HeatmapglColorbarShowexponent string + +const ( + HeatmapglColorbarShowexponentAll HeatmapglColorbarShowexponent = "all" + HeatmapglColorbarShowexponentFirst HeatmapglColorbarShowexponent = "first" + HeatmapglColorbarShowexponentLast HeatmapglColorbarShowexponent = "last" + HeatmapglColorbarShowexponentNone HeatmapglColorbarShowexponent = "none" +) + +// HeatmapglColorbarShowtickprefix 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. +type HeatmapglColorbarShowtickprefix string + +const ( + HeatmapglColorbarShowtickprefixAll HeatmapglColorbarShowtickprefix = "all" + HeatmapglColorbarShowtickprefixFirst HeatmapglColorbarShowtickprefix = "first" + HeatmapglColorbarShowtickprefixLast HeatmapglColorbarShowtickprefix = "last" + HeatmapglColorbarShowtickprefixNone HeatmapglColorbarShowtickprefix = "none" +) + +// HeatmapglColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type HeatmapglColorbarShowticksuffix string + +const ( + HeatmapglColorbarShowticksuffixAll HeatmapglColorbarShowticksuffix = "all" + HeatmapglColorbarShowticksuffixFirst HeatmapglColorbarShowticksuffix = "first" + HeatmapglColorbarShowticksuffixLast HeatmapglColorbarShowticksuffix = "last" + HeatmapglColorbarShowticksuffixNone HeatmapglColorbarShowticksuffix = "none" +) + +// HeatmapglColorbarThicknessmode 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. +type HeatmapglColorbarThicknessmode string + +const ( + HeatmapglColorbarThicknessmodeFraction HeatmapglColorbarThicknessmode = "fraction" + HeatmapglColorbarThicknessmodePixels HeatmapglColorbarThicknessmode = "pixels" +) + +// HeatmapglColorbarTicklabeloverflow 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*. +type HeatmapglColorbarTicklabeloverflow string + +const ( + HeatmapglColorbarTicklabeloverflowAllow HeatmapglColorbarTicklabeloverflow = "allow" + HeatmapglColorbarTicklabeloverflowHidePastDiv HeatmapglColorbarTicklabeloverflow = "hide past div" + HeatmapglColorbarTicklabeloverflowHidePastDomain HeatmapglColorbarTicklabeloverflow = "hide past domain" +) + +// HeatmapglColorbarTicklabelposition 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*. +type HeatmapglColorbarTicklabelposition string + +const ( + HeatmapglColorbarTicklabelpositionOutside HeatmapglColorbarTicklabelposition = "outside" + HeatmapglColorbarTicklabelpositionInside HeatmapglColorbarTicklabelposition = "inside" + HeatmapglColorbarTicklabelpositionOutsideTop HeatmapglColorbarTicklabelposition = "outside top" + HeatmapglColorbarTicklabelpositionInsideTop HeatmapglColorbarTicklabelposition = "inside top" + HeatmapglColorbarTicklabelpositionOutsideLeft HeatmapglColorbarTicklabelposition = "outside left" + HeatmapglColorbarTicklabelpositionInsideLeft HeatmapglColorbarTicklabelposition = "inside left" + HeatmapglColorbarTicklabelpositionOutsideRight HeatmapglColorbarTicklabelposition = "outside right" + HeatmapglColorbarTicklabelpositionInsideRight HeatmapglColorbarTicklabelposition = "inside right" + HeatmapglColorbarTicklabelpositionOutsideBottom HeatmapglColorbarTicklabelposition = "outside bottom" + HeatmapglColorbarTicklabelpositionInsideBottom HeatmapglColorbarTicklabelposition = "inside bottom" +) + +// HeatmapglColorbarTickmode 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). +type HeatmapglColorbarTickmode string + +const ( + HeatmapglColorbarTickmodeAuto HeatmapglColorbarTickmode = "auto" + HeatmapglColorbarTickmodeLinear HeatmapglColorbarTickmode = "linear" + HeatmapglColorbarTickmodeArray HeatmapglColorbarTickmode = "array" +) + +// HeatmapglColorbarTicks 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. +type HeatmapglColorbarTicks string + +const ( + HeatmapglColorbarTicksOutside HeatmapglColorbarTicks = "outside" + HeatmapglColorbarTicksInside HeatmapglColorbarTicks = "inside" + HeatmapglColorbarTicksEmpty HeatmapglColorbarTicks = "" +) + +// HeatmapglColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type HeatmapglColorbarTitleSide string + +const ( + HeatmapglColorbarTitleSideRight HeatmapglColorbarTitleSide = "right" + HeatmapglColorbarTitleSideTop HeatmapglColorbarTitleSide = "top" + HeatmapglColorbarTitleSideBottom HeatmapglColorbarTitleSide = "bottom" +) + +// HeatmapglColorbarXanchor 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*. +type HeatmapglColorbarXanchor string + +const ( + HeatmapglColorbarXanchorLeft HeatmapglColorbarXanchor = "left" + HeatmapglColorbarXanchorCenter HeatmapglColorbarXanchor = "center" + HeatmapglColorbarXanchorRight HeatmapglColorbarXanchor = "right" +) + +// HeatmapglColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type HeatmapglColorbarXref string + +const ( + HeatmapglColorbarXrefContainer HeatmapglColorbarXref = "container" + HeatmapglColorbarXrefPaper HeatmapglColorbarXref = "paper" +) + +// HeatmapglColorbarYanchor 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*. +type HeatmapglColorbarYanchor string + +const ( + HeatmapglColorbarYanchorTop HeatmapglColorbarYanchor = "top" + HeatmapglColorbarYanchorMiddle HeatmapglColorbarYanchor = "middle" + HeatmapglColorbarYanchorBottom HeatmapglColorbarYanchor = "bottom" +) + +// HeatmapglColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type HeatmapglColorbarYref string + +const ( + HeatmapglColorbarYrefContainer HeatmapglColorbarYref = "container" + HeatmapglColorbarYrefPaper HeatmapglColorbarYref = "paper" +) + +// HeatmapglHoverlabelAlign 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 +type HeatmapglHoverlabelAlign string + +const ( + HeatmapglHoverlabelAlignLeft HeatmapglHoverlabelAlign = "left" + HeatmapglHoverlabelAlignRight HeatmapglHoverlabelAlign = "right" + HeatmapglHoverlabelAlignAuto HeatmapglHoverlabelAlign = "auto" +) + +// HeatmapglVisible 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). +type HeatmapglVisible interface{} + +var ( + HeatmapglVisibleTrue HeatmapglVisible = true + HeatmapglVisibleFalse HeatmapglVisible = false + HeatmapglVisibleLegendonly HeatmapglVisible = "legendonly" +) + +// HeatmapglXtype 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). +type HeatmapglXtype string + +const ( + HeatmapglXtypeArray HeatmapglXtype = "array" + HeatmapglXtypeScaled HeatmapglXtype = "scaled" +) + +// HeatmapglYtype 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) +type HeatmapglYtype string + +const ( + HeatmapglYtypeArray HeatmapglYtype = "array" + HeatmapglYtypeScaled HeatmapglYtype = "scaled" +) + +// HeatmapglZsmooth Picks a smoothing algorithm use to smooth `z` data. +type HeatmapglZsmooth interface{} + +var ( + HeatmapglZsmoothFast HeatmapglZsmooth = "fast" + HeatmapglZsmoothFalse HeatmapglZsmooth = false +) + +// HeatmapglHoverinfo 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. +type HeatmapglHoverinfo string + +const ( + // Flags + HeatmapglHoverinfoX HeatmapglHoverinfo = "x" + HeatmapglHoverinfoY HeatmapglHoverinfo = "y" + HeatmapglHoverinfoZ HeatmapglHoverinfo = "z" + HeatmapglHoverinfoText HeatmapglHoverinfo = "text" + HeatmapglHoverinfoName HeatmapglHoverinfo = "name" + + // Extra + HeatmapglHoverinfoAll HeatmapglHoverinfo = "all" + HeatmapglHoverinfoNone HeatmapglHoverinfo = "none" + HeatmapglHoverinfoSkip HeatmapglHoverinfo = "skip" +) diff --git a/generated/v2.31.1/graph_objects/histogram2d_gen.go b/generated/v2.31.1/graph_objects/histogram2d_gen.go new file mode 100644 index 0000000..56b4800 --- /dev/null +++ b/generated/v2.31.1/graph_objects/histogram2d_gen.go @@ -0,0 +1,1229 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeHistogram2d TraceType = "histogram2d" + +func (trace *Histogram2d) GetType() TraceType { + return TraceTypeHistogram2d +} + +// Histogram2d 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. +type Histogram2d struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Autobinx + // arrayOK: false + // 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. + Autobinx Bool `json:"autobinx,omitempty"` + + // Autobiny + // arrayOK: false + // 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. + Autobiny Bool `json:"autobiny,omitempty"` + + // Autocolorscale + // arrayOK: false + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Bingroup + // arrayOK: false + // 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. + Bingroup String `json:"bingroup,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *Histogram2dColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Histfunc + // default: count + // type: enumerated + // 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. + Histfunc Histogram2dHistfunc `json:"histfunc,omitempty"` + + // Histnorm + // default: + // type: enumerated + // 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). + Histnorm Histogram2dHistnorm `json:"histnorm,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo Histogram2dHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *Histogram2dHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Finally, the template string has access to variable `z` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *Histogram2dLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Marker + // role: Object + Marker *Histogram2dMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Nbinsx + // arrayOK: false + // 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. + Nbinsx int64 `json:"nbinsx,omitempty"` + + // Nbinsy + // arrayOK: false + // 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. + Nbinsy int64 `json:"nbinsy,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Showscale + // arrayOK: false + // type: boolean + // Determines whether or not a colorbar is displayed for this trace. + Showscale Bool `json:"showscale,omitempty"` + + // Stream + // role: Object + Stream *Histogram2dStream `json:"stream,omitempty"` + + // Textfont + // role: Object + Textfont *Histogram2dTextfont `json:"textfont,omitempty"` + + // Texttemplate + // arrayOK: false + // 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` + Texttemplate String `json:"texttemplate,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible Histogram2dVisible `json:"visible,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the sample data to be binned on the x axis. + X interface{} `json:"x,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Xbingroup + // arrayOK: false + // 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` + Xbingroup String `json:"xbingroup,omitempty"` + + // Xbins + // role: Object + Xbins *Histogram2dXbins `json:"xbins,omitempty"` + + // Xcalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `x` date data. + Xcalendar Histogram2dXcalendar `json:"xcalendar,omitempty"` + + // Xgap + // arrayOK: false + // type: number + // Sets the horizontal gap (in pixels) between bricks. + Xgap float64 `json:"xgap,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the sample data to be binned on the y axis. + Y interface{} `json:"y,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` + + // Ybingroup + // arrayOK: false + // 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` + Ybingroup String `json:"ybingroup,omitempty"` + + // Ybins + // role: Object + Ybins *Histogram2dYbins `json:"ybins,omitempty"` + + // Ycalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `y` date data. + Ycalendar Histogram2dYcalendar `json:"ycalendar,omitempty"` + + // Ygap + // arrayOK: false + // type: number + // Sets the vertical gap (in pixels) between bricks. + Ygap float64 `json:"ygap,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` + + // Z + // arrayOK: false + // type: data_array + // Sets the aggregation data. + Z interface{} `json:"z,omitempty"` + + // Zauto + // arrayOK: false + // type: boolean + // 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. + Zauto Bool `json:"zauto,omitempty"` + + // Zhoverformat + // arrayOK: false + // 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. + Zhoverformat String `json:"zhoverformat,omitempty"` + + // Zmax + // arrayOK: false + // 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. + Zmax float64 `json:"zmax,omitempty"` + + // Zmid + // arrayOK: false + // 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`. + Zmid float64 `json:"zmid,omitempty"` + + // Zmin + // arrayOK: false + // 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. + Zmin float64 `json:"zmin,omitempty"` + + // Zsmooth + // default: %!s(bool=false) + // type: enumerated + // Picks a smoothing algorithm use to smooth `z` data. + Zsmooth Histogram2dZsmooth `json:"zsmooth,omitempty"` + + // Zsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `z`. + Zsrc String `json:"zsrc,omitempty"` +} + +// Histogram2dColorbarTickfont Sets the color bar's tick label font +type Histogram2dColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// Histogram2dColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type Histogram2dColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// Histogram2dColorbarTitle +type Histogram2dColorbarTitle struct { + + // Font + // role: Object + Font *Histogram2dColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side Histogram2dColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// Histogram2dColorbar +type Histogram2dColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat Histogram2dColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode Histogram2dColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation Histogram2dColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent Histogram2dColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix Histogram2dColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix Histogram2dColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode Histogram2dColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *Histogram2dColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow Histogram2dColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition Histogram2dColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode Histogram2dColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks Histogram2dColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *Histogram2dColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor Histogram2dColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref Histogram2dColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor Histogram2dColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref Histogram2dColorbarYref `json:"yref,omitempty"` +} + +// Histogram2dHoverlabelFont Sets the font used in hover labels. +type Histogram2dHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// Histogram2dHoverlabel +type Histogram2dHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align Histogram2dHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *Histogram2dHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// Histogram2dLegendgrouptitleFont Sets this legend group's title font. +type Histogram2dLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// Histogram2dLegendgrouptitle +type Histogram2dLegendgrouptitle struct { + + // Font + // role: Object + Font *Histogram2dLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// Histogram2dMarker +type Histogram2dMarker struct { + + // Color + // arrayOK: false + // type: data_array + // Sets the aggregation data. + Color interface{} `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` +} + +// Histogram2dStream +type Histogram2dStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// Histogram2dTextfont Sets the text font. +type Histogram2dTextfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// Histogram2dXbins +type Histogram2dXbins struct { + + // End + // arrayOK: false + // type: any + // 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. + End interface{} `json:"end,omitempty"` + + // Size + // arrayOK: false + // type: any + // 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* for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). + Size interface{} `json:"size,omitempty"` + + // Start + // arrayOK: false + // type: any + // 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. + Start interface{} `json:"start,omitempty"` +} + +// Histogram2dYbins +type Histogram2dYbins struct { + + // End + // arrayOK: false + // type: any + // 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. + End interface{} `json:"end,omitempty"` + + // Size + // arrayOK: false + // type: any + // 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* for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). + Size interface{} `json:"size,omitempty"` + + // Start + // arrayOK: false + // type: any + // 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. + Start interface{} `json:"start,omitempty"` +} + +// Histogram2dColorbarExponentformat 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. +type Histogram2dColorbarExponentformat string + +const ( + Histogram2dColorbarExponentformatNone Histogram2dColorbarExponentformat = "none" + Histogram2dColorbarExponentformatE1 Histogram2dColorbarExponentformat = "e" + Histogram2dColorbarExponentformatE2 Histogram2dColorbarExponentformat = "E" + Histogram2dColorbarExponentformatPower Histogram2dColorbarExponentformat = "power" + Histogram2dColorbarExponentformatSI Histogram2dColorbarExponentformat = "SI" + Histogram2dColorbarExponentformatB Histogram2dColorbarExponentformat = "B" +) + +// Histogram2dColorbarLenmode 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. +type Histogram2dColorbarLenmode string + +const ( + Histogram2dColorbarLenmodeFraction Histogram2dColorbarLenmode = "fraction" + Histogram2dColorbarLenmodePixels Histogram2dColorbarLenmode = "pixels" +) + +// Histogram2dColorbarOrientation Sets the orientation of the colorbar. +type Histogram2dColorbarOrientation string + +const ( + Histogram2dColorbarOrientationH Histogram2dColorbarOrientation = "h" + Histogram2dColorbarOrientationV Histogram2dColorbarOrientation = "v" +) + +// Histogram2dColorbarShowexponent 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. +type Histogram2dColorbarShowexponent string + +const ( + Histogram2dColorbarShowexponentAll Histogram2dColorbarShowexponent = "all" + Histogram2dColorbarShowexponentFirst Histogram2dColorbarShowexponent = "first" + Histogram2dColorbarShowexponentLast Histogram2dColorbarShowexponent = "last" + Histogram2dColorbarShowexponentNone Histogram2dColorbarShowexponent = "none" +) + +// Histogram2dColorbarShowtickprefix 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. +type Histogram2dColorbarShowtickprefix string + +const ( + Histogram2dColorbarShowtickprefixAll Histogram2dColorbarShowtickprefix = "all" + Histogram2dColorbarShowtickprefixFirst Histogram2dColorbarShowtickprefix = "first" + Histogram2dColorbarShowtickprefixLast Histogram2dColorbarShowtickprefix = "last" + Histogram2dColorbarShowtickprefixNone Histogram2dColorbarShowtickprefix = "none" +) + +// Histogram2dColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type Histogram2dColorbarShowticksuffix string + +const ( + Histogram2dColorbarShowticksuffixAll Histogram2dColorbarShowticksuffix = "all" + Histogram2dColorbarShowticksuffixFirst Histogram2dColorbarShowticksuffix = "first" + Histogram2dColorbarShowticksuffixLast Histogram2dColorbarShowticksuffix = "last" + Histogram2dColorbarShowticksuffixNone Histogram2dColorbarShowticksuffix = "none" +) + +// Histogram2dColorbarThicknessmode 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. +type Histogram2dColorbarThicknessmode string + +const ( + Histogram2dColorbarThicknessmodeFraction Histogram2dColorbarThicknessmode = "fraction" + Histogram2dColorbarThicknessmodePixels Histogram2dColorbarThicknessmode = "pixels" +) + +// Histogram2dColorbarTicklabeloverflow 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*. +type Histogram2dColorbarTicklabeloverflow string + +const ( + Histogram2dColorbarTicklabeloverflowAllow Histogram2dColorbarTicklabeloverflow = "allow" + Histogram2dColorbarTicklabeloverflowHidePastDiv Histogram2dColorbarTicklabeloverflow = "hide past div" + Histogram2dColorbarTicklabeloverflowHidePastDomain Histogram2dColorbarTicklabeloverflow = "hide past domain" +) + +// Histogram2dColorbarTicklabelposition 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*. +type Histogram2dColorbarTicklabelposition string + +const ( + Histogram2dColorbarTicklabelpositionOutside Histogram2dColorbarTicklabelposition = "outside" + Histogram2dColorbarTicklabelpositionInside Histogram2dColorbarTicklabelposition = "inside" + Histogram2dColorbarTicklabelpositionOutsideTop Histogram2dColorbarTicklabelposition = "outside top" + Histogram2dColorbarTicklabelpositionInsideTop Histogram2dColorbarTicklabelposition = "inside top" + Histogram2dColorbarTicklabelpositionOutsideLeft Histogram2dColorbarTicklabelposition = "outside left" + Histogram2dColorbarTicklabelpositionInsideLeft Histogram2dColorbarTicklabelposition = "inside left" + Histogram2dColorbarTicklabelpositionOutsideRight Histogram2dColorbarTicklabelposition = "outside right" + Histogram2dColorbarTicklabelpositionInsideRight Histogram2dColorbarTicklabelposition = "inside right" + Histogram2dColorbarTicklabelpositionOutsideBottom Histogram2dColorbarTicklabelposition = "outside bottom" + Histogram2dColorbarTicklabelpositionInsideBottom Histogram2dColorbarTicklabelposition = "inside bottom" +) + +// Histogram2dColorbarTickmode 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). +type Histogram2dColorbarTickmode string + +const ( + Histogram2dColorbarTickmodeAuto Histogram2dColorbarTickmode = "auto" + Histogram2dColorbarTickmodeLinear Histogram2dColorbarTickmode = "linear" + Histogram2dColorbarTickmodeArray Histogram2dColorbarTickmode = "array" +) + +// Histogram2dColorbarTicks 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. +type Histogram2dColorbarTicks string + +const ( + Histogram2dColorbarTicksOutside Histogram2dColorbarTicks = "outside" + Histogram2dColorbarTicksInside Histogram2dColorbarTicks = "inside" + Histogram2dColorbarTicksEmpty Histogram2dColorbarTicks = "" +) + +// Histogram2dColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type Histogram2dColorbarTitleSide string + +const ( + Histogram2dColorbarTitleSideRight Histogram2dColorbarTitleSide = "right" + Histogram2dColorbarTitleSideTop Histogram2dColorbarTitleSide = "top" + Histogram2dColorbarTitleSideBottom Histogram2dColorbarTitleSide = "bottom" +) + +// Histogram2dColorbarXanchor 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*. +type Histogram2dColorbarXanchor string + +const ( + Histogram2dColorbarXanchorLeft Histogram2dColorbarXanchor = "left" + Histogram2dColorbarXanchorCenter Histogram2dColorbarXanchor = "center" + Histogram2dColorbarXanchorRight Histogram2dColorbarXanchor = "right" +) + +// Histogram2dColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type Histogram2dColorbarXref string + +const ( + Histogram2dColorbarXrefContainer Histogram2dColorbarXref = "container" + Histogram2dColorbarXrefPaper Histogram2dColorbarXref = "paper" +) + +// Histogram2dColorbarYanchor 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*. +type Histogram2dColorbarYanchor string + +const ( + Histogram2dColorbarYanchorTop Histogram2dColorbarYanchor = "top" + Histogram2dColorbarYanchorMiddle Histogram2dColorbarYanchor = "middle" + Histogram2dColorbarYanchorBottom Histogram2dColorbarYanchor = "bottom" +) + +// Histogram2dColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type Histogram2dColorbarYref string + +const ( + Histogram2dColorbarYrefContainer Histogram2dColorbarYref = "container" + Histogram2dColorbarYrefPaper Histogram2dColorbarYref = "paper" +) + +// Histogram2dHistfunc 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. +type Histogram2dHistfunc string + +const ( + Histogram2dHistfuncCount Histogram2dHistfunc = "count" + Histogram2dHistfuncSum Histogram2dHistfunc = "sum" + Histogram2dHistfuncAvg Histogram2dHistfunc = "avg" + Histogram2dHistfuncMin Histogram2dHistfunc = "min" + Histogram2dHistfuncMax Histogram2dHistfunc = "max" +) + +// Histogram2dHistnorm 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). +type Histogram2dHistnorm string + +const ( + Histogram2dHistnormEmpty Histogram2dHistnorm = "" + Histogram2dHistnormPercent Histogram2dHistnorm = "percent" + Histogram2dHistnormProbability Histogram2dHistnorm = "probability" + Histogram2dHistnormDensity Histogram2dHistnorm = "density" + Histogram2dHistnormProbabilityDensity Histogram2dHistnorm = "probability density" +) + +// Histogram2dHoverlabelAlign 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 +type Histogram2dHoverlabelAlign string + +const ( + Histogram2dHoverlabelAlignLeft Histogram2dHoverlabelAlign = "left" + Histogram2dHoverlabelAlignRight Histogram2dHoverlabelAlign = "right" + Histogram2dHoverlabelAlignAuto Histogram2dHoverlabelAlign = "auto" +) + +// Histogram2dVisible 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). +type Histogram2dVisible interface{} + +var ( + Histogram2dVisibleTrue Histogram2dVisible = true + Histogram2dVisibleFalse Histogram2dVisible = false + Histogram2dVisibleLegendonly Histogram2dVisible = "legendonly" +) + +// Histogram2dXcalendar Sets the calendar system to use with `x` date data. +type Histogram2dXcalendar string + +const ( + Histogram2dXcalendarChinese Histogram2dXcalendar = "chinese" + Histogram2dXcalendarCoptic Histogram2dXcalendar = "coptic" + Histogram2dXcalendarDiscworld Histogram2dXcalendar = "discworld" + Histogram2dXcalendarEthiopian Histogram2dXcalendar = "ethiopian" + Histogram2dXcalendarGregorian Histogram2dXcalendar = "gregorian" + Histogram2dXcalendarHebrew Histogram2dXcalendar = "hebrew" + Histogram2dXcalendarIslamic Histogram2dXcalendar = "islamic" + Histogram2dXcalendarJalali Histogram2dXcalendar = "jalali" + Histogram2dXcalendarJulian Histogram2dXcalendar = "julian" + Histogram2dXcalendarMayan Histogram2dXcalendar = "mayan" + Histogram2dXcalendarNanakshahi Histogram2dXcalendar = "nanakshahi" + Histogram2dXcalendarNepali Histogram2dXcalendar = "nepali" + Histogram2dXcalendarPersian Histogram2dXcalendar = "persian" + Histogram2dXcalendarTaiwan Histogram2dXcalendar = "taiwan" + Histogram2dXcalendarThai Histogram2dXcalendar = "thai" + Histogram2dXcalendarUmmalqura Histogram2dXcalendar = "ummalqura" +) + +// Histogram2dYcalendar Sets the calendar system to use with `y` date data. +type Histogram2dYcalendar string + +const ( + Histogram2dYcalendarChinese Histogram2dYcalendar = "chinese" + Histogram2dYcalendarCoptic Histogram2dYcalendar = "coptic" + Histogram2dYcalendarDiscworld Histogram2dYcalendar = "discworld" + Histogram2dYcalendarEthiopian Histogram2dYcalendar = "ethiopian" + Histogram2dYcalendarGregorian Histogram2dYcalendar = "gregorian" + Histogram2dYcalendarHebrew Histogram2dYcalendar = "hebrew" + Histogram2dYcalendarIslamic Histogram2dYcalendar = "islamic" + Histogram2dYcalendarJalali Histogram2dYcalendar = "jalali" + Histogram2dYcalendarJulian Histogram2dYcalendar = "julian" + Histogram2dYcalendarMayan Histogram2dYcalendar = "mayan" + Histogram2dYcalendarNanakshahi Histogram2dYcalendar = "nanakshahi" + Histogram2dYcalendarNepali Histogram2dYcalendar = "nepali" + Histogram2dYcalendarPersian Histogram2dYcalendar = "persian" + Histogram2dYcalendarTaiwan Histogram2dYcalendar = "taiwan" + Histogram2dYcalendarThai Histogram2dYcalendar = "thai" + Histogram2dYcalendarUmmalqura Histogram2dYcalendar = "ummalqura" +) + +// Histogram2dZsmooth Picks a smoothing algorithm use to smooth `z` data. +type Histogram2dZsmooth interface{} + +var ( + Histogram2dZsmoothFast Histogram2dZsmooth = "fast" + Histogram2dZsmoothBest Histogram2dZsmooth = "best" + Histogram2dZsmoothFalse Histogram2dZsmooth = false +) + +// Histogram2dHoverinfo 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. +type Histogram2dHoverinfo string + +const ( + // Flags + Histogram2dHoverinfoX Histogram2dHoverinfo = "x" + Histogram2dHoverinfoY Histogram2dHoverinfo = "y" + Histogram2dHoverinfoZ Histogram2dHoverinfo = "z" + Histogram2dHoverinfoText Histogram2dHoverinfo = "text" + Histogram2dHoverinfoName Histogram2dHoverinfo = "name" + + // Extra + Histogram2dHoverinfoAll Histogram2dHoverinfo = "all" + Histogram2dHoverinfoNone Histogram2dHoverinfo = "none" + Histogram2dHoverinfoSkip Histogram2dHoverinfo = "skip" +) diff --git a/generated/v2.31.1/graph_objects/histogram2dcontour_gen.go b/generated/v2.31.1/graph_objects/histogram2dcontour_gen.go new file mode 100644 index 0000000..7101178 --- /dev/null +++ b/generated/v2.31.1/graph_objects/histogram2dcontour_gen.go @@ -0,0 +1,1377 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeHistogram2dcontour TraceType = "histogram2dcontour" + +func (trace *Histogram2dcontour) GetType() TraceType { + return TraceTypeHistogram2dcontour +} + +// Histogram2dcontour 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. +type Histogram2dcontour struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Autobinx + // arrayOK: false + // 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. + Autobinx Bool `json:"autobinx,omitempty"` + + // Autobiny + // arrayOK: false + // 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. + Autobiny Bool `json:"autobiny,omitempty"` + + // Autocolorscale + // arrayOK: false + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Autocontour + // arrayOK: false + // type: boolean + // 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`. + Autocontour Bool `json:"autocontour,omitempty"` + + // Bingroup + // arrayOK: false + // 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. + Bingroup String `json:"bingroup,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *Histogram2dcontourColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Contours + // role: Object + Contours *Histogram2dcontourContours `json:"contours,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Histfunc + // default: count + // type: enumerated + // 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. + Histfunc Histogram2dcontourHistfunc `json:"histfunc,omitempty"` + + // Histnorm + // default: + // type: enumerated + // 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). + Histnorm Histogram2dcontourHistnorm `json:"histnorm,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo Histogram2dcontourHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *Histogram2dcontourHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Finally, the template string has access to variable `z` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *Histogram2dcontourLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *Histogram2dcontourLine `json:"line,omitempty"` + + // Marker + // role: Object + Marker *Histogram2dcontourMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Nbinsx + // arrayOK: false + // 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. + Nbinsx int64 `json:"nbinsx,omitempty"` + + // Nbinsy + // arrayOK: false + // 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. + Nbinsy int64 `json:"nbinsy,omitempty"` + + // Ncontours + // arrayOK: false + // type: integer + // 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. + Ncontours int64 `json:"ncontours,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Showscale + // arrayOK: false + // type: boolean + // Determines whether or not a colorbar is displayed for this trace. + Showscale Bool `json:"showscale,omitempty"` + + // Stream + // role: Object + Stream *Histogram2dcontourStream `json:"stream,omitempty"` + + // Textfont + // role: Object + Textfont *Histogram2dcontourTextfont `json:"textfont,omitempty"` + + // Texttemplate + // arrayOK: false + // 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`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible Histogram2dcontourVisible `json:"visible,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the sample data to be binned on the x axis. + X interface{} `json:"x,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Xbingroup + // arrayOK: false + // 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` + Xbingroup String `json:"xbingroup,omitempty"` + + // Xbins + // role: Object + Xbins *Histogram2dcontourXbins `json:"xbins,omitempty"` + + // Xcalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `x` date data. + Xcalendar Histogram2dcontourXcalendar `json:"xcalendar,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the sample data to be binned on the y axis. + Y interface{} `json:"y,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` + + // Ybingroup + // arrayOK: false + // 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` + Ybingroup String `json:"ybingroup,omitempty"` + + // Ybins + // role: Object + Ybins *Histogram2dcontourYbins `json:"ybins,omitempty"` + + // Ycalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `y` date data. + Ycalendar Histogram2dcontourYcalendar `json:"ycalendar,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` + + // Z + // arrayOK: false + // type: data_array + // Sets the aggregation data. + Z interface{} `json:"z,omitempty"` + + // Zauto + // arrayOK: false + // type: boolean + // 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. + Zauto Bool `json:"zauto,omitempty"` + + // Zhoverformat + // arrayOK: false + // 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. + Zhoverformat String `json:"zhoverformat,omitempty"` + + // Zmax + // arrayOK: false + // 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. + Zmax float64 `json:"zmax,omitempty"` + + // Zmid + // arrayOK: false + // 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`. + Zmid float64 `json:"zmid,omitempty"` + + // Zmin + // arrayOK: false + // 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. + Zmin float64 `json:"zmin,omitempty"` + + // Zsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `z`. + Zsrc String `json:"zsrc,omitempty"` +} + +// Histogram2dcontourColorbarTickfont Sets the color bar's tick label font +type Histogram2dcontourColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// Histogram2dcontourColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type Histogram2dcontourColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// Histogram2dcontourColorbarTitle +type Histogram2dcontourColorbarTitle struct { + + // Font + // role: Object + Font *Histogram2dcontourColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side Histogram2dcontourColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// Histogram2dcontourColorbar +type Histogram2dcontourColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat Histogram2dcontourColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode Histogram2dcontourColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation Histogram2dcontourColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent Histogram2dcontourColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix Histogram2dcontourColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix Histogram2dcontourColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode Histogram2dcontourColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *Histogram2dcontourColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow Histogram2dcontourColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition Histogram2dcontourColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode Histogram2dcontourColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks Histogram2dcontourColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *Histogram2dcontourColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor Histogram2dcontourColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref Histogram2dcontourColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor Histogram2dcontourColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref Histogram2dcontourColorbarYref `json:"yref,omitempty"` +} + +// Histogram2dcontourContoursLabelfont 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`. +type Histogram2dcontourContoursLabelfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// Histogram2dcontourContours +type Histogram2dcontourContours struct { + + // Coloring + // default: fill + // type: enumerated + // 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. + Coloring Histogram2dcontourContoursColoring `json:"coloring,omitempty"` + + // End + // arrayOK: false + // type: number + // Sets the end contour level value. Must be more than `contours.start` + End float64 `json:"end,omitempty"` + + // Labelfont + // role: Object + Labelfont *Histogram2dcontourContoursLabelfont `json:"labelfont,omitempty"` + + // Labelformat + // arrayOK: false + // 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. + Labelformat String `json:"labelformat,omitempty"` + + // Operation + // default: = + // type: enumerated + // 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. + Operation Histogram2dcontourContoursOperation `json:"operation,omitempty"` + + // Showlabels + // arrayOK: false + // type: boolean + // Determines whether to label the contour lines with their values. + Showlabels Bool `json:"showlabels,omitempty"` + + // Showlines + // arrayOK: false + // type: boolean + // Determines whether or not the contour lines are drawn. Has an effect only if `contours.coloring` is set to *fill*. + Showlines Bool `json:"showlines,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the step between each contour level. Must be positive. + Size float64 `json:"size,omitempty"` + + // Start + // arrayOK: false + // type: number + // Sets the starting contour level value. Must be less than `contours.end` + Start float64 `json:"start,omitempty"` + + // Type + // default: levels + // type: enumerated + // 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. + Type Histogram2dcontourContoursType `json:"type,omitempty"` + + // Value + // arrayOK: false + // type: any + // 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. + Value interface{} `json:"value,omitempty"` +} + +// Histogram2dcontourHoverlabelFont Sets the font used in hover labels. +type Histogram2dcontourHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// Histogram2dcontourHoverlabel +type Histogram2dcontourHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align Histogram2dcontourHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *Histogram2dcontourHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// Histogram2dcontourLegendgrouptitleFont Sets this legend group's title font. +type Histogram2dcontourLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// Histogram2dcontourLegendgrouptitle +type Histogram2dcontourLegendgrouptitle struct { + + // Font + // role: Object + Font *Histogram2dcontourLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// Histogram2dcontourLine +type Histogram2dcontourLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the color of the contour level. Has no effect if `contours.coloring` is set to *lines*. + Color Color `json:"color,omitempty"` + + // Dash + // arrayOK: false + // type: string + // 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*). + Dash String `json:"dash,omitempty"` + + // Smoothing + // arrayOK: false + // type: number + // Sets the amount of smoothing for the contour lines, where *0* corresponds to no smoothing. + Smoothing float64 `json:"smoothing,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the contour line width in (in px) + Width float64 `json:"width,omitempty"` +} + +// Histogram2dcontourMarker +type Histogram2dcontourMarker struct { + + // Color + // arrayOK: false + // type: data_array + // Sets the aggregation data. + Color interface{} `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` +} + +// Histogram2dcontourStream +type Histogram2dcontourStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// Histogram2dcontourTextfont For this trace it only has an effect if `coloring` is set to *heatmap*. Sets the text font. +type Histogram2dcontourTextfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// Histogram2dcontourXbins +type Histogram2dcontourXbins struct { + + // End + // arrayOK: false + // type: any + // 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. + End interface{} `json:"end,omitempty"` + + // Size + // arrayOK: false + // type: any + // 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* for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). + Size interface{} `json:"size,omitempty"` + + // Start + // arrayOK: false + // type: any + // 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. + Start interface{} `json:"start,omitempty"` +} + +// Histogram2dcontourYbins +type Histogram2dcontourYbins struct { + + // End + // arrayOK: false + // type: any + // 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. + End interface{} `json:"end,omitempty"` + + // Size + // arrayOK: false + // type: any + // 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* for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). + Size interface{} `json:"size,omitempty"` + + // Start + // arrayOK: false + // type: any + // 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. + Start interface{} `json:"start,omitempty"` +} + +// Histogram2dcontourColorbarExponentformat 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. +type Histogram2dcontourColorbarExponentformat string + +const ( + Histogram2dcontourColorbarExponentformatNone Histogram2dcontourColorbarExponentformat = "none" + Histogram2dcontourColorbarExponentformatE1 Histogram2dcontourColorbarExponentformat = "e" + Histogram2dcontourColorbarExponentformatE2 Histogram2dcontourColorbarExponentformat = "E" + Histogram2dcontourColorbarExponentformatPower Histogram2dcontourColorbarExponentformat = "power" + Histogram2dcontourColorbarExponentformatSI Histogram2dcontourColorbarExponentformat = "SI" + Histogram2dcontourColorbarExponentformatB Histogram2dcontourColorbarExponentformat = "B" +) + +// Histogram2dcontourColorbarLenmode 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. +type Histogram2dcontourColorbarLenmode string + +const ( + Histogram2dcontourColorbarLenmodeFraction Histogram2dcontourColorbarLenmode = "fraction" + Histogram2dcontourColorbarLenmodePixels Histogram2dcontourColorbarLenmode = "pixels" +) + +// Histogram2dcontourColorbarOrientation Sets the orientation of the colorbar. +type Histogram2dcontourColorbarOrientation string + +const ( + Histogram2dcontourColorbarOrientationH Histogram2dcontourColorbarOrientation = "h" + Histogram2dcontourColorbarOrientationV Histogram2dcontourColorbarOrientation = "v" +) + +// Histogram2dcontourColorbarShowexponent 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. +type Histogram2dcontourColorbarShowexponent string + +const ( + Histogram2dcontourColorbarShowexponentAll Histogram2dcontourColorbarShowexponent = "all" + Histogram2dcontourColorbarShowexponentFirst Histogram2dcontourColorbarShowexponent = "first" + Histogram2dcontourColorbarShowexponentLast Histogram2dcontourColorbarShowexponent = "last" + Histogram2dcontourColorbarShowexponentNone Histogram2dcontourColorbarShowexponent = "none" +) + +// Histogram2dcontourColorbarShowtickprefix 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. +type Histogram2dcontourColorbarShowtickprefix string + +const ( + Histogram2dcontourColorbarShowtickprefixAll Histogram2dcontourColorbarShowtickprefix = "all" + Histogram2dcontourColorbarShowtickprefixFirst Histogram2dcontourColorbarShowtickprefix = "first" + Histogram2dcontourColorbarShowtickprefixLast Histogram2dcontourColorbarShowtickprefix = "last" + Histogram2dcontourColorbarShowtickprefixNone Histogram2dcontourColorbarShowtickprefix = "none" +) + +// Histogram2dcontourColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type Histogram2dcontourColorbarShowticksuffix string + +const ( + Histogram2dcontourColorbarShowticksuffixAll Histogram2dcontourColorbarShowticksuffix = "all" + Histogram2dcontourColorbarShowticksuffixFirst Histogram2dcontourColorbarShowticksuffix = "first" + Histogram2dcontourColorbarShowticksuffixLast Histogram2dcontourColorbarShowticksuffix = "last" + Histogram2dcontourColorbarShowticksuffixNone Histogram2dcontourColorbarShowticksuffix = "none" +) + +// Histogram2dcontourColorbarThicknessmode 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. +type Histogram2dcontourColorbarThicknessmode string + +const ( + Histogram2dcontourColorbarThicknessmodeFraction Histogram2dcontourColorbarThicknessmode = "fraction" + Histogram2dcontourColorbarThicknessmodePixels Histogram2dcontourColorbarThicknessmode = "pixels" +) + +// Histogram2dcontourColorbarTicklabeloverflow 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*. +type Histogram2dcontourColorbarTicklabeloverflow string + +const ( + Histogram2dcontourColorbarTicklabeloverflowAllow Histogram2dcontourColorbarTicklabeloverflow = "allow" + Histogram2dcontourColorbarTicklabeloverflowHidePastDiv Histogram2dcontourColorbarTicklabeloverflow = "hide past div" + Histogram2dcontourColorbarTicklabeloverflowHidePastDomain Histogram2dcontourColorbarTicklabeloverflow = "hide past domain" +) + +// Histogram2dcontourColorbarTicklabelposition 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*. +type Histogram2dcontourColorbarTicklabelposition string + +const ( + Histogram2dcontourColorbarTicklabelpositionOutside Histogram2dcontourColorbarTicklabelposition = "outside" + Histogram2dcontourColorbarTicklabelpositionInside Histogram2dcontourColorbarTicklabelposition = "inside" + Histogram2dcontourColorbarTicklabelpositionOutsideTop Histogram2dcontourColorbarTicklabelposition = "outside top" + Histogram2dcontourColorbarTicklabelpositionInsideTop Histogram2dcontourColorbarTicklabelposition = "inside top" + Histogram2dcontourColorbarTicklabelpositionOutsideLeft Histogram2dcontourColorbarTicklabelposition = "outside left" + Histogram2dcontourColorbarTicklabelpositionInsideLeft Histogram2dcontourColorbarTicklabelposition = "inside left" + Histogram2dcontourColorbarTicklabelpositionOutsideRight Histogram2dcontourColorbarTicklabelposition = "outside right" + Histogram2dcontourColorbarTicklabelpositionInsideRight Histogram2dcontourColorbarTicklabelposition = "inside right" + Histogram2dcontourColorbarTicklabelpositionOutsideBottom Histogram2dcontourColorbarTicklabelposition = "outside bottom" + Histogram2dcontourColorbarTicklabelpositionInsideBottom Histogram2dcontourColorbarTicklabelposition = "inside bottom" +) + +// Histogram2dcontourColorbarTickmode 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). +type Histogram2dcontourColorbarTickmode string + +const ( + Histogram2dcontourColorbarTickmodeAuto Histogram2dcontourColorbarTickmode = "auto" + Histogram2dcontourColorbarTickmodeLinear Histogram2dcontourColorbarTickmode = "linear" + Histogram2dcontourColorbarTickmodeArray Histogram2dcontourColorbarTickmode = "array" +) + +// Histogram2dcontourColorbarTicks 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. +type Histogram2dcontourColorbarTicks string + +const ( + Histogram2dcontourColorbarTicksOutside Histogram2dcontourColorbarTicks = "outside" + Histogram2dcontourColorbarTicksInside Histogram2dcontourColorbarTicks = "inside" + Histogram2dcontourColorbarTicksEmpty Histogram2dcontourColorbarTicks = "" +) + +// Histogram2dcontourColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type Histogram2dcontourColorbarTitleSide string + +const ( + Histogram2dcontourColorbarTitleSideRight Histogram2dcontourColorbarTitleSide = "right" + Histogram2dcontourColorbarTitleSideTop Histogram2dcontourColorbarTitleSide = "top" + Histogram2dcontourColorbarTitleSideBottom Histogram2dcontourColorbarTitleSide = "bottom" +) + +// Histogram2dcontourColorbarXanchor 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*. +type Histogram2dcontourColorbarXanchor string + +const ( + Histogram2dcontourColorbarXanchorLeft Histogram2dcontourColorbarXanchor = "left" + Histogram2dcontourColorbarXanchorCenter Histogram2dcontourColorbarXanchor = "center" + Histogram2dcontourColorbarXanchorRight Histogram2dcontourColorbarXanchor = "right" +) + +// Histogram2dcontourColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type Histogram2dcontourColorbarXref string + +const ( + Histogram2dcontourColorbarXrefContainer Histogram2dcontourColorbarXref = "container" + Histogram2dcontourColorbarXrefPaper Histogram2dcontourColorbarXref = "paper" +) + +// Histogram2dcontourColorbarYanchor 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*. +type Histogram2dcontourColorbarYanchor string + +const ( + Histogram2dcontourColorbarYanchorTop Histogram2dcontourColorbarYanchor = "top" + Histogram2dcontourColorbarYanchorMiddle Histogram2dcontourColorbarYanchor = "middle" + Histogram2dcontourColorbarYanchorBottom Histogram2dcontourColorbarYanchor = "bottom" +) + +// Histogram2dcontourColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type Histogram2dcontourColorbarYref string + +const ( + Histogram2dcontourColorbarYrefContainer Histogram2dcontourColorbarYref = "container" + Histogram2dcontourColorbarYrefPaper Histogram2dcontourColorbarYref = "paper" +) + +// Histogram2dcontourContoursColoring 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. +type Histogram2dcontourContoursColoring string + +const ( + Histogram2dcontourContoursColoringFill Histogram2dcontourContoursColoring = "fill" + Histogram2dcontourContoursColoringHeatmap Histogram2dcontourContoursColoring = "heatmap" + Histogram2dcontourContoursColoringLines Histogram2dcontourContoursColoring = "lines" + Histogram2dcontourContoursColoringNone Histogram2dcontourContoursColoring = "none" +) + +// Histogram2dcontourContoursOperation 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. +type Histogram2dcontourContoursOperation string + +const ( + Histogram2dcontourContoursOperationEq Histogram2dcontourContoursOperation = "=" + Histogram2dcontourContoursOperationLt Histogram2dcontourContoursOperation = "<" + Histogram2dcontourContoursOperationGtEq Histogram2dcontourContoursOperation = ">=" + Histogram2dcontourContoursOperationGt Histogram2dcontourContoursOperation = ">" + Histogram2dcontourContoursOperationLtEq Histogram2dcontourContoursOperation = "<=" + Histogram2dcontourContoursOperationLbracketRbracket Histogram2dcontourContoursOperation = "[]" + Histogram2dcontourContoursOperationLparRpar Histogram2dcontourContoursOperation = "()" + Histogram2dcontourContoursOperationLbracketRpar Histogram2dcontourContoursOperation = "[)" + Histogram2dcontourContoursOperationLparRbracket Histogram2dcontourContoursOperation = "(]" + Histogram2dcontourContoursOperationRbracketLbracket Histogram2dcontourContoursOperation = "][" + Histogram2dcontourContoursOperationRparLpar Histogram2dcontourContoursOperation = ")(" + Histogram2dcontourContoursOperationRbracketLpar Histogram2dcontourContoursOperation = "](" + Histogram2dcontourContoursOperationRparLbracket Histogram2dcontourContoursOperation = ")[" +) + +// Histogram2dcontourContoursType 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. +type Histogram2dcontourContoursType string + +const ( + Histogram2dcontourContoursTypeLevels Histogram2dcontourContoursType = "levels" + Histogram2dcontourContoursTypeConstraint Histogram2dcontourContoursType = "constraint" +) + +// Histogram2dcontourHistfunc 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. +type Histogram2dcontourHistfunc string + +const ( + Histogram2dcontourHistfuncCount Histogram2dcontourHistfunc = "count" + Histogram2dcontourHistfuncSum Histogram2dcontourHistfunc = "sum" + Histogram2dcontourHistfuncAvg Histogram2dcontourHistfunc = "avg" + Histogram2dcontourHistfuncMin Histogram2dcontourHistfunc = "min" + Histogram2dcontourHistfuncMax Histogram2dcontourHistfunc = "max" +) + +// Histogram2dcontourHistnorm 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). +type Histogram2dcontourHistnorm string + +const ( + Histogram2dcontourHistnormEmpty Histogram2dcontourHistnorm = "" + Histogram2dcontourHistnormPercent Histogram2dcontourHistnorm = "percent" + Histogram2dcontourHistnormProbability Histogram2dcontourHistnorm = "probability" + Histogram2dcontourHistnormDensity Histogram2dcontourHistnorm = "density" + Histogram2dcontourHistnormProbabilityDensity Histogram2dcontourHistnorm = "probability density" +) + +// Histogram2dcontourHoverlabelAlign 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 +type Histogram2dcontourHoverlabelAlign string + +const ( + Histogram2dcontourHoverlabelAlignLeft Histogram2dcontourHoverlabelAlign = "left" + Histogram2dcontourHoverlabelAlignRight Histogram2dcontourHoverlabelAlign = "right" + Histogram2dcontourHoverlabelAlignAuto Histogram2dcontourHoverlabelAlign = "auto" +) + +// Histogram2dcontourVisible 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). +type Histogram2dcontourVisible interface{} + +var ( + Histogram2dcontourVisibleTrue Histogram2dcontourVisible = true + Histogram2dcontourVisibleFalse Histogram2dcontourVisible = false + Histogram2dcontourVisibleLegendonly Histogram2dcontourVisible = "legendonly" +) + +// Histogram2dcontourXcalendar Sets the calendar system to use with `x` date data. +type Histogram2dcontourXcalendar string + +const ( + Histogram2dcontourXcalendarChinese Histogram2dcontourXcalendar = "chinese" + Histogram2dcontourXcalendarCoptic Histogram2dcontourXcalendar = "coptic" + Histogram2dcontourXcalendarDiscworld Histogram2dcontourXcalendar = "discworld" + Histogram2dcontourXcalendarEthiopian Histogram2dcontourXcalendar = "ethiopian" + Histogram2dcontourXcalendarGregorian Histogram2dcontourXcalendar = "gregorian" + Histogram2dcontourXcalendarHebrew Histogram2dcontourXcalendar = "hebrew" + Histogram2dcontourXcalendarIslamic Histogram2dcontourXcalendar = "islamic" + Histogram2dcontourXcalendarJalali Histogram2dcontourXcalendar = "jalali" + Histogram2dcontourXcalendarJulian Histogram2dcontourXcalendar = "julian" + Histogram2dcontourXcalendarMayan Histogram2dcontourXcalendar = "mayan" + Histogram2dcontourXcalendarNanakshahi Histogram2dcontourXcalendar = "nanakshahi" + Histogram2dcontourXcalendarNepali Histogram2dcontourXcalendar = "nepali" + Histogram2dcontourXcalendarPersian Histogram2dcontourXcalendar = "persian" + Histogram2dcontourXcalendarTaiwan Histogram2dcontourXcalendar = "taiwan" + Histogram2dcontourXcalendarThai Histogram2dcontourXcalendar = "thai" + Histogram2dcontourXcalendarUmmalqura Histogram2dcontourXcalendar = "ummalqura" +) + +// Histogram2dcontourYcalendar Sets the calendar system to use with `y` date data. +type Histogram2dcontourYcalendar string + +const ( + Histogram2dcontourYcalendarChinese Histogram2dcontourYcalendar = "chinese" + Histogram2dcontourYcalendarCoptic Histogram2dcontourYcalendar = "coptic" + Histogram2dcontourYcalendarDiscworld Histogram2dcontourYcalendar = "discworld" + Histogram2dcontourYcalendarEthiopian Histogram2dcontourYcalendar = "ethiopian" + Histogram2dcontourYcalendarGregorian Histogram2dcontourYcalendar = "gregorian" + Histogram2dcontourYcalendarHebrew Histogram2dcontourYcalendar = "hebrew" + Histogram2dcontourYcalendarIslamic Histogram2dcontourYcalendar = "islamic" + Histogram2dcontourYcalendarJalali Histogram2dcontourYcalendar = "jalali" + Histogram2dcontourYcalendarJulian Histogram2dcontourYcalendar = "julian" + Histogram2dcontourYcalendarMayan Histogram2dcontourYcalendar = "mayan" + Histogram2dcontourYcalendarNanakshahi Histogram2dcontourYcalendar = "nanakshahi" + Histogram2dcontourYcalendarNepali Histogram2dcontourYcalendar = "nepali" + Histogram2dcontourYcalendarPersian Histogram2dcontourYcalendar = "persian" + Histogram2dcontourYcalendarTaiwan Histogram2dcontourYcalendar = "taiwan" + Histogram2dcontourYcalendarThai Histogram2dcontourYcalendar = "thai" + Histogram2dcontourYcalendarUmmalqura Histogram2dcontourYcalendar = "ummalqura" +) + +// Histogram2dcontourHoverinfo 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. +type Histogram2dcontourHoverinfo string + +const ( + // Flags + Histogram2dcontourHoverinfoX Histogram2dcontourHoverinfo = "x" + Histogram2dcontourHoverinfoY Histogram2dcontourHoverinfo = "y" + Histogram2dcontourHoverinfoZ Histogram2dcontourHoverinfo = "z" + Histogram2dcontourHoverinfoText Histogram2dcontourHoverinfo = "text" + Histogram2dcontourHoverinfoName Histogram2dcontourHoverinfo = "name" + + // Extra + Histogram2dcontourHoverinfoAll Histogram2dcontourHoverinfo = "all" + Histogram2dcontourHoverinfoNone Histogram2dcontourHoverinfo = "none" + Histogram2dcontourHoverinfoSkip Histogram2dcontourHoverinfo = "skip" +) diff --git a/generated/v2.31.1/graph_objects/histogram_gen.go b/generated/v2.31.1/graph_objects/histogram_gen.go new file mode 100644 index 0000000..65b83ff --- /dev/null +++ b/generated/v2.31.1/graph_objects/histogram_gen.go @@ -0,0 +1,1882 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeHistogram TraceType = "histogram" + +func (trace *Histogram) GetType() TraceType { + return TraceTypeHistogram +} + +// Histogram 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. +type Histogram struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Alignmentgroup + // arrayOK: false + // 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. + Alignmentgroup String `json:"alignmentgroup,omitempty"` + + // Autobinx + // arrayOK: false + // 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. + Autobinx Bool `json:"autobinx,omitempty"` + + // Autobiny + // arrayOK: false + // 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. + Autobiny Bool `json:"autobiny,omitempty"` + + // Bingroup + // arrayOK: false + // 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` + Bingroup String `json:"bingroup,omitempty"` + + // Cliponaxis + // arrayOK: false + // type: boolean + // 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*. + Cliponaxis Bool `json:"cliponaxis,omitempty"` + + // Constraintext + // default: both + // type: enumerated + // Constrain the size of text inside or outside a bar to be no larger than the bar itself. + Constraintext HistogramConstraintext `json:"constraintext,omitempty"` + + // Cumulative + // role: Object + Cumulative *HistogramCumulative `json:"cumulative,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // ErrorX + // role: Object + ErrorX *HistogramErrorX `json:"error_x,omitempty"` + + // ErrorY + // role: Object + ErrorY *HistogramErrorY `json:"error_y,omitempty"` + + // Histfunc + // default: count + // type: enumerated + // 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. + Histfunc HistogramHistfunc `json:"histfunc,omitempty"` + + // Histnorm + // default: + // type: enumerated + // 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). + Histnorm HistogramHistnorm `json:"histnorm,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo HistogramHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *HistogramHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Finally, the template string has access to variable `binNumber` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // Same as `text`. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Insidetextanchor + // default: end + // type: enumerated + // Determines if texts are kept at center or start/end points in `textposition` *inside* mode. + Insidetextanchor HistogramInsidetextanchor `json:"insidetextanchor,omitempty"` + + // Insidetextfont + // role: Object + Insidetextfont *HistogramInsidetextfont `json:"insidetextfont,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *HistogramLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Marker + // role: Object + Marker *HistogramMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Nbinsx + // arrayOK: false + // 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. + Nbinsx int64 `json:"nbinsx,omitempty"` + + // Nbinsy + // arrayOK: false + // 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. + Nbinsy int64 `json:"nbinsy,omitempty"` + + // Offsetgroup + // arrayOK: false + // 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. + Offsetgroup String `json:"offsetgroup,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Orientation + // default: %!s() + // type: enumerated + // Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal). + Orientation HistogramOrientation `json:"orientation,omitempty"` + + // Outsidetextfont + // role: Object + Outsidetextfont *HistogramOutsidetextfont `json:"outsidetextfont,omitempty"` + + // Selected + // role: Object + Selected *HistogramSelected `json:"selected,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Stream + // role: Object + Stream *HistogramStream `json:"stream,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textangle + // arrayOK: false + // 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. + Textangle float64 `json:"textangle,omitempty"` + + // Textfont + // role: Object + Textfont *HistogramTextfont `json:"textfont,omitempty"` + + // Textposition + // default: auto + // type: enumerated + // 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. + Textposition HistogramTextposition `json:"textposition,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: false + // 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`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Unselected + // role: Object + Unselected *HistogramUnselected `json:"unselected,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible HistogramVisible `json:"visible,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the sample data to be binned on the x axis. + X interface{} `json:"x,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Xbins + // role: Object + Xbins *HistogramXbins `json:"xbins,omitempty"` + + // Xcalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `x` date data. + Xcalendar HistogramXcalendar `json:"xcalendar,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the sample data to be binned on the y axis. + Y interface{} `json:"y,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` + + // Ybins + // role: Object + Ybins *HistogramYbins `json:"ybins,omitempty"` + + // Ycalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `y` date data. + Ycalendar HistogramYcalendar `json:"ycalendar,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` + + // Zorder + // arrayOK: false + // 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`. + Zorder int64 `json:"zorder,omitempty"` +} + +// HistogramCumulative +type HistogramCumulative struct { + + // Currentbin + // default: include + // type: enumerated + // 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. + Currentbin HistogramCumulativeCurrentbin `json:"currentbin,omitempty"` + + // Direction + // default: increasing + // type: enumerated + // 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. + Direction HistogramCumulativeDirection `json:"direction,omitempty"` + + // Enabled + // arrayOK: false + // 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. + Enabled Bool `json:"enabled,omitempty"` +} + +// HistogramErrorX +type HistogramErrorX struct { + + // Array + // arrayOK: false + // type: data_array + // Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data. + Array interface{} `json:"array,omitempty"` + + // Arrayminus + // arrayOK: false + // 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. + Arrayminus interface{} `json:"arrayminus,omitempty"` + + // Arrayminussrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `arrayminus`. + Arrayminussrc String `json:"arrayminussrc,omitempty"` + + // Arraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `array`. + Arraysrc String `json:"arraysrc,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the stoke color of the error bars. + Color Color `json:"color,omitempty"` + + // CopyYstyle + // arrayOK: false + // type: boolean + // + CopyYstyle Bool `json:"copy_ystyle,omitempty"` + + // Symmetric + // arrayOK: false + // 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. + Symmetric Bool `json:"symmetric,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness (in px) of the error bars. + Thickness float64 `json:"thickness,omitempty"` + + // Traceref + // arrayOK: false + // type: integer + // + Traceref int64 `json:"traceref,omitempty"` + + // Tracerefminus + // arrayOK: false + // type: integer + // + Tracerefminus int64 `json:"tracerefminus,omitempty"` + + // Type + // default: %!s() + // type: enumerated + // 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`. + Type HistogramErrorXType `json:"type,omitempty"` + + // Value + // arrayOK: false + // type: number + // 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. + Value float64 `json:"value,omitempty"` + + // Valueminus + // arrayOK: false + // type: number + // 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 + Valueminus float64 `json:"valueminus,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Determines whether or not this set of error bars is visible. + Visible Bool `json:"visible,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of the cross-bar at both ends of the error bars. + Width float64 `json:"width,omitempty"` +} + +// HistogramErrorY +type HistogramErrorY struct { + + // Array + // arrayOK: false + // type: data_array + // Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data. + Array interface{} `json:"array,omitempty"` + + // Arrayminus + // arrayOK: false + // 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. + Arrayminus interface{} `json:"arrayminus,omitempty"` + + // Arrayminussrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `arrayminus`. + Arrayminussrc String `json:"arrayminussrc,omitempty"` + + // Arraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `array`. + Arraysrc String `json:"arraysrc,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the stoke color of the error bars. + Color Color `json:"color,omitempty"` + + // Symmetric + // arrayOK: false + // 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. + Symmetric Bool `json:"symmetric,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness (in px) of the error bars. + Thickness float64 `json:"thickness,omitempty"` + + // Traceref + // arrayOK: false + // type: integer + // + Traceref int64 `json:"traceref,omitempty"` + + // Tracerefminus + // arrayOK: false + // type: integer + // + Tracerefminus int64 `json:"tracerefminus,omitempty"` + + // Type + // default: %!s() + // type: enumerated + // 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`. + Type HistogramErrorYType `json:"type,omitempty"` + + // Value + // arrayOK: false + // type: number + // 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. + Value float64 `json:"value,omitempty"` + + // Valueminus + // arrayOK: false + // type: number + // 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 + Valueminus float64 `json:"valueminus,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Determines whether or not this set of error bars is visible. + Visible Bool `json:"visible,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of the cross-bar at both ends of the error bars. + Width float64 `json:"width,omitempty"` +} + +// HistogramHoverlabelFont Sets the font used in hover labels. +type HistogramHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// HistogramHoverlabel +type HistogramHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align HistogramHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *HistogramHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// HistogramInsidetextfont Sets the font used for `text` lying inside the bar. +type HistogramInsidetextfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// HistogramLegendgrouptitleFont Sets this legend group's title font. +type HistogramLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// HistogramLegendgrouptitle +type HistogramLegendgrouptitle struct { + + // Font + // role: Object + Font *HistogramLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// HistogramMarkerColorbarTickfont Sets the color bar's tick label font +type HistogramMarkerColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// HistogramMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type HistogramMarkerColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// HistogramMarkerColorbarTitle +type HistogramMarkerColorbarTitle struct { + + // Font + // role: Object + Font *HistogramMarkerColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side HistogramMarkerColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// HistogramMarkerColorbar +type HistogramMarkerColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat HistogramMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode HistogramMarkerColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation HistogramMarkerColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent HistogramMarkerColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix HistogramMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix HistogramMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode HistogramMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *HistogramMarkerColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow HistogramMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition HistogramMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode HistogramMarkerColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks HistogramMarkerColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *HistogramMarkerColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor HistogramMarkerColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref HistogramMarkerColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor HistogramMarkerColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref HistogramMarkerColorbarYref `json:"yref,omitempty"` +} + +// HistogramMarkerLine +type HistogramMarkerLine struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the lines bounding the marker points. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// HistogramMarkerPattern Sets the pattern within the marker. +type HistogramMarkerPattern struct { + + // Bgcolor + // arrayOK: true + // type: color + // 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. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Fgcolor + // arrayOK: true + // type: color + // 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`. + Fgcolor Color `json:"fgcolor,omitempty"` + + // Fgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `fgcolor`. + Fgcolorsrc String `json:"fgcolorsrc,omitempty"` + + // Fgopacity + // arrayOK: false + // type: number + // Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1. + Fgopacity float64 `json:"fgopacity,omitempty"` + + // Fillmode + // default: replace + // type: enumerated + // Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. + Fillmode HistogramMarkerPatternFillmode `json:"fillmode,omitempty"` + + // Shape + // default: + // type: enumerated + // Sets the shape of the pattern fill. By default, no pattern is used for filling the area. + Shape HistogramMarkerPatternShape `json:"shape,omitempty"` + + // Shapesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `shape`. + Shapesrc String `json:"shapesrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Solidity + // arrayOK: true + // type: number + // 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. + Solidity float64 `json:"solidity,omitempty"` + + // Soliditysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `solidity`. + Soliditysrc String `json:"soliditysrc,omitempty"` +} + +// HistogramMarker +type HistogramMarker struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *HistogramMarkerColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Cornerradius + // arrayOK: false + // type: any + // 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. + Cornerradius interface{} `json:"cornerradius,omitempty"` + + // Line + // role: Object + Line *HistogramMarkerLine `json:"line,omitempty"` + + // Opacity + // arrayOK: true + // type: number + // Sets the opacity of the bars. + Opacity float64 `json:"opacity,omitempty"` + + // Opacitysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `opacity`. + Opacitysrc String `json:"opacitysrc,omitempty"` + + // Pattern + // role: Object + Pattern *HistogramMarkerPattern `json:"pattern,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` +} + +// HistogramOutsidetextfont Sets the font used for `text` lying outside the bar. +type HistogramOutsidetextfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// HistogramSelectedMarker +type HistogramSelectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of selected points. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of selected points. + Opacity float64 `json:"opacity,omitempty"` +} + +// HistogramSelectedTextfont +type HistogramSelectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of selected points. + Color Color `json:"color,omitempty"` +} + +// HistogramSelected +type HistogramSelected struct { + + // Marker + // role: Object + Marker *HistogramSelectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *HistogramSelectedTextfont `json:"textfont,omitempty"` +} + +// HistogramStream +type HistogramStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// HistogramTextfont Sets the text font. +type HistogramTextfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// HistogramUnselectedMarker +type HistogramUnselectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of unselected points, applied only when a selection exists. + Opacity float64 `json:"opacity,omitempty"` +} + +// HistogramUnselectedTextfont +type HistogramUnselectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` +} + +// HistogramUnselected +type HistogramUnselected struct { + + // Marker + // role: Object + Marker *HistogramUnselectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *HistogramUnselectedTextfont `json:"textfont,omitempty"` +} + +// HistogramXbins +type HistogramXbins struct { + + // End + // arrayOK: false + // type: any + // 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. + End interface{} `json:"end,omitempty"` + + // Size + // arrayOK: false + // type: any + // 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* 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. + Size interface{} `json:"size,omitempty"` + + // Start + // arrayOK: false + // type: any + // 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. + Start interface{} `json:"start,omitempty"` +} + +// HistogramYbins +type HistogramYbins struct { + + // End + // arrayOK: false + // type: any + // 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. + End interface{} `json:"end,omitempty"` + + // Size + // arrayOK: false + // type: any + // 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* 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. + Size interface{} `json:"size,omitempty"` + + // Start + // arrayOK: false + // type: any + // 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. + Start interface{} `json:"start,omitempty"` +} + +// HistogramConstraintext Constrain the size of text inside or outside a bar to be no larger than the bar itself. +type HistogramConstraintext string + +const ( + HistogramConstraintextInside HistogramConstraintext = "inside" + HistogramConstraintextOutside HistogramConstraintext = "outside" + HistogramConstraintextBoth HistogramConstraintext = "both" + HistogramConstraintextNone HistogramConstraintext = "none" +) + +// HistogramCumulativeCurrentbin 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. +type HistogramCumulativeCurrentbin string + +const ( + HistogramCumulativeCurrentbinInclude HistogramCumulativeCurrentbin = "include" + HistogramCumulativeCurrentbinExclude HistogramCumulativeCurrentbin = "exclude" + HistogramCumulativeCurrentbinHalf HistogramCumulativeCurrentbin = "half" +) + +// HistogramCumulativeDirection 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. +type HistogramCumulativeDirection string + +const ( + HistogramCumulativeDirectionIncreasing HistogramCumulativeDirection = "increasing" + HistogramCumulativeDirectionDecreasing HistogramCumulativeDirection = "decreasing" +) + +// HistogramErrorXType 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`. +type HistogramErrorXType string + +const ( + HistogramErrorXTypePercent HistogramErrorXType = "percent" + HistogramErrorXTypeConstant HistogramErrorXType = "constant" + HistogramErrorXTypeSqrt HistogramErrorXType = "sqrt" + HistogramErrorXTypeData HistogramErrorXType = "data" +) + +// HistogramErrorYType 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`. +type HistogramErrorYType string + +const ( + HistogramErrorYTypePercent HistogramErrorYType = "percent" + HistogramErrorYTypeConstant HistogramErrorYType = "constant" + HistogramErrorYTypeSqrt HistogramErrorYType = "sqrt" + HistogramErrorYTypeData HistogramErrorYType = "data" +) + +// HistogramHistfunc 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. +type HistogramHistfunc string + +const ( + HistogramHistfuncCount HistogramHistfunc = "count" + HistogramHistfuncSum HistogramHistfunc = "sum" + HistogramHistfuncAvg HistogramHistfunc = "avg" + HistogramHistfuncMin HistogramHistfunc = "min" + HistogramHistfuncMax HistogramHistfunc = "max" +) + +// HistogramHistnorm 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). +type HistogramHistnorm string + +const ( + HistogramHistnormEmpty HistogramHistnorm = "" + HistogramHistnormPercent HistogramHistnorm = "percent" + HistogramHistnormProbability HistogramHistnorm = "probability" + HistogramHistnormDensity HistogramHistnorm = "density" + HistogramHistnormProbabilityDensity HistogramHistnorm = "probability density" +) + +// HistogramHoverlabelAlign 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 +type HistogramHoverlabelAlign string + +const ( + HistogramHoverlabelAlignLeft HistogramHoverlabelAlign = "left" + HistogramHoverlabelAlignRight HistogramHoverlabelAlign = "right" + HistogramHoverlabelAlignAuto HistogramHoverlabelAlign = "auto" +) + +// HistogramInsidetextanchor Determines if texts are kept at center or start/end points in `textposition` *inside* mode. +type HistogramInsidetextanchor string + +const ( + HistogramInsidetextanchorEnd HistogramInsidetextanchor = "end" + HistogramInsidetextanchorMiddle HistogramInsidetextanchor = "middle" + HistogramInsidetextanchorStart HistogramInsidetextanchor = "start" +) + +// HistogramMarkerColorbarExponentformat 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. +type HistogramMarkerColorbarExponentformat string + +const ( + HistogramMarkerColorbarExponentformatNone HistogramMarkerColorbarExponentformat = "none" + HistogramMarkerColorbarExponentformatE1 HistogramMarkerColorbarExponentformat = "e" + HistogramMarkerColorbarExponentformatE2 HistogramMarkerColorbarExponentformat = "E" + HistogramMarkerColorbarExponentformatPower HistogramMarkerColorbarExponentformat = "power" + HistogramMarkerColorbarExponentformatSI HistogramMarkerColorbarExponentformat = "SI" + HistogramMarkerColorbarExponentformatB HistogramMarkerColorbarExponentformat = "B" +) + +// HistogramMarkerColorbarLenmode 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. +type HistogramMarkerColorbarLenmode string + +const ( + HistogramMarkerColorbarLenmodeFraction HistogramMarkerColorbarLenmode = "fraction" + HistogramMarkerColorbarLenmodePixels HistogramMarkerColorbarLenmode = "pixels" +) + +// HistogramMarkerColorbarOrientation Sets the orientation of the colorbar. +type HistogramMarkerColorbarOrientation string + +const ( + HistogramMarkerColorbarOrientationH HistogramMarkerColorbarOrientation = "h" + HistogramMarkerColorbarOrientationV HistogramMarkerColorbarOrientation = "v" +) + +// HistogramMarkerColorbarShowexponent 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. +type HistogramMarkerColorbarShowexponent string + +const ( + HistogramMarkerColorbarShowexponentAll HistogramMarkerColorbarShowexponent = "all" + HistogramMarkerColorbarShowexponentFirst HistogramMarkerColorbarShowexponent = "first" + HistogramMarkerColorbarShowexponentLast HistogramMarkerColorbarShowexponent = "last" + HistogramMarkerColorbarShowexponentNone HistogramMarkerColorbarShowexponent = "none" +) + +// HistogramMarkerColorbarShowtickprefix 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. +type HistogramMarkerColorbarShowtickprefix string + +const ( + HistogramMarkerColorbarShowtickprefixAll HistogramMarkerColorbarShowtickprefix = "all" + HistogramMarkerColorbarShowtickprefixFirst HistogramMarkerColorbarShowtickprefix = "first" + HistogramMarkerColorbarShowtickprefixLast HistogramMarkerColorbarShowtickprefix = "last" + HistogramMarkerColorbarShowtickprefixNone HistogramMarkerColorbarShowtickprefix = "none" +) + +// HistogramMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type HistogramMarkerColorbarShowticksuffix string + +const ( + HistogramMarkerColorbarShowticksuffixAll HistogramMarkerColorbarShowticksuffix = "all" + HistogramMarkerColorbarShowticksuffixFirst HistogramMarkerColorbarShowticksuffix = "first" + HistogramMarkerColorbarShowticksuffixLast HistogramMarkerColorbarShowticksuffix = "last" + HistogramMarkerColorbarShowticksuffixNone HistogramMarkerColorbarShowticksuffix = "none" +) + +// HistogramMarkerColorbarThicknessmode 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. +type HistogramMarkerColorbarThicknessmode string + +const ( + HistogramMarkerColorbarThicknessmodeFraction HistogramMarkerColorbarThicknessmode = "fraction" + HistogramMarkerColorbarThicknessmodePixels HistogramMarkerColorbarThicknessmode = "pixels" +) + +// HistogramMarkerColorbarTicklabeloverflow 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*. +type HistogramMarkerColorbarTicklabeloverflow string + +const ( + HistogramMarkerColorbarTicklabeloverflowAllow HistogramMarkerColorbarTicklabeloverflow = "allow" + HistogramMarkerColorbarTicklabeloverflowHidePastDiv HistogramMarkerColorbarTicklabeloverflow = "hide past div" + HistogramMarkerColorbarTicklabeloverflowHidePastDomain HistogramMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// HistogramMarkerColorbarTicklabelposition 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*. +type HistogramMarkerColorbarTicklabelposition string + +const ( + HistogramMarkerColorbarTicklabelpositionOutside HistogramMarkerColorbarTicklabelposition = "outside" + HistogramMarkerColorbarTicklabelpositionInside HistogramMarkerColorbarTicklabelposition = "inside" + HistogramMarkerColorbarTicklabelpositionOutsideTop HistogramMarkerColorbarTicklabelposition = "outside top" + HistogramMarkerColorbarTicklabelpositionInsideTop HistogramMarkerColorbarTicklabelposition = "inside top" + HistogramMarkerColorbarTicklabelpositionOutsideLeft HistogramMarkerColorbarTicklabelposition = "outside left" + HistogramMarkerColorbarTicklabelpositionInsideLeft HistogramMarkerColorbarTicklabelposition = "inside left" + HistogramMarkerColorbarTicklabelpositionOutsideRight HistogramMarkerColorbarTicklabelposition = "outside right" + HistogramMarkerColorbarTicklabelpositionInsideRight HistogramMarkerColorbarTicklabelposition = "inside right" + HistogramMarkerColorbarTicklabelpositionOutsideBottom HistogramMarkerColorbarTicklabelposition = "outside bottom" + HistogramMarkerColorbarTicklabelpositionInsideBottom HistogramMarkerColorbarTicklabelposition = "inside bottom" +) + +// HistogramMarkerColorbarTickmode 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). +type HistogramMarkerColorbarTickmode string + +const ( + HistogramMarkerColorbarTickmodeAuto HistogramMarkerColorbarTickmode = "auto" + HistogramMarkerColorbarTickmodeLinear HistogramMarkerColorbarTickmode = "linear" + HistogramMarkerColorbarTickmodeArray HistogramMarkerColorbarTickmode = "array" +) + +// HistogramMarkerColorbarTicks 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. +type HistogramMarkerColorbarTicks string + +const ( + HistogramMarkerColorbarTicksOutside HistogramMarkerColorbarTicks = "outside" + HistogramMarkerColorbarTicksInside HistogramMarkerColorbarTicks = "inside" + HistogramMarkerColorbarTicksEmpty HistogramMarkerColorbarTicks = "" +) + +// HistogramMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type HistogramMarkerColorbarTitleSide string + +const ( + HistogramMarkerColorbarTitleSideRight HistogramMarkerColorbarTitleSide = "right" + HistogramMarkerColorbarTitleSideTop HistogramMarkerColorbarTitleSide = "top" + HistogramMarkerColorbarTitleSideBottom HistogramMarkerColorbarTitleSide = "bottom" +) + +// HistogramMarkerColorbarXanchor 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*. +type HistogramMarkerColorbarXanchor string + +const ( + HistogramMarkerColorbarXanchorLeft HistogramMarkerColorbarXanchor = "left" + HistogramMarkerColorbarXanchorCenter HistogramMarkerColorbarXanchor = "center" + HistogramMarkerColorbarXanchorRight HistogramMarkerColorbarXanchor = "right" +) + +// HistogramMarkerColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type HistogramMarkerColorbarXref string + +const ( + HistogramMarkerColorbarXrefContainer HistogramMarkerColorbarXref = "container" + HistogramMarkerColorbarXrefPaper HistogramMarkerColorbarXref = "paper" +) + +// HistogramMarkerColorbarYanchor 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*. +type HistogramMarkerColorbarYanchor string + +const ( + HistogramMarkerColorbarYanchorTop HistogramMarkerColorbarYanchor = "top" + HistogramMarkerColorbarYanchorMiddle HistogramMarkerColorbarYanchor = "middle" + HistogramMarkerColorbarYanchorBottom HistogramMarkerColorbarYanchor = "bottom" +) + +// HistogramMarkerColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type HistogramMarkerColorbarYref string + +const ( + HistogramMarkerColorbarYrefContainer HistogramMarkerColorbarYref = "container" + HistogramMarkerColorbarYrefPaper HistogramMarkerColorbarYref = "paper" +) + +// HistogramMarkerPatternFillmode Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. +type HistogramMarkerPatternFillmode string + +const ( + HistogramMarkerPatternFillmodeReplace HistogramMarkerPatternFillmode = "replace" + HistogramMarkerPatternFillmodeOverlay HistogramMarkerPatternFillmode = "overlay" +) + +// HistogramMarkerPatternShape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. +type HistogramMarkerPatternShape string + +const ( + HistogramMarkerPatternShapeEmpty HistogramMarkerPatternShape = "" + HistogramMarkerPatternShapeSlash HistogramMarkerPatternShape = "/" + HistogramMarkerPatternShapeDoublebackslash HistogramMarkerPatternShape = "\\" + HistogramMarkerPatternShapeX HistogramMarkerPatternShape = "x" + HistogramMarkerPatternShapeHyphenHyphen HistogramMarkerPatternShape = "-" + HistogramMarkerPatternShapeOr HistogramMarkerPatternShape = "|" + HistogramMarkerPatternShapePlus HistogramMarkerPatternShape = "+" + HistogramMarkerPatternShapeDot HistogramMarkerPatternShape = "." +) + +// HistogramOrientation Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal). +type HistogramOrientation string + +const ( + HistogramOrientationV HistogramOrientation = "v" + HistogramOrientationH HistogramOrientation = "h" +) + +// HistogramTextposition 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. +type HistogramTextposition string + +const ( + HistogramTextpositionInside HistogramTextposition = "inside" + HistogramTextpositionOutside HistogramTextposition = "outside" + HistogramTextpositionAuto HistogramTextposition = "auto" + HistogramTextpositionNone HistogramTextposition = "none" +) + +// HistogramVisible 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). +type HistogramVisible interface{} + +var ( + HistogramVisibleTrue HistogramVisible = true + HistogramVisibleFalse HistogramVisible = false + HistogramVisibleLegendonly HistogramVisible = "legendonly" +) + +// HistogramXcalendar Sets the calendar system to use with `x` date data. +type HistogramXcalendar string + +const ( + HistogramXcalendarChinese HistogramXcalendar = "chinese" + HistogramXcalendarCoptic HistogramXcalendar = "coptic" + HistogramXcalendarDiscworld HistogramXcalendar = "discworld" + HistogramXcalendarEthiopian HistogramXcalendar = "ethiopian" + HistogramXcalendarGregorian HistogramXcalendar = "gregorian" + HistogramXcalendarHebrew HistogramXcalendar = "hebrew" + HistogramXcalendarIslamic HistogramXcalendar = "islamic" + HistogramXcalendarJalali HistogramXcalendar = "jalali" + HistogramXcalendarJulian HistogramXcalendar = "julian" + HistogramXcalendarMayan HistogramXcalendar = "mayan" + HistogramXcalendarNanakshahi HistogramXcalendar = "nanakshahi" + HistogramXcalendarNepali HistogramXcalendar = "nepali" + HistogramXcalendarPersian HistogramXcalendar = "persian" + HistogramXcalendarTaiwan HistogramXcalendar = "taiwan" + HistogramXcalendarThai HistogramXcalendar = "thai" + HistogramXcalendarUmmalqura HistogramXcalendar = "ummalqura" +) + +// HistogramYcalendar Sets the calendar system to use with `y` date data. +type HistogramYcalendar string + +const ( + HistogramYcalendarChinese HistogramYcalendar = "chinese" + HistogramYcalendarCoptic HistogramYcalendar = "coptic" + HistogramYcalendarDiscworld HistogramYcalendar = "discworld" + HistogramYcalendarEthiopian HistogramYcalendar = "ethiopian" + HistogramYcalendarGregorian HistogramYcalendar = "gregorian" + HistogramYcalendarHebrew HistogramYcalendar = "hebrew" + HistogramYcalendarIslamic HistogramYcalendar = "islamic" + HistogramYcalendarJalali HistogramYcalendar = "jalali" + HistogramYcalendarJulian HistogramYcalendar = "julian" + HistogramYcalendarMayan HistogramYcalendar = "mayan" + HistogramYcalendarNanakshahi HistogramYcalendar = "nanakshahi" + HistogramYcalendarNepali HistogramYcalendar = "nepali" + HistogramYcalendarPersian HistogramYcalendar = "persian" + HistogramYcalendarTaiwan HistogramYcalendar = "taiwan" + HistogramYcalendarThai HistogramYcalendar = "thai" + HistogramYcalendarUmmalqura HistogramYcalendar = "ummalqura" +) + +// HistogramHoverinfo 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. +type HistogramHoverinfo string + +const ( + // Flags + HistogramHoverinfoX HistogramHoverinfo = "x" + HistogramHoverinfoY HistogramHoverinfo = "y" + HistogramHoverinfoZ HistogramHoverinfo = "z" + HistogramHoverinfoText HistogramHoverinfo = "text" + HistogramHoverinfoName HistogramHoverinfo = "name" + + // Extra + HistogramHoverinfoAll HistogramHoverinfo = "all" + HistogramHoverinfoNone HistogramHoverinfo = "none" + HistogramHoverinfoSkip HistogramHoverinfo = "skip" +) diff --git a/generated/v2.31.1/graph_objects/icicle_gen.go b/generated/v2.31.1/graph_objects/icicle_gen.go new file mode 100644 index 0000000..6fe94b9 --- /dev/null +++ b/generated/v2.31.1/graph_objects/icicle_gen.go @@ -0,0 +1,1544 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeIcicle TraceType = "icicle" + +func (trace *Icicle) GetType() TraceType { + return TraceTypeIcicle +} + +// Icicle 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*. +type Icicle struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Branchvalues + // default: remainder + // type: enumerated + // 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. + Branchvalues IcicleBranchvalues `json:"branchvalues,omitempty"` + + // Count + // default: leaves + // type: flaglist + // Determines default for `values` when it is not provided, by inferring a 1 for each of the *leaves* and/or *branches*, otherwise 0. + Count IcicleCount `json:"count,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Domain + // role: Object + Domain *IcicleDomain `json:"domain,omitempty"` + + // Hoverinfo + // default: label+text+value+name + // type: flaglist + // 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. + Hoverinfo IcicleHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *IcicleHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Finally, the template string has access to variables `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry` and `percentParent`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Insidetextfont + // role: Object + Insidetextfont *IcicleInsidetextfont `json:"insidetextfont,omitempty"` + + // Labels + // arrayOK: false + // type: data_array + // Sets the labels of each of the sectors. + Labels interface{} `json:"labels,omitempty"` + + // Labelssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `labels`. + Labelssrc String `json:"labelssrc,omitempty"` + + // Leaf + // role: Object + Leaf *IcicleLeaf `json:"leaf,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *IcicleLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Level + // arrayOK: false + // type: any + // 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`. + Level interface{} `json:"level,omitempty"` + + // Marker + // role: Object + Marker *IcicleMarker `json:"marker,omitempty"` + + // Maxdepth + // arrayOK: false + // type: integer + // Sets the number of rendered sectors from any given `level`. Set `maxdepth` to *-1* to render all the levels in the hierarchy. + Maxdepth int64 `json:"maxdepth,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Outsidetextfont + // role: Object + Outsidetextfont *IcicleOutsidetextfont `json:"outsidetextfont,omitempty"` + + // Parents + // arrayOK: false + // 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. + Parents interface{} `json:"parents,omitempty"` + + // Parentssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `parents`. + Parentssrc String `json:"parentssrc,omitempty"` + + // Pathbar + // role: Object + Pathbar *IciclePathbar `json:"pathbar,omitempty"` + + // Root + // role: Object + Root *IcicleRoot `json:"root,omitempty"` + + // Sort + // arrayOK: false + // type: boolean + // Determines whether or not the sectors are reordered from largest to smallest. + Sort Bool `json:"sort,omitempty"` + + // Stream + // role: Object + Stream *IcicleStream `json:"stream,omitempty"` + + // Text + // arrayOK: false + // 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. + Text interface{} `json:"text,omitempty"` + + // Textfont + // role: Object + Textfont *IcicleTextfont `json:"textfont,omitempty"` + + // Textinfo + // default: %!s() + // type: flaglist + // Determines which trace information appear on the graph. + Textinfo IcicleTextinfo `json:"textinfo,omitempty"` + + // Textposition + // default: top left + // type: enumerated + // Sets the positions of the `text` elements. + Textposition IcicleTextposition `json:"textposition,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: true + // 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 `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry`, `percentParent`, `label` and `value`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Texttemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `texttemplate`. + Texttemplatesrc String `json:"texttemplatesrc,omitempty"` + + // Tiling + // role: Object + Tiling *IcicleTiling `json:"tiling,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Values + // arrayOK: false + // type: data_array + // Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed. + Values interface{} `json:"values,omitempty"` + + // Valuessrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `values`. + Valuessrc String `json:"valuessrc,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible IcicleVisible `json:"visible,omitempty"` +} + +// IcicleDomain +type IcicleDomain struct { + + // Column + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this column in the grid for this icicle trace . + Column int64 `json:"column,omitempty"` + + // Row + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this row in the grid for this icicle trace . + Row int64 `json:"row,omitempty"` + + // X + // arrayOK: false + // type: info_array + // Sets the horizontal domain of this icicle trace (in plot fraction). + X interface{} `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: info_array + // Sets the vertical domain of this icicle trace (in plot fraction). + Y interface{} `json:"y,omitempty"` +} + +// IcicleHoverlabelFont Sets the font used in hover labels. +type IcicleHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// IcicleHoverlabel +type IcicleHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align IcicleHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *IcicleHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// IcicleInsidetextfont Sets the font used for `textinfo` lying inside the sector. +type IcicleInsidetextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// IcicleLeaf +type IcicleLeaf struct { + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the leaves. With colorscale it is defaulted to 1; otherwise it is defaulted to 0.7 + Opacity float64 `json:"opacity,omitempty"` +} + +// IcicleLegendgrouptitleFont Sets this legend group's title font. +type IcicleLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// IcicleLegendgrouptitle +type IcicleLegendgrouptitle struct { + + // Font + // role: Object + Font *IcicleLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// IcicleMarkerColorbarTickfont Sets the color bar's tick label font +type IcicleMarkerColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// IcicleMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type IcicleMarkerColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// IcicleMarkerColorbarTitle +type IcicleMarkerColorbarTitle struct { + + // Font + // role: Object + Font *IcicleMarkerColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side IcicleMarkerColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// IcicleMarkerColorbar +type IcicleMarkerColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat IcicleMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode IcicleMarkerColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation IcicleMarkerColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent IcicleMarkerColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix IcicleMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix IcicleMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode IcicleMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *IcicleMarkerColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow IcicleMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition IcicleMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode IcicleMarkerColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks IcicleMarkerColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *IcicleMarkerColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor IcicleMarkerColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref IcicleMarkerColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor IcicleMarkerColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref IcicleMarkerColorbarYref `json:"yref,omitempty"` +} + +// IcicleMarkerLine +type IcicleMarkerLine struct { + + // Color + // arrayOK: true + // type: color + // Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the line enclosing each sector. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// IcicleMarkerPattern Sets the pattern within the marker. +type IcicleMarkerPattern struct { + + // Bgcolor + // arrayOK: true + // type: color + // 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. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Fgcolor + // arrayOK: true + // type: color + // 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`. + Fgcolor Color `json:"fgcolor,omitempty"` + + // Fgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `fgcolor`. + Fgcolorsrc String `json:"fgcolorsrc,omitempty"` + + // Fgopacity + // arrayOK: false + // type: number + // Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1. + Fgopacity float64 `json:"fgopacity,omitempty"` + + // Fillmode + // default: replace + // type: enumerated + // Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. + Fillmode IcicleMarkerPatternFillmode `json:"fillmode,omitempty"` + + // Shape + // default: + // type: enumerated + // Sets the shape of the pattern fill. By default, no pattern is used for filling the area. + Shape IcicleMarkerPatternShape `json:"shape,omitempty"` + + // Shapesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `shape`. + Shapesrc String `json:"shapesrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Solidity + // arrayOK: true + // type: number + // 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. + Solidity float64 `json:"solidity,omitempty"` + + // Soliditysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `solidity`. + Soliditysrc String `json:"soliditysrc,omitempty"` +} + +// IcicleMarker +type IcicleMarker struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *IcicleMarkerColorbar `json:"colorbar,omitempty"` + + // Colors + // arrayOK: false + // 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. + Colors interface{} `json:"colors,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `colors`. + Colorssrc String `json:"colorssrc,omitempty"` + + // Line + // role: Object + Line *IcicleMarkerLine `json:"line,omitempty"` + + // Pattern + // role: Object + Pattern *IcicleMarkerPattern `json:"pattern,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` +} + +// IcicleOutsidetextfont 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. +type IcicleOutsidetextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// IciclePathbarTextfont Sets the font used inside `pathbar`. +type IciclePathbarTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// IciclePathbar +type IciclePathbar struct { + + // Edgeshape + // default: > + // type: enumerated + // Determines which shape is used for edges between `barpath` labels. + Edgeshape IciclePathbarEdgeshape `json:"edgeshape,omitempty"` + + // Side + // default: top + // type: enumerated + // Determines on which side of the the treemap the `pathbar` should be presented. + Side IciclePathbarSide `json:"side,omitempty"` + + // Textfont + // role: Object + Textfont *IciclePathbarTextfont `json:"textfont,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of `pathbar` (in px). If not specified the `pathbar.textfont.size` is used with 3 pixles extra padding on each side. + Thickness float64 `json:"thickness,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Determines if the path bar is drawn i.e. outside the trace `domain` and with one pixel gap. + Visible Bool `json:"visible,omitempty"` +} + +// IcicleRoot +type IcicleRoot struct { + + // Color + // arrayOK: false + // type: color + // 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. + Color Color `json:"color,omitempty"` +} + +// IcicleStream +type IcicleStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// IcicleTextfont Sets the font used for `textinfo`. +type IcicleTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// IcicleTiling +type IcicleTiling struct { + + // Flip + // default: + // type: flaglist + // Determines if the positions obtained from solver are flipped on each axis. + Flip IcicleTilingFlip `json:"flip,omitempty"` + + // Orientation + // default: h + // type: enumerated + // 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. + Orientation IcicleTilingOrientation `json:"orientation,omitempty"` + + // Pad + // arrayOK: false + // type: number + // Sets the inner padding (in px). + Pad float64 `json:"pad,omitempty"` +} + +// IcicleBranchvalues 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. +type IcicleBranchvalues string + +const ( + IcicleBranchvaluesRemainder IcicleBranchvalues = "remainder" + IcicleBranchvaluesTotal IcicleBranchvalues = "total" +) + +// IcicleHoverlabelAlign 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 +type IcicleHoverlabelAlign string + +const ( + IcicleHoverlabelAlignLeft IcicleHoverlabelAlign = "left" + IcicleHoverlabelAlignRight IcicleHoverlabelAlign = "right" + IcicleHoverlabelAlignAuto IcicleHoverlabelAlign = "auto" +) + +// IcicleMarkerColorbarExponentformat 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. +type IcicleMarkerColorbarExponentformat string + +const ( + IcicleMarkerColorbarExponentformatNone IcicleMarkerColorbarExponentformat = "none" + IcicleMarkerColorbarExponentformatE1 IcicleMarkerColorbarExponentformat = "e" + IcicleMarkerColorbarExponentformatE2 IcicleMarkerColorbarExponentformat = "E" + IcicleMarkerColorbarExponentformatPower IcicleMarkerColorbarExponentformat = "power" + IcicleMarkerColorbarExponentformatSI IcicleMarkerColorbarExponentformat = "SI" + IcicleMarkerColorbarExponentformatB IcicleMarkerColorbarExponentformat = "B" +) + +// IcicleMarkerColorbarLenmode 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. +type IcicleMarkerColorbarLenmode string + +const ( + IcicleMarkerColorbarLenmodeFraction IcicleMarkerColorbarLenmode = "fraction" + IcicleMarkerColorbarLenmodePixels IcicleMarkerColorbarLenmode = "pixels" +) + +// IcicleMarkerColorbarOrientation Sets the orientation of the colorbar. +type IcicleMarkerColorbarOrientation string + +const ( + IcicleMarkerColorbarOrientationH IcicleMarkerColorbarOrientation = "h" + IcicleMarkerColorbarOrientationV IcicleMarkerColorbarOrientation = "v" +) + +// IcicleMarkerColorbarShowexponent 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. +type IcicleMarkerColorbarShowexponent string + +const ( + IcicleMarkerColorbarShowexponentAll IcicleMarkerColorbarShowexponent = "all" + IcicleMarkerColorbarShowexponentFirst IcicleMarkerColorbarShowexponent = "first" + IcicleMarkerColorbarShowexponentLast IcicleMarkerColorbarShowexponent = "last" + IcicleMarkerColorbarShowexponentNone IcicleMarkerColorbarShowexponent = "none" +) + +// IcicleMarkerColorbarShowtickprefix 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. +type IcicleMarkerColorbarShowtickprefix string + +const ( + IcicleMarkerColorbarShowtickprefixAll IcicleMarkerColorbarShowtickprefix = "all" + IcicleMarkerColorbarShowtickprefixFirst IcicleMarkerColorbarShowtickprefix = "first" + IcicleMarkerColorbarShowtickprefixLast IcicleMarkerColorbarShowtickprefix = "last" + IcicleMarkerColorbarShowtickprefixNone IcicleMarkerColorbarShowtickprefix = "none" +) + +// IcicleMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type IcicleMarkerColorbarShowticksuffix string + +const ( + IcicleMarkerColorbarShowticksuffixAll IcicleMarkerColorbarShowticksuffix = "all" + IcicleMarkerColorbarShowticksuffixFirst IcicleMarkerColorbarShowticksuffix = "first" + IcicleMarkerColorbarShowticksuffixLast IcicleMarkerColorbarShowticksuffix = "last" + IcicleMarkerColorbarShowticksuffixNone IcicleMarkerColorbarShowticksuffix = "none" +) + +// IcicleMarkerColorbarThicknessmode 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. +type IcicleMarkerColorbarThicknessmode string + +const ( + IcicleMarkerColorbarThicknessmodeFraction IcicleMarkerColorbarThicknessmode = "fraction" + IcicleMarkerColorbarThicknessmodePixels IcicleMarkerColorbarThicknessmode = "pixels" +) + +// IcicleMarkerColorbarTicklabeloverflow 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*. +type IcicleMarkerColorbarTicklabeloverflow string + +const ( + IcicleMarkerColorbarTicklabeloverflowAllow IcicleMarkerColorbarTicklabeloverflow = "allow" + IcicleMarkerColorbarTicklabeloverflowHidePastDiv IcicleMarkerColorbarTicklabeloverflow = "hide past div" + IcicleMarkerColorbarTicklabeloverflowHidePastDomain IcicleMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// IcicleMarkerColorbarTicklabelposition 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*. +type IcicleMarkerColorbarTicklabelposition string + +const ( + IcicleMarkerColorbarTicklabelpositionOutside IcicleMarkerColorbarTicklabelposition = "outside" + IcicleMarkerColorbarTicklabelpositionInside IcicleMarkerColorbarTicklabelposition = "inside" + IcicleMarkerColorbarTicklabelpositionOutsideTop IcicleMarkerColorbarTicklabelposition = "outside top" + IcicleMarkerColorbarTicklabelpositionInsideTop IcicleMarkerColorbarTicklabelposition = "inside top" + IcicleMarkerColorbarTicklabelpositionOutsideLeft IcicleMarkerColorbarTicklabelposition = "outside left" + IcicleMarkerColorbarTicklabelpositionInsideLeft IcicleMarkerColorbarTicklabelposition = "inside left" + IcicleMarkerColorbarTicklabelpositionOutsideRight IcicleMarkerColorbarTicklabelposition = "outside right" + IcicleMarkerColorbarTicklabelpositionInsideRight IcicleMarkerColorbarTicklabelposition = "inside right" + IcicleMarkerColorbarTicklabelpositionOutsideBottom IcicleMarkerColorbarTicklabelposition = "outside bottom" + IcicleMarkerColorbarTicklabelpositionInsideBottom IcicleMarkerColorbarTicklabelposition = "inside bottom" +) + +// IcicleMarkerColorbarTickmode 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). +type IcicleMarkerColorbarTickmode string + +const ( + IcicleMarkerColorbarTickmodeAuto IcicleMarkerColorbarTickmode = "auto" + IcicleMarkerColorbarTickmodeLinear IcicleMarkerColorbarTickmode = "linear" + IcicleMarkerColorbarTickmodeArray IcicleMarkerColorbarTickmode = "array" +) + +// IcicleMarkerColorbarTicks 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. +type IcicleMarkerColorbarTicks string + +const ( + IcicleMarkerColorbarTicksOutside IcicleMarkerColorbarTicks = "outside" + IcicleMarkerColorbarTicksInside IcicleMarkerColorbarTicks = "inside" + IcicleMarkerColorbarTicksEmpty IcicleMarkerColorbarTicks = "" +) + +// IcicleMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type IcicleMarkerColorbarTitleSide string + +const ( + IcicleMarkerColorbarTitleSideRight IcicleMarkerColorbarTitleSide = "right" + IcicleMarkerColorbarTitleSideTop IcicleMarkerColorbarTitleSide = "top" + IcicleMarkerColorbarTitleSideBottom IcicleMarkerColorbarTitleSide = "bottom" +) + +// IcicleMarkerColorbarXanchor 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*. +type IcicleMarkerColorbarXanchor string + +const ( + IcicleMarkerColorbarXanchorLeft IcicleMarkerColorbarXanchor = "left" + IcicleMarkerColorbarXanchorCenter IcicleMarkerColorbarXanchor = "center" + IcicleMarkerColorbarXanchorRight IcicleMarkerColorbarXanchor = "right" +) + +// IcicleMarkerColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type IcicleMarkerColorbarXref string + +const ( + IcicleMarkerColorbarXrefContainer IcicleMarkerColorbarXref = "container" + IcicleMarkerColorbarXrefPaper IcicleMarkerColorbarXref = "paper" +) + +// IcicleMarkerColorbarYanchor 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*. +type IcicleMarkerColorbarYanchor string + +const ( + IcicleMarkerColorbarYanchorTop IcicleMarkerColorbarYanchor = "top" + IcicleMarkerColorbarYanchorMiddle IcicleMarkerColorbarYanchor = "middle" + IcicleMarkerColorbarYanchorBottom IcicleMarkerColorbarYanchor = "bottom" +) + +// IcicleMarkerColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type IcicleMarkerColorbarYref string + +const ( + IcicleMarkerColorbarYrefContainer IcicleMarkerColorbarYref = "container" + IcicleMarkerColorbarYrefPaper IcicleMarkerColorbarYref = "paper" +) + +// IcicleMarkerPatternFillmode Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. +type IcicleMarkerPatternFillmode string + +const ( + IcicleMarkerPatternFillmodeReplace IcicleMarkerPatternFillmode = "replace" + IcicleMarkerPatternFillmodeOverlay IcicleMarkerPatternFillmode = "overlay" +) + +// IcicleMarkerPatternShape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. +type IcicleMarkerPatternShape string + +const ( + IcicleMarkerPatternShapeEmpty IcicleMarkerPatternShape = "" + IcicleMarkerPatternShapeSlash IcicleMarkerPatternShape = "/" + IcicleMarkerPatternShapeDoublebackslash IcicleMarkerPatternShape = "\\" + IcicleMarkerPatternShapeX IcicleMarkerPatternShape = "x" + IcicleMarkerPatternShapeHyphenHyphen IcicleMarkerPatternShape = "-" + IcicleMarkerPatternShapeOr IcicleMarkerPatternShape = "|" + IcicleMarkerPatternShapePlus IcicleMarkerPatternShape = "+" + IcicleMarkerPatternShapeDot IcicleMarkerPatternShape = "." +) + +// IciclePathbarEdgeshape Determines which shape is used for edges between `barpath` labels. +type IciclePathbarEdgeshape string + +const ( + IciclePathbarEdgeshapeGt IciclePathbarEdgeshape = ">" + IciclePathbarEdgeshapeLt IciclePathbarEdgeshape = "<" + IciclePathbarEdgeshapeOr IciclePathbarEdgeshape = "|" + IciclePathbarEdgeshapeSlash IciclePathbarEdgeshape = "/" + IciclePathbarEdgeshapeDoublebackslash IciclePathbarEdgeshape = "\\" +) + +// IciclePathbarSide Determines on which side of the the treemap the `pathbar` should be presented. +type IciclePathbarSide string + +const ( + IciclePathbarSideTop IciclePathbarSide = "top" + IciclePathbarSideBottom IciclePathbarSide = "bottom" +) + +// IcicleTextposition Sets the positions of the `text` elements. +type IcicleTextposition string + +const ( + IcicleTextpositionTopLeft IcicleTextposition = "top left" + IcicleTextpositionTopCenter IcicleTextposition = "top center" + IcicleTextpositionTopRight IcicleTextposition = "top right" + IcicleTextpositionMiddleLeft IcicleTextposition = "middle left" + IcicleTextpositionMiddleCenter IcicleTextposition = "middle center" + IcicleTextpositionMiddleRight IcicleTextposition = "middle right" + IcicleTextpositionBottomLeft IcicleTextposition = "bottom left" + IcicleTextpositionBottomCenter IcicleTextposition = "bottom center" + IcicleTextpositionBottomRight IcicleTextposition = "bottom right" +) + +// IcicleTilingOrientation 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. +type IcicleTilingOrientation string + +const ( + IcicleTilingOrientationV IcicleTilingOrientation = "v" + IcicleTilingOrientationH IcicleTilingOrientation = "h" +) + +// IcicleVisible 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). +type IcicleVisible interface{} + +var ( + IcicleVisibleTrue IcicleVisible = true + IcicleVisibleFalse IcicleVisible = false + IcicleVisibleLegendonly IcicleVisible = "legendonly" +) + +// IcicleCount Determines default for `values` when it is not provided, by inferring a 1 for each of the *leaves* and/or *branches*, otherwise 0. +type IcicleCount string + +const ( + // Flags + IcicleCountBranches IcicleCount = "branches" + IcicleCountLeaves IcicleCount = "leaves" + + // Extra + +) + +// IcicleHoverinfo 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. +type IcicleHoverinfo string + +const ( + // Flags + IcicleHoverinfoLabel IcicleHoverinfo = "label" + IcicleHoverinfoText IcicleHoverinfo = "text" + IcicleHoverinfoValue IcicleHoverinfo = "value" + IcicleHoverinfoName IcicleHoverinfo = "name" + IcicleHoverinfoCurrentPath IcicleHoverinfo = "current path" + IcicleHoverinfoPercentRoot IcicleHoverinfo = "percent root" + IcicleHoverinfoPercentEntry IcicleHoverinfo = "percent entry" + IcicleHoverinfoPercentParent IcicleHoverinfo = "percent parent" + + // Extra + IcicleHoverinfoAll IcicleHoverinfo = "all" + IcicleHoverinfoNone IcicleHoverinfo = "none" + IcicleHoverinfoSkip IcicleHoverinfo = "skip" +) + +// IcicleTextinfo Determines which trace information appear on the graph. +type IcicleTextinfo string + +const ( + // Flags + IcicleTextinfoLabel IcicleTextinfo = "label" + IcicleTextinfoText IcicleTextinfo = "text" + IcicleTextinfoValue IcicleTextinfo = "value" + IcicleTextinfoCurrentPath IcicleTextinfo = "current path" + IcicleTextinfoPercentRoot IcicleTextinfo = "percent root" + IcicleTextinfoPercentEntry IcicleTextinfo = "percent entry" + IcicleTextinfoPercentParent IcicleTextinfo = "percent parent" + + // Extra + IcicleTextinfoNone IcicleTextinfo = "none" +) + +// IcicleTilingFlip Determines if the positions obtained from solver are flipped on each axis. +type IcicleTilingFlip string + +const ( + // Flags + IcicleTilingFlipX IcicleTilingFlip = "x" + IcicleTilingFlipY IcicleTilingFlip = "y" + + // Extra + +) diff --git a/generated/v2.31.1/graph_objects/image_gen.go b/generated/v2.31.1/graph_objects/image_gen.go new file mode 100644 index 0000000..5ca21c8 --- /dev/null +++ b/generated/v2.31.1/graph_objects/image_gen.go @@ -0,0 +1,448 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeImage TraceType = "image" + +func (trace *Image) GetType() TraceType { + return TraceTypeImage +} + +// Image 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. +type Image struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Colormodel + // default: %!s() + // type: enumerated + // 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`. + Colormodel ImageColormodel `json:"colormodel,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Dx + // arrayOK: false + // type: number + // Set the pixel's horizontal size. + Dx float64 `json:"dx,omitempty"` + + // Dy + // arrayOK: false + // type: number + // Set the pixel's vertical size + Dy float64 `json:"dy,omitempty"` + + // Hoverinfo + // default: x+y+z+text+name + // type: flaglist + // 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. + Hoverinfo ImageHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *ImageHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Finally, the template string has access to variables `z`, `color` and `colormodel`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: false + // type: data_array + // Same as `text`. + Hovertext interface{} `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *ImageLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Source + // arrayOK: false + // type: string + // Specifies the data URI of the image to be visualized. The URI consists of "data:image/[][;base64]," + Source String `json:"source,omitempty"` + + // Stream + // role: Object + Stream *ImageStream `json:"stream,omitempty"` + + // Text + // arrayOK: false + // type: data_array + // Sets the text elements associated with each z value. + Text interface{} `json:"text,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible ImageVisible `json:"visible,omitempty"` + + // X0 + // arrayOK: false + // type: any + // 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 + X0 interface{} `json:"x0,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Y0 + // arrayOK: false + // type: any + // 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. + Y0 interface{} `json:"y0,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` + + // Z + // arrayOK: false + // type: data_array + // A 2-dimensional array in which each element is an array of 3 or 4 numbers representing a color. + Z interface{} `json:"z,omitempty"` + + // Zmax + // arrayOK: false + // type: info_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]. + Zmax interface{} `json:"zmax,omitempty"` + + // Zmin + // arrayOK: false + // type: info_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]. + Zmin interface{} `json:"zmin,omitempty"` + + // Zorder + // arrayOK: false + // 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`. + Zorder int64 `json:"zorder,omitempty"` + + // Zsmooth + // default: %!s(bool=false) + // type: enumerated + // Picks a smoothing algorithm used to smooth `z` data. This only applies for image traces that use the `source` attribute. + Zsmooth ImageZsmooth `json:"zsmooth,omitempty"` + + // Zsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `z`. + Zsrc String `json:"zsrc,omitempty"` +} + +// ImageHoverlabelFont Sets the font used in hover labels. +type ImageHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ImageHoverlabel +type ImageHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align ImageHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *ImageHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// ImageLegendgrouptitleFont Sets this legend group's title font. +type ImageLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ImageLegendgrouptitle +type ImageLegendgrouptitle struct { + + // Font + // role: Object + Font *ImageLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// ImageStream +type ImageStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// ImageColormodel 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`. +type ImageColormodel string + +const ( + ImageColormodelRgb ImageColormodel = "rgb" + ImageColormodelRgba ImageColormodel = "rgba" + ImageColormodelRgba256 ImageColormodel = "rgba256" + ImageColormodelHsl ImageColormodel = "hsl" + ImageColormodelHsla ImageColormodel = "hsla" +) + +// ImageHoverlabelAlign 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 +type ImageHoverlabelAlign string + +const ( + ImageHoverlabelAlignLeft ImageHoverlabelAlign = "left" + ImageHoverlabelAlignRight ImageHoverlabelAlign = "right" + ImageHoverlabelAlignAuto ImageHoverlabelAlign = "auto" +) + +// ImageVisible 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). +type ImageVisible interface{} + +var ( + ImageVisibleTrue ImageVisible = true + ImageVisibleFalse ImageVisible = false + ImageVisibleLegendonly ImageVisible = "legendonly" +) + +// ImageZsmooth Picks a smoothing algorithm used to smooth `z` data. This only applies for image traces that use the `source` attribute. +type ImageZsmooth interface{} + +var ( + ImageZsmoothFast ImageZsmooth = "fast" + ImageZsmoothFalse ImageZsmooth = false +) + +// ImageHoverinfo 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. +type ImageHoverinfo string + +const ( + // Flags + ImageHoverinfoX ImageHoverinfo = "x" + ImageHoverinfoY ImageHoverinfo = "y" + ImageHoverinfoZ ImageHoverinfo = "z" + ImageHoverinfoColor ImageHoverinfo = "color" + ImageHoverinfoName ImageHoverinfo = "name" + ImageHoverinfoText ImageHoverinfo = "text" + + // Extra + ImageHoverinfoAll ImageHoverinfo = "all" + ImageHoverinfoNone ImageHoverinfo = "none" + ImageHoverinfoSkip ImageHoverinfo = "skip" +) diff --git a/generated/v2.31.1/graph_objects/indicator_gen.go b/generated/v2.31.1/graph_objects/indicator_gen.go new file mode 100644 index 0000000..d4d5b11 --- /dev/null +++ b/generated/v2.31.1/graph_objects/indicator_gen.go @@ -0,0 +1,857 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeIndicator TraceType = "indicator" + +func (trace *Indicator) GetType() TraceType { + return TraceTypeIndicator +} + +// Indicator 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. +type Indicator struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Align + // default: %!s() + // type: enumerated + // 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 + Align IndicatorAlign `json:"align,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Delta + // role: Object + Delta *IndicatorDelta `json:"delta,omitempty"` + + // Domain + // role: Object + Domain *IndicatorDomain `json:"domain,omitempty"` + + // Gauge + // role: Object + Gauge *IndicatorGauge `json:"gauge,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *IndicatorLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Mode + // default: number + // type: flaglist + // 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. + Mode IndicatorMode `json:"mode,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Number + // role: Object + Number *IndicatorNumber `json:"number,omitempty"` + + // Stream + // role: Object + Stream *IndicatorStream `json:"stream,omitempty"` + + // Title + // role: Object + Title *IndicatorTitle `json:"title,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Value + // arrayOK: false + // type: number + // Sets the number to be displayed. + Value float64 `json:"value,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible IndicatorVisible `json:"visible,omitempty"` +} + +// IndicatorDeltaDecreasing +type IndicatorDeltaDecreasing struct { + + // Color + // arrayOK: false + // type: color + // Sets the color for increasing value. + Color Color `json:"color,omitempty"` + + // Symbol + // arrayOK: false + // type: string + // Sets the symbol to display for increasing value + Symbol String `json:"symbol,omitempty"` +} + +// IndicatorDeltaFont Set the font used to display the delta +type IndicatorDeltaFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// IndicatorDeltaIncreasing +type IndicatorDeltaIncreasing struct { + + // Color + // arrayOK: false + // type: color + // Sets the color for increasing value. + Color Color `json:"color,omitempty"` + + // Symbol + // arrayOK: false + // type: string + // Sets the symbol to display for increasing value + Symbol String `json:"symbol,omitempty"` +} + +// IndicatorDelta +type IndicatorDelta struct { + + // Decreasing + // role: Object + Decreasing *IndicatorDeltaDecreasing `json:"decreasing,omitempty"` + + // Font + // role: Object + Font *IndicatorDeltaFont `json:"font,omitempty"` + + // Increasing + // role: Object + Increasing *IndicatorDeltaIncreasing `json:"increasing,omitempty"` + + // Position + // default: bottom + // type: enumerated + // Sets the position of delta with respect to the number. + Position IndicatorDeltaPosition `json:"position,omitempty"` + + // Prefix + // arrayOK: false + // type: string + // Sets a prefix appearing before the delta. + Prefix String `json:"prefix,omitempty"` + + // Reference + // arrayOK: false + // type: number + // Sets the reference value to compute the delta. By default, it is set to the current value. + Reference float64 `json:"reference,omitempty"` + + // Relative + // arrayOK: false + // type: boolean + // Show relative change + Relative Bool `json:"relative,omitempty"` + + // Suffix + // arrayOK: false + // type: string + // Sets a suffix appearing next to the delta. + Suffix String `json:"suffix,omitempty"` + + // Valueformat + // arrayOK: false + // 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. + Valueformat String `json:"valueformat,omitempty"` +} + +// IndicatorDomain +type IndicatorDomain struct { + + // Column + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this column in the grid for this indicator trace . + Column int64 `json:"column,omitempty"` + + // Row + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this row in the grid for this indicator trace . + Row int64 `json:"row,omitempty"` + + // X + // arrayOK: false + // type: info_array + // Sets the horizontal domain of this indicator trace (in plot fraction). + X interface{} `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: info_array + // Sets the vertical domain of this indicator trace (in plot fraction). + Y interface{} `json:"y,omitempty"` +} + +// IndicatorGaugeAxisTickfont Sets the color bar's tick label font +type IndicatorGaugeAxisTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// IndicatorGaugeAxis +type IndicatorGaugeAxis struct { + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat IndicatorGaugeAxisExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Range + // arrayOK: false + // type: info_array + // Sets the range of this axis. + Range interface{} `json:"range,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent IndicatorGaugeAxisShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix IndicatorGaugeAxisShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix IndicatorGaugeAxisShowticksuffix `json:"showticksuffix,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *IndicatorGaugeAxisTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode IndicatorGaugeAxisTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: outside + // type: enumerated + // 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. + Ticks IndicatorGaugeAxisTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // 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 + Visible Bool `json:"visible,omitempty"` +} + +// IndicatorGaugeBarLine +type IndicatorGaugeBarLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the color of the line enclosing each sector. + Color Color `json:"color,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of the line enclosing each sector. + Width float64 `json:"width,omitempty"` +} + +// IndicatorGaugeBar Set the appearance of the gauge's value +type IndicatorGaugeBar struct { + + // Color + // arrayOK: false + // type: color + // Sets the background color of the arc. + Color Color `json:"color,omitempty"` + + // Line + // role: Object + Line *IndicatorGaugeBarLine `json:"line,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the bar as a fraction of the total thickness of the gauge. + Thickness float64 `json:"thickness,omitempty"` +} + +// IndicatorGaugeThresholdLine +type IndicatorGaugeThresholdLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the color of the threshold line. + Color Color `json:"color,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of the threshold line. + Width float64 `json:"width,omitempty"` +} + +// IndicatorGaugeThreshold +type IndicatorGaugeThreshold struct { + + // Line + // role: Object + Line *IndicatorGaugeThresholdLine `json:"line,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the threshold line as a fraction of the thickness of the gauge. + Thickness float64 `json:"thickness,omitempty"` + + // Value + // arrayOK: false + // type: number + // Sets a treshold value drawn as a line. + Value float64 `json:"value,omitempty"` +} + +// IndicatorGauge The gauge of the Indicator plot. +type IndicatorGauge struct { + + // Axis + // role: Object + Axis *IndicatorGaugeAxis `json:"axis,omitempty"` + + // Bar + // role: Object + Bar *IndicatorGaugeBar `json:"bar,omitempty"` + + // Bgcolor + // arrayOK: false + // type: color + // Sets the gauge background color. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the color of the border enclosing the gauge. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the border enclosing the gauge. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Shape + // default: angular + // type: enumerated + // Set the shape of the gauge + Shape IndicatorGaugeShape `json:"shape,omitempty"` + + // Steps + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Steps interface{} `json:"steps,omitempty"` + + // Threshold + // role: Object + Threshold *IndicatorGaugeThreshold `json:"threshold,omitempty"` +} + +// IndicatorLegendgrouptitleFont Sets this legend group's title font. +type IndicatorLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// IndicatorLegendgrouptitle +type IndicatorLegendgrouptitle struct { + + // Font + // role: Object + Font *IndicatorLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// IndicatorNumberFont Set the font used to display main number +type IndicatorNumberFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// IndicatorNumber +type IndicatorNumber struct { + + // Font + // role: Object + Font *IndicatorNumberFont `json:"font,omitempty"` + + // Prefix + // arrayOK: false + // type: string + // Sets a prefix appearing before the number. + Prefix String `json:"prefix,omitempty"` + + // Suffix + // arrayOK: false + // type: string + // Sets a suffix appearing next to the number. + Suffix String `json:"suffix,omitempty"` + + // Valueformat + // arrayOK: false + // 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. + Valueformat String `json:"valueformat,omitempty"` +} + +// IndicatorStream +type IndicatorStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// IndicatorTitleFont Set the font used to display the title +type IndicatorTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// IndicatorTitle +type IndicatorTitle struct { + + // Align + // default: %!s() + // type: enumerated + // Sets the horizontal alignment of the title. It defaults to `center` except for bullet charts for which it defaults to right. + Align IndicatorTitleAlign `json:"align,omitempty"` + + // Font + // role: Object + Font *IndicatorTitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of this indicator. + Text String `json:"text,omitempty"` +} + +// IndicatorAlign 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 +type IndicatorAlign string + +const ( + IndicatorAlignLeft IndicatorAlign = "left" + IndicatorAlignCenter IndicatorAlign = "center" + IndicatorAlignRight IndicatorAlign = "right" +) + +// IndicatorDeltaPosition Sets the position of delta with respect to the number. +type IndicatorDeltaPosition string + +const ( + IndicatorDeltaPositionTop IndicatorDeltaPosition = "top" + IndicatorDeltaPositionBottom IndicatorDeltaPosition = "bottom" + IndicatorDeltaPositionLeft IndicatorDeltaPosition = "left" + IndicatorDeltaPositionRight IndicatorDeltaPosition = "right" +) + +// IndicatorGaugeAxisExponentformat 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. +type IndicatorGaugeAxisExponentformat string + +const ( + IndicatorGaugeAxisExponentformatNone IndicatorGaugeAxisExponentformat = "none" + IndicatorGaugeAxisExponentformatE1 IndicatorGaugeAxisExponentformat = "e" + IndicatorGaugeAxisExponentformatE2 IndicatorGaugeAxisExponentformat = "E" + IndicatorGaugeAxisExponentformatPower IndicatorGaugeAxisExponentformat = "power" + IndicatorGaugeAxisExponentformatSI IndicatorGaugeAxisExponentformat = "SI" + IndicatorGaugeAxisExponentformatB IndicatorGaugeAxisExponentformat = "B" +) + +// IndicatorGaugeAxisShowexponent 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. +type IndicatorGaugeAxisShowexponent string + +const ( + IndicatorGaugeAxisShowexponentAll IndicatorGaugeAxisShowexponent = "all" + IndicatorGaugeAxisShowexponentFirst IndicatorGaugeAxisShowexponent = "first" + IndicatorGaugeAxisShowexponentLast IndicatorGaugeAxisShowexponent = "last" + IndicatorGaugeAxisShowexponentNone IndicatorGaugeAxisShowexponent = "none" +) + +// IndicatorGaugeAxisShowtickprefix 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. +type IndicatorGaugeAxisShowtickprefix string + +const ( + IndicatorGaugeAxisShowtickprefixAll IndicatorGaugeAxisShowtickprefix = "all" + IndicatorGaugeAxisShowtickprefixFirst IndicatorGaugeAxisShowtickprefix = "first" + IndicatorGaugeAxisShowtickprefixLast IndicatorGaugeAxisShowtickprefix = "last" + IndicatorGaugeAxisShowtickprefixNone IndicatorGaugeAxisShowtickprefix = "none" +) + +// IndicatorGaugeAxisShowticksuffix Same as `showtickprefix` but for tick suffixes. +type IndicatorGaugeAxisShowticksuffix string + +const ( + IndicatorGaugeAxisShowticksuffixAll IndicatorGaugeAxisShowticksuffix = "all" + IndicatorGaugeAxisShowticksuffixFirst IndicatorGaugeAxisShowticksuffix = "first" + IndicatorGaugeAxisShowticksuffixLast IndicatorGaugeAxisShowticksuffix = "last" + IndicatorGaugeAxisShowticksuffixNone IndicatorGaugeAxisShowticksuffix = "none" +) + +// IndicatorGaugeAxisTickmode 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). +type IndicatorGaugeAxisTickmode string + +const ( + IndicatorGaugeAxisTickmodeAuto IndicatorGaugeAxisTickmode = "auto" + IndicatorGaugeAxisTickmodeLinear IndicatorGaugeAxisTickmode = "linear" + IndicatorGaugeAxisTickmodeArray IndicatorGaugeAxisTickmode = "array" +) + +// IndicatorGaugeAxisTicks 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. +type IndicatorGaugeAxisTicks string + +const ( + IndicatorGaugeAxisTicksOutside IndicatorGaugeAxisTicks = "outside" + IndicatorGaugeAxisTicksInside IndicatorGaugeAxisTicks = "inside" + IndicatorGaugeAxisTicksEmpty IndicatorGaugeAxisTicks = "" +) + +// IndicatorGaugeShape Set the shape of the gauge +type IndicatorGaugeShape string + +const ( + IndicatorGaugeShapeAngular IndicatorGaugeShape = "angular" + IndicatorGaugeShapeBullet IndicatorGaugeShape = "bullet" +) + +// IndicatorTitleAlign Sets the horizontal alignment of the title. It defaults to `center` except for bullet charts for which it defaults to right. +type IndicatorTitleAlign string + +const ( + IndicatorTitleAlignLeft IndicatorTitleAlign = "left" + IndicatorTitleAlignCenter IndicatorTitleAlign = "center" + IndicatorTitleAlignRight IndicatorTitleAlign = "right" +) + +// IndicatorVisible 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). +type IndicatorVisible interface{} + +var ( + IndicatorVisibleTrue IndicatorVisible = true + IndicatorVisibleFalse IndicatorVisible = false + IndicatorVisibleLegendonly IndicatorVisible = "legendonly" +) + +// IndicatorMode 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. +type IndicatorMode string + +const ( + // Flags + IndicatorModeNumber IndicatorMode = "number" + IndicatorModeDelta IndicatorMode = "delta" + IndicatorModeGauge IndicatorMode = "gauge" + + // Extra + +) diff --git a/generated/v2.31.1/graph_objects/isosurface_gen.go b/generated/v2.31.1/graph_objects/isosurface_gen.go new file mode 100644 index 0000000..cfdb3d3 --- /dev/null +++ b/generated/v2.31.1/graph_objects/isosurface_gen.go @@ -0,0 +1,1357 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeIsosurface TraceType = "isosurface" + +func (trace *Isosurface) GetType() TraceType { + return TraceTypeIsosurface +} + +// Isosurface 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. +type Isosurface struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Autocolorscale + // arrayOK: false + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Caps + // role: Object + Caps *IsosurfaceCaps `json:"caps,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *IsosurfaceColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Contour + // role: Object + Contour *IsosurfaceContour `json:"contour,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Flatshading + // arrayOK: false + // type: boolean + // Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low-poly look via flat reflections. + Flatshading Bool `json:"flatshading,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo IsosurfaceHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *IsosurfaceHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // Same as `text`. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Isomax + // arrayOK: false + // type: number + // Sets the maximum boundary for iso-surface plot. + Isomax float64 `json:"isomax,omitempty"` + + // Isomin + // arrayOK: false + // type: number + // Sets the minimum boundary for iso-surface plot. + Isomin float64 `json:"isomin,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *IsosurfaceLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Lighting + // role: Object + Lighting *IsosurfaceLighting `json:"lighting,omitempty"` + + // Lightposition + // role: Object + Lightposition *IsosurfaceLightposition `json:"lightposition,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // 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. + Opacity float64 `json:"opacity,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Scene + // arrayOK: false + // type: subplotid + // 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. + Scene String `json:"scene,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Showscale + // arrayOK: false + // type: boolean + // Determines whether or not a colorbar is displayed for this trace. + Showscale Bool `json:"showscale,omitempty"` + + // Slices + // role: Object + Slices *IsosurfaceSlices `json:"slices,omitempty"` + + // Spaceframe + // role: Object + Spaceframe *IsosurfaceSpaceframe `json:"spaceframe,omitempty"` + + // Stream + // role: Object + Stream *IsosurfaceStream `json:"stream,omitempty"` + + // Surface + // role: Object + Surface *IsosurfaceSurface `json:"surface,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Value + // arrayOK: false + // type: data_array + // Sets the 4th dimension (value) of the vertices. + Value interface{} `json:"value,omitempty"` + + // Valuehoverformat + // arrayOK: false + // 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. + Valuehoverformat String `json:"valuehoverformat,omitempty"` + + // Valuesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `value`. + Valuesrc String `json:"valuesrc,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible IsosurfaceVisible `json:"visible,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the X coordinates of the vertices on X axis. + X interface{} `json:"x,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the Y coordinates of the vertices on Y axis. + Y interface{} `json:"y,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` + + // Z + // arrayOK: false + // type: data_array + // Sets the Z coordinates of the vertices on Z axis. + Z interface{} `json:"z,omitempty"` + + // Zhoverformat + // arrayOK: false + // 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`. + Zhoverformat String `json:"zhoverformat,omitempty"` + + // Zsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `z`. + Zsrc String `json:"zsrc,omitempty"` +} + +// IsosurfaceCapsX +type IsosurfaceCapsX struct { + + // Fill + // arrayOK: false + // type: number + // 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. + Fill float64 `json:"fill,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // 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. + Show Bool `json:"show,omitempty"` +} + +// IsosurfaceCapsY +type IsosurfaceCapsY struct { + + // Fill + // arrayOK: false + // type: number + // 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. + Fill float64 `json:"fill,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // 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. + Show Bool `json:"show,omitempty"` +} + +// IsosurfaceCapsZ +type IsosurfaceCapsZ struct { + + // Fill + // arrayOK: false + // type: number + // 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. + Fill float64 `json:"fill,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // 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. + Show Bool `json:"show,omitempty"` +} + +// IsosurfaceCaps +type IsosurfaceCaps struct { + + // X + // role: Object + X *IsosurfaceCapsX `json:"x,omitempty"` + + // Y + // role: Object + Y *IsosurfaceCapsY `json:"y,omitempty"` + + // Z + // role: Object + Z *IsosurfaceCapsZ `json:"z,omitempty"` +} + +// IsosurfaceColorbarTickfont Sets the color bar's tick label font +type IsosurfaceColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// IsosurfaceColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type IsosurfaceColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// IsosurfaceColorbarTitle +type IsosurfaceColorbarTitle struct { + + // Font + // role: Object + Font *IsosurfaceColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side IsosurfaceColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// IsosurfaceColorbar +type IsosurfaceColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat IsosurfaceColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode IsosurfaceColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation IsosurfaceColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent IsosurfaceColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix IsosurfaceColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix IsosurfaceColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode IsosurfaceColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *IsosurfaceColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow IsosurfaceColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition IsosurfaceColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode IsosurfaceColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks IsosurfaceColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *IsosurfaceColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor IsosurfaceColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref IsosurfaceColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor IsosurfaceColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref IsosurfaceColorbarYref `json:"yref,omitempty"` +} + +// IsosurfaceContour +type IsosurfaceContour struct { + + // Color + // arrayOK: false + // type: color + // Sets the color of the contour lines. + Color Color `json:"color,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // Sets whether or not dynamic contours are shown on hover + Show Bool `json:"show,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width of the contour lines. + Width float64 `json:"width,omitempty"` +} + +// IsosurfaceHoverlabelFont Sets the font used in hover labels. +type IsosurfaceHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// IsosurfaceHoverlabel +type IsosurfaceHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align IsosurfaceHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *IsosurfaceHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// IsosurfaceLegendgrouptitleFont Sets this legend group's title font. +type IsosurfaceLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// IsosurfaceLegendgrouptitle +type IsosurfaceLegendgrouptitle struct { + + // Font + // role: Object + Font *IsosurfaceLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// IsosurfaceLighting +type IsosurfaceLighting struct { + + // Ambient + // arrayOK: false + // type: number + // Ambient light increases overall color visibility but can wash out the image. + Ambient float64 `json:"ambient,omitempty"` + + // Diffuse + // arrayOK: false + // type: number + // Represents the extent that incident rays are reflected in a range of angles. + Diffuse float64 `json:"diffuse,omitempty"` + + // Facenormalsepsilon + // arrayOK: false + // type: number + // Epsilon for face normals calculation avoids math issues arising from degenerate geometry. + Facenormalsepsilon float64 `json:"facenormalsepsilon,omitempty"` + + // Fresnel + // arrayOK: false + // type: number + // 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. + Fresnel float64 `json:"fresnel,omitempty"` + + // Roughness + // arrayOK: false + // type: number + // Alters specular reflection; the rougher the surface, the wider and less contrasty the shine. + Roughness float64 `json:"roughness,omitempty"` + + // Specular + // arrayOK: false + // type: number + // Represents the level that incident rays are reflected in a single direction, causing shine. + Specular float64 `json:"specular,omitempty"` + + // Vertexnormalsepsilon + // arrayOK: false + // type: number + // Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry. + Vertexnormalsepsilon float64 `json:"vertexnormalsepsilon,omitempty"` +} + +// IsosurfaceLightposition +type IsosurfaceLightposition struct { + + // X + // arrayOK: false + // type: number + // Numeric vector, representing the X coordinate for each vertex. + X float64 `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: number + // Numeric vector, representing the Y coordinate for each vertex. + Y float64 `json:"y,omitempty"` + + // Z + // arrayOK: false + // type: number + // Numeric vector, representing the Z coordinate for each vertex. + Z float64 `json:"z,omitempty"` +} + +// IsosurfaceSlicesX +type IsosurfaceSlicesX struct { + + // Fill + // arrayOK: false + // type: number + // 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. + Fill float64 `json:"fill,omitempty"` + + // Locations + // arrayOK: false + // 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. + Locations interface{} `json:"locations,omitempty"` + + // Locationssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `locations`. + Locationssrc String `json:"locationssrc,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // Determines whether or not slice planes about the x dimension are drawn. + Show Bool `json:"show,omitempty"` +} + +// IsosurfaceSlicesY +type IsosurfaceSlicesY struct { + + // Fill + // arrayOK: false + // type: number + // 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. + Fill float64 `json:"fill,omitempty"` + + // Locations + // arrayOK: false + // 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. + Locations interface{} `json:"locations,omitempty"` + + // Locationssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `locations`. + Locationssrc String `json:"locationssrc,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // Determines whether or not slice planes about the y dimension are drawn. + Show Bool `json:"show,omitempty"` +} + +// IsosurfaceSlicesZ +type IsosurfaceSlicesZ struct { + + // Fill + // arrayOK: false + // type: number + // 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. + Fill float64 `json:"fill,omitempty"` + + // Locations + // arrayOK: false + // 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. + Locations interface{} `json:"locations,omitempty"` + + // Locationssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `locations`. + Locationssrc String `json:"locationssrc,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // Determines whether or not slice planes about the z dimension are drawn. + Show Bool `json:"show,omitempty"` +} + +// IsosurfaceSlices +type IsosurfaceSlices struct { + + // X + // role: Object + X *IsosurfaceSlicesX `json:"x,omitempty"` + + // Y + // role: Object + Y *IsosurfaceSlicesY `json:"y,omitempty"` + + // Z + // role: Object + Z *IsosurfaceSlicesZ `json:"z,omitempty"` +} + +// IsosurfaceSpaceframe +type IsosurfaceSpaceframe struct { + + // Fill + // arrayOK: false + // type: number + // 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). + Fill float64 `json:"fill,omitempty"` + + // Show + // arrayOK: false + // 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. + Show Bool `json:"show,omitempty"` +} + +// IsosurfaceStream +type IsosurfaceStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// IsosurfaceSurface +type IsosurfaceSurface struct { + + // Count + // arrayOK: false + // type: integer + // 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. + Count int64 `json:"count,omitempty"` + + // Fill + // arrayOK: false + // type: number + // 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. + Fill float64 `json:"fill,omitempty"` + + // Pattern + // default: all + // type: flaglist + // 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. + Pattern IsosurfaceSurfacePattern `json:"pattern,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // Hides/displays surfaces between minimum and maximum iso-values. + Show Bool `json:"show,omitempty"` +} + +// IsosurfaceColorbarExponentformat 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. +type IsosurfaceColorbarExponentformat string + +const ( + IsosurfaceColorbarExponentformatNone IsosurfaceColorbarExponentformat = "none" + IsosurfaceColorbarExponentformatE1 IsosurfaceColorbarExponentformat = "e" + IsosurfaceColorbarExponentformatE2 IsosurfaceColorbarExponentformat = "E" + IsosurfaceColorbarExponentformatPower IsosurfaceColorbarExponentformat = "power" + IsosurfaceColorbarExponentformatSI IsosurfaceColorbarExponentformat = "SI" + IsosurfaceColorbarExponentformatB IsosurfaceColorbarExponentformat = "B" +) + +// IsosurfaceColorbarLenmode 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. +type IsosurfaceColorbarLenmode string + +const ( + IsosurfaceColorbarLenmodeFraction IsosurfaceColorbarLenmode = "fraction" + IsosurfaceColorbarLenmodePixels IsosurfaceColorbarLenmode = "pixels" +) + +// IsosurfaceColorbarOrientation Sets the orientation of the colorbar. +type IsosurfaceColorbarOrientation string + +const ( + IsosurfaceColorbarOrientationH IsosurfaceColorbarOrientation = "h" + IsosurfaceColorbarOrientationV IsosurfaceColorbarOrientation = "v" +) + +// IsosurfaceColorbarShowexponent 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. +type IsosurfaceColorbarShowexponent string + +const ( + IsosurfaceColorbarShowexponentAll IsosurfaceColorbarShowexponent = "all" + IsosurfaceColorbarShowexponentFirst IsosurfaceColorbarShowexponent = "first" + IsosurfaceColorbarShowexponentLast IsosurfaceColorbarShowexponent = "last" + IsosurfaceColorbarShowexponentNone IsosurfaceColorbarShowexponent = "none" +) + +// IsosurfaceColorbarShowtickprefix 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. +type IsosurfaceColorbarShowtickprefix string + +const ( + IsosurfaceColorbarShowtickprefixAll IsosurfaceColorbarShowtickprefix = "all" + IsosurfaceColorbarShowtickprefixFirst IsosurfaceColorbarShowtickprefix = "first" + IsosurfaceColorbarShowtickprefixLast IsosurfaceColorbarShowtickprefix = "last" + IsosurfaceColorbarShowtickprefixNone IsosurfaceColorbarShowtickprefix = "none" +) + +// IsosurfaceColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type IsosurfaceColorbarShowticksuffix string + +const ( + IsosurfaceColorbarShowticksuffixAll IsosurfaceColorbarShowticksuffix = "all" + IsosurfaceColorbarShowticksuffixFirst IsosurfaceColorbarShowticksuffix = "first" + IsosurfaceColorbarShowticksuffixLast IsosurfaceColorbarShowticksuffix = "last" + IsosurfaceColorbarShowticksuffixNone IsosurfaceColorbarShowticksuffix = "none" +) + +// IsosurfaceColorbarThicknessmode 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. +type IsosurfaceColorbarThicknessmode string + +const ( + IsosurfaceColorbarThicknessmodeFraction IsosurfaceColorbarThicknessmode = "fraction" + IsosurfaceColorbarThicknessmodePixels IsosurfaceColorbarThicknessmode = "pixels" +) + +// IsosurfaceColorbarTicklabeloverflow 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*. +type IsosurfaceColorbarTicklabeloverflow string + +const ( + IsosurfaceColorbarTicklabeloverflowAllow IsosurfaceColorbarTicklabeloverflow = "allow" + IsosurfaceColorbarTicklabeloverflowHidePastDiv IsosurfaceColorbarTicklabeloverflow = "hide past div" + IsosurfaceColorbarTicklabeloverflowHidePastDomain IsosurfaceColorbarTicklabeloverflow = "hide past domain" +) + +// IsosurfaceColorbarTicklabelposition 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*. +type IsosurfaceColorbarTicklabelposition string + +const ( + IsosurfaceColorbarTicklabelpositionOutside IsosurfaceColorbarTicklabelposition = "outside" + IsosurfaceColorbarTicklabelpositionInside IsosurfaceColorbarTicklabelposition = "inside" + IsosurfaceColorbarTicklabelpositionOutsideTop IsosurfaceColorbarTicklabelposition = "outside top" + IsosurfaceColorbarTicklabelpositionInsideTop IsosurfaceColorbarTicklabelposition = "inside top" + IsosurfaceColorbarTicklabelpositionOutsideLeft IsosurfaceColorbarTicklabelposition = "outside left" + IsosurfaceColorbarTicklabelpositionInsideLeft IsosurfaceColorbarTicklabelposition = "inside left" + IsosurfaceColorbarTicklabelpositionOutsideRight IsosurfaceColorbarTicklabelposition = "outside right" + IsosurfaceColorbarTicklabelpositionInsideRight IsosurfaceColorbarTicklabelposition = "inside right" + IsosurfaceColorbarTicklabelpositionOutsideBottom IsosurfaceColorbarTicklabelposition = "outside bottom" + IsosurfaceColorbarTicklabelpositionInsideBottom IsosurfaceColorbarTicklabelposition = "inside bottom" +) + +// IsosurfaceColorbarTickmode 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). +type IsosurfaceColorbarTickmode string + +const ( + IsosurfaceColorbarTickmodeAuto IsosurfaceColorbarTickmode = "auto" + IsosurfaceColorbarTickmodeLinear IsosurfaceColorbarTickmode = "linear" + IsosurfaceColorbarTickmodeArray IsosurfaceColorbarTickmode = "array" +) + +// IsosurfaceColorbarTicks 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. +type IsosurfaceColorbarTicks string + +const ( + IsosurfaceColorbarTicksOutside IsosurfaceColorbarTicks = "outside" + IsosurfaceColorbarTicksInside IsosurfaceColorbarTicks = "inside" + IsosurfaceColorbarTicksEmpty IsosurfaceColorbarTicks = "" +) + +// IsosurfaceColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type IsosurfaceColorbarTitleSide string + +const ( + IsosurfaceColorbarTitleSideRight IsosurfaceColorbarTitleSide = "right" + IsosurfaceColorbarTitleSideTop IsosurfaceColorbarTitleSide = "top" + IsosurfaceColorbarTitleSideBottom IsosurfaceColorbarTitleSide = "bottom" +) + +// IsosurfaceColorbarXanchor 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*. +type IsosurfaceColorbarXanchor string + +const ( + IsosurfaceColorbarXanchorLeft IsosurfaceColorbarXanchor = "left" + IsosurfaceColorbarXanchorCenter IsosurfaceColorbarXanchor = "center" + IsosurfaceColorbarXanchorRight IsosurfaceColorbarXanchor = "right" +) + +// IsosurfaceColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type IsosurfaceColorbarXref string + +const ( + IsosurfaceColorbarXrefContainer IsosurfaceColorbarXref = "container" + IsosurfaceColorbarXrefPaper IsosurfaceColorbarXref = "paper" +) + +// IsosurfaceColorbarYanchor 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*. +type IsosurfaceColorbarYanchor string + +const ( + IsosurfaceColorbarYanchorTop IsosurfaceColorbarYanchor = "top" + IsosurfaceColorbarYanchorMiddle IsosurfaceColorbarYanchor = "middle" + IsosurfaceColorbarYanchorBottom IsosurfaceColorbarYanchor = "bottom" +) + +// IsosurfaceColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type IsosurfaceColorbarYref string + +const ( + IsosurfaceColorbarYrefContainer IsosurfaceColorbarYref = "container" + IsosurfaceColorbarYrefPaper IsosurfaceColorbarYref = "paper" +) + +// IsosurfaceHoverlabelAlign 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 +type IsosurfaceHoverlabelAlign string + +const ( + IsosurfaceHoverlabelAlignLeft IsosurfaceHoverlabelAlign = "left" + IsosurfaceHoverlabelAlignRight IsosurfaceHoverlabelAlign = "right" + IsosurfaceHoverlabelAlignAuto IsosurfaceHoverlabelAlign = "auto" +) + +// IsosurfaceVisible 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). +type IsosurfaceVisible interface{} + +var ( + IsosurfaceVisibleTrue IsosurfaceVisible = true + IsosurfaceVisibleFalse IsosurfaceVisible = false + IsosurfaceVisibleLegendonly IsosurfaceVisible = "legendonly" +) + +// IsosurfaceHoverinfo 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. +type IsosurfaceHoverinfo string + +const ( + // Flags + IsosurfaceHoverinfoX IsosurfaceHoverinfo = "x" + IsosurfaceHoverinfoY IsosurfaceHoverinfo = "y" + IsosurfaceHoverinfoZ IsosurfaceHoverinfo = "z" + IsosurfaceHoverinfoText IsosurfaceHoverinfo = "text" + IsosurfaceHoverinfoName IsosurfaceHoverinfo = "name" + + // Extra + IsosurfaceHoverinfoAll IsosurfaceHoverinfo = "all" + IsosurfaceHoverinfoNone IsosurfaceHoverinfo = "none" + IsosurfaceHoverinfoSkip IsosurfaceHoverinfo = "skip" +) + +// IsosurfaceSurfacePattern 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. +type IsosurfaceSurfacePattern string + +const ( + // Flags + IsosurfaceSurfacePatternA IsosurfaceSurfacePattern = "A" + IsosurfaceSurfacePatternB IsosurfaceSurfacePattern = "B" + IsosurfaceSurfacePatternC IsosurfaceSurfacePattern = "C" + IsosurfaceSurfacePatternD IsosurfaceSurfacePattern = "D" + IsosurfaceSurfacePatternE IsosurfaceSurfacePattern = "E" + + // Extra + IsosurfaceSurfacePatternAll IsosurfaceSurfacePattern = "all" + IsosurfaceSurfacePatternOdd IsosurfaceSurfacePattern = "odd" + IsosurfaceSurfacePatternEven IsosurfaceSurfacePattern = "even" +) diff --git a/generated/v2.31.1/graph_objects/layout_gen.go b/generated/v2.31.1/graph_objects/layout_gen.go new file mode 100644 index 0000000..6e2c1fb --- /dev/null +++ b/generated/v2.31.1/graph_objects/layout_gen.go @@ -0,0 +1,10298 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT.// Layout Plot layout options +type Layout struct { + + // Activeselection + // role: Object + Activeselection *LayoutActiveselection `json:"activeselection,omitempty"` + + // Activeshape + // role: Object + Activeshape *LayoutActiveshape `json:"activeshape,omitempty"` + + // Annotations + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Annotations interface{} `json:"annotations,omitempty"` + + // Autosize + // arrayOK: false + // 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. + Autosize Bool `json:"autosize,omitempty"` + + // Autotypenumbers + // default: convert types + // type: enumerated + // 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. + Autotypenumbers LayoutAutotypenumbers `json:"autotypenumbers,omitempty"` + + // Barcornerradius + // arrayOK: false + // type: any + // Sets the rounding of bar corners. May be an integer number of pixels, or a percentage of bar width (as a string ending in %). + Barcornerradius interface{} `json:"barcornerradius,omitempty"` + + // Bargap + // arrayOK: false + // type: number + // Sets the gap between bars of adjacent location coordinates. Values are unitless, they represent fractions of the minimum difference in bar positions in the data. + Bargap float64 `json:"bargap,omitempty"` + + // Bargroupgap + // arrayOK: false + // type: number + // Sets the gap (in plot fraction) between bars of the same location coordinate. + Bargroupgap float64 `json:"bargroupgap,omitempty"` + + // Barmode + // default: group + // type: enumerated + // Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *relative*, the bars are stacked on top of one another, with negative values below the axis, positive values above With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars. + Barmode LayoutBarmode `json:"barmode,omitempty"` + + // Barnorm + // default: + // type: enumerated + // Sets the normalization for bar traces on the graph. With *fraction*, the value of each bar is divided by the sum of all values at that location coordinate. *percent* is the same but multiplied by 100 to show percentages. + Barnorm LayoutBarnorm `json:"barnorm,omitempty"` + + // Boxgap + // arrayOK: false + // type: number + // Sets the gap (in plot fraction) between boxes of adjacent location coordinates. Has no effect on traces that have *width* set. + Boxgap float64 `json:"boxgap,omitempty"` + + // Boxgroupgap + // arrayOK: false + // type: number + // Sets the gap (in plot fraction) between boxes of the same location coordinate. Has no effect on traces that have *width* set. + Boxgroupgap float64 `json:"boxgroupgap,omitempty"` + + // Boxmode + // default: overlay + // type: enumerated + // Determines how boxes at the same location coordinate are displayed on the graph. If *group*, the boxes are plotted next to one another centered around the shared location. If *overlay*, the boxes are plotted over one another, you might need to set *opacity* to see them multiple boxes. Has no effect on traces that have *width* set. + Boxmode LayoutBoxmode `json:"boxmode,omitempty"` + + // Calendar + // default: gregorian + // type: enumerated + // Sets the default calendar system to use for interpreting and displaying dates throughout the plot. + Calendar LayoutCalendar `json:"calendar,omitempty"` + + // Clickmode + // default: event + // type: flaglist + // 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. + Clickmode LayoutClickmode `json:"clickmode,omitempty"` + + // Coloraxis + // role: Object + Coloraxis *LayoutColoraxis `json:"coloraxis,omitempty"` + + // Colorscale + // role: Object + Colorscale *LayoutColorscale `json:"colorscale,omitempty"` + + // Colorway + // arrayOK: false + // type: colorlist + // Sets the default trace colors. + Colorway ColorList `json:"colorway,omitempty"` + + // Computed + // arrayOK: false + // type: any + // Placeholder for exporting automargin-impacting values namely `margin.t`, `margin.b`, `margin.l` and `margin.r` in *full-json* mode. + Computed interface{} `json:"computed,omitempty"` + + // Datarevision + // arrayOK: false + // type: any + // 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. + Datarevision interface{} `json:"datarevision,omitempty"` + + // Dragmode + // default: zoom + // type: enumerated + // 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. + Dragmode LayoutDragmode `json:"dragmode,omitempty"` + + // Editrevision + // arrayOK: false + // type: any + // Controls persistence of user-driven changes in `editable: true` configuration, other than trace names and axis titles. Defaults to `layout.uirevision`. + Editrevision interface{} `json:"editrevision,omitempty"` + + // Extendfunnelareacolors + // arrayOK: false + // type: boolean + // If `true`, the funnelarea slice colors (whether given by `funnelareacolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended. + Extendfunnelareacolors Bool `json:"extendfunnelareacolors,omitempty"` + + // Extendiciclecolors + // arrayOK: false + // type: boolean + // If `true`, the icicle slice colors (whether given by `iciclecolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended. + Extendiciclecolors Bool `json:"extendiciclecolors,omitempty"` + + // Extendpiecolors + // arrayOK: false + // type: boolean + // If `true`, the pie slice colors (whether given by `piecolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended. + Extendpiecolors Bool `json:"extendpiecolors,omitempty"` + + // Extendsunburstcolors + // arrayOK: false + // type: boolean + // If `true`, the sunburst slice colors (whether given by `sunburstcolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended. + Extendsunburstcolors Bool `json:"extendsunburstcolors,omitempty"` + + // Extendtreemapcolors + // arrayOK: false + // type: boolean + // If `true`, the treemap slice colors (whether given by `treemapcolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended. + Extendtreemapcolors Bool `json:"extendtreemapcolors,omitempty"` + + // Font + // role: Object + Font *LayoutFont `json:"font,omitempty"` + + // Funnelareacolorway + // arrayOK: false + // type: colorlist + // Sets the default funnelarea slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendfunnelareacolors`. + Funnelareacolorway ColorList `json:"funnelareacolorway,omitempty"` + + // Funnelgap + // arrayOK: false + // type: number + // Sets the gap (in plot fraction) between bars of adjacent location coordinates. + Funnelgap float64 `json:"funnelgap,omitempty"` + + // Funnelgroupgap + // arrayOK: false + // type: number + // Sets the gap (in plot fraction) between bars of the same location coordinate. + Funnelgroupgap float64 `json:"funnelgroupgap,omitempty"` + + // Funnelmode + // default: stack + // type: enumerated + // Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars. + Funnelmode LayoutFunnelmode `json:"funnelmode,omitempty"` + + // Geo + // role: Object + Geo *LayoutGeo `json:"geo,omitempty"` + + // Grid + // role: Object + Grid *LayoutGrid `json:"grid,omitempty"` + + // Height + // arrayOK: false + // type: number + // Sets the plot's height (in px). + Height float64 `json:"height,omitempty"` + + // Hiddenlabels + // arrayOK: false + // type: data_array + // hiddenlabels is the funnelarea & pie chart analog of visible:'legendonly' but it can contain many labels, and can simultaneously hide slices from several pies/funnelarea charts + Hiddenlabels interface{} `json:"hiddenlabels,omitempty"` + + // Hiddenlabelssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hiddenlabels`. + Hiddenlabelssrc String `json:"hiddenlabelssrc,omitempty"` + + // Hidesources + // arrayOK: false + // 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). + Hidesources Bool `json:"hidesources,omitempty"` + + // Hoverdistance + // arrayOK: false + // type: integer + // 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. + Hoverdistance int64 `json:"hoverdistance,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *LayoutHoverlabel `json:"hoverlabel,omitempty"` + + // Hovermode + // default: closest + // type: enumerated + // 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. + Hovermode LayoutHovermode `json:"hovermode,omitempty"` + + // Hoversubplots + // default: overlaying + // type: enumerated + // 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*. + Hoversubplots LayoutHoversubplots `json:"hoversubplots,omitempty"` + + // Iciclecolorway + // arrayOK: false + // type: colorlist + // Sets the default icicle slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendiciclecolors`. + Iciclecolorway ColorList `json:"iciclecolorway,omitempty"` + + // Images + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Images interface{} `json:"images,omitempty"` + + // Legend + // role: Object + Legend *LayoutLegend `json:"legend,omitempty"` + + // Mapbox + // role: Object + Mapbox *LayoutMapbox `json:"mapbox,omitempty"` + + // Margin + // role: Object + Margin *LayoutMargin `json:"margin,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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]}. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Minreducedheight + // arrayOK: false + // type: number + // Minimum height of the plot with margin.automargin applied (in px) + Minreducedheight float64 `json:"minreducedheight,omitempty"` + + // Minreducedwidth + // arrayOK: false + // type: number + // Minimum width of the plot with margin.automargin applied (in px) + Minreducedwidth float64 `json:"minreducedwidth,omitempty"` + + // Modebar + // role: Object + Modebar *LayoutModebar `json:"modebar,omitempty"` + + // Newselection + // role: Object + Newselection *LayoutNewselection `json:"newselection,omitempty"` + + // Newshape + // role: Object + Newshape *LayoutNewshape `json:"newshape,omitempty"` + + // PaperBgcolor + // arrayOK: false + // type: color + // Sets the background color of the paper where the graph is drawn. + PaperBgcolor Color `json:"paper_bgcolor,omitempty"` + + // Piecolorway + // arrayOK: false + // type: colorlist + // Sets the default pie slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendpiecolors`. + Piecolorway ColorList `json:"piecolorway,omitempty"` + + // PlotBgcolor + // arrayOK: false + // type: color + // Sets the background color of the plotting area in-between x and y axes. + PlotBgcolor Color `json:"plot_bgcolor,omitempty"` + + // Polar + // role: Object + Polar *LayoutPolar `json:"polar,omitempty"` + + // Scattergap + // arrayOK: false + // type: number + // Sets the gap (in plot fraction) between scatter points of adjacent location coordinates. Defaults to `bargap`. + Scattergap float64 `json:"scattergap,omitempty"` + + // Scattermode + // default: overlay + // type: enumerated + // Determines how scatter points at the same location coordinate are displayed on the graph. With *group*, the scatter points are plotted next to one another centered around the shared location. With *overlay*, the scatter points are plotted over one another, you might need to reduce *opacity* to see multiple scatter points. + Scattermode LayoutScattermode `json:"scattermode,omitempty"` + + // Scene + // role: Object + Scene *LayoutScene `json:"scene,omitempty"` + + // Selectdirection + // default: any + // type: enumerated + // 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. + Selectdirection LayoutSelectdirection `json:"selectdirection,omitempty"` + + // Selectionrevision + // arrayOK: false + // type: any + // Controls persistence of user-driven changes in selected points from all traces. + Selectionrevision interface{} `json:"selectionrevision,omitempty"` + + // Selections + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Selections interface{} `json:"selections,omitempty"` + + // Separators + // arrayOK: false + // 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. + Separators String `json:"separators,omitempty"` + + // Shapes + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Shapes interface{} `json:"shapes,omitempty"` + + // Showlegend + // arrayOK: false + // 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`. + Showlegend Bool `json:"showlegend,omitempty"` + + // Sliders + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Sliders interface{} `json:"sliders,omitempty"` + + // Smith + // role: Object + Smith *LayoutSmith `json:"smith,omitempty"` + + // Spikedistance + // arrayOK: false + // type: integer + // 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. + Spikedistance int64 `json:"spikedistance,omitempty"` + + // Sunburstcolorway + // arrayOK: false + // type: colorlist + // Sets the default sunburst slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendsunburstcolors`. + Sunburstcolorway ColorList `json:"sunburstcolorway,omitempty"` + + // Template + // arrayOK: false + // type: any + // 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`. + Template interface{} `json:"template,omitempty"` + + // Ternary + // role: Object + Ternary *LayoutTernary `json:"ternary,omitempty"` + + // Title + // role: Object + Title *LayoutTitle `json:"title,omitempty"` + + // Transition + // role: Object + Transition *LayoutTransition `json:"transition,omitempty"` + + // Treemapcolorway + // arrayOK: false + // type: colorlist + // Sets the default treemap slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendtreemapcolors`. + Treemapcolorway ColorList `json:"treemapcolorway,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Uniformtext + // role: Object + Uniformtext *LayoutUniformtext `json:"uniformtext,omitempty"` + + // Updatemenus + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Updatemenus interface{} `json:"updatemenus,omitempty"` + + // Violingap + // arrayOK: false + // type: number + // Sets the gap (in plot fraction) between violins of adjacent location coordinates. Has no effect on traces that have *width* set. + Violingap float64 `json:"violingap,omitempty"` + + // Violingroupgap + // arrayOK: false + // type: number + // Sets the gap (in plot fraction) between violins of the same location coordinate. Has no effect on traces that have *width* set. + Violingroupgap float64 `json:"violingroupgap,omitempty"` + + // Violinmode + // default: overlay + // type: enumerated + // Determines how violins at the same location coordinate are displayed on the graph. If *group*, the violins are plotted next to one another centered around the shared location. If *overlay*, the violins are plotted over one another, you might need to set *opacity* to see them multiple violins. Has no effect on traces that have *width* set. + Violinmode LayoutViolinmode `json:"violinmode,omitempty"` + + // Waterfallgap + // arrayOK: false + // type: number + // Sets the gap (in plot fraction) between bars of adjacent location coordinates. + Waterfallgap float64 `json:"waterfallgap,omitempty"` + + // Waterfallgroupgap + // arrayOK: false + // type: number + // Sets the gap (in plot fraction) between bars of the same location coordinate. + Waterfallgroupgap float64 `json:"waterfallgroupgap,omitempty"` + + // Waterfallmode + // default: group + // type: enumerated + // Determines how bars at the same location coordinate are displayed on the graph. With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars. + Waterfallmode LayoutWaterfallmode `json:"waterfallmode,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the plot's width (in px). + Width float64 `json:"width,omitempty"` + + // Xaxis + // role: Object + Xaxis *LayoutXaxis `json:"xaxis,omitempty"` + + // Yaxis + // role: Object + Yaxis *LayoutYaxis `json:"yaxis,omitempty"` + + // XAxis2 + // X Axis number 2 + XAxis2 *LayoutXaxis `json:"xaxis2,omitempty"` + + // XAxis3 + // X Axis number 3 + XAxis3 *LayoutXaxis `json:"xaxis3,omitempty"` + + // XAxis4 + // X Axis number 4 + XAxis4 *LayoutXaxis `json:"xaxis4,omitempty"` + + // XAxis5 + // X Axis number 5 + XAxis5 *LayoutXaxis `json:"xaxis5,omitempty"` + + // XAxis6 + // X Axis number 6 + XAxis6 *LayoutXaxis `json:"xaxis6,omitempty"` + + // YAxis2 + // Y Axis number 2 + YAxis2 *LayoutYaxis `json:"yaxis2,omitempty"` + + // YAxis3 + // Y Axis number 3 + YAxis3 *LayoutYaxis `json:"yaxis3,omitempty"` + + // YAxis4 + // Y Axis number 4 + YAxis4 *LayoutYaxis `json:"yaxis4,omitempty"` + + // YAxis5 + // Y Axis number 5 + YAxis5 *LayoutYaxis `json:"yaxis5,omitempty"` + + // YAxis6 + // Y Axis number 6 + YAxis6 *LayoutYaxis `json:"yaxis6,omitempty"` +} + +// LayoutActiveselection +type LayoutActiveselection struct { + + // Fillcolor + // arrayOK: false + // type: color + // Sets the color filling the active selection' interior. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the active selection. + Opacity float64 `json:"opacity,omitempty"` +} + +// LayoutActiveshape +type LayoutActiveshape struct { + + // Fillcolor + // arrayOK: false + // type: color + // Sets the color filling the active shape' interior. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the active shape. + Opacity float64 `json:"opacity,omitempty"` +} + +// LayoutColoraxisColorbarTickfont Sets the color bar's tick label font +type LayoutColoraxisColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutColoraxisColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type LayoutColoraxisColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutColoraxisColorbarTitle +type LayoutColoraxisColorbarTitle struct { + + // Font + // role: Object + Font *LayoutColoraxisColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side LayoutColoraxisColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// LayoutColoraxisColorbar +type LayoutColoraxisColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat LayoutColoraxisColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode LayoutColoraxisColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation LayoutColoraxisColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent LayoutColoraxisColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix LayoutColoraxisColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix LayoutColoraxisColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode LayoutColoraxisColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *LayoutColoraxisColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow LayoutColoraxisColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition LayoutColoraxisColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode LayoutColoraxisColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks LayoutColoraxisColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *LayoutColoraxisColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor LayoutColoraxisColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref LayoutColoraxisColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor LayoutColoraxisColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref LayoutColoraxisColorbarYref `json:"yref,omitempty"` +} + +// LayoutColoraxis +type LayoutColoraxis struct { + + // Autocolorscale + // arrayOK: false + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // Determines whether or not the color domain is computed with respect to the input data (here corresponding trace color array(s)) or the bounds set in `cmin` and `cmax` Defaults to `false` when `cmin` and `cmax` are set by the user. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // type: number + // Sets the upper bound of the color domain. Value should have the same units as corresponding trace color array(s) and if set, `cmin` must be set as well. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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 corresponding trace color array(s). Has no effect when `cauto` is `false`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // type: number + // Sets the lower bound of the color domain. Value should have the same units as corresponding trace color array(s) and if set, `cmax` must be set as well. + Cmin float64 `json:"cmin,omitempty"` + + // Colorbar + // role: Object + Colorbar *LayoutColoraxisColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // type: boolean + // Determines whether or not a colorbar is displayed for this trace. + Showscale Bool `json:"showscale,omitempty"` +} + +// LayoutColorscale +type LayoutColorscale struct { + + // Diverging + // default: [[%!s(float64=0) rgb(5,10,172)] [%!s(float64=0.35) rgb(106,137,247)] [%!s(float64=0.5) rgb(190,190,190)] [%!s(float64=0.6) rgb(220,170,132)] [%!s(float64=0.7) rgb(230,145,90)] [%!s(float64=1) rgb(178,10,28)]] + // type: colorscale + // Sets the default diverging colorscale. Note that `autocolorscale` must be true for this attribute to work. + Diverging ColorScale `json:"diverging,omitempty"` + + // Sequential + // default: [[%!s(float64=0) rgb(220,220,220)] [%!s(float64=0.2) rgb(245,195,157)] [%!s(float64=0.4) rgb(245,160,105)] [%!s(float64=1) rgb(178,10,28)]] + // type: colorscale + // Sets the default sequential colorscale for positive values. Note that `autocolorscale` must be true for this attribute to work. + Sequential ColorScale `json:"sequential,omitempty"` + + // Sequentialminus + // default: [[%!s(float64=0) rgb(5,10,172)] [%!s(float64=0.35) rgb(40,60,190)] [%!s(float64=0.5) rgb(70,100,245)] [%!s(float64=0.6) rgb(90,120,245)] [%!s(float64=0.7) rgb(106,137,247)] [%!s(float64=1) rgb(220,220,220)]] + // type: colorscale + // Sets the default sequential colorscale for negative values. Note that `autocolorscale` must be true for this attribute to work. + Sequentialminus ColorScale `json:"sequentialminus,omitempty"` +} + +// LayoutFont Sets the global font. Note that fonts used in traces and other layout components inherit from the global font. +type LayoutFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutGeoCenter +type LayoutGeoCenter struct { + + // Lat + // arrayOK: false + // type: number + // Sets the latitude of the map's center. For all projection types, the map's latitude center lies at the middle of the latitude range by default. + Lat float64 `json:"lat,omitempty"` + + // Lon + // arrayOK: false + // type: number + // Sets the longitude of the map's center. By default, the map's longitude center lies at the middle of the longitude range for scoped projection and above `projection.rotation.lon` otherwise. + Lon float64 `json:"lon,omitempty"` +} + +// LayoutGeoDomain +type LayoutGeoDomain struct { + + // Column + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this column in the grid for this geo subplot . Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both. + Column int64 `json:"column,omitempty"` + + // Row + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this row in the grid for this geo subplot . Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both. + Row int64 `json:"row,omitempty"` + + // X + // arrayOK: false + // type: info_array + // Sets the horizontal domain of this geo subplot (in plot fraction). Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both. + X interface{} `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: info_array + // Sets the vertical domain of this geo subplot (in plot fraction). Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both. + Y interface{} `json:"y,omitempty"` +} + +// LayoutGeoLataxis +type LayoutGeoLataxis struct { + + // Dtick + // arrayOK: false + // type: number + // Sets the graticule's longitude/latitude tick step. + Dtick float64 `json:"dtick,omitempty"` + + // Gridcolor + // arrayOK: false + // type: color + // Sets the graticule's stroke color. + Gridcolor Color `json:"gridcolor,omitempty"` + + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the graticule's stroke width (in px). + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Range + // arrayOK: false + // type: info_array + // Sets the range of this axis (in degrees), sets the map's clipped coordinates. + Range interface{} `json:"range,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Sets whether or not graticule are shown on the map. + Showgrid Bool `json:"showgrid,omitempty"` + + // Tick0 + // arrayOK: false + // type: number + // Sets the graticule's starting tick longitude/latitude. + Tick0 float64 `json:"tick0,omitempty"` +} + +// LayoutGeoLonaxis +type LayoutGeoLonaxis struct { + + // Dtick + // arrayOK: false + // type: number + // Sets the graticule's longitude/latitude tick step. + Dtick float64 `json:"dtick,omitempty"` + + // Gridcolor + // arrayOK: false + // type: color + // Sets the graticule's stroke color. + Gridcolor Color `json:"gridcolor,omitempty"` + + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the graticule's stroke width (in px). + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Range + // arrayOK: false + // type: info_array + // Sets the range of this axis (in degrees), sets the map's clipped coordinates. + Range interface{} `json:"range,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Sets whether or not graticule are shown on the map. + Showgrid Bool `json:"showgrid,omitempty"` + + // Tick0 + // arrayOK: false + // type: number + // Sets the graticule's starting tick longitude/latitude. + Tick0 float64 `json:"tick0,omitempty"` +} + +// LayoutGeoProjectionRotation +type LayoutGeoProjectionRotation struct { + + // Lat + // arrayOK: false + // type: number + // Rotates the map along meridians (in degrees North). + Lat float64 `json:"lat,omitempty"` + + // Lon + // arrayOK: false + // type: number + // Rotates the map along parallels (in degrees East). Defaults to the center of the `lonaxis.range` values. + Lon float64 `json:"lon,omitempty"` + + // Roll + // arrayOK: false + // type: number + // Roll the map (in degrees) For example, a roll of *180* makes the map appear upside down. + Roll float64 `json:"roll,omitempty"` +} + +// LayoutGeoProjection +type LayoutGeoProjection struct { + + // Distance + // arrayOK: false + // type: number + // For satellite projection type only. Sets the distance from the center of the sphere to the point of view as a proportion of the sphere’s radius. + Distance float64 `json:"distance,omitempty"` + + // Parallels + // arrayOK: false + // type: info_array + // For conic projection types only. Sets the parallels (tangent, secant) where the cone intersects the sphere. + Parallels interface{} `json:"parallels,omitempty"` + + // Rotation + // role: Object + Rotation *LayoutGeoProjectionRotation `json:"rotation,omitempty"` + + // Scale + // arrayOK: false + // type: number + // Zooms in or out on the map view. A scale of *1* corresponds to the largest zoom level that fits the map's lon and lat ranges. + Scale float64 `json:"scale,omitempty"` + + // Tilt + // arrayOK: false + // type: number + // For satellite projection type only. Sets the tilt angle of perspective projection. + Tilt float64 `json:"tilt,omitempty"` + + // Type + // default: %!s() + // type: enumerated + // Sets the projection type. + Type LayoutGeoProjectionType `json:"type,omitempty"` +} + +// LayoutGeo +type LayoutGeo struct { + + // Bgcolor + // arrayOK: false + // type: color + // Set the background color of the map + Bgcolor Color `json:"bgcolor,omitempty"` + + // Center + // role: Object + Center *LayoutGeoCenter `json:"center,omitempty"` + + // Coastlinecolor + // arrayOK: false + // type: color + // Sets the coastline color. + Coastlinecolor Color `json:"coastlinecolor,omitempty"` + + // Coastlinewidth + // arrayOK: false + // type: number + // Sets the coastline stroke width (in px). + Coastlinewidth float64 `json:"coastlinewidth,omitempty"` + + // Countrycolor + // arrayOK: false + // type: color + // Sets line color of the country boundaries. + Countrycolor Color `json:"countrycolor,omitempty"` + + // Countrywidth + // arrayOK: false + // type: number + // Sets line width (in px) of the country boundaries. + Countrywidth float64 `json:"countrywidth,omitempty"` + + // Domain + // role: Object + Domain *LayoutGeoDomain `json:"domain,omitempty"` + + // Fitbounds + // default: %!s(bool=false) + // type: enumerated + // Determines if this subplot's view settings are auto-computed to fit trace data. On scoped maps, setting `fitbounds` leads to `center.lon` and `center.lat` getting auto-filled. On maps with a non-clipped projection, setting `fitbounds` leads to `center.lon`, `center.lat`, and `projection.rotation.lon` getting auto-filled. On maps with a clipped projection, setting `fitbounds` leads to `center.lon`, `center.lat`, `projection.rotation.lon`, `projection.rotation.lat`, `lonaxis.range` and `lonaxis.range` getting auto-filled. If *locations*, only the trace's visible locations are considered in the `fitbounds` computations. If *geojson*, the entire trace input `geojson` (if provided) is considered in the `fitbounds` computations, Defaults to *false*. + Fitbounds LayoutGeoFitbounds `json:"fitbounds,omitempty"` + + // Framecolor + // arrayOK: false + // type: color + // Sets the color the frame. + Framecolor Color `json:"framecolor,omitempty"` + + // Framewidth + // arrayOK: false + // type: number + // Sets the stroke width (in px) of the frame. + Framewidth float64 `json:"framewidth,omitempty"` + + // Lakecolor + // arrayOK: false + // type: color + // Sets the color of the lakes. + Lakecolor Color `json:"lakecolor,omitempty"` + + // Landcolor + // arrayOK: false + // type: color + // Sets the land mass color. + Landcolor Color `json:"landcolor,omitempty"` + + // Lataxis + // role: Object + Lataxis *LayoutGeoLataxis `json:"lataxis,omitempty"` + + // Lonaxis + // role: Object + Lonaxis *LayoutGeoLonaxis `json:"lonaxis,omitempty"` + + // Oceancolor + // arrayOK: false + // type: color + // Sets the ocean color + Oceancolor Color `json:"oceancolor,omitempty"` + + // Projection + // role: Object + Projection *LayoutGeoProjection `json:"projection,omitempty"` + + // Resolution + // default: %!s(float64=110) + // type: enumerated + // Sets the resolution of the base layers. The values have units of km/mm e.g. 110 corresponds to a scale ratio of 1:110,000,000. + Resolution LayoutGeoResolution `json:"resolution,omitempty"` + + // Rivercolor + // arrayOK: false + // type: color + // Sets color of the rivers. + Rivercolor Color `json:"rivercolor,omitempty"` + + // Riverwidth + // arrayOK: false + // type: number + // Sets the stroke width (in px) of the rivers. + Riverwidth float64 `json:"riverwidth,omitempty"` + + // Scope + // default: world + // type: enumerated + // Set the scope of the map. + Scope LayoutGeoScope `json:"scope,omitempty"` + + // Showcoastlines + // arrayOK: false + // type: boolean + // Sets whether or not the coastlines are drawn. + Showcoastlines Bool `json:"showcoastlines,omitempty"` + + // Showcountries + // arrayOK: false + // type: boolean + // Sets whether or not country boundaries are drawn. + Showcountries Bool `json:"showcountries,omitempty"` + + // Showframe + // arrayOK: false + // type: boolean + // Sets whether or not a frame is drawn around the map. + Showframe Bool `json:"showframe,omitempty"` + + // Showlakes + // arrayOK: false + // type: boolean + // Sets whether or not lakes are drawn. + Showlakes Bool `json:"showlakes,omitempty"` + + // Showland + // arrayOK: false + // type: boolean + // Sets whether or not land masses are filled in color. + Showland Bool `json:"showland,omitempty"` + + // Showocean + // arrayOK: false + // type: boolean + // Sets whether or not oceans are filled in color. + Showocean Bool `json:"showocean,omitempty"` + + // Showrivers + // arrayOK: false + // type: boolean + // Sets whether or not rivers are drawn. + Showrivers Bool `json:"showrivers,omitempty"` + + // Showsubunits + // arrayOK: false + // type: boolean + // Sets whether or not boundaries of subunits within countries (e.g. states, provinces) are drawn. + Showsubunits Bool `json:"showsubunits,omitempty"` + + // Subunitcolor + // arrayOK: false + // type: color + // Sets the color of the subunits boundaries. + Subunitcolor Color `json:"subunitcolor,omitempty"` + + // Subunitwidth + // arrayOK: false + // type: number + // Sets the stroke width (in px) of the subunits boundaries. + Subunitwidth float64 `json:"subunitwidth,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // Controls persistence of user-driven changes in the view (projection and center). Defaults to `layout.uirevision`. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Sets the default visibility of the base layers. + Visible Bool `json:"visible,omitempty"` +} + +// LayoutGridDomain +type LayoutGridDomain struct { + + // X + // arrayOK: false + // type: info_array + // 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. + X interface{} `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: info_array + // 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. + Y interface{} `json:"y,omitempty"` +} + +// LayoutGrid +type LayoutGrid struct { + + // Columns + // arrayOK: false + // type: integer + // 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. + Columns int64 `json:"columns,omitempty"` + + // Domain + // role: Object + Domain *LayoutGridDomain `json:"domain,omitempty"` + + // Pattern + // default: coupled + // type: enumerated + // 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`. + Pattern LayoutGridPattern `json:"pattern,omitempty"` + + // Roworder + // default: top to bottom + // type: enumerated + // Is the first row the top or the bottom? Note that columns are always enumerated from left to right. + Roworder LayoutGridRoworder `json:"roworder,omitempty"` + + // Rows + // arrayOK: false + // type: integer + // 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. + Rows int64 `json:"rows,omitempty"` + + // Subplots + // arrayOK: false + // type: info_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. + Subplots interface{} `json:"subplots,omitempty"` + + // Xaxes + // arrayOK: false + // type: info_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. + Xaxes interface{} `json:"xaxes,omitempty"` + + // Xgap + // arrayOK: false + // type: number + // 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. + Xgap float64 `json:"xgap,omitempty"` + + // Xside + // default: bottom plot + // type: enumerated + // 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. + Xside LayoutGridXside `json:"xside,omitempty"` + + // Yaxes + // arrayOK: false + // type: info_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. + Yaxes interface{} `json:"yaxes,omitempty"` + + // Ygap + // arrayOK: false + // type: number + // 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. + Ygap float64 `json:"ygap,omitempty"` + + // Yside + // default: left plot + // type: enumerated + // 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. + Yside LayoutGridYside `json:"yside,omitempty"` +} + +// LayoutHoverlabelFont Sets the default hover label font used by all traces on the graph. +type LayoutHoverlabelFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutHoverlabelGrouptitlefont Sets the font for group titles in hover (unified modes). Defaults to `hoverlabel.font`. +type LayoutHoverlabelGrouptitlefont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutHoverlabel +type LayoutHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align LayoutHoverlabelAlign `json:"align,omitempty"` + + // Bgcolor + // arrayOK: false + // type: color + // Sets the background color of all hover labels on graph + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the border color of all hover labels on graph. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Font + // role: Object + Font *LayoutHoverlabelFont `json:"font,omitempty"` + + // Grouptitlefont + // role: Object + Grouptitlefont *LayoutHoverlabelGrouptitlefont `json:"grouptitlefont,omitempty"` + + // Namelength + // arrayOK: false + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` +} + +// LayoutLegendFont Sets the font used to text the legend items. +type LayoutLegendFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutLegendGrouptitlefont Sets the font for group titles in legend. Defaults to `legend.font` with its size increased about 10%. +type LayoutLegendGrouptitlefont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutLegendTitleFont Sets this legend's title font. Defaults to `legend.font` with its size increased about 20%. +type LayoutLegendTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutLegendTitle +type LayoutLegendTitle struct { + + // Font + // role: Object + Font *LayoutLegendTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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. + Side LayoutLegendTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend. + Text String `json:"text,omitempty"` +} + +// LayoutLegend +type LayoutLegend struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the legend background color. Defaults to `layout.paper_bgcolor`. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the color of the border enclosing the legend. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the border enclosing the legend. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Entrywidth + // arrayOK: false + // 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*. + Entrywidth float64 `json:"entrywidth,omitempty"` + + // Entrywidthmode + // default: pixels + // type: enumerated + // Determines what entrywidth means. + Entrywidthmode LayoutLegendEntrywidthmode `json:"entrywidthmode,omitempty"` + + // Font + // role: Object + Font *LayoutLegendFont `json:"font,omitempty"` + + // Groupclick + // default: togglegroup + // type: enumerated + // 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. + Groupclick LayoutLegendGroupclick `json:"groupclick,omitempty"` + + // Grouptitlefont + // role: Object + Grouptitlefont *LayoutLegendGrouptitlefont `json:"grouptitlefont,omitempty"` + + // Indentation + // arrayOK: false + // type: number + // Sets the indentation (in px) of the legend entries. + Indentation float64 `json:"indentation,omitempty"` + + // Itemclick + // default: toggle + // type: enumerated + // 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. + Itemclick LayoutLegendItemclick `json:"itemclick,omitempty"` + + // Itemdoubleclick + // default: toggleothers + // type: enumerated + // 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. + Itemdoubleclick LayoutLegendItemdoubleclick `json:"itemdoubleclick,omitempty"` + + // Itemsizing + // default: trace + // type: enumerated + // Determines if the legend items symbols scale with their corresponding *trace* attributes or remain *constant* independent of the symbol size on the graph. + Itemsizing LayoutLegendItemsizing `json:"itemsizing,omitempty"` + + // Itemwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the legend item symbols (the part other than the title.text). + Itemwidth float64 `json:"itemwidth,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the legend. + Orientation LayoutLegendOrientation `json:"orientation,omitempty"` + + // Title + // role: Object + Title *LayoutLegendTitle `json:"title,omitempty"` + + // Tracegroupgap + // arrayOK: false + // type: number + // Sets the amount of vertical space (in px) between legend groups. + Tracegroupgap float64 `json:"tracegroupgap,omitempty"` + + // Traceorder + // default: %!s() + // type: flaglist + // 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*. + Traceorder LayoutLegendTraceorder `json:"traceorder,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // Controls persistence of legend-driven changes in trace and pie label visibility. Defaults to `layout.uirevision`. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Valign + // default: middle + // type: enumerated + // Sets the vertical alignment of the symbols with respect to their associated text. + Valign LayoutLegendValign `json:"valign,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Determines whether or not this legend is visible. + Visible Bool `json:"visible,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: left + // type: enumerated + // 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. + Xanchor LayoutLegendXanchor `json:"xanchor,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref LayoutLegendXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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. + Yanchor LayoutLegendYanchor `json:"yanchor,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref LayoutLegendYref `json:"yref,omitempty"` +} + +// LayoutMapboxBounds +type LayoutMapboxBounds struct { + + // East + // arrayOK: false + // type: number + // Sets the maximum longitude of the map (in degrees East) if `west`, `south` and `north` are declared. + East float64 `json:"east,omitempty"` + + // North + // arrayOK: false + // type: number + // Sets the maximum latitude of the map (in degrees North) if `east`, `west` and `south` are declared. + North float64 `json:"north,omitempty"` + + // South + // arrayOK: false + // type: number + // Sets the minimum latitude of the map (in degrees North) if `east`, `west` and `north` are declared. + South float64 `json:"south,omitempty"` + + // West + // arrayOK: false + // type: number + // Sets the minimum longitude of the map (in degrees East) if `east`, `south` and `north` are declared. + West float64 `json:"west,omitempty"` +} + +// LayoutMapboxCenter +type LayoutMapboxCenter struct { + + // Lat + // arrayOK: false + // type: number + // Sets the latitude of the center of the map (in degrees North). + Lat float64 `json:"lat,omitempty"` + + // Lon + // arrayOK: false + // type: number + // Sets the longitude of the center of the map (in degrees East). + Lon float64 `json:"lon,omitempty"` +} + +// LayoutMapboxDomain +type LayoutMapboxDomain struct { + + // Column + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this column in the grid for this mapbox subplot . + Column int64 `json:"column,omitempty"` + + // Row + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this row in the grid for this mapbox subplot . + Row int64 `json:"row,omitempty"` + + // X + // arrayOK: false + // type: info_array + // Sets the horizontal domain of this mapbox subplot (in plot fraction). + X interface{} `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: info_array + // Sets the vertical domain of this mapbox subplot (in plot fraction). + Y interface{} `json:"y,omitempty"` +} + +// LayoutMapbox +type LayoutMapbox struct { + + // Accesstoken + // arrayOK: false + // type: string + // Sets the mapbox access token to be used for this mapbox map. Alternatively, the mapbox access token can be set in the configuration options under `mapboxAccessToken`. Note that accessToken are only required when `style` (e.g with values : basic, streets, outdoors, light, dark, satellite, satellite-streets ) and/or a layout layer references the Mapbox server. + Accesstoken String `json:"accesstoken,omitempty"` + + // Bearing + // arrayOK: false + // type: number + // Sets the bearing angle of the map in degrees counter-clockwise from North (mapbox.bearing). + Bearing float64 `json:"bearing,omitempty"` + + // Bounds + // role: Object + Bounds *LayoutMapboxBounds `json:"bounds,omitempty"` + + // Center + // role: Object + Center *LayoutMapboxCenter `json:"center,omitempty"` + + // Domain + // role: Object + Domain *LayoutMapboxDomain `json:"domain,omitempty"` + + // Layers + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Layers interface{} `json:"layers,omitempty"` + + // Pitch + // arrayOK: false + // type: number + // Sets the pitch angle of the map (in degrees, where *0* means perpendicular to the surface of the map) (mapbox.pitch). + Pitch float64 `json:"pitch,omitempty"` + + // Style + // arrayOK: false + // type: any + // 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.mapbox.layers`. These layers can be defined either explicitly as a Mapbox 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 which do not require any access tokens, or by using a default Mapbox style or custom Mapbox style URL, both of which require a Mapbox access token Note that Mapbox access token can be set in the `accesstoken` attribute or in the `mapboxAccessToken` config option. Mapbox Style objects are of the form described in the Mapbox GL JS documentation available at https://docs.mapbox.com/mapbox-gl-js/style-spec The built-in plotly.js styles objects are: carto-darkmatter, carto-positron, open-street-map, stamen-terrain, stamen-toner, stamen-watercolor, white-bg The built-in Mapbox styles are: basic, streets, outdoors, light, dark, satellite, satellite-streets Mapbox style URLs are of the form: mapbox://mapbox.mapbox-- + Style interface{} `json:"style,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // Controls persistence of user-driven changes in the view: `center`, `zoom`, `bearing`, `pitch`. Defaults to `layout.uirevision`. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Zoom + // arrayOK: false + // type: number + // Sets the zoom level of the map (mapbox.zoom). + Zoom float64 `json:"zoom,omitempty"` +} + +// LayoutMargin +type LayoutMargin struct { + + // Autoexpand + // arrayOK: false + // type: boolean + // Turns on/off margin expansion computations. Legends, colorbars, updatemenus, sliders, axis rangeselector and rangeslider are allowed to push the margins by defaults. + Autoexpand Bool `json:"autoexpand,omitempty"` + + // B + // arrayOK: false + // type: number + // Sets the bottom margin (in px). + B float64 `json:"b,omitempty"` + + // L + // arrayOK: false + // type: number + // Sets the left margin (in px). + L float64 `json:"l,omitempty"` + + // Pad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) between the plotting area and the axis lines + Pad float64 `json:"pad,omitempty"` + + // R + // arrayOK: false + // type: number + // Sets the right margin (in px). + R float64 `json:"r,omitempty"` + + // T + // arrayOK: false + // type: number + // Sets the top margin (in px). + T float64 `json:"t,omitempty"` +} + +// LayoutModebar +type LayoutModebar struct { + + // Activecolor + // arrayOK: false + // type: color + // Sets the color of the active or hovered on icons in the modebar. + Activecolor Color `json:"activecolor,omitempty"` + + // Add + // arrayOK: true + // type: string + // 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*. + Add String `json:"add,omitempty"` + + // Addsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `add`. + Addsrc String `json:"addsrc,omitempty"` + + // Bgcolor + // arrayOK: false + // type: color + // Sets the background color of the modebar. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the color of the icons in the modebar. + Color Color `json:"color,omitempty"` + + // Orientation + // default: h + // type: enumerated + // Sets the orientation of the modebar. + Orientation LayoutModebarOrientation `json:"orientation,omitempty"` + + // Remove + // arrayOK: true + // type: string + // 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*, *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*, *zoomInMapbox*, *zoomOut2d*, *zoomOutGeo*, *zoomOutMapbox*, *zoomin*, *zoomout*. + Remove String `json:"remove,omitempty"` + + // Removesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `remove`. + Removesrc String `json:"removesrc,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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`. + Uirevision interface{} `json:"uirevision,omitempty"` +} + +// LayoutNewselectionLine +type LayoutNewselectionLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the line color. By default uses either dark grey or white to increase contrast with background color. + Color Color `json:"color,omitempty"` + + // Dash + // arrayOK: false + // type: string + // 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*). + Dash String `json:"dash,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width (in px). + Width float64 `json:"width,omitempty"` +} + +// LayoutNewselection +type LayoutNewselection struct { + + // Line + // role: Object + Line *LayoutNewselectionLine `json:"line,omitempty"` + + // Mode + // default: immediate + // type: enumerated + // 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. + Mode LayoutNewselectionMode `json:"mode,omitempty"` +} + +// LayoutNewshapeLabelFont Sets the new shape label text font. +type LayoutNewshapeLabelFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutNewshapeLabel +type LayoutNewshapeLabel struct { + + // Font + // role: Object + Font *LayoutNewshapeLabelFont `json:"font,omitempty"` + + // Padding + // arrayOK: false + // type: number + // Sets padding (in px) between edge of label and edge of new shape. + Padding float64 `json:"padding,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the text to display with the new shape. It is also used for legend item if `name` is not provided. + Text String `json:"text,omitempty"` + + // Textangle + // arrayOK: false + // type: angle + // 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. + Textangle float64 `json:"textangle,omitempty"` + + // Textposition + // default: %!s() + // type: enumerated + // 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. + Textposition LayoutNewshapeLabelTextposition `json:"textposition,omitempty"` + + // Texttemplate + // arrayOK: false + // 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`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Xanchor + // default: auto + // type: enumerated + // 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. + Xanchor LayoutNewshapeLabelXanchor `json:"xanchor,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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. + Yanchor LayoutNewshapeLabelYanchor `json:"yanchor,omitempty"` +} + +// LayoutNewshapeLegendgrouptitleFont Sets this legend group's title font. +type LayoutNewshapeLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutNewshapeLegendgrouptitle +type LayoutNewshapeLegendgrouptitle struct { + + // Font + // role: Object + Font *LayoutNewshapeLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// LayoutNewshapeLine +type LayoutNewshapeLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the line color. By default uses either dark grey or white to increase contrast with background color. + Color Color `json:"color,omitempty"` + + // Dash + // arrayOK: false + // type: string + // 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*). + Dash String `json:"dash,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width (in px). + Width float64 `json:"width,omitempty"` +} + +// LayoutNewshape +type LayoutNewshape struct { + + // Drawdirection + // default: diagonal + // type: enumerated + // 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. + Drawdirection LayoutNewshapeDrawdirection `json:"drawdirection,omitempty"` + + // Fillcolor + // arrayOK: false + // type: color + // 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. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Fillrule + // default: evenodd + // type: enumerated + // Determines the path's interior. For more info please visit https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule + Fillrule LayoutNewshapeFillrule `json:"fillrule,omitempty"` + + // Label + // role: Object + Label *LayoutNewshapeLabel `json:"label,omitempty"` + + // Layer + // default: above + // type: enumerated + // Specifies whether new shapes are drawn below gridlines (*below*), between gridlines and traces (*between*) or above traces (*above*). + Layer LayoutNewshapeLayer `json:"layer,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *LayoutNewshapeLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for new shape. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *LayoutNewshapeLine `json:"line,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets new shape name. The name appears as the legend item. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of new shapes. + Opacity float64 `json:"opacity,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not new shape is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible LayoutNewshapeVisible `json:"visible,omitempty"` +} + +// LayoutPolarAngularaxisTickfont Sets the tick font. +type LayoutPolarAngularaxisTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutPolarAngularaxis +type LayoutPolarAngularaxis struct { + + // Autotypenumbers + // default: convert types + // type: enumerated + // 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. + Autotypenumbers LayoutPolarAngularaxisAutotypenumbers `json:"autotypenumbers,omitempty"` + + // Categoryarray + // arrayOK: false + // 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`. + Categoryarray interface{} `json:"categoryarray,omitempty"` + + // Categoryarraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `categoryarray`. + Categoryarraysrc String `json:"categoryarraysrc,omitempty"` + + // Categoryorder + // default: trace + // type: enumerated + // 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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values. + Categoryorder LayoutPolarAngularaxisCategoryorder `json:"categoryorder,omitempty"` + + // Color + // arrayOK: false + // 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. + Color Color `json:"color,omitempty"` + + // Direction + // default: counterclockwise + // type: enumerated + // Sets the direction corresponding to positive angles. + Direction LayoutPolarAngularaxisDirection `json:"direction,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat LayoutPolarAngularaxisExponentformat `json:"exponentformat,omitempty"` + + // Gridcolor + // arrayOK: false + // type: color + // Sets the color of the grid lines. + Gridcolor Color `json:"gridcolor,omitempty"` + + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the grid lines. + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Hoverformat + // arrayOK: false + // type: string + // Sets the hover text 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* + Hoverformat String `json:"hoverformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Layer + // default: above traces + // type: enumerated + // Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. + Layer LayoutPolarAngularaxisLayer `json:"layer,omitempty"` + + // Linecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Linecolor Color `json:"linecolor,omitempty"` + + // Linewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Linewidth float64 `json:"linewidth,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Period + // arrayOK: false + // type: number + // Set the angular period. Has an effect only when `angularaxis.type` is *category*. + Period float64 `json:"period,omitempty"` + + // Rotation + // arrayOK: false + // type: angle + // Sets that start position (in degrees) of the angular axis By default, polar subplots with `direction` set to *counterclockwise* get a `rotation` of *0* which corresponds to due East (like what mathematicians prefer). In turn, polar with `direction` set to *clockwise* get a rotation of *90* which corresponds to due North (like on a compass), + Rotation float64 `json:"rotation,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent LayoutPolarAngularaxisShowexponent `json:"showexponent,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark. + Showgrid Bool `json:"showgrid,omitempty"` + + // Showline + // arrayOK: false + // type: boolean + // Determines whether or not a line bounding this axis is drawn. + Showline Bool `json:"showline,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix LayoutPolarAngularaxisShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix LayoutPolarAngularaxisShowticksuffix `json:"showticksuffix,omitempty"` + + // Thetaunit + // default: degrees + // type: enumerated + // Sets the format unit of the formatted *theta* values. Has an effect only when `angularaxis.type` is *linear*. + Thetaunit LayoutPolarAngularaxisThetaunit `json:"thetaunit,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *LayoutPolarAngularaxisTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode LayoutPolarAngularaxisTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: %!s() + // type: enumerated + // 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. + Ticks LayoutPolarAngularaxisTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Type + // default: - + // type: enumerated + // Sets the angular axis type. If *linear*, set `thetaunit` to determine the unit in which axis value are shown. If *category, use `period` to set the number of integer coordinates around polar axis. + Type LayoutPolarAngularaxisType `json:"type,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // Controls persistence of user-driven changes in axis `rotation`. Defaults to `polar.uirevision`. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // 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 + Visible Bool `json:"visible,omitempty"` +} + +// LayoutPolarDomain +type LayoutPolarDomain struct { + + // Column + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this column in the grid for this polar subplot . + Column int64 `json:"column,omitempty"` + + // Row + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this row in the grid for this polar subplot . + Row int64 `json:"row,omitempty"` + + // X + // arrayOK: false + // type: info_array + // Sets the horizontal domain of this polar subplot (in plot fraction). + X interface{} `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: info_array + // Sets the vertical domain of this polar subplot (in plot fraction). + Y interface{} `json:"y,omitempty"` +} + +// LayoutPolarRadialaxisAutorangeoptions +type LayoutPolarRadialaxisAutorangeoptions struct { + + // Clipmax + // arrayOK: false + // type: any + // Clip autorange maximum if it goes beyond this value. Has no effect when `autorangeoptions.maxallowed` is provided. + Clipmax interface{} `json:"clipmax,omitempty"` + + // Clipmin + // arrayOK: false + // type: any + // Clip autorange minimum if it goes beyond this value. Has no effect when `autorangeoptions.minallowed` is provided. + Clipmin interface{} `json:"clipmin,omitempty"` + + // Include + // arrayOK: true + // type: any + // Ensure this value is included in autorange. + Include interface{} `json:"include,omitempty"` + + // Includesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `include`. + Includesrc String `json:"includesrc,omitempty"` + + // Maxallowed + // arrayOK: false + // type: any + // Use this value exactly as autorange maximum. + Maxallowed interface{} `json:"maxallowed,omitempty"` + + // Minallowed + // arrayOK: false + // type: any + // Use this value exactly as autorange minimum. + Minallowed interface{} `json:"minallowed,omitempty"` +} + +// LayoutPolarRadialaxisTickfont Sets the tick font. +type LayoutPolarRadialaxisTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutPolarRadialaxisTitleFont Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute. +type LayoutPolarRadialaxisTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutPolarRadialaxisTitle +type LayoutPolarRadialaxisTitle struct { + + // Font + // role: Object + Font *LayoutPolarRadialaxisTitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// LayoutPolarRadialaxis +type LayoutPolarRadialaxis struct { + + // Angle + // arrayOK: false + // type: angle + // Sets the angle (in degrees) from which the radial axis is drawn. Note that by default, radial axis line on the theta=0 line corresponds to a line pointing right (like what mathematicians prefer). Defaults to the first `polar.sector` angle. + Angle float64 `json:"angle,omitempty"` + + // Autorange + // default: %!s(bool=true) + // type: enumerated + // Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction. + Autorange LayoutPolarRadialaxisAutorange `json:"autorange,omitempty"` + + // Autorangeoptions + // role: Object + Autorangeoptions *LayoutPolarRadialaxisAutorangeoptions `json:"autorangeoptions,omitempty"` + + // Autotickangles + // arrayOK: false + // type: info_array + // When `tickangle` is set to *auto*, it will be set to the first angle in this array that is large enough to prevent label overlap. + Autotickangles interface{} `json:"autotickangles,omitempty"` + + // Autotypenumbers + // default: convert types + // type: enumerated + // 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. + Autotypenumbers LayoutPolarRadialaxisAutotypenumbers `json:"autotypenumbers,omitempty"` + + // Calendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar` + Calendar LayoutPolarRadialaxisCalendar `json:"calendar,omitempty"` + + // Categoryarray + // arrayOK: false + // 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`. + Categoryarray interface{} `json:"categoryarray,omitempty"` + + // Categoryarraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `categoryarray`. + Categoryarraysrc String `json:"categoryarraysrc,omitempty"` + + // Categoryorder + // default: trace + // type: enumerated + // 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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values. + Categoryorder LayoutPolarRadialaxisCategoryorder `json:"categoryorder,omitempty"` + + // Color + // arrayOK: false + // 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. + Color Color `json:"color,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat LayoutPolarRadialaxisExponentformat `json:"exponentformat,omitempty"` + + // Gridcolor + // arrayOK: false + // type: color + // Sets the color of the grid lines. + Gridcolor Color `json:"gridcolor,omitempty"` + + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the grid lines. + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Hoverformat + // arrayOK: false + // type: string + // Sets the hover text 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* + Hoverformat String `json:"hoverformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Layer + // default: above traces + // type: enumerated + // Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. + Layer LayoutPolarRadialaxisLayer `json:"layer,omitempty"` + + // Linecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Linecolor Color `json:"linecolor,omitempty"` + + // Linewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Linewidth float64 `json:"linewidth,omitempty"` + + // Maxallowed + // arrayOK: false + // type: any + // Determines the maximum range of this axis. + Maxallowed interface{} `json:"maxallowed,omitempty"` + + // Minallowed + // arrayOK: false + // type: any + // Determines the minimum range of this axis. + Minallowed interface{} `json:"minallowed,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Range + // arrayOK: false + // type: info_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. Leaving either or both elements `null` impacts the default `autorange`. + Range interface{} `json:"range,omitempty"` + + // Rangemode + // default: tozero + // type: enumerated + // 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). + Rangemode LayoutPolarRadialaxisRangemode `json:"rangemode,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent LayoutPolarRadialaxisShowexponent `json:"showexponent,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark. + Showgrid Bool `json:"showgrid,omitempty"` + + // Showline + // arrayOK: false + // type: boolean + // Determines whether or not a line bounding this axis is drawn. + Showline Bool `json:"showline,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix LayoutPolarRadialaxisShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix LayoutPolarRadialaxisShowticksuffix `json:"showticksuffix,omitempty"` + + // Side + // default: clockwise + // type: enumerated + // Determines on which side of radial axis line the tick and tick labels appear. + Side LayoutPolarRadialaxisSide `json:"side,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *LayoutPolarRadialaxisTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode LayoutPolarRadialaxisTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: %!s() + // type: enumerated + // 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. + Ticks LayoutPolarRadialaxisTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *LayoutPolarRadialaxisTitle `json:"title,omitempty"` + + // Type + // default: - + // type: enumerated + // 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. + Type LayoutPolarRadialaxisType `json:"type,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // Controls persistence of user-driven changes in axis `range`, `autorange`, `angle`, and `title` if in `editable: true` configuration. Defaults to `polar.uirevision`. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // 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 + Visible Bool `json:"visible,omitempty"` +} + +// LayoutPolar +type LayoutPolar struct { + + // Angularaxis + // role: Object + Angularaxis *LayoutPolarAngularaxis `json:"angularaxis,omitempty"` + + // Bgcolor + // arrayOK: false + // type: color + // Set the background color of the subplot + Bgcolor Color `json:"bgcolor,omitempty"` + + // Domain + // role: Object + Domain *LayoutPolarDomain `json:"domain,omitempty"` + + // Gridshape + // default: circular + // type: enumerated + // Determines if the radial axis grid lines and angular axis line are drawn as *circular* sectors or as *linear* (polygon) sectors. Has an effect only when the angular axis has `type` *category*. Note that `radialaxis.angle` is snapped to the angle of the closest vertex when `gridshape` is *circular* (so that radial axis scale is the same as the data scale). + Gridshape LayoutPolarGridshape `json:"gridshape,omitempty"` + + // Hole + // arrayOK: false + // type: number + // Sets the fraction of the radius to cut out of the polar subplot. + Hole float64 `json:"hole,omitempty"` + + // Radialaxis + // role: Object + Radialaxis *LayoutPolarRadialaxis `json:"radialaxis,omitempty"` + + // Sector + // arrayOK: false + // type: info_array + // Sets angular span of this polar subplot with two angles (in degrees). Sector are assumed to be spanned in the counterclockwise direction with *0* corresponding to rightmost limit of the polar subplot. + Sector interface{} `json:"sector,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // Controls persistence of user-driven changes in axis attributes, if not overridden in the individual axes. Defaults to `layout.uirevision`. + Uirevision interface{} `json:"uirevision,omitempty"` +} + +// LayoutSceneAspectratio Sets this scene's axis aspectratio. +type LayoutSceneAspectratio struct { + + // X + // arrayOK: false + // type: number + // + X float64 `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: number + // + Y float64 `json:"y,omitempty"` + + // Z + // arrayOK: false + // type: number + // + Z float64 `json:"z,omitempty"` +} + +// LayoutSceneCameraCenter Sets the (x,y,z) components of the 'center' camera vector This vector determines the translation (x,y,z) space about the center of this scene. By default, there is no such translation. +type LayoutSceneCameraCenter struct { + + // X + // arrayOK: false + // type: number + // + X float64 `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: number + // + Y float64 `json:"y,omitempty"` + + // Z + // arrayOK: false + // type: number + // + Z float64 `json:"z,omitempty"` +} + +// LayoutSceneCameraEye Sets the (x,y,z) components of the 'eye' camera vector. This vector determines the view point about the origin of this scene. +type LayoutSceneCameraEye struct { + + // X + // arrayOK: false + // type: number + // + X float64 `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: number + // + Y float64 `json:"y,omitempty"` + + // Z + // arrayOK: false + // type: number + // + Z float64 `json:"z,omitempty"` +} + +// LayoutSceneCameraProjection +type LayoutSceneCameraProjection struct { + + // Type + // default: perspective + // type: enumerated + // Sets the projection type. The projection type could be either *perspective* or *orthographic*. The default is *perspective*. + Type LayoutSceneCameraProjectionType `json:"type,omitempty"` +} + +// LayoutSceneCameraUp Sets the (x,y,z) components of the 'up' camera vector. This vector determines the up direction of this scene with respect to the page. The default is *{x: 0, y: 0, z: 1}* which means that the z axis points up. +type LayoutSceneCameraUp struct { + + // X + // arrayOK: false + // type: number + // + X float64 `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: number + // + Y float64 `json:"y,omitempty"` + + // Z + // arrayOK: false + // type: number + // + Z float64 `json:"z,omitempty"` +} + +// LayoutSceneCamera +type LayoutSceneCamera struct { + + // Center + // role: Object + Center *LayoutSceneCameraCenter `json:"center,omitempty"` + + // Eye + // role: Object + Eye *LayoutSceneCameraEye `json:"eye,omitempty"` + + // Projection + // role: Object + Projection *LayoutSceneCameraProjection `json:"projection,omitempty"` + + // Up + // role: Object + Up *LayoutSceneCameraUp `json:"up,omitempty"` +} + +// LayoutSceneDomain +type LayoutSceneDomain struct { + + // Column + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this column in the grid for this scene subplot . + Column int64 `json:"column,omitempty"` + + // Row + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this row in the grid for this scene subplot . + Row int64 `json:"row,omitempty"` + + // X + // arrayOK: false + // type: info_array + // Sets the horizontal domain of this scene subplot (in plot fraction). + X interface{} `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: info_array + // Sets the vertical domain of this scene subplot (in plot fraction). + Y interface{} `json:"y,omitempty"` +} + +// LayoutSceneXaxisAutorangeoptions +type LayoutSceneXaxisAutorangeoptions struct { + + // Clipmax + // arrayOK: false + // type: any + // Clip autorange maximum if it goes beyond this value. Has no effect when `autorangeoptions.maxallowed` is provided. + Clipmax interface{} `json:"clipmax,omitempty"` + + // Clipmin + // arrayOK: false + // type: any + // Clip autorange minimum if it goes beyond this value. Has no effect when `autorangeoptions.minallowed` is provided. + Clipmin interface{} `json:"clipmin,omitempty"` + + // Include + // arrayOK: true + // type: any + // Ensure this value is included in autorange. + Include interface{} `json:"include,omitempty"` + + // Includesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `include`. + Includesrc String `json:"includesrc,omitempty"` + + // Maxallowed + // arrayOK: false + // type: any + // Use this value exactly as autorange maximum. + Maxallowed interface{} `json:"maxallowed,omitempty"` + + // Minallowed + // arrayOK: false + // type: any + // Use this value exactly as autorange minimum. + Minallowed interface{} `json:"minallowed,omitempty"` +} + +// LayoutSceneXaxisTickfont Sets the tick font. +type LayoutSceneXaxisTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutSceneXaxisTitleFont Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute. +type LayoutSceneXaxisTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutSceneXaxisTitle +type LayoutSceneXaxisTitle struct { + + // Font + // role: Object + Font *LayoutSceneXaxisTitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// LayoutSceneXaxis +type LayoutSceneXaxis struct { + + // Autorange + // default: %!s(bool=true) + // type: enumerated + // Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction. + Autorange LayoutSceneXaxisAutorange `json:"autorange,omitempty"` + + // Autorangeoptions + // role: Object + Autorangeoptions *LayoutSceneXaxisAutorangeoptions `json:"autorangeoptions,omitempty"` + + // Autotypenumbers + // default: convert types + // type: enumerated + // 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. + Autotypenumbers LayoutSceneXaxisAutotypenumbers `json:"autotypenumbers,omitempty"` + + // Backgroundcolor + // arrayOK: false + // type: color + // Sets the background color of this axis' wall. + Backgroundcolor Color `json:"backgroundcolor,omitempty"` + + // Calendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar` + Calendar LayoutSceneXaxisCalendar `json:"calendar,omitempty"` + + // Categoryarray + // arrayOK: false + // 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`. + Categoryarray interface{} `json:"categoryarray,omitempty"` + + // Categoryarraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `categoryarray`. + Categoryarraysrc String `json:"categoryarraysrc,omitempty"` + + // Categoryorder + // default: trace + // type: enumerated + // 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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values. + Categoryorder LayoutSceneXaxisCategoryorder `json:"categoryorder,omitempty"` + + // Color + // arrayOK: false + // 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. + Color Color `json:"color,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat LayoutSceneXaxisExponentformat `json:"exponentformat,omitempty"` + + // Gridcolor + // arrayOK: false + // type: color + // Sets the color of the grid lines. + Gridcolor Color `json:"gridcolor,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the grid lines. + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Hoverformat + // arrayOK: false + // type: string + // Sets the hover text 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* + Hoverformat String `json:"hoverformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Linecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Linecolor Color `json:"linecolor,omitempty"` + + // Linewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Linewidth float64 `json:"linewidth,omitempty"` + + // Maxallowed + // arrayOK: false + // type: any + // Determines the maximum range of this axis. + Maxallowed interface{} `json:"maxallowed,omitempty"` + + // Minallowed + // arrayOK: false + // type: any + // Determines the minimum range of this axis. + Minallowed interface{} `json:"minallowed,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Mirror + // default: %!s(bool=false) + // type: enumerated + // 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. + Mirror LayoutSceneXaxisMirror `json:"mirror,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Range + // arrayOK: false + // type: info_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. Leaving either or both elements `null` impacts the default `autorange`. + Range interface{} `json:"range,omitempty"` + + // Rangemode + // default: normal + // type: enumerated + // 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. + Rangemode LayoutSceneXaxisRangemode `json:"rangemode,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showaxeslabels + // arrayOK: false + // type: boolean + // Sets whether or not this axis is labeled + Showaxeslabels Bool `json:"showaxeslabels,omitempty"` + + // Showbackground + // arrayOK: false + // type: boolean + // Sets whether or not this axis' wall has a background color. + Showbackground Bool `json:"showbackground,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent LayoutSceneXaxisShowexponent `json:"showexponent,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark. + Showgrid Bool `json:"showgrid,omitempty"` + + // Showline + // arrayOK: false + // type: boolean + // Determines whether or not a line bounding this axis is drawn. + Showline Bool `json:"showline,omitempty"` + + // Showspikes + // arrayOK: false + // type: boolean + // Sets whether or not spikes starting from data points to this axis' wall are shown on hover. + Showspikes Bool `json:"showspikes,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix LayoutSceneXaxisShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix LayoutSceneXaxisShowticksuffix `json:"showticksuffix,omitempty"` + + // Spikecolor + // arrayOK: false + // type: color + // Sets the color of the spikes. + Spikecolor Color `json:"spikecolor,omitempty"` + + // Spikesides + // arrayOK: false + // type: boolean + // Sets whether or not spikes extending from the projection data points to this axis' wall boundaries are shown on hover. + Spikesides Bool `json:"spikesides,omitempty"` + + // Spikethickness + // arrayOK: false + // type: number + // Sets the thickness (in px) of the spikes. + Spikethickness float64 `json:"spikethickness,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *LayoutSceneXaxisTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode LayoutSceneXaxisTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: %!s() + // type: enumerated + // 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. + Ticks LayoutSceneXaxisTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *LayoutSceneXaxisTitle `json:"title,omitempty"` + + // Type + // default: - + // type: enumerated + // 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. + Type LayoutSceneXaxisType `json:"type,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // 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 + Visible Bool `json:"visible,omitempty"` + + // Zeroline + // arrayOK: false + // type: boolean + // Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines. + Zeroline Bool `json:"zeroline,omitempty"` + + // Zerolinecolor + // arrayOK: false + // type: color + // Sets the line color of the zero line. + Zerolinecolor Color `json:"zerolinecolor,omitempty"` + + // Zerolinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the zero line. + Zerolinewidth float64 `json:"zerolinewidth,omitempty"` +} + +// LayoutSceneYaxisAutorangeoptions +type LayoutSceneYaxisAutorangeoptions struct { + + // Clipmax + // arrayOK: false + // type: any + // Clip autorange maximum if it goes beyond this value. Has no effect when `autorangeoptions.maxallowed` is provided. + Clipmax interface{} `json:"clipmax,omitempty"` + + // Clipmin + // arrayOK: false + // type: any + // Clip autorange minimum if it goes beyond this value. Has no effect when `autorangeoptions.minallowed` is provided. + Clipmin interface{} `json:"clipmin,omitempty"` + + // Include + // arrayOK: true + // type: any + // Ensure this value is included in autorange. + Include interface{} `json:"include,omitempty"` + + // Includesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `include`. + Includesrc String `json:"includesrc,omitempty"` + + // Maxallowed + // arrayOK: false + // type: any + // Use this value exactly as autorange maximum. + Maxallowed interface{} `json:"maxallowed,omitempty"` + + // Minallowed + // arrayOK: false + // type: any + // Use this value exactly as autorange minimum. + Minallowed interface{} `json:"minallowed,omitempty"` +} + +// LayoutSceneYaxisTickfont Sets the tick font. +type LayoutSceneYaxisTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutSceneYaxisTitleFont Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute. +type LayoutSceneYaxisTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutSceneYaxisTitle +type LayoutSceneYaxisTitle struct { + + // Font + // role: Object + Font *LayoutSceneYaxisTitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// LayoutSceneYaxis +type LayoutSceneYaxis struct { + + // Autorange + // default: %!s(bool=true) + // type: enumerated + // Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction. + Autorange LayoutSceneYaxisAutorange `json:"autorange,omitempty"` + + // Autorangeoptions + // role: Object + Autorangeoptions *LayoutSceneYaxisAutorangeoptions `json:"autorangeoptions,omitempty"` + + // Autotypenumbers + // default: convert types + // type: enumerated + // 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. + Autotypenumbers LayoutSceneYaxisAutotypenumbers `json:"autotypenumbers,omitempty"` + + // Backgroundcolor + // arrayOK: false + // type: color + // Sets the background color of this axis' wall. + Backgroundcolor Color `json:"backgroundcolor,omitempty"` + + // Calendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar` + Calendar LayoutSceneYaxisCalendar `json:"calendar,omitempty"` + + // Categoryarray + // arrayOK: false + // 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`. + Categoryarray interface{} `json:"categoryarray,omitempty"` + + // Categoryarraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `categoryarray`. + Categoryarraysrc String `json:"categoryarraysrc,omitempty"` + + // Categoryorder + // default: trace + // type: enumerated + // 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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values. + Categoryorder LayoutSceneYaxisCategoryorder `json:"categoryorder,omitempty"` + + // Color + // arrayOK: false + // 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. + Color Color `json:"color,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat LayoutSceneYaxisExponentformat `json:"exponentformat,omitempty"` + + // Gridcolor + // arrayOK: false + // type: color + // Sets the color of the grid lines. + Gridcolor Color `json:"gridcolor,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the grid lines. + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Hoverformat + // arrayOK: false + // type: string + // Sets the hover text 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* + Hoverformat String `json:"hoverformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Linecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Linecolor Color `json:"linecolor,omitempty"` + + // Linewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Linewidth float64 `json:"linewidth,omitempty"` + + // Maxallowed + // arrayOK: false + // type: any + // Determines the maximum range of this axis. + Maxallowed interface{} `json:"maxallowed,omitempty"` + + // Minallowed + // arrayOK: false + // type: any + // Determines the minimum range of this axis. + Minallowed interface{} `json:"minallowed,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Mirror + // default: %!s(bool=false) + // type: enumerated + // 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. + Mirror LayoutSceneYaxisMirror `json:"mirror,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Range + // arrayOK: false + // type: info_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. Leaving either or both elements `null` impacts the default `autorange`. + Range interface{} `json:"range,omitempty"` + + // Rangemode + // default: normal + // type: enumerated + // 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. + Rangemode LayoutSceneYaxisRangemode `json:"rangemode,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showaxeslabels + // arrayOK: false + // type: boolean + // Sets whether or not this axis is labeled + Showaxeslabels Bool `json:"showaxeslabels,omitempty"` + + // Showbackground + // arrayOK: false + // type: boolean + // Sets whether or not this axis' wall has a background color. + Showbackground Bool `json:"showbackground,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent LayoutSceneYaxisShowexponent `json:"showexponent,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark. + Showgrid Bool `json:"showgrid,omitempty"` + + // Showline + // arrayOK: false + // type: boolean + // Determines whether or not a line bounding this axis is drawn. + Showline Bool `json:"showline,omitempty"` + + // Showspikes + // arrayOK: false + // type: boolean + // Sets whether or not spikes starting from data points to this axis' wall are shown on hover. + Showspikes Bool `json:"showspikes,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix LayoutSceneYaxisShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix LayoutSceneYaxisShowticksuffix `json:"showticksuffix,omitempty"` + + // Spikecolor + // arrayOK: false + // type: color + // Sets the color of the spikes. + Spikecolor Color `json:"spikecolor,omitempty"` + + // Spikesides + // arrayOK: false + // type: boolean + // Sets whether or not spikes extending from the projection data points to this axis' wall boundaries are shown on hover. + Spikesides Bool `json:"spikesides,omitempty"` + + // Spikethickness + // arrayOK: false + // type: number + // Sets the thickness (in px) of the spikes. + Spikethickness float64 `json:"spikethickness,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *LayoutSceneYaxisTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode LayoutSceneYaxisTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: %!s() + // type: enumerated + // 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. + Ticks LayoutSceneYaxisTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *LayoutSceneYaxisTitle `json:"title,omitempty"` + + // Type + // default: - + // type: enumerated + // 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. + Type LayoutSceneYaxisType `json:"type,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // 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 + Visible Bool `json:"visible,omitempty"` + + // Zeroline + // arrayOK: false + // type: boolean + // Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines. + Zeroline Bool `json:"zeroline,omitempty"` + + // Zerolinecolor + // arrayOK: false + // type: color + // Sets the line color of the zero line. + Zerolinecolor Color `json:"zerolinecolor,omitempty"` + + // Zerolinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the zero line. + Zerolinewidth float64 `json:"zerolinewidth,omitempty"` +} + +// LayoutSceneZaxisAutorangeoptions +type LayoutSceneZaxisAutorangeoptions struct { + + // Clipmax + // arrayOK: false + // type: any + // Clip autorange maximum if it goes beyond this value. Has no effect when `autorangeoptions.maxallowed` is provided. + Clipmax interface{} `json:"clipmax,omitempty"` + + // Clipmin + // arrayOK: false + // type: any + // Clip autorange minimum if it goes beyond this value. Has no effect when `autorangeoptions.minallowed` is provided. + Clipmin interface{} `json:"clipmin,omitempty"` + + // Include + // arrayOK: true + // type: any + // Ensure this value is included in autorange. + Include interface{} `json:"include,omitempty"` + + // Includesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `include`. + Includesrc String `json:"includesrc,omitempty"` + + // Maxallowed + // arrayOK: false + // type: any + // Use this value exactly as autorange maximum. + Maxallowed interface{} `json:"maxallowed,omitempty"` + + // Minallowed + // arrayOK: false + // type: any + // Use this value exactly as autorange minimum. + Minallowed interface{} `json:"minallowed,omitempty"` +} + +// LayoutSceneZaxisTickfont Sets the tick font. +type LayoutSceneZaxisTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutSceneZaxisTitleFont Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute. +type LayoutSceneZaxisTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutSceneZaxisTitle +type LayoutSceneZaxisTitle struct { + + // Font + // role: Object + Font *LayoutSceneZaxisTitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// LayoutSceneZaxis +type LayoutSceneZaxis struct { + + // Autorange + // default: %!s(bool=true) + // type: enumerated + // Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction. + Autorange LayoutSceneZaxisAutorange `json:"autorange,omitempty"` + + // Autorangeoptions + // role: Object + Autorangeoptions *LayoutSceneZaxisAutorangeoptions `json:"autorangeoptions,omitempty"` + + // Autotypenumbers + // default: convert types + // type: enumerated + // 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. + Autotypenumbers LayoutSceneZaxisAutotypenumbers `json:"autotypenumbers,omitempty"` + + // Backgroundcolor + // arrayOK: false + // type: color + // Sets the background color of this axis' wall. + Backgroundcolor Color `json:"backgroundcolor,omitempty"` + + // Calendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar` + Calendar LayoutSceneZaxisCalendar `json:"calendar,omitempty"` + + // Categoryarray + // arrayOK: false + // 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`. + Categoryarray interface{} `json:"categoryarray,omitempty"` + + // Categoryarraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `categoryarray`. + Categoryarraysrc String `json:"categoryarraysrc,omitempty"` + + // Categoryorder + // default: trace + // type: enumerated + // 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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values. + Categoryorder LayoutSceneZaxisCategoryorder `json:"categoryorder,omitempty"` + + // Color + // arrayOK: false + // 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. + Color Color `json:"color,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat LayoutSceneZaxisExponentformat `json:"exponentformat,omitempty"` + + // Gridcolor + // arrayOK: false + // type: color + // Sets the color of the grid lines. + Gridcolor Color `json:"gridcolor,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the grid lines. + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Hoverformat + // arrayOK: false + // type: string + // Sets the hover text 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* + Hoverformat String `json:"hoverformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Linecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Linecolor Color `json:"linecolor,omitempty"` + + // Linewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Linewidth float64 `json:"linewidth,omitempty"` + + // Maxallowed + // arrayOK: false + // type: any + // Determines the maximum range of this axis. + Maxallowed interface{} `json:"maxallowed,omitempty"` + + // Minallowed + // arrayOK: false + // type: any + // Determines the minimum range of this axis. + Minallowed interface{} `json:"minallowed,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Mirror + // default: %!s(bool=false) + // type: enumerated + // 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. + Mirror LayoutSceneZaxisMirror `json:"mirror,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Range + // arrayOK: false + // type: info_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. Leaving either or both elements `null` impacts the default `autorange`. + Range interface{} `json:"range,omitempty"` + + // Rangemode + // default: normal + // type: enumerated + // 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. + Rangemode LayoutSceneZaxisRangemode `json:"rangemode,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showaxeslabels + // arrayOK: false + // type: boolean + // Sets whether or not this axis is labeled + Showaxeslabels Bool `json:"showaxeslabels,omitempty"` + + // Showbackground + // arrayOK: false + // type: boolean + // Sets whether or not this axis' wall has a background color. + Showbackground Bool `json:"showbackground,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent LayoutSceneZaxisShowexponent `json:"showexponent,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark. + Showgrid Bool `json:"showgrid,omitempty"` + + // Showline + // arrayOK: false + // type: boolean + // Determines whether or not a line bounding this axis is drawn. + Showline Bool `json:"showline,omitempty"` + + // Showspikes + // arrayOK: false + // type: boolean + // Sets whether or not spikes starting from data points to this axis' wall are shown on hover. + Showspikes Bool `json:"showspikes,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix LayoutSceneZaxisShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix LayoutSceneZaxisShowticksuffix `json:"showticksuffix,omitempty"` + + // Spikecolor + // arrayOK: false + // type: color + // Sets the color of the spikes. + Spikecolor Color `json:"spikecolor,omitempty"` + + // Spikesides + // arrayOK: false + // type: boolean + // Sets whether or not spikes extending from the projection data points to this axis' wall boundaries are shown on hover. + Spikesides Bool `json:"spikesides,omitempty"` + + // Spikethickness + // arrayOK: false + // type: number + // Sets the thickness (in px) of the spikes. + Spikethickness float64 `json:"spikethickness,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *LayoutSceneZaxisTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode LayoutSceneZaxisTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: %!s() + // type: enumerated + // 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. + Ticks LayoutSceneZaxisTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *LayoutSceneZaxisTitle `json:"title,omitempty"` + + // Type + // default: - + // type: enumerated + // 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. + Type LayoutSceneZaxisType `json:"type,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // 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 + Visible Bool `json:"visible,omitempty"` + + // Zeroline + // arrayOK: false + // type: boolean + // Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines. + Zeroline Bool `json:"zeroline,omitempty"` + + // Zerolinecolor + // arrayOK: false + // type: color + // Sets the line color of the zero line. + Zerolinecolor Color `json:"zerolinecolor,omitempty"` + + // Zerolinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the zero line. + Zerolinewidth float64 `json:"zerolinewidth,omitempty"` +} + +// LayoutScene +type LayoutScene struct { + + // Annotations + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Annotations interface{} `json:"annotations,omitempty"` + + // Aspectmode + // default: auto + // type: enumerated + // If *cube*, this scene's axes are drawn as a cube, regardless of the axes' ranges. If *data*, this scene's axes are drawn in proportion with the axes' ranges. If *manual*, this scene's axes are drawn in proportion with the input of *aspectratio* (the default behavior if *aspectratio* is provided). If *auto*, this scene's axes are drawn using the results of *data* except when one axis is more than four times the size of the two others, where in that case the results of *cube* are used. + Aspectmode LayoutSceneAspectmode `json:"aspectmode,omitempty"` + + // Aspectratio + // role: Object + Aspectratio *LayoutSceneAspectratio `json:"aspectratio,omitempty"` + + // Bgcolor + // arrayOK: false + // type: color + // + Bgcolor Color `json:"bgcolor,omitempty"` + + // Camera + // role: Object + Camera *LayoutSceneCamera `json:"camera,omitempty"` + + // Domain + // role: Object + Domain *LayoutSceneDomain `json:"domain,omitempty"` + + // Dragmode + // default: %!s() + // type: enumerated + // Determines the mode of drag interactions for this scene. + Dragmode LayoutSceneDragmode `json:"dragmode,omitempty"` + + // Hovermode + // default: closest + // type: enumerated + // Determines the mode of hover interactions for this scene. + Hovermode LayoutSceneHovermode `json:"hovermode,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // Controls persistence of user-driven changes in camera attributes. Defaults to `layout.uirevision`. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Xaxis + // role: Object + Xaxis *LayoutSceneXaxis `json:"xaxis,omitempty"` + + // Yaxis + // role: Object + Yaxis *LayoutSceneYaxis `json:"yaxis,omitempty"` + + // Zaxis + // role: Object + Zaxis *LayoutSceneZaxis `json:"zaxis,omitempty"` +} + +// LayoutSmithDomain +type LayoutSmithDomain struct { + + // Column + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this column in the grid for this smith subplot . + Column int64 `json:"column,omitempty"` + + // Row + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this row in the grid for this smith subplot . + Row int64 `json:"row,omitempty"` + + // X + // arrayOK: false + // type: info_array + // Sets the horizontal domain of this smith subplot (in plot fraction). + X interface{} `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: info_array + // Sets the vertical domain of this smith subplot (in plot fraction). + Y interface{} `json:"y,omitempty"` +} + +// LayoutSmithImaginaryaxisTickfont Sets the tick font. +type LayoutSmithImaginaryaxisTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutSmithImaginaryaxis +type LayoutSmithImaginaryaxis struct { + + // Color + // arrayOK: false + // 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. + Color Color `json:"color,omitempty"` + + // Gridcolor + // arrayOK: false + // type: color + // Sets the color of the grid lines. + Gridcolor Color `json:"gridcolor,omitempty"` + + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the grid lines. + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Hoverformat + // arrayOK: false + // type: string + // Sets the hover text 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* + Hoverformat String `json:"hoverformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Layer + // default: above traces + // type: enumerated + // Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. + Layer LayoutSmithImaginaryaxisLayer `json:"layer,omitempty"` + + // Linecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Linecolor Color `json:"linecolor,omitempty"` + + // Linewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Linewidth float64 `json:"linewidth,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark. + Showgrid Bool `json:"showgrid,omitempty"` + + // Showline + // arrayOK: false + // type: boolean + // Determines whether or not a line bounding this axis is drawn. + Showline Bool `json:"showline,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix LayoutSmithImaginaryaxisShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix LayoutSmithImaginaryaxisShowticksuffix `json:"showticksuffix,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *LayoutSmithImaginaryaxisTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: %!s() + // type: enumerated + // 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. + Ticks LayoutSmithImaginaryaxisTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Tickvals + // arrayOK: false + // type: data_array + // Sets the values at which ticks on this axis appear. Defaults to `realaxis.tickvals` plus the same as negatives and zero. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // 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 + Visible Bool `json:"visible,omitempty"` +} + +// LayoutSmithRealaxisTickfont Sets the tick font. +type LayoutSmithRealaxisTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutSmithRealaxis +type LayoutSmithRealaxis struct { + + // Color + // arrayOK: false + // 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. + Color Color `json:"color,omitempty"` + + // Gridcolor + // arrayOK: false + // type: color + // Sets the color of the grid lines. + Gridcolor Color `json:"gridcolor,omitempty"` + + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the grid lines. + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Hoverformat + // arrayOK: false + // type: string + // Sets the hover text 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* + Hoverformat String `json:"hoverformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Layer + // default: above traces + // type: enumerated + // Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. + Layer LayoutSmithRealaxisLayer `json:"layer,omitempty"` + + // Linecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Linecolor Color `json:"linecolor,omitempty"` + + // Linewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Linewidth float64 `json:"linewidth,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark. + Showgrid Bool `json:"showgrid,omitempty"` + + // Showline + // arrayOK: false + // type: boolean + // Determines whether or not a line bounding this axis is drawn. + Showline Bool `json:"showline,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix LayoutSmithRealaxisShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix LayoutSmithRealaxisShowticksuffix `json:"showticksuffix,omitempty"` + + // Side + // default: top + // type: enumerated + // Determines on which side of real axis line the tick and tick labels appear. + Side LayoutSmithRealaxisSide `json:"side,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *LayoutSmithRealaxisTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: %!s() + // type: enumerated + // Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *top* (*bottom*), this axis' are drawn above (below) the axis line. + Ticks LayoutSmithRealaxisTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Tickvals + // arrayOK: false + // type: data_array + // Sets the values at which ticks on this axis appear. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // 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 + Visible Bool `json:"visible,omitempty"` +} + +// LayoutSmith +type LayoutSmith struct { + + // Bgcolor + // arrayOK: false + // type: color + // Set the background color of the subplot + Bgcolor Color `json:"bgcolor,omitempty"` + + // Domain + // role: Object + Domain *LayoutSmithDomain `json:"domain,omitempty"` + + // Imaginaryaxis + // role: Object + Imaginaryaxis *LayoutSmithImaginaryaxis `json:"imaginaryaxis,omitempty"` + + // Realaxis + // role: Object + Realaxis *LayoutSmithRealaxis `json:"realaxis,omitempty"` +} + +// LayoutTernaryAaxisTickfont Sets the tick font. +type LayoutTernaryAaxisTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutTernaryAaxisTitleFont Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute. +type LayoutTernaryAaxisTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutTernaryAaxisTitle +type LayoutTernaryAaxisTitle struct { + + // Font + // role: Object + Font *LayoutTernaryAaxisTitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// LayoutTernaryAaxis +type LayoutTernaryAaxis struct { + + // Color + // arrayOK: false + // 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. + Color Color `json:"color,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat LayoutTernaryAaxisExponentformat `json:"exponentformat,omitempty"` + + // Gridcolor + // arrayOK: false + // type: color + // Sets the color of the grid lines. + Gridcolor Color `json:"gridcolor,omitempty"` + + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the grid lines. + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Hoverformat + // arrayOK: false + // type: string + // Sets the hover text 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* + Hoverformat String `json:"hoverformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Layer + // default: above traces + // type: enumerated + // Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. + Layer LayoutTernaryAaxisLayer `json:"layer,omitempty"` + + // Linecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Linecolor Color `json:"linecolor,omitempty"` + + // Linewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Linewidth float64 `json:"linewidth,omitempty"` + + // Min + // arrayOK: false + // type: number + // The minimum value visible on this axis. The maximum is determined by the sum minus the minimum values of the other two axes. The full view corresponds to all the minima set to zero. + Min float64 `json:"min,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent LayoutTernaryAaxisShowexponent `json:"showexponent,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark. + Showgrid Bool `json:"showgrid,omitempty"` + + // Showline + // arrayOK: false + // type: boolean + // Determines whether or not a line bounding this axis is drawn. + Showline Bool `json:"showline,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix LayoutTernaryAaxisShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix LayoutTernaryAaxisShowticksuffix `json:"showticksuffix,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *LayoutTernaryAaxisTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode LayoutTernaryAaxisTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: %!s() + // type: enumerated + // 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. + Ticks LayoutTernaryAaxisTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *LayoutTernaryAaxisTitle `json:"title,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // Controls persistence of user-driven changes in axis `min`, and `title` if in `editable: true` configuration. Defaults to `ternary.uirevision`. + Uirevision interface{} `json:"uirevision,omitempty"` +} + +// LayoutTernaryBaxisTickfont Sets the tick font. +type LayoutTernaryBaxisTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutTernaryBaxisTitleFont Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute. +type LayoutTernaryBaxisTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutTernaryBaxisTitle +type LayoutTernaryBaxisTitle struct { + + // Font + // role: Object + Font *LayoutTernaryBaxisTitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// LayoutTernaryBaxis +type LayoutTernaryBaxis struct { + + // Color + // arrayOK: false + // 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. + Color Color `json:"color,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat LayoutTernaryBaxisExponentformat `json:"exponentformat,omitempty"` + + // Gridcolor + // arrayOK: false + // type: color + // Sets the color of the grid lines. + Gridcolor Color `json:"gridcolor,omitempty"` + + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the grid lines. + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Hoverformat + // arrayOK: false + // type: string + // Sets the hover text 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* + Hoverformat String `json:"hoverformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Layer + // default: above traces + // type: enumerated + // Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. + Layer LayoutTernaryBaxisLayer `json:"layer,omitempty"` + + // Linecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Linecolor Color `json:"linecolor,omitempty"` + + // Linewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Linewidth float64 `json:"linewidth,omitempty"` + + // Min + // arrayOK: false + // type: number + // The minimum value visible on this axis. The maximum is determined by the sum minus the minimum values of the other two axes. The full view corresponds to all the minima set to zero. + Min float64 `json:"min,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent LayoutTernaryBaxisShowexponent `json:"showexponent,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark. + Showgrid Bool `json:"showgrid,omitempty"` + + // Showline + // arrayOK: false + // type: boolean + // Determines whether or not a line bounding this axis is drawn. + Showline Bool `json:"showline,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix LayoutTernaryBaxisShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix LayoutTernaryBaxisShowticksuffix `json:"showticksuffix,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *LayoutTernaryBaxisTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode LayoutTernaryBaxisTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: %!s() + // type: enumerated + // 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. + Ticks LayoutTernaryBaxisTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *LayoutTernaryBaxisTitle `json:"title,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // Controls persistence of user-driven changes in axis `min`, and `title` if in `editable: true` configuration. Defaults to `ternary.uirevision`. + Uirevision interface{} `json:"uirevision,omitempty"` +} + +// LayoutTernaryCaxisTickfont Sets the tick font. +type LayoutTernaryCaxisTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutTernaryCaxisTitleFont Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute. +type LayoutTernaryCaxisTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutTernaryCaxisTitle +type LayoutTernaryCaxisTitle struct { + + // Font + // role: Object + Font *LayoutTernaryCaxisTitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// LayoutTernaryCaxis +type LayoutTernaryCaxis struct { + + // Color + // arrayOK: false + // 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. + Color Color `json:"color,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat LayoutTernaryCaxisExponentformat `json:"exponentformat,omitempty"` + + // Gridcolor + // arrayOK: false + // type: color + // Sets the color of the grid lines. + Gridcolor Color `json:"gridcolor,omitempty"` + + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the grid lines. + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Hoverformat + // arrayOK: false + // type: string + // Sets the hover text 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* + Hoverformat String `json:"hoverformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Layer + // default: above traces + // type: enumerated + // Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. + Layer LayoutTernaryCaxisLayer `json:"layer,omitempty"` + + // Linecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Linecolor Color `json:"linecolor,omitempty"` + + // Linewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Linewidth float64 `json:"linewidth,omitempty"` + + // Min + // arrayOK: false + // type: number + // The minimum value visible on this axis. The maximum is determined by the sum minus the minimum values of the other two axes. The full view corresponds to all the minima set to zero. + Min float64 `json:"min,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent LayoutTernaryCaxisShowexponent `json:"showexponent,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark. + Showgrid Bool `json:"showgrid,omitempty"` + + // Showline + // arrayOK: false + // type: boolean + // Determines whether or not a line bounding this axis is drawn. + Showline Bool `json:"showline,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix LayoutTernaryCaxisShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix LayoutTernaryCaxisShowticksuffix `json:"showticksuffix,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *LayoutTernaryCaxisTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode LayoutTernaryCaxisTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: %!s() + // type: enumerated + // 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. + Ticks LayoutTernaryCaxisTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *LayoutTernaryCaxisTitle `json:"title,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // Controls persistence of user-driven changes in axis `min`, and `title` if in `editable: true` configuration. Defaults to `ternary.uirevision`. + Uirevision interface{} `json:"uirevision,omitempty"` +} + +// LayoutTernaryDomain +type LayoutTernaryDomain struct { + + // Column + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this column in the grid for this ternary subplot . + Column int64 `json:"column,omitempty"` + + // Row + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this row in the grid for this ternary subplot . + Row int64 `json:"row,omitempty"` + + // X + // arrayOK: false + // type: info_array + // Sets the horizontal domain of this ternary subplot (in plot fraction). + X interface{} `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: info_array + // Sets the vertical domain of this ternary subplot (in plot fraction). + Y interface{} `json:"y,omitempty"` +} + +// LayoutTernary +type LayoutTernary struct { + + // Aaxis + // role: Object + Aaxis *LayoutTernaryAaxis `json:"aaxis,omitempty"` + + // Baxis + // role: Object + Baxis *LayoutTernaryBaxis `json:"baxis,omitempty"` + + // Bgcolor + // arrayOK: false + // type: color + // Set the background color of the subplot + Bgcolor Color `json:"bgcolor,omitempty"` + + // Caxis + // role: Object + Caxis *LayoutTernaryCaxis `json:"caxis,omitempty"` + + // Domain + // role: Object + Domain *LayoutTernaryDomain `json:"domain,omitempty"` + + // Sum + // arrayOK: false + // type: number + // The number each triplet should sum to, and the maximum range of each axis + Sum float64 `json:"sum,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // Controls persistence of user-driven changes in axis `min` and `title`, if not overridden in the individual axes. Defaults to `layout.uirevision`. + Uirevision interface{} `json:"uirevision,omitempty"` +} + +// LayoutTitleFont Sets the title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute. +type LayoutTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutTitlePad 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*. +type LayoutTitlePad struct { + + // B + // arrayOK: false + // type: number + // The amount of padding (in px) along the bottom of the component. + B float64 `json:"b,omitempty"` + + // L + // arrayOK: false + // type: number + // The amount of padding (in px) on the left side of the component. + L float64 `json:"l,omitempty"` + + // R + // arrayOK: false + // type: number + // The amount of padding (in px) on the right side of the component. + R float64 `json:"r,omitempty"` + + // T + // arrayOK: false + // type: number + // The amount of padding (in px) along the top of the component. + T float64 `json:"t,omitempty"` +} + +// LayoutTitle +type LayoutTitle struct { + + // Automargin + // arrayOK: false + // 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. + Automargin Bool `json:"automargin,omitempty"` + + // Font + // role: Object + Font *LayoutTitleFont `json:"font,omitempty"` + + // Pad + // role: Object + Pad *LayoutTitlePad `json:"pad,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the plot's title. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` + + // X + // arrayOK: false + // type: number + // Sets the x position with respect to `xref` in normalized coordinates from *0* (left) to *1* (right). + X float64 `json:"x,omitempty"` + + // Xanchor + // default: auto + // type: enumerated + // 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`. + Xanchor LayoutTitleXanchor `json:"xanchor,omitempty"` + + // Xref + // default: container + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref LayoutTitleXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // type: number + // 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. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: auto + // type: enumerated + // 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`. + Yanchor LayoutTitleYanchor `json:"yanchor,omitempty"` + + // Yref + // default: container + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref LayoutTitleYref `json:"yref,omitempty"` +} + +// LayoutTransition Sets transition options used during Plotly.react updates. +type LayoutTransition struct { + + // Duration + // arrayOK: false + // type: number + // The duration of the transition, in milliseconds. If equal to zero, updates are synchronous. + Duration float64 `json:"duration,omitempty"` + + // Easing + // default: cubic-in-out + // type: enumerated + // The easing function used for the transition + Easing LayoutTransitionEasing `json:"easing,omitempty"` + + // Ordering + // default: layout first + // type: enumerated + // Determines whether the figure's layout or traces smoothly transitions during updates that make both traces and layout change. + Ordering LayoutTransitionOrdering `json:"ordering,omitempty"` +} + +// LayoutUniformtext +type LayoutUniformtext struct { + + // Minsize + // arrayOK: false + // type: number + // Sets the minimum text size between traces of the same type. + Minsize float64 `json:"minsize,omitempty"` + + // Mode + // default: %!s(bool=false) + // type: enumerated + // 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. + Mode LayoutUniformtextMode `json:"mode,omitempty"` +} + +// LayoutXaxisAutorangeoptions +type LayoutXaxisAutorangeoptions struct { + + // Clipmax + // arrayOK: false + // type: any + // Clip autorange maximum if it goes beyond this value. Has no effect when `autorangeoptions.maxallowed` is provided. + Clipmax interface{} `json:"clipmax,omitempty"` + + // Clipmin + // arrayOK: false + // type: any + // Clip autorange minimum if it goes beyond this value. Has no effect when `autorangeoptions.minallowed` is provided. + Clipmin interface{} `json:"clipmin,omitempty"` + + // Include + // arrayOK: true + // type: any + // Ensure this value is included in autorange. + Include interface{} `json:"include,omitempty"` + + // Includesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `include`. + Includesrc String `json:"includesrc,omitempty"` + + // Maxallowed + // arrayOK: false + // type: any + // Use this value exactly as autorange maximum. + Maxallowed interface{} `json:"maxallowed,omitempty"` + + // Minallowed + // arrayOK: false + // type: any + // Use this value exactly as autorange minimum. + Minallowed interface{} `json:"minallowed,omitempty"` +} + +// LayoutXaxisMinor +type LayoutXaxisMinor struct { + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Gridcolor + // arrayOK: false + // type: color + // Sets the color of the grid lines. + Gridcolor Color `json:"gridcolor,omitempty"` + + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the grid lines. + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark. + Showgrid Bool `json:"showgrid,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode LayoutXaxisMinorTickmode `json:"tickmode,omitempty"` + + // Ticks + // default: %!s() + // type: enumerated + // 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. + Ticks LayoutXaxisMinorTicks `json:"ticks,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` +} + +// LayoutXaxisRangeselectorFont Sets the font of the range selector button text. +type LayoutXaxisRangeselectorFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutXaxisRangeselector +type LayoutXaxisRangeselector struct { + + // Activecolor + // arrayOK: false + // type: color + // Sets the background color of the active range selector button. + Activecolor Color `json:"activecolor,omitempty"` + + // Bgcolor + // arrayOK: false + // type: color + // Sets the background color of the range selector buttons. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the color of the border enclosing the range selector. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the border enclosing the range selector. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Buttons + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Buttons interface{} `json:"buttons,omitempty"` + + // Font + // role: Object + Font *LayoutXaxisRangeselectorFont `json:"font,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Determines whether or not this range selector is visible. Note that range selectors are only available for x axes of `type` set to or auto-typed to *date*. + Visible Bool `json:"visible,omitempty"` + + // X + // arrayOK: false + // type: number + // Sets the x position (in normalized coordinates) of the range selector. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: left + // type: enumerated + // Sets the range selector's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the range selector. + Xanchor LayoutXaxisRangeselectorXanchor `json:"xanchor,omitempty"` + + // Y + // arrayOK: false + // type: number + // Sets the y position (in normalized coordinates) of the range selector. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: bottom + // type: enumerated + // Sets the range selector's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the range selector. + Yanchor LayoutXaxisRangeselectorYanchor `json:"yanchor,omitempty"` +} + +// LayoutXaxisRangesliderYaxis +type LayoutXaxisRangesliderYaxis struct { + + // Range + // arrayOK: false + // type: info_array + // Sets the range of this axis for the rangeslider. + Range interface{} `json:"range,omitempty"` + + // Rangemode + // default: match + // type: enumerated + // Determines whether or not the range of this axis in the rangeslider use the same value than in the main plot when zooming in/out. If *auto*, the autorange will be used. If *fixed*, the `range` is used. If *match*, the current range of the corresponding y-axis on the main subplot is used. + Rangemode LayoutXaxisRangesliderYaxisRangemode `json:"rangemode,omitempty"` +} + +// LayoutXaxisRangeslider +type LayoutXaxisRangeslider struct { + + // Autorange + // arrayOK: false + // type: boolean + // Determines whether or not the range slider range is computed in relation to the input data. If `range` is provided, then `autorange` is set to *false*. + Autorange Bool `json:"autorange,omitempty"` + + // Bgcolor + // arrayOK: false + // type: color + // Sets the background color of the range slider. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the border color of the range slider. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: integer + // Sets the border width of the range slider. + Borderwidth int64 `json:"borderwidth,omitempty"` + + // Range + // arrayOK: false + // type: info_array + // Sets the range of the range slider. If not set, defaults to the full xaxis range. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears. + Range interface{} `json:"range,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // The height of the range slider as a fraction of the total plot area height. + Thickness float64 `json:"thickness,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Determines whether or not the range slider will be visible. If visible, perpendicular axes will be set to `fixedrange` + Visible Bool `json:"visible,omitempty"` + + // Yaxis + // role: Object + Yaxis *LayoutXaxisRangesliderYaxis `json:"yaxis,omitempty"` +} + +// LayoutXaxisTickfont Sets the tick font. +type LayoutXaxisTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutXaxisTitleFont Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute. +type LayoutXaxisTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutXaxisTitle +type LayoutXaxisTitle struct { + + // Font + // role: Object + Font *LayoutXaxisTitleFont `json:"font,omitempty"` + + // Standoff + // arrayOK: false + // type: number + // Sets the standoff distance (in px) between the axis labels and the title text The default value is a function of the axis tick labels, the title `font.size` and the axis `linewidth`. 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 on `automargin`, plotly.js will push the margins to fit the axis title at given standoff distance. + Standoff float64 `json:"standoff,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// LayoutXaxis +type LayoutXaxis struct { + + // Anchor + // default: %!s() + // type: enumerated + // If set to an opposite-letter axis id (e.g. `x2`, `y`), this axis is bound to the corresponding opposite-letter axis. If set to *free*, this axis' position is determined by `position`. + Anchor LayoutXaxisAnchor `json:"anchor,omitempty"` + + // Automargin + // default: %!s(bool=false) + // type: flaglist + // Determines whether long tick labels automatically grow the figure margins. + Automargin LayoutXaxisAutomargin `json:"automargin,omitempty"` + + // Autorange + // default: %!s(bool=true) + // type: enumerated + // Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction. + Autorange LayoutXaxisAutorange `json:"autorange,omitempty"` + + // Autorangeoptions + // role: Object + Autorangeoptions *LayoutXaxisAutorangeoptions `json:"autorangeoptions,omitempty"` + + // Autotickangles + // arrayOK: false + // type: info_array + // When `tickangle` is set to *auto*, it will be set to the first angle in this array that is large enough to prevent label overlap. + Autotickangles interface{} `json:"autotickangles,omitempty"` + + // Autotypenumbers + // default: convert types + // type: enumerated + // 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. + Autotypenumbers LayoutXaxisAutotypenumbers `json:"autotypenumbers,omitempty"` + + // Calendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar` + Calendar LayoutXaxisCalendar `json:"calendar,omitempty"` + + // Categoryarray + // arrayOK: false + // 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`. + Categoryarray interface{} `json:"categoryarray,omitempty"` + + // Categoryarraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `categoryarray`. + Categoryarraysrc String `json:"categoryarraysrc,omitempty"` + + // Categoryorder + // default: trace + // type: enumerated + // 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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values. + Categoryorder LayoutXaxisCategoryorder `json:"categoryorder,omitempty"` + + // Color + // arrayOK: false + // 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. + Color Color `json:"color,omitempty"` + + // Constrain + // default: %!s() + // type: enumerated + // If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines how that happens: by increasing the *range*, or by decreasing the *domain*. Default is *domain* for axes containing image traces, *range* otherwise. + Constrain LayoutXaxisConstrain `json:"constrain,omitempty"` + + // Constraintoward + // default: %!s() + // type: enumerated + // If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines which direction we push the originally specified plot area. Options are *left*, *center* (default), and *right* for x axes, and *top*, *middle* (default), and *bottom* for y axes. + Constraintoward LayoutXaxisConstraintoward `json:"constraintoward,omitempty"` + + // Dividercolor + // arrayOK: false + // type: color + // Sets the color of the dividers Only has an effect on *multicategory* axes. + Dividercolor Color `json:"dividercolor,omitempty"` + + // Dividerwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the dividers Only has an effect on *multicategory* axes. + Dividerwidth float64 `json:"dividerwidth,omitempty"` + + // Domain + // arrayOK: false + // type: info_array + // Sets the domain of this axis (in plot fraction). + Domain interface{} `json:"domain,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat LayoutXaxisExponentformat `json:"exponentformat,omitempty"` + + // Fixedrange + // arrayOK: false + // type: boolean + // Determines whether or not this axis is zoom-able. If true, then zoom is disabled. + Fixedrange Bool `json:"fixedrange,omitempty"` + + // Gridcolor + // arrayOK: false + // type: color + // Sets the color of the grid lines. + Gridcolor Color `json:"gridcolor,omitempty"` + + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the grid lines. + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Hoverformat + // arrayOK: false + // type: string + // Sets the hover text 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* + Hoverformat String `json:"hoverformat,omitempty"` + + // Insiderange + // arrayOK: false + // type: info_array + // Could be used to set the desired inside range of this axis (excluding the labels) when `ticklabelposition` of the anchored axis has *inside*. Not implemented for axes with `type` *log*. This would be ignored when `range` is provided. + Insiderange interface{} `json:"insiderange,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Layer + // default: above traces + // type: enumerated + // Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. + Layer LayoutXaxisLayer `json:"layer,omitempty"` + + // Linecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Linecolor Color `json:"linecolor,omitempty"` + + // Linewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Linewidth float64 `json:"linewidth,omitempty"` + + // Matches + // default: %!s() + // type: enumerated + // If set to another axis id (e.g. `x2`, `y`), the range of this axis will match the range of the corresponding axis in data-coordinates space. Moreover, matching axes share auto-range values, category lists and histogram auto-bins. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden. Moreover, note that matching axes must have the same `type`. + Matches LayoutXaxisMatches `json:"matches,omitempty"` + + // Maxallowed + // arrayOK: false + // type: any + // Determines the maximum range of this axis. + Maxallowed interface{} `json:"maxallowed,omitempty"` + + // Minallowed + // arrayOK: false + // type: any + // Determines the minimum range of this axis. + Minallowed interface{} `json:"minallowed,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Minor + // role: Object + Minor *LayoutXaxisMinor `json:"minor,omitempty"` + + // Mirror + // default: %!s(bool=false) + // type: enumerated + // 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. + Mirror LayoutXaxisMirror `json:"mirror,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Overlaying + // default: %!s() + // type: enumerated + // If set a same-letter axis id, this axis is overlaid on top of the corresponding same-letter axis, with traces and axes visible for both axes. If *false*, this axis does not overlay any same-letter axes. In this case, for axes with overlapping domains only the highest-numbered axis will be visible. + Overlaying LayoutXaxisOverlaying `json:"overlaying,omitempty"` + + // Position + // arrayOK: false + // type: number + // Sets the position of this axis in the plotting space (in normalized coordinates). Only has an effect if `anchor` is set to *free*. + Position float64 `json:"position,omitempty"` + + // Range + // arrayOK: false + // type: info_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. Leaving either or both elements `null` impacts the default `autorange`. + Range interface{} `json:"range,omitempty"` + + // Rangebreaks + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Rangebreaks interface{} `json:"rangebreaks,omitempty"` + + // Rangemode + // default: normal + // type: enumerated + // 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. + Rangemode LayoutXaxisRangemode `json:"rangemode,omitempty"` + + // Rangeselector + // role: Object + Rangeselector *LayoutXaxisRangeselector `json:"rangeselector,omitempty"` + + // Rangeslider + // role: Object + Rangeslider *LayoutXaxisRangeslider `json:"rangeslider,omitempty"` + + // Scaleanchor + // default: %!s() + // type: enumerated + // If set to another axis id (e.g. `x2`, `y`), the range of this axis changes together with the range of the corresponding axis such that the scale of pixels per unit is in a constant ratio. Both axes are still zoomable, but when you zoom one, the other will zoom the same amount, keeping a fixed midpoint. `constrain` and `constraintoward` determine how we enforce the constraint. You can chain these, ie `yaxis: {scaleanchor: *x*}, xaxis2: {scaleanchor: *y*}` but you can only link axes of the same `type`. The linked axis can have the opposite letter (to constrain the aspect ratio) or the same letter (to match scales across subplots). Loops (`yaxis: {scaleanchor: *x*}, xaxis: {scaleanchor: *y*}` or longer) are redundant and the last constraint encountered will be ignored to avoid possible inconsistent constraints via `scaleratio`. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden. Setting `false` allows to remove a default constraint (occasionally, you may need to prevent a default `scaleanchor` constraint from being applied, eg. when having an image trace `yaxis: {scaleanchor: "x"}` is set automatically in order for pixels to be rendered as squares, setting `yaxis: {scaleanchor: false}` allows to remove the constraint). + Scaleanchor LayoutXaxisScaleanchor `json:"scaleanchor,omitempty"` + + // Scaleratio + // arrayOK: false + // type: number + // If this axis is linked to another by `scaleanchor`, this determines the pixel to unit scale ratio. For example, if this value is 10, then every unit on this axis spans 10 times the number of pixels as a unit on the linked axis. Use this for example to create an elevation profile where the vertical scale is exaggerated a fixed amount with respect to the horizontal. + Scaleratio float64 `json:"scaleratio,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showdividers + // arrayOK: false + // type: boolean + // Determines whether or not a dividers are drawn between the category levels of this axis. Only has an effect on *multicategory* axes. + Showdividers Bool `json:"showdividers,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent LayoutXaxisShowexponent `json:"showexponent,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark. + Showgrid Bool `json:"showgrid,omitempty"` + + // Showline + // arrayOK: false + // type: boolean + // Determines whether or not a line bounding this axis is drawn. + Showline Bool `json:"showline,omitempty"` + + // Showspikes + // arrayOK: false + // type: boolean + // Determines whether or not spikes (aka droplines) are drawn for this axis. Note: This only takes affect when hovermode = closest + Showspikes Bool `json:"showspikes,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix LayoutXaxisShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix LayoutXaxisShowticksuffix `json:"showticksuffix,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // Determines whether a x (y) axis is positioned at the *bottom* (*left*) or *top* (*right*) of the plotting area. + Side LayoutXaxisSide `json:"side,omitempty"` + + // Spikecolor + // arrayOK: false + // type: color + // Sets the spike color. If undefined, will use the series color + Spikecolor Color `json:"spikecolor,omitempty"` + + // Spikedash + // arrayOK: false + // type: string + // 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*). + Spikedash String `json:"spikedash,omitempty"` + + // Spikemode + // default: toaxis + // type: flaglist + // Determines the drawing mode for the spike line If *toaxis*, the line is drawn from the data point to the axis the series is plotted on. If *across*, the line is drawn across the entire plot area, and supercedes *toaxis*. If *marker*, then a marker dot is drawn on the axis the series is plotted on + Spikemode LayoutXaxisSpikemode `json:"spikemode,omitempty"` + + // Spikesnap + // default: hovered data + // type: enumerated + // Determines whether spikelines are stuck to the cursor or to the closest datapoints. + Spikesnap LayoutXaxisSpikesnap `json:"spikesnap,omitempty"` + + // Spikethickness + // arrayOK: false + // type: number + // Sets the width (in px) of the zero line. + Spikethickness float64 `json:"spikethickness,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *LayoutXaxisTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabelmode + // default: instant + // type: enumerated + // Determines where tick labels are drawn with respect to their corresponding ticks and grid lines. Only has an effect for axes of `type` *date* When set to *period*, tick labels are drawn in the middle of the period between ticks. + Ticklabelmode LayoutXaxisTicklabelmode `json:"ticklabelmode,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. Otherwise on *category* and *multicategory* axes the default is *allow*. In other cases the default is *hide past div*. + Ticklabeloverflow LayoutXaxisTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // Determines where tick labels are drawn with respect to the axis Please note that top or bottom has no effect on x axes or when `ticklabelmode` is set to *period*. Similarly left or right has no effect on y axes or when `ticklabelmode` is set to *period*. Has no effect on *multicategory* axes or when `tickson` is set to *boundaries*. When used on axes linked by `matches` or `scaleanchor`, no extra padding for inside labels would be added by autorange, so that the scales could match. + Ticklabelposition LayoutXaxisTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). If *sync*, the number of ticks will sync with the overlayed axis set by `overlaying` property. + Tickmode LayoutXaxisTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: %!s() + // type: enumerated + // 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. + Ticks LayoutXaxisTicks `json:"ticks,omitempty"` + + // Tickson + // default: labels + // type: enumerated + // Determines where ticks and grid lines are drawn with respect to their corresponding tick labels. Only has an effect for axes of `type` *category* or *multicategory*. When set to *boundaries*, ticks and grid lines are drawn half a category to the left/bottom of labels. + Tickson LayoutXaxisTickson `json:"tickson,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *LayoutXaxisTitle `json:"title,omitempty"` + + // Type + // default: - + // type: enumerated + // 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. + Type LayoutXaxisType `json:"type,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // Controls persistence of user-driven changes in axis `range`, `autorange`, and `title` if in `editable: true` configuration. Defaults to `layout.uirevision`. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // 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 + Visible Bool `json:"visible,omitempty"` + + // Zeroline + // arrayOK: false + // type: boolean + // Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines. + Zeroline Bool `json:"zeroline,omitempty"` + + // Zerolinecolor + // arrayOK: false + // type: color + // Sets the line color of the zero line. + Zerolinecolor Color `json:"zerolinecolor,omitempty"` + + // Zerolinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the zero line. + Zerolinewidth float64 `json:"zerolinewidth,omitempty"` +} + +// LayoutYaxisAutorangeoptions +type LayoutYaxisAutorangeoptions struct { + + // Clipmax + // arrayOK: false + // type: any + // Clip autorange maximum if it goes beyond this value. Has no effect when `autorangeoptions.maxallowed` is provided. + Clipmax interface{} `json:"clipmax,omitempty"` + + // Clipmin + // arrayOK: false + // type: any + // Clip autorange minimum if it goes beyond this value. Has no effect when `autorangeoptions.minallowed` is provided. + Clipmin interface{} `json:"clipmin,omitempty"` + + // Include + // arrayOK: true + // type: any + // Ensure this value is included in autorange. + Include interface{} `json:"include,omitempty"` + + // Includesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `include`. + Includesrc String `json:"includesrc,omitempty"` + + // Maxallowed + // arrayOK: false + // type: any + // Use this value exactly as autorange maximum. + Maxallowed interface{} `json:"maxallowed,omitempty"` + + // Minallowed + // arrayOK: false + // type: any + // Use this value exactly as autorange minimum. + Minallowed interface{} `json:"minallowed,omitempty"` +} + +// LayoutYaxisMinor +type LayoutYaxisMinor struct { + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Gridcolor + // arrayOK: false + // type: color + // Sets the color of the grid lines. + Gridcolor Color `json:"gridcolor,omitempty"` + + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the grid lines. + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark. + Showgrid Bool `json:"showgrid,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode LayoutYaxisMinorTickmode `json:"tickmode,omitempty"` + + // Ticks + // default: %!s() + // type: enumerated + // 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. + Ticks LayoutYaxisMinorTicks `json:"ticks,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` +} + +// LayoutYaxisTickfont Sets the tick font. +type LayoutYaxisTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutYaxisTitleFont Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute. +type LayoutYaxisTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// LayoutYaxisTitle +type LayoutYaxisTitle struct { + + // Font + // role: Object + Font *LayoutYaxisTitleFont `json:"font,omitempty"` + + // Standoff + // arrayOK: false + // type: number + // Sets the standoff distance (in px) between the axis labels and the title text The default value is a function of the axis tick labels, the title `font.size` and the axis `linewidth`. 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 on `automargin`, plotly.js will push the margins to fit the axis title at given standoff distance. + Standoff float64 `json:"standoff,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// LayoutYaxis +type LayoutYaxis struct { + + // Anchor + // default: %!s() + // type: enumerated + // If set to an opposite-letter axis id (e.g. `x2`, `y`), this axis is bound to the corresponding opposite-letter axis. If set to *free*, this axis' position is determined by `position`. + Anchor LayoutYaxisAnchor `json:"anchor,omitempty"` + + // Automargin + // default: %!s(bool=false) + // type: flaglist + // Determines whether long tick labels automatically grow the figure margins. + Automargin LayoutYaxisAutomargin `json:"automargin,omitempty"` + + // Autorange + // default: %!s(bool=true) + // type: enumerated + // Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction. + Autorange LayoutYaxisAutorange `json:"autorange,omitempty"` + + // Autorangeoptions + // role: Object + Autorangeoptions *LayoutYaxisAutorangeoptions `json:"autorangeoptions,omitempty"` + + // Autoshift + // arrayOK: false + // type: boolean + // Automatically reposition the axis to avoid overlap with other axes with the same `overlaying` value. This repositioning will account for any `shift` amount applied to other axes on the same side with `autoshift` is set to true. Only has an effect if `anchor` is set to *free*. + Autoshift Bool `json:"autoshift,omitempty"` + + // Autotickangles + // arrayOK: false + // type: info_array + // When `tickangle` is set to *auto*, it will be set to the first angle in this array that is large enough to prevent label overlap. + Autotickangles interface{} `json:"autotickangles,omitempty"` + + // Autotypenumbers + // default: convert types + // type: enumerated + // 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. + Autotypenumbers LayoutYaxisAutotypenumbers `json:"autotypenumbers,omitempty"` + + // Calendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar` + Calendar LayoutYaxisCalendar `json:"calendar,omitempty"` + + // Categoryarray + // arrayOK: false + // 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`. + Categoryarray interface{} `json:"categoryarray,omitempty"` + + // Categoryarraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `categoryarray`. + Categoryarraysrc String `json:"categoryarraysrc,omitempty"` + + // Categoryorder + // default: trace + // type: enumerated + // 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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values. + Categoryorder LayoutYaxisCategoryorder `json:"categoryorder,omitempty"` + + // Color + // arrayOK: false + // 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. + Color Color `json:"color,omitempty"` + + // Constrain + // default: %!s() + // type: enumerated + // If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines how that happens: by increasing the *range*, or by decreasing the *domain*. Default is *domain* for axes containing image traces, *range* otherwise. + Constrain LayoutYaxisConstrain `json:"constrain,omitempty"` + + // Constraintoward + // default: %!s() + // type: enumerated + // If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines which direction we push the originally specified plot area. Options are *left*, *center* (default), and *right* for x axes, and *top*, *middle* (default), and *bottom* for y axes. + Constraintoward LayoutYaxisConstraintoward `json:"constraintoward,omitempty"` + + // Dividercolor + // arrayOK: false + // type: color + // Sets the color of the dividers Only has an effect on *multicategory* axes. + Dividercolor Color `json:"dividercolor,omitempty"` + + // Dividerwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the dividers Only has an effect on *multicategory* axes. + Dividerwidth float64 `json:"dividerwidth,omitempty"` + + // Domain + // arrayOK: false + // type: info_array + // Sets the domain of this axis (in plot fraction). + Domain interface{} `json:"domain,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat LayoutYaxisExponentformat `json:"exponentformat,omitempty"` + + // Fixedrange + // arrayOK: false + // type: boolean + // Determines whether or not this axis is zoom-able. If true, then zoom is disabled. + Fixedrange Bool `json:"fixedrange,omitempty"` + + // Gridcolor + // arrayOK: false + // type: color + // Sets the color of the grid lines. + Gridcolor Color `json:"gridcolor,omitempty"` + + // Griddash + // arrayOK: false + // type: string + // 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*). + Griddash String `json:"griddash,omitempty"` + + // Gridwidth + // arrayOK: false + // type: number + // Sets the width (in px) of the grid lines. + Gridwidth float64 `json:"gridwidth,omitempty"` + + // Hoverformat + // arrayOK: false + // type: string + // Sets the hover text 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* + Hoverformat String `json:"hoverformat,omitempty"` + + // Insiderange + // arrayOK: false + // type: info_array + // Could be used to set the desired inside range of this axis (excluding the labels) when `ticklabelposition` of the anchored axis has *inside*. Not implemented for axes with `type` *log*. This would be ignored when `range` is provided. + Insiderange interface{} `json:"insiderange,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Layer + // default: above traces + // type: enumerated + // Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. + Layer LayoutYaxisLayer `json:"layer,omitempty"` + + // Linecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Linecolor Color `json:"linecolor,omitempty"` + + // Linewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Linewidth float64 `json:"linewidth,omitempty"` + + // Matches + // default: %!s() + // type: enumerated + // If set to another axis id (e.g. `x2`, `y`), the range of this axis will match the range of the corresponding axis in data-coordinates space. Moreover, matching axes share auto-range values, category lists and histogram auto-bins. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden. Moreover, note that matching axes must have the same `type`. + Matches LayoutYaxisMatches `json:"matches,omitempty"` + + // Maxallowed + // arrayOK: false + // type: any + // Determines the maximum range of this axis. + Maxallowed interface{} `json:"maxallowed,omitempty"` + + // Minallowed + // arrayOK: false + // type: any + // Determines the minimum range of this axis. + Minallowed interface{} `json:"minallowed,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Minor + // role: Object + Minor *LayoutYaxisMinor `json:"minor,omitempty"` + + // Mirror + // default: %!s(bool=false) + // type: enumerated + // 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. + Mirror LayoutYaxisMirror `json:"mirror,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Overlaying + // default: %!s() + // type: enumerated + // If set a same-letter axis id, this axis is overlaid on top of the corresponding same-letter axis, with traces and axes visible for both axes. If *false*, this axis does not overlay any same-letter axes. In this case, for axes with overlapping domains only the highest-numbered axis will be visible. + Overlaying LayoutYaxisOverlaying `json:"overlaying,omitempty"` + + // Position + // arrayOK: false + // type: number + // Sets the position of this axis in the plotting space (in normalized coordinates). Only has an effect if `anchor` is set to *free*. + Position float64 `json:"position,omitempty"` + + // Range + // arrayOK: false + // type: info_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. Leaving either or both elements `null` impacts the default `autorange`. + Range interface{} `json:"range,omitempty"` + + // Rangebreaks + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Rangebreaks interface{} `json:"rangebreaks,omitempty"` + + // Rangemode + // default: normal + // type: enumerated + // 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. + Rangemode LayoutYaxisRangemode `json:"rangemode,omitempty"` + + // Scaleanchor + // default: %!s() + // type: enumerated + // If set to another axis id (e.g. `x2`, `y`), the range of this axis changes together with the range of the corresponding axis such that the scale of pixels per unit is in a constant ratio. Both axes are still zoomable, but when you zoom one, the other will zoom the same amount, keeping a fixed midpoint. `constrain` and `constraintoward` determine how we enforce the constraint. You can chain these, ie `yaxis: {scaleanchor: *x*}, xaxis2: {scaleanchor: *y*}` but you can only link axes of the same `type`. The linked axis can have the opposite letter (to constrain the aspect ratio) or the same letter (to match scales across subplots). Loops (`yaxis: {scaleanchor: *x*}, xaxis: {scaleanchor: *y*}` or longer) are redundant and the last constraint encountered will be ignored to avoid possible inconsistent constraints via `scaleratio`. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden. Setting `false` allows to remove a default constraint (occasionally, you may need to prevent a default `scaleanchor` constraint from being applied, eg. when having an image trace `yaxis: {scaleanchor: "x"}` is set automatically in order for pixels to be rendered as squares, setting `yaxis: {scaleanchor: false}` allows to remove the constraint). + Scaleanchor LayoutYaxisScaleanchor `json:"scaleanchor,omitempty"` + + // Scaleratio + // arrayOK: false + // type: number + // If this axis is linked to another by `scaleanchor`, this determines the pixel to unit scale ratio. For example, if this value is 10, then every unit on this axis spans 10 times the number of pixels as a unit on the linked axis. Use this for example to create an elevation profile where the vertical scale is exaggerated a fixed amount with respect to the horizontal. + Scaleratio float64 `json:"scaleratio,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Shift + // arrayOK: false + // type: number + // Moves the axis a given number of pixels from where it would have been otherwise. Accepts both positive and negative values, which will shift the axis either right or left, respectively. If `autoshift` is set to true, then this defaults to a padding of -3 if `side` is set to *left*. and defaults to +3 if `side` is set to *right*. Defaults to 0 if `autoshift` is set to false. Only has an effect if `anchor` is set to *free*. + Shift float64 `json:"shift,omitempty"` + + // Showdividers + // arrayOK: false + // type: boolean + // Determines whether or not a dividers are drawn between the category levels of this axis. Only has an effect on *multicategory* axes. + Showdividers Bool `json:"showdividers,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent LayoutYaxisShowexponent `json:"showexponent,omitempty"` + + // Showgrid + // arrayOK: false + // type: boolean + // Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark. + Showgrid Bool `json:"showgrid,omitempty"` + + // Showline + // arrayOK: false + // type: boolean + // Determines whether or not a line bounding this axis is drawn. + Showline Bool `json:"showline,omitempty"` + + // Showspikes + // arrayOK: false + // type: boolean + // Determines whether or not spikes (aka droplines) are drawn for this axis. Note: This only takes affect when hovermode = closest + Showspikes Bool `json:"showspikes,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix LayoutYaxisShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix LayoutYaxisShowticksuffix `json:"showticksuffix,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // Determines whether a x (y) axis is positioned at the *bottom* (*left*) or *top* (*right*) of the plotting area. + Side LayoutYaxisSide `json:"side,omitempty"` + + // Spikecolor + // arrayOK: false + // type: color + // Sets the spike color. If undefined, will use the series color + Spikecolor Color `json:"spikecolor,omitempty"` + + // Spikedash + // arrayOK: false + // type: string + // 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*). + Spikedash String `json:"spikedash,omitempty"` + + // Spikemode + // default: toaxis + // type: flaglist + // Determines the drawing mode for the spike line If *toaxis*, the line is drawn from the data point to the axis the series is plotted on. If *across*, the line is drawn across the entire plot area, and supercedes *toaxis*. If *marker*, then a marker dot is drawn on the axis the series is plotted on + Spikemode LayoutYaxisSpikemode `json:"spikemode,omitempty"` + + // Spikesnap + // default: hovered data + // type: enumerated + // Determines whether spikelines are stuck to the cursor or to the closest datapoints. + Spikesnap LayoutYaxisSpikesnap `json:"spikesnap,omitempty"` + + // Spikethickness + // arrayOK: false + // type: number + // Sets the width (in px) of the zero line. + Spikethickness float64 `json:"spikethickness,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *LayoutYaxisTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabelmode + // default: instant + // type: enumerated + // Determines where tick labels are drawn with respect to their corresponding ticks and grid lines. Only has an effect for axes of `type` *date* When set to *period*, tick labels are drawn in the middle of the period between ticks. + Ticklabelmode LayoutYaxisTicklabelmode `json:"ticklabelmode,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. Otherwise on *category* and *multicategory* axes the default is *allow*. In other cases the default is *hide past div*. + Ticklabeloverflow LayoutYaxisTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // Determines where tick labels are drawn with respect to the axis Please note that top or bottom has no effect on x axes or when `ticklabelmode` is set to *period*. Similarly left or right has no effect on y axes or when `ticklabelmode` is set to *period*. Has no effect on *multicategory* axes or when `tickson` is set to *boundaries*. When used on axes linked by `matches` or `scaleanchor`, no extra padding for inside labels would be added by autorange, so that the scales could match. + Ticklabelposition LayoutYaxisTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). If *sync*, the number of ticks will sync with the overlayed axis set by `overlaying` property. + Tickmode LayoutYaxisTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: %!s() + // type: enumerated + // 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. + Ticks LayoutYaxisTicks `json:"ticks,omitempty"` + + // Tickson + // default: labels + // type: enumerated + // Determines where ticks and grid lines are drawn with respect to their corresponding tick labels. Only has an effect for axes of `type` *category* or *multicategory*. When set to *boundaries*, ticks and grid lines are drawn half a category to the left/bottom of labels. + Tickson LayoutYaxisTickson `json:"tickson,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *LayoutYaxisTitle `json:"title,omitempty"` + + // Type + // default: - + // type: enumerated + // 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. + Type LayoutYaxisType `json:"type,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // Controls persistence of user-driven changes in axis `range`, `autorange`, and `title` if in `editable: true` configuration. Defaults to `layout.uirevision`. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // 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 + Visible Bool `json:"visible,omitempty"` + + // Zeroline + // arrayOK: false + // type: boolean + // Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines. + Zeroline Bool `json:"zeroline,omitempty"` + + // Zerolinecolor + // arrayOK: false + // type: color + // Sets the line color of the zero line. + Zerolinecolor Color `json:"zerolinecolor,omitempty"` + + // Zerolinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the zero line. + Zerolinewidth float64 `json:"zerolinewidth,omitempty"` +} + +// LayoutAutotypenumbers 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. +type LayoutAutotypenumbers string + +const ( + LayoutAutotypenumbersConvertTypes LayoutAutotypenumbers = "convert types" + LayoutAutotypenumbersStrict LayoutAutotypenumbers = "strict" +) + +// LayoutBarmode Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *relative*, the bars are stacked on top of one another, with negative values below the axis, positive values above With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars. +type LayoutBarmode string + +const ( + HistogramBarmodeStack LayoutBarmode = "stack" + HistogramBarmodeGroup LayoutBarmode = "group" + HistogramBarmodeOverlay LayoutBarmode = "overlay" + HistogramBarmodeRelative LayoutBarmode = "relative" + BarBarmodeStack LayoutBarmode = "stack" + BarBarmodeGroup LayoutBarmode = "group" + BarBarmodeOverlay LayoutBarmode = "overlay" + BarBarmodeRelative LayoutBarmode = "relative" + BarpolarBarmodeStack LayoutBarmode = "stack" + BarpolarBarmodeOverlay LayoutBarmode = "overlay" +) + +// LayoutBarnorm Sets the normalization for bar traces on the graph. With *fraction*, the value of each bar is divided by the sum of all values at that location coordinate. *percent* is the same but multiplied by 100 to show percentages. +type LayoutBarnorm string + +const ( + BarBarnormEmpty LayoutBarnorm = "" + BarBarnormFraction LayoutBarnorm = "fraction" + BarBarnormPercent LayoutBarnorm = "percent" + HistogramBarnormEmpty LayoutBarnorm = "" + HistogramBarnormFraction LayoutBarnorm = "fraction" + HistogramBarnormPercent LayoutBarnorm = "percent" +) + +// LayoutBoxmode Determines how boxes at the same location coordinate are displayed on the graph. If *group*, the boxes are plotted next to one another centered around the shared location. If *overlay*, the boxes are plotted over one another, you might need to set *opacity* to see them multiple boxes. Has no effect on traces that have *width* set. +type LayoutBoxmode string + +const ( + BoxBoxmodeGroup LayoutBoxmode = "group" + BoxBoxmodeOverlay LayoutBoxmode = "overlay" + CandlestickBoxmodeGroup LayoutBoxmode = "group" + CandlestickBoxmodeOverlay LayoutBoxmode = "overlay" +) + +// LayoutCalendar Sets the default calendar system to use for interpreting and displaying dates throughout the plot. +type LayoutCalendar string + +const ( + LayoutCalendarChinese LayoutCalendar = "chinese" + LayoutCalendarCoptic LayoutCalendar = "coptic" + LayoutCalendarDiscworld LayoutCalendar = "discworld" + LayoutCalendarEthiopian LayoutCalendar = "ethiopian" + LayoutCalendarGregorian LayoutCalendar = "gregorian" + LayoutCalendarHebrew LayoutCalendar = "hebrew" + LayoutCalendarIslamic LayoutCalendar = "islamic" + LayoutCalendarJalali LayoutCalendar = "jalali" + LayoutCalendarJulian LayoutCalendar = "julian" + LayoutCalendarMayan LayoutCalendar = "mayan" + LayoutCalendarNanakshahi LayoutCalendar = "nanakshahi" + LayoutCalendarNepali LayoutCalendar = "nepali" + LayoutCalendarPersian LayoutCalendar = "persian" + LayoutCalendarTaiwan LayoutCalendar = "taiwan" + LayoutCalendarThai LayoutCalendar = "thai" + LayoutCalendarUmmalqura LayoutCalendar = "ummalqura" +) + +// LayoutColoraxisColorbarExponentformat 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. +type LayoutColoraxisColorbarExponentformat string + +const ( + LayoutColoraxisColorbarExponentformatNone LayoutColoraxisColorbarExponentformat = "none" + LayoutColoraxisColorbarExponentformatE1 LayoutColoraxisColorbarExponentformat = "e" + LayoutColoraxisColorbarExponentformatE2 LayoutColoraxisColorbarExponentformat = "E" + LayoutColoraxisColorbarExponentformatPower LayoutColoraxisColorbarExponentformat = "power" + LayoutColoraxisColorbarExponentformatSI LayoutColoraxisColorbarExponentformat = "SI" + LayoutColoraxisColorbarExponentformatB LayoutColoraxisColorbarExponentformat = "B" +) + +// LayoutColoraxisColorbarLenmode 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. +type LayoutColoraxisColorbarLenmode string + +const ( + LayoutColoraxisColorbarLenmodeFraction LayoutColoraxisColorbarLenmode = "fraction" + LayoutColoraxisColorbarLenmodePixels LayoutColoraxisColorbarLenmode = "pixels" +) + +// LayoutColoraxisColorbarOrientation Sets the orientation of the colorbar. +type LayoutColoraxisColorbarOrientation string + +const ( + LayoutColoraxisColorbarOrientationH LayoutColoraxisColorbarOrientation = "h" + LayoutColoraxisColorbarOrientationV LayoutColoraxisColorbarOrientation = "v" +) + +// LayoutColoraxisColorbarShowexponent 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. +type LayoutColoraxisColorbarShowexponent string + +const ( + LayoutColoraxisColorbarShowexponentAll LayoutColoraxisColorbarShowexponent = "all" + LayoutColoraxisColorbarShowexponentFirst LayoutColoraxisColorbarShowexponent = "first" + LayoutColoraxisColorbarShowexponentLast LayoutColoraxisColorbarShowexponent = "last" + LayoutColoraxisColorbarShowexponentNone LayoutColoraxisColorbarShowexponent = "none" +) + +// LayoutColoraxisColorbarShowtickprefix 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. +type LayoutColoraxisColorbarShowtickprefix string + +const ( + LayoutColoraxisColorbarShowtickprefixAll LayoutColoraxisColorbarShowtickprefix = "all" + LayoutColoraxisColorbarShowtickprefixFirst LayoutColoraxisColorbarShowtickprefix = "first" + LayoutColoraxisColorbarShowtickprefixLast LayoutColoraxisColorbarShowtickprefix = "last" + LayoutColoraxisColorbarShowtickprefixNone LayoutColoraxisColorbarShowtickprefix = "none" +) + +// LayoutColoraxisColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type LayoutColoraxisColorbarShowticksuffix string + +const ( + LayoutColoraxisColorbarShowticksuffixAll LayoutColoraxisColorbarShowticksuffix = "all" + LayoutColoraxisColorbarShowticksuffixFirst LayoutColoraxisColorbarShowticksuffix = "first" + LayoutColoraxisColorbarShowticksuffixLast LayoutColoraxisColorbarShowticksuffix = "last" + LayoutColoraxisColorbarShowticksuffixNone LayoutColoraxisColorbarShowticksuffix = "none" +) + +// LayoutColoraxisColorbarThicknessmode 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. +type LayoutColoraxisColorbarThicknessmode string + +const ( + LayoutColoraxisColorbarThicknessmodeFraction LayoutColoraxisColorbarThicknessmode = "fraction" + LayoutColoraxisColorbarThicknessmodePixels LayoutColoraxisColorbarThicknessmode = "pixels" +) + +// LayoutColoraxisColorbarTicklabeloverflow 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*. +type LayoutColoraxisColorbarTicklabeloverflow string + +const ( + LayoutColoraxisColorbarTicklabeloverflowAllow LayoutColoraxisColorbarTicklabeloverflow = "allow" + LayoutColoraxisColorbarTicklabeloverflowHidePastDiv LayoutColoraxisColorbarTicklabeloverflow = "hide past div" + LayoutColoraxisColorbarTicklabeloverflowHidePastDomain LayoutColoraxisColorbarTicklabeloverflow = "hide past domain" +) + +// LayoutColoraxisColorbarTicklabelposition 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*. +type LayoutColoraxisColorbarTicklabelposition string + +const ( + LayoutColoraxisColorbarTicklabelpositionOutside LayoutColoraxisColorbarTicklabelposition = "outside" + LayoutColoraxisColorbarTicklabelpositionInside LayoutColoraxisColorbarTicklabelposition = "inside" + LayoutColoraxisColorbarTicklabelpositionOutsideTop LayoutColoraxisColorbarTicklabelposition = "outside top" + LayoutColoraxisColorbarTicklabelpositionInsideTop LayoutColoraxisColorbarTicklabelposition = "inside top" + LayoutColoraxisColorbarTicklabelpositionOutsideLeft LayoutColoraxisColorbarTicklabelposition = "outside left" + LayoutColoraxisColorbarTicklabelpositionInsideLeft LayoutColoraxisColorbarTicklabelposition = "inside left" + LayoutColoraxisColorbarTicklabelpositionOutsideRight LayoutColoraxisColorbarTicklabelposition = "outside right" + LayoutColoraxisColorbarTicklabelpositionInsideRight LayoutColoraxisColorbarTicklabelposition = "inside right" + LayoutColoraxisColorbarTicklabelpositionOutsideBottom LayoutColoraxisColorbarTicklabelposition = "outside bottom" + LayoutColoraxisColorbarTicklabelpositionInsideBottom LayoutColoraxisColorbarTicklabelposition = "inside bottom" +) + +// LayoutColoraxisColorbarTickmode 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). +type LayoutColoraxisColorbarTickmode string + +const ( + LayoutColoraxisColorbarTickmodeAuto LayoutColoraxisColorbarTickmode = "auto" + LayoutColoraxisColorbarTickmodeLinear LayoutColoraxisColorbarTickmode = "linear" + LayoutColoraxisColorbarTickmodeArray LayoutColoraxisColorbarTickmode = "array" +) + +// LayoutColoraxisColorbarTicks 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. +type LayoutColoraxisColorbarTicks string + +const ( + LayoutColoraxisColorbarTicksOutside LayoutColoraxisColorbarTicks = "outside" + LayoutColoraxisColorbarTicksInside LayoutColoraxisColorbarTicks = "inside" + LayoutColoraxisColorbarTicksEmpty LayoutColoraxisColorbarTicks = "" +) + +// LayoutColoraxisColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type LayoutColoraxisColorbarTitleSide string + +const ( + LayoutColoraxisColorbarTitleSideRight LayoutColoraxisColorbarTitleSide = "right" + LayoutColoraxisColorbarTitleSideTop LayoutColoraxisColorbarTitleSide = "top" + LayoutColoraxisColorbarTitleSideBottom LayoutColoraxisColorbarTitleSide = "bottom" +) + +// LayoutColoraxisColorbarXanchor 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*. +type LayoutColoraxisColorbarXanchor string + +const ( + LayoutColoraxisColorbarXanchorLeft LayoutColoraxisColorbarXanchor = "left" + LayoutColoraxisColorbarXanchorCenter LayoutColoraxisColorbarXanchor = "center" + LayoutColoraxisColorbarXanchorRight LayoutColoraxisColorbarXanchor = "right" +) + +// LayoutColoraxisColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type LayoutColoraxisColorbarXref string + +const ( + LayoutColoraxisColorbarXrefContainer LayoutColoraxisColorbarXref = "container" + LayoutColoraxisColorbarXrefPaper LayoutColoraxisColorbarXref = "paper" +) + +// LayoutColoraxisColorbarYanchor 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*. +type LayoutColoraxisColorbarYanchor string + +const ( + LayoutColoraxisColorbarYanchorTop LayoutColoraxisColorbarYanchor = "top" + LayoutColoraxisColorbarYanchorMiddle LayoutColoraxisColorbarYanchor = "middle" + LayoutColoraxisColorbarYanchorBottom LayoutColoraxisColorbarYanchor = "bottom" +) + +// LayoutColoraxisColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type LayoutColoraxisColorbarYref string + +const ( + LayoutColoraxisColorbarYrefContainer LayoutColoraxisColorbarYref = "container" + LayoutColoraxisColorbarYrefPaper LayoutColoraxisColorbarYref = "paper" +) + +// LayoutDragmode 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. +type LayoutDragmode interface{} + +var ( + LayoutDragmodeZoom LayoutDragmode = "zoom" + LayoutDragmodePan LayoutDragmode = "pan" + LayoutDragmodeSelect LayoutDragmode = "select" + LayoutDragmodeLasso LayoutDragmode = "lasso" + LayoutDragmodeDrawclosedpath LayoutDragmode = "drawclosedpath" + LayoutDragmodeDrawopenpath LayoutDragmode = "drawopenpath" + LayoutDragmodeDrawline LayoutDragmode = "drawline" + LayoutDragmodeDrawrect LayoutDragmode = "drawrect" + LayoutDragmodeDrawcircle LayoutDragmode = "drawcircle" + LayoutDragmodeOrbit LayoutDragmode = "orbit" + LayoutDragmodeTurntable LayoutDragmode = "turntable" + LayoutDragmodeFalse LayoutDragmode = false +) + +// LayoutFunnelmode Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars. +type LayoutFunnelmode string + +const ( + FunnelFunnelmodeStack LayoutFunnelmode = "stack" + FunnelFunnelmodeGroup LayoutFunnelmode = "group" + FunnelFunnelmodeOverlay LayoutFunnelmode = "overlay" +) + +// LayoutGeoFitbounds Determines if this subplot's view settings are auto-computed to fit trace data. On scoped maps, setting `fitbounds` leads to `center.lon` and `center.lat` getting auto-filled. On maps with a non-clipped projection, setting `fitbounds` leads to `center.lon`, `center.lat`, and `projection.rotation.lon` getting auto-filled. On maps with a clipped projection, setting `fitbounds` leads to `center.lon`, `center.lat`, `projection.rotation.lon`, `projection.rotation.lat`, `lonaxis.range` and `lonaxis.range` getting auto-filled. If *locations*, only the trace's visible locations are considered in the `fitbounds` computations. If *geojson*, the entire trace input `geojson` (if provided) is considered in the `fitbounds` computations, Defaults to *false*. +type LayoutGeoFitbounds interface{} + +var ( + LayoutGeoFitboundsFalse LayoutGeoFitbounds = false + LayoutGeoFitboundsLocations LayoutGeoFitbounds = "locations" + LayoutGeoFitboundsGeojson LayoutGeoFitbounds = "geojson" +) + +// LayoutGeoProjectionType Sets the projection type. +type LayoutGeoProjectionType string + +const ( + LayoutGeoProjectionTypeAiry LayoutGeoProjectionType = "airy" + LayoutGeoProjectionTypeAitoff LayoutGeoProjectionType = "aitoff" + LayoutGeoProjectionTypeAlbers LayoutGeoProjectionType = "albers" + LayoutGeoProjectionTypeAlbersUsa LayoutGeoProjectionType = "albers usa" + LayoutGeoProjectionTypeAugust LayoutGeoProjectionType = "august" + LayoutGeoProjectionTypeAzimuthalEqualArea LayoutGeoProjectionType = "azimuthal equal area" + LayoutGeoProjectionTypeAzimuthalEquidistant LayoutGeoProjectionType = "azimuthal equidistant" + LayoutGeoProjectionTypeBaker LayoutGeoProjectionType = "baker" + LayoutGeoProjectionTypeBertin1953 LayoutGeoProjectionType = "bertin1953" + LayoutGeoProjectionTypeBoggs LayoutGeoProjectionType = "boggs" + LayoutGeoProjectionTypeBonne LayoutGeoProjectionType = "bonne" + LayoutGeoProjectionTypeBottomley LayoutGeoProjectionType = "bottomley" + LayoutGeoProjectionTypeBromley LayoutGeoProjectionType = "bromley" + LayoutGeoProjectionTypeCollignon LayoutGeoProjectionType = "collignon" + LayoutGeoProjectionTypeConicConformal LayoutGeoProjectionType = "conic conformal" + LayoutGeoProjectionTypeConicEqualArea LayoutGeoProjectionType = "conic equal area" + LayoutGeoProjectionTypeConicEquidistant LayoutGeoProjectionType = "conic equidistant" + LayoutGeoProjectionTypeCraig LayoutGeoProjectionType = "craig" + LayoutGeoProjectionTypeCraster LayoutGeoProjectionType = "craster" + LayoutGeoProjectionTypeCylindricalEqualArea LayoutGeoProjectionType = "cylindrical equal area" + LayoutGeoProjectionTypeCylindricalStereographic LayoutGeoProjectionType = "cylindrical stereographic" + LayoutGeoProjectionTypeEckert1 LayoutGeoProjectionType = "eckert1" + LayoutGeoProjectionTypeEckert2 LayoutGeoProjectionType = "eckert2" + LayoutGeoProjectionTypeEckert3 LayoutGeoProjectionType = "eckert3" + LayoutGeoProjectionTypeEckert4 LayoutGeoProjectionType = "eckert4" + LayoutGeoProjectionTypeEckert5 LayoutGeoProjectionType = "eckert5" + LayoutGeoProjectionTypeEckert6 LayoutGeoProjectionType = "eckert6" + LayoutGeoProjectionTypeEisenlohr LayoutGeoProjectionType = "eisenlohr" + LayoutGeoProjectionTypeEqualEarth LayoutGeoProjectionType = "equal earth" + LayoutGeoProjectionTypeEquirectangular LayoutGeoProjectionType = "equirectangular" + LayoutGeoProjectionTypeFahey LayoutGeoProjectionType = "fahey" + LayoutGeoProjectionTypeFoucaut LayoutGeoProjectionType = "foucaut" + LayoutGeoProjectionTypeFoucautSinusoidal LayoutGeoProjectionType = "foucaut sinusoidal" + LayoutGeoProjectionTypeGinzburg4 LayoutGeoProjectionType = "ginzburg4" + LayoutGeoProjectionTypeGinzburg5 LayoutGeoProjectionType = "ginzburg5" + LayoutGeoProjectionTypeGinzburg6 LayoutGeoProjectionType = "ginzburg6" + LayoutGeoProjectionTypeGinzburg8 LayoutGeoProjectionType = "ginzburg8" + LayoutGeoProjectionTypeGinzburg9 LayoutGeoProjectionType = "ginzburg9" + LayoutGeoProjectionTypeGnomonic LayoutGeoProjectionType = "gnomonic" + LayoutGeoProjectionTypeGringorten LayoutGeoProjectionType = "gringorten" + LayoutGeoProjectionTypeGringortenQuincuncial LayoutGeoProjectionType = "gringorten quincuncial" + LayoutGeoProjectionTypeGuyou LayoutGeoProjectionType = "guyou" + LayoutGeoProjectionTypeHammer LayoutGeoProjectionType = "hammer" + LayoutGeoProjectionTypeHill LayoutGeoProjectionType = "hill" + LayoutGeoProjectionTypeHomolosine LayoutGeoProjectionType = "homolosine" + LayoutGeoProjectionTypeHufnagel LayoutGeoProjectionType = "hufnagel" + LayoutGeoProjectionTypeHyperelliptical LayoutGeoProjectionType = "hyperelliptical" + LayoutGeoProjectionTypeKavrayskiy7 LayoutGeoProjectionType = "kavrayskiy7" + LayoutGeoProjectionTypeLagrange LayoutGeoProjectionType = "lagrange" + LayoutGeoProjectionTypeLarrivee LayoutGeoProjectionType = "larrivee" + LayoutGeoProjectionTypeLaskowski LayoutGeoProjectionType = "laskowski" + LayoutGeoProjectionTypeLoximuthal LayoutGeoProjectionType = "loximuthal" + LayoutGeoProjectionTypeMercator LayoutGeoProjectionType = "mercator" + LayoutGeoProjectionTypeMiller LayoutGeoProjectionType = "miller" + LayoutGeoProjectionTypeMollweide LayoutGeoProjectionType = "mollweide" + LayoutGeoProjectionTypeMtFlatPolarParabolic LayoutGeoProjectionType = "mt flat polar parabolic" + LayoutGeoProjectionTypeMtFlatPolarQuartic LayoutGeoProjectionType = "mt flat polar quartic" + LayoutGeoProjectionTypeMtFlatPolarSinusoidal LayoutGeoProjectionType = "mt flat polar sinusoidal" + LayoutGeoProjectionTypeNaturalEarth LayoutGeoProjectionType = "natural earth" + LayoutGeoProjectionTypeNaturalEarth1 LayoutGeoProjectionType = "natural earth1" + LayoutGeoProjectionTypeNaturalEarth2 LayoutGeoProjectionType = "natural earth2" + LayoutGeoProjectionTypeNellHammer LayoutGeoProjectionType = "nell hammer" + LayoutGeoProjectionTypeNicolosi LayoutGeoProjectionType = "nicolosi" + LayoutGeoProjectionTypeOrthographic LayoutGeoProjectionType = "orthographic" + LayoutGeoProjectionTypePatterson LayoutGeoProjectionType = "patterson" + LayoutGeoProjectionTypePeirceQuincuncial LayoutGeoProjectionType = "peirce quincuncial" + LayoutGeoProjectionTypePolyconic LayoutGeoProjectionType = "polyconic" + LayoutGeoProjectionTypeRectangularPolyconic LayoutGeoProjectionType = "rectangular polyconic" + LayoutGeoProjectionTypeRobinson LayoutGeoProjectionType = "robinson" + LayoutGeoProjectionTypeSatellite LayoutGeoProjectionType = "satellite" + LayoutGeoProjectionTypeSinuMollweide LayoutGeoProjectionType = "sinu mollweide" + LayoutGeoProjectionTypeSinusoidal LayoutGeoProjectionType = "sinusoidal" + LayoutGeoProjectionTypeStereographic LayoutGeoProjectionType = "stereographic" + LayoutGeoProjectionTypeTimes LayoutGeoProjectionType = "times" + LayoutGeoProjectionTypeTransverseMercator LayoutGeoProjectionType = "transverse mercator" + LayoutGeoProjectionTypeVanDerGrinten LayoutGeoProjectionType = "van der grinten" + LayoutGeoProjectionTypeVanDerGrinten2 LayoutGeoProjectionType = "van der grinten2" + LayoutGeoProjectionTypeVanDerGrinten3 LayoutGeoProjectionType = "van der grinten3" + LayoutGeoProjectionTypeVanDerGrinten4 LayoutGeoProjectionType = "van der grinten4" + LayoutGeoProjectionTypeWagner4 LayoutGeoProjectionType = "wagner4" + LayoutGeoProjectionTypeWagner6 LayoutGeoProjectionType = "wagner6" + LayoutGeoProjectionTypeWiechel LayoutGeoProjectionType = "wiechel" + LayoutGeoProjectionTypeWinkelTripel LayoutGeoProjectionType = "winkel tripel" + LayoutGeoProjectionTypeWinkel3 LayoutGeoProjectionType = "winkel3" +) + +// LayoutGeoResolution Sets the resolution of the base layers. The values have units of km/mm e.g. 110 corresponds to a scale ratio of 1:110,000,000. +type LayoutGeoResolution interface{} + +var ( + LayoutGeoResolutionNumber110 LayoutGeoResolution = 110 + LayoutGeoResolutionNumber50 LayoutGeoResolution = 50 +) + +// LayoutGeoScope Set the scope of the map. +type LayoutGeoScope string + +const ( + LayoutGeoScopeAfrica LayoutGeoScope = "africa" + LayoutGeoScopeAsia LayoutGeoScope = "asia" + LayoutGeoScopeEurope LayoutGeoScope = "europe" + LayoutGeoScopeNorthAmerica LayoutGeoScope = "north america" + LayoutGeoScopeSouthAmerica LayoutGeoScope = "south america" + LayoutGeoScopeUsa LayoutGeoScope = "usa" + LayoutGeoScopeWorld LayoutGeoScope = "world" +) + +// LayoutGridPattern 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`. +type LayoutGridPattern string + +const ( + LayoutGridPatternIndependent LayoutGridPattern = "independent" + LayoutGridPatternCoupled LayoutGridPattern = "coupled" +) + +// LayoutGridRoworder Is the first row the top or the bottom? Note that columns are always enumerated from left to right. +type LayoutGridRoworder string + +const ( + LayoutGridRoworderTopToBottom LayoutGridRoworder = "top to bottom" + LayoutGridRoworderBottomToTop LayoutGridRoworder = "bottom to top" +) + +// LayoutGridXside 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. +type LayoutGridXside string + +const ( + LayoutGridXsideBottom LayoutGridXside = "bottom" + LayoutGridXsideBottomPlot LayoutGridXside = "bottom plot" + LayoutGridXsideTopPlot LayoutGridXside = "top plot" + LayoutGridXsideTop LayoutGridXside = "top" +) + +// LayoutGridYside 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. +type LayoutGridYside string + +const ( + LayoutGridYsideLeft LayoutGridYside = "left" + LayoutGridYsideLeftPlot LayoutGridYside = "left plot" + LayoutGridYsideRightPlot LayoutGridYside = "right plot" + LayoutGridYsideRight LayoutGridYside = "right" +) + +// LayoutHoverlabelAlign 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 +type LayoutHoverlabelAlign string + +const ( + LayoutHoverlabelAlignLeft LayoutHoverlabelAlign = "left" + LayoutHoverlabelAlignRight LayoutHoverlabelAlign = "right" + LayoutHoverlabelAlignAuto LayoutHoverlabelAlign = "auto" +) + +// LayoutHovermode 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. +type LayoutHovermode interface{} + +var ( + LayoutHovermodeX LayoutHovermode = "x" + LayoutHovermodeY LayoutHovermode = "y" + LayoutHovermodeClosest LayoutHovermode = "closest" + LayoutHovermodeFalse LayoutHovermode = false + LayoutHovermodeXUnified LayoutHovermode = "x unified" + LayoutHovermodeYUnified LayoutHovermode = "y unified" +) + +// LayoutHoversubplots 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*. +type LayoutHoversubplots string + +const ( + LayoutHoversubplotsSingle LayoutHoversubplots = "single" + LayoutHoversubplotsOverlaying LayoutHoversubplots = "overlaying" + LayoutHoversubplotsAxis LayoutHoversubplots = "axis" +) + +// LayoutLegendEntrywidthmode Determines what entrywidth means. +type LayoutLegendEntrywidthmode string + +const ( + LayoutLegendEntrywidthmodeFraction LayoutLegendEntrywidthmode = "fraction" + LayoutLegendEntrywidthmodePixels LayoutLegendEntrywidthmode = "pixels" +) + +// LayoutLegendGroupclick 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. +type LayoutLegendGroupclick string + +const ( + LayoutLegendGroupclickToggleitem LayoutLegendGroupclick = "toggleitem" + LayoutLegendGroupclickTogglegroup LayoutLegendGroupclick = "togglegroup" +) + +// LayoutLegendItemclick 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. +type LayoutLegendItemclick interface{} + +var ( + LayoutLegendItemclickToggle LayoutLegendItemclick = "toggle" + LayoutLegendItemclickToggleothers LayoutLegendItemclick = "toggleothers" + LayoutLegendItemclickFalse LayoutLegendItemclick = false +) + +// LayoutLegendItemdoubleclick 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. +type LayoutLegendItemdoubleclick interface{} + +var ( + LayoutLegendItemdoubleclickToggle LayoutLegendItemdoubleclick = "toggle" + LayoutLegendItemdoubleclickToggleothers LayoutLegendItemdoubleclick = "toggleothers" + LayoutLegendItemdoubleclickFalse LayoutLegendItemdoubleclick = false +) + +// LayoutLegendItemsizing Determines if the legend items symbols scale with their corresponding *trace* attributes or remain *constant* independent of the symbol size on the graph. +type LayoutLegendItemsizing string + +const ( + LayoutLegendItemsizingTrace LayoutLegendItemsizing = "trace" + LayoutLegendItemsizingConstant LayoutLegendItemsizing = "constant" +) + +// LayoutLegendOrientation Sets the orientation of the legend. +type LayoutLegendOrientation string + +const ( + LayoutLegendOrientationV LayoutLegendOrientation = "v" + LayoutLegendOrientationH LayoutLegendOrientation = "h" +) + +// LayoutLegendTitleSide 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. +type LayoutLegendTitleSide string + +const ( + LayoutLegendTitleSideTop LayoutLegendTitleSide = "top" + LayoutLegendTitleSideLeft LayoutLegendTitleSide = "left" + LayoutLegendTitleSideTopLeft LayoutLegendTitleSide = "top left" + LayoutLegendTitleSideTopCenter LayoutLegendTitleSide = "top center" + LayoutLegendTitleSideTopRight LayoutLegendTitleSide = "top right" +) + +// LayoutLegendValign Sets the vertical alignment of the symbols with respect to their associated text. +type LayoutLegendValign string + +const ( + LayoutLegendValignTop LayoutLegendValign = "top" + LayoutLegendValignMiddle LayoutLegendValign = "middle" + LayoutLegendValignBottom LayoutLegendValign = "bottom" +) + +// LayoutLegendXanchor 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. +type LayoutLegendXanchor string + +const ( + LayoutLegendXanchorAuto LayoutLegendXanchor = "auto" + LayoutLegendXanchorLeft LayoutLegendXanchor = "left" + LayoutLegendXanchorCenter LayoutLegendXanchor = "center" + LayoutLegendXanchorRight LayoutLegendXanchor = "right" +) + +// LayoutLegendXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type LayoutLegendXref string + +const ( + LayoutLegendXrefContainer LayoutLegendXref = "container" + LayoutLegendXrefPaper LayoutLegendXref = "paper" +) + +// LayoutLegendYanchor 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. +type LayoutLegendYanchor string + +const ( + LayoutLegendYanchorAuto LayoutLegendYanchor = "auto" + LayoutLegendYanchorTop LayoutLegendYanchor = "top" + LayoutLegendYanchorMiddle LayoutLegendYanchor = "middle" + LayoutLegendYanchorBottom LayoutLegendYanchor = "bottom" +) + +// LayoutLegendYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type LayoutLegendYref string + +const ( + LayoutLegendYrefContainer LayoutLegendYref = "container" + LayoutLegendYrefPaper LayoutLegendYref = "paper" +) + +// LayoutModebarOrientation Sets the orientation of the modebar. +type LayoutModebarOrientation string + +const ( + LayoutModebarOrientationV LayoutModebarOrientation = "v" + LayoutModebarOrientationH LayoutModebarOrientation = "h" +) + +// LayoutNewselectionMode 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. +type LayoutNewselectionMode string + +const ( + LayoutNewselectionModeImmediate LayoutNewselectionMode = "immediate" + LayoutNewselectionModeGradual LayoutNewselectionMode = "gradual" +) + +// LayoutNewshapeDrawdirection 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. +type LayoutNewshapeDrawdirection string + +const ( + LayoutNewshapeDrawdirectionOrtho LayoutNewshapeDrawdirection = "ortho" + LayoutNewshapeDrawdirectionHorizontal LayoutNewshapeDrawdirection = "horizontal" + LayoutNewshapeDrawdirectionVertical LayoutNewshapeDrawdirection = "vertical" + LayoutNewshapeDrawdirectionDiagonal LayoutNewshapeDrawdirection = "diagonal" +) + +// LayoutNewshapeFillrule Determines the path's interior. For more info please visit https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule +type LayoutNewshapeFillrule string + +const ( + LayoutNewshapeFillruleEvenodd LayoutNewshapeFillrule = "evenodd" + LayoutNewshapeFillruleNonzero LayoutNewshapeFillrule = "nonzero" +) + +// LayoutNewshapeLabelTextposition 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. +type LayoutNewshapeLabelTextposition string + +const ( + LayoutNewshapeLabelTextpositionTopLeft LayoutNewshapeLabelTextposition = "top left" + LayoutNewshapeLabelTextpositionTopCenter LayoutNewshapeLabelTextposition = "top center" + LayoutNewshapeLabelTextpositionTopRight LayoutNewshapeLabelTextposition = "top right" + LayoutNewshapeLabelTextpositionMiddleLeft LayoutNewshapeLabelTextposition = "middle left" + LayoutNewshapeLabelTextpositionMiddleCenter LayoutNewshapeLabelTextposition = "middle center" + LayoutNewshapeLabelTextpositionMiddleRight LayoutNewshapeLabelTextposition = "middle right" + LayoutNewshapeLabelTextpositionBottomLeft LayoutNewshapeLabelTextposition = "bottom left" + LayoutNewshapeLabelTextpositionBottomCenter LayoutNewshapeLabelTextposition = "bottom center" + LayoutNewshapeLabelTextpositionBottomRight LayoutNewshapeLabelTextposition = "bottom right" + LayoutNewshapeLabelTextpositionStart LayoutNewshapeLabelTextposition = "start" + LayoutNewshapeLabelTextpositionMiddle LayoutNewshapeLabelTextposition = "middle" + LayoutNewshapeLabelTextpositionEnd LayoutNewshapeLabelTextposition = "end" +) + +// LayoutNewshapeLabelXanchor 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. +type LayoutNewshapeLabelXanchor string + +const ( + LayoutNewshapeLabelXanchorAuto LayoutNewshapeLabelXanchor = "auto" + LayoutNewshapeLabelXanchorLeft LayoutNewshapeLabelXanchor = "left" + LayoutNewshapeLabelXanchorCenter LayoutNewshapeLabelXanchor = "center" + LayoutNewshapeLabelXanchorRight LayoutNewshapeLabelXanchor = "right" +) + +// LayoutNewshapeLabelYanchor 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. +type LayoutNewshapeLabelYanchor string + +const ( + LayoutNewshapeLabelYanchorTop LayoutNewshapeLabelYanchor = "top" + LayoutNewshapeLabelYanchorMiddle LayoutNewshapeLabelYanchor = "middle" + LayoutNewshapeLabelYanchorBottom LayoutNewshapeLabelYanchor = "bottom" +) + +// LayoutNewshapeLayer Specifies whether new shapes are drawn below gridlines (*below*), between gridlines and traces (*between*) or above traces (*above*). +type LayoutNewshapeLayer string + +const ( + LayoutNewshapeLayerBelow LayoutNewshapeLayer = "below" + LayoutNewshapeLayerAbove LayoutNewshapeLayer = "above" + LayoutNewshapeLayerBetween LayoutNewshapeLayer = "between" +) + +// LayoutNewshapeVisible 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). +type LayoutNewshapeVisible interface{} + +var ( + LayoutNewshapeVisibleTrue LayoutNewshapeVisible = true + LayoutNewshapeVisibleFalse LayoutNewshapeVisible = false + LayoutNewshapeVisibleLegendonly LayoutNewshapeVisible = "legendonly" +) + +// LayoutPolarAngularaxisAutotypenumbers 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. +type LayoutPolarAngularaxisAutotypenumbers string + +const ( + LayoutPolarAngularaxisAutotypenumbersConvertTypes LayoutPolarAngularaxisAutotypenumbers = "convert types" + LayoutPolarAngularaxisAutotypenumbersStrict LayoutPolarAngularaxisAutotypenumbers = "strict" +) + +// LayoutPolarAngularaxisCategoryorder 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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values. +type LayoutPolarAngularaxisCategoryorder string + +const ( + LayoutPolarAngularaxisCategoryorderTrace LayoutPolarAngularaxisCategoryorder = "trace" + LayoutPolarAngularaxisCategoryorderCategoryAscending LayoutPolarAngularaxisCategoryorder = "category ascending" + LayoutPolarAngularaxisCategoryorderCategoryDescending LayoutPolarAngularaxisCategoryorder = "category descending" + LayoutPolarAngularaxisCategoryorderArray LayoutPolarAngularaxisCategoryorder = "array" + LayoutPolarAngularaxisCategoryorderTotalAscending LayoutPolarAngularaxisCategoryorder = "total ascending" + LayoutPolarAngularaxisCategoryorderTotalDescending LayoutPolarAngularaxisCategoryorder = "total descending" + LayoutPolarAngularaxisCategoryorderMinAscending LayoutPolarAngularaxisCategoryorder = "min ascending" + LayoutPolarAngularaxisCategoryorderMinDescending LayoutPolarAngularaxisCategoryorder = "min descending" + LayoutPolarAngularaxisCategoryorderMaxAscending LayoutPolarAngularaxisCategoryorder = "max ascending" + LayoutPolarAngularaxisCategoryorderMaxDescending LayoutPolarAngularaxisCategoryorder = "max descending" + LayoutPolarAngularaxisCategoryorderSumAscending LayoutPolarAngularaxisCategoryorder = "sum ascending" + LayoutPolarAngularaxisCategoryorderSumDescending LayoutPolarAngularaxisCategoryorder = "sum descending" + LayoutPolarAngularaxisCategoryorderMeanAscending LayoutPolarAngularaxisCategoryorder = "mean ascending" + LayoutPolarAngularaxisCategoryorderMeanDescending LayoutPolarAngularaxisCategoryorder = "mean descending" + LayoutPolarAngularaxisCategoryorderMedianAscending LayoutPolarAngularaxisCategoryorder = "median ascending" + LayoutPolarAngularaxisCategoryorderMedianDescending LayoutPolarAngularaxisCategoryorder = "median descending" +) + +// LayoutPolarAngularaxisDirection Sets the direction corresponding to positive angles. +type LayoutPolarAngularaxisDirection string + +const ( + LayoutPolarAngularaxisDirectionCounterclockwise LayoutPolarAngularaxisDirection = "counterclockwise" + LayoutPolarAngularaxisDirectionClockwise LayoutPolarAngularaxisDirection = "clockwise" +) + +// LayoutPolarAngularaxisExponentformat 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. +type LayoutPolarAngularaxisExponentformat string + +const ( + LayoutPolarAngularaxisExponentformatNone LayoutPolarAngularaxisExponentformat = "none" + LayoutPolarAngularaxisExponentformatE1 LayoutPolarAngularaxisExponentformat = "e" + LayoutPolarAngularaxisExponentformatE2 LayoutPolarAngularaxisExponentformat = "E" + LayoutPolarAngularaxisExponentformatPower LayoutPolarAngularaxisExponentformat = "power" + LayoutPolarAngularaxisExponentformatSI LayoutPolarAngularaxisExponentformat = "SI" + LayoutPolarAngularaxisExponentformatB LayoutPolarAngularaxisExponentformat = "B" +) + +// LayoutPolarAngularaxisLayer Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. +type LayoutPolarAngularaxisLayer string + +const ( + LayoutPolarAngularaxisLayerAboveTraces LayoutPolarAngularaxisLayer = "above traces" + LayoutPolarAngularaxisLayerBelowTraces LayoutPolarAngularaxisLayer = "below traces" +) + +// LayoutPolarAngularaxisShowexponent 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. +type LayoutPolarAngularaxisShowexponent string + +const ( + LayoutPolarAngularaxisShowexponentAll LayoutPolarAngularaxisShowexponent = "all" + LayoutPolarAngularaxisShowexponentFirst LayoutPolarAngularaxisShowexponent = "first" + LayoutPolarAngularaxisShowexponentLast LayoutPolarAngularaxisShowexponent = "last" + LayoutPolarAngularaxisShowexponentNone LayoutPolarAngularaxisShowexponent = "none" +) + +// LayoutPolarAngularaxisShowtickprefix 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. +type LayoutPolarAngularaxisShowtickprefix string + +const ( + LayoutPolarAngularaxisShowtickprefixAll LayoutPolarAngularaxisShowtickprefix = "all" + LayoutPolarAngularaxisShowtickprefixFirst LayoutPolarAngularaxisShowtickprefix = "first" + LayoutPolarAngularaxisShowtickprefixLast LayoutPolarAngularaxisShowtickprefix = "last" + LayoutPolarAngularaxisShowtickprefixNone LayoutPolarAngularaxisShowtickprefix = "none" +) + +// LayoutPolarAngularaxisShowticksuffix Same as `showtickprefix` but for tick suffixes. +type LayoutPolarAngularaxisShowticksuffix string + +const ( + LayoutPolarAngularaxisShowticksuffixAll LayoutPolarAngularaxisShowticksuffix = "all" + LayoutPolarAngularaxisShowticksuffixFirst LayoutPolarAngularaxisShowticksuffix = "first" + LayoutPolarAngularaxisShowticksuffixLast LayoutPolarAngularaxisShowticksuffix = "last" + LayoutPolarAngularaxisShowticksuffixNone LayoutPolarAngularaxisShowticksuffix = "none" +) + +// LayoutPolarAngularaxisThetaunit Sets the format unit of the formatted *theta* values. Has an effect only when `angularaxis.type` is *linear*. +type LayoutPolarAngularaxisThetaunit string + +const ( + LayoutPolarAngularaxisThetaunitRadians LayoutPolarAngularaxisThetaunit = "radians" + LayoutPolarAngularaxisThetaunitDegrees LayoutPolarAngularaxisThetaunit = "degrees" +) + +// LayoutPolarAngularaxisTickmode 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). +type LayoutPolarAngularaxisTickmode string + +const ( + LayoutPolarAngularaxisTickmodeAuto LayoutPolarAngularaxisTickmode = "auto" + LayoutPolarAngularaxisTickmodeLinear LayoutPolarAngularaxisTickmode = "linear" + LayoutPolarAngularaxisTickmodeArray LayoutPolarAngularaxisTickmode = "array" +) + +// LayoutPolarAngularaxisTicks 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. +type LayoutPolarAngularaxisTicks string + +const ( + LayoutPolarAngularaxisTicksOutside LayoutPolarAngularaxisTicks = "outside" + LayoutPolarAngularaxisTicksInside LayoutPolarAngularaxisTicks = "inside" + LayoutPolarAngularaxisTicksEmpty LayoutPolarAngularaxisTicks = "" +) + +// LayoutPolarAngularaxisType Sets the angular axis type. If *linear*, set `thetaunit` to determine the unit in which axis value are shown. If *category, use `period` to set the number of integer coordinates around polar axis. +type LayoutPolarAngularaxisType string + +const ( + LayoutPolarAngularaxisTypeHyphenHyphen LayoutPolarAngularaxisType = "-" + LayoutPolarAngularaxisTypeLinear LayoutPolarAngularaxisType = "linear" + LayoutPolarAngularaxisTypeCategory LayoutPolarAngularaxisType = "category" +) + +// LayoutPolarGridshape Determines if the radial axis grid lines and angular axis line are drawn as *circular* sectors or as *linear* (polygon) sectors. Has an effect only when the angular axis has `type` *category*. Note that `radialaxis.angle` is snapped to the angle of the closest vertex when `gridshape` is *circular* (so that radial axis scale is the same as the data scale). +type LayoutPolarGridshape string + +const ( + LayoutPolarGridshapeCircular LayoutPolarGridshape = "circular" + LayoutPolarGridshapeLinear LayoutPolarGridshape = "linear" +) + +// LayoutPolarRadialaxisAutorange Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction. +type LayoutPolarRadialaxisAutorange interface{} + +var ( + LayoutPolarRadialaxisAutorangeTrue LayoutPolarRadialaxisAutorange = true + LayoutPolarRadialaxisAutorangeFalse LayoutPolarRadialaxisAutorange = false + LayoutPolarRadialaxisAutorangeReversed LayoutPolarRadialaxisAutorange = "reversed" + LayoutPolarRadialaxisAutorangeMinReversed LayoutPolarRadialaxisAutorange = "min reversed" + LayoutPolarRadialaxisAutorangeMaxReversed LayoutPolarRadialaxisAutorange = "max reversed" + LayoutPolarRadialaxisAutorangeMin LayoutPolarRadialaxisAutorange = "min" + LayoutPolarRadialaxisAutorangeMax LayoutPolarRadialaxisAutorange = "max" +) + +// LayoutPolarRadialaxisAutotypenumbers 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. +type LayoutPolarRadialaxisAutotypenumbers string + +const ( + LayoutPolarRadialaxisAutotypenumbersConvertTypes LayoutPolarRadialaxisAutotypenumbers = "convert types" + LayoutPolarRadialaxisAutotypenumbersStrict LayoutPolarRadialaxisAutotypenumbers = "strict" +) + +// LayoutPolarRadialaxisCalendar Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar` +type LayoutPolarRadialaxisCalendar string + +const ( + LayoutPolarRadialaxisCalendarChinese LayoutPolarRadialaxisCalendar = "chinese" + LayoutPolarRadialaxisCalendarCoptic LayoutPolarRadialaxisCalendar = "coptic" + LayoutPolarRadialaxisCalendarDiscworld LayoutPolarRadialaxisCalendar = "discworld" + LayoutPolarRadialaxisCalendarEthiopian LayoutPolarRadialaxisCalendar = "ethiopian" + LayoutPolarRadialaxisCalendarGregorian LayoutPolarRadialaxisCalendar = "gregorian" + LayoutPolarRadialaxisCalendarHebrew LayoutPolarRadialaxisCalendar = "hebrew" + LayoutPolarRadialaxisCalendarIslamic LayoutPolarRadialaxisCalendar = "islamic" + LayoutPolarRadialaxisCalendarJalali LayoutPolarRadialaxisCalendar = "jalali" + LayoutPolarRadialaxisCalendarJulian LayoutPolarRadialaxisCalendar = "julian" + LayoutPolarRadialaxisCalendarMayan LayoutPolarRadialaxisCalendar = "mayan" + LayoutPolarRadialaxisCalendarNanakshahi LayoutPolarRadialaxisCalendar = "nanakshahi" + LayoutPolarRadialaxisCalendarNepali LayoutPolarRadialaxisCalendar = "nepali" + LayoutPolarRadialaxisCalendarPersian LayoutPolarRadialaxisCalendar = "persian" + LayoutPolarRadialaxisCalendarTaiwan LayoutPolarRadialaxisCalendar = "taiwan" + LayoutPolarRadialaxisCalendarThai LayoutPolarRadialaxisCalendar = "thai" + LayoutPolarRadialaxisCalendarUmmalqura LayoutPolarRadialaxisCalendar = "ummalqura" +) + +// LayoutPolarRadialaxisCategoryorder 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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values. +type LayoutPolarRadialaxisCategoryorder string + +const ( + LayoutPolarRadialaxisCategoryorderTrace LayoutPolarRadialaxisCategoryorder = "trace" + LayoutPolarRadialaxisCategoryorderCategoryAscending LayoutPolarRadialaxisCategoryorder = "category ascending" + LayoutPolarRadialaxisCategoryorderCategoryDescending LayoutPolarRadialaxisCategoryorder = "category descending" + LayoutPolarRadialaxisCategoryorderArray LayoutPolarRadialaxisCategoryorder = "array" + LayoutPolarRadialaxisCategoryorderTotalAscending LayoutPolarRadialaxisCategoryorder = "total ascending" + LayoutPolarRadialaxisCategoryorderTotalDescending LayoutPolarRadialaxisCategoryorder = "total descending" + LayoutPolarRadialaxisCategoryorderMinAscending LayoutPolarRadialaxisCategoryorder = "min ascending" + LayoutPolarRadialaxisCategoryorderMinDescending LayoutPolarRadialaxisCategoryorder = "min descending" + LayoutPolarRadialaxisCategoryorderMaxAscending LayoutPolarRadialaxisCategoryorder = "max ascending" + LayoutPolarRadialaxisCategoryorderMaxDescending LayoutPolarRadialaxisCategoryorder = "max descending" + LayoutPolarRadialaxisCategoryorderSumAscending LayoutPolarRadialaxisCategoryorder = "sum ascending" + LayoutPolarRadialaxisCategoryorderSumDescending LayoutPolarRadialaxisCategoryorder = "sum descending" + LayoutPolarRadialaxisCategoryorderMeanAscending LayoutPolarRadialaxisCategoryorder = "mean ascending" + LayoutPolarRadialaxisCategoryorderMeanDescending LayoutPolarRadialaxisCategoryorder = "mean descending" + LayoutPolarRadialaxisCategoryorderMedianAscending LayoutPolarRadialaxisCategoryorder = "median ascending" + LayoutPolarRadialaxisCategoryorderMedianDescending LayoutPolarRadialaxisCategoryorder = "median descending" +) + +// LayoutPolarRadialaxisExponentformat 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. +type LayoutPolarRadialaxisExponentformat string + +const ( + LayoutPolarRadialaxisExponentformatNone LayoutPolarRadialaxisExponentformat = "none" + LayoutPolarRadialaxisExponentformatE1 LayoutPolarRadialaxisExponentformat = "e" + LayoutPolarRadialaxisExponentformatE2 LayoutPolarRadialaxisExponentformat = "E" + LayoutPolarRadialaxisExponentformatPower LayoutPolarRadialaxisExponentformat = "power" + LayoutPolarRadialaxisExponentformatSI LayoutPolarRadialaxisExponentformat = "SI" + LayoutPolarRadialaxisExponentformatB LayoutPolarRadialaxisExponentformat = "B" +) + +// LayoutPolarRadialaxisLayer Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. +type LayoutPolarRadialaxisLayer string + +const ( + LayoutPolarRadialaxisLayerAboveTraces LayoutPolarRadialaxisLayer = "above traces" + LayoutPolarRadialaxisLayerBelowTraces LayoutPolarRadialaxisLayer = "below traces" +) + +// LayoutPolarRadialaxisRangemode 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). +type LayoutPolarRadialaxisRangemode string + +const ( + LayoutPolarRadialaxisRangemodeTozero LayoutPolarRadialaxisRangemode = "tozero" + LayoutPolarRadialaxisRangemodeNonnegative LayoutPolarRadialaxisRangemode = "nonnegative" + LayoutPolarRadialaxisRangemodeNormal LayoutPolarRadialaxisRangemode = "normal" +) + +// LayoutPolarRadialaxisShowexponent 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. +type LayoutPolarRadialaxisShowexponent string + +const ( + LayoutPolarRadialaxisShowexponentAll LayoutPolarRadialaxisShowexponent = "all" + LayoutPolarRadialaxisShowexponentFirst LayoutPolarRadialaxisShowexponent = "first" + LayoutPolarRadialaxisShowexponentLast LayoutPolarRadialaxisShowexponent = "last" + LayoutPolarRadialaxisShowexponentNone LayoutPolarRadialaxisShowexponent = "none" +) + +// LayoutPolarRadialaxisShowtickprefix 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. +type LayoutPolarRadialaxisShowtickprefix string + +const ( + LayoutPolarRadialaxisShowtickprefixAll LayoutPolarRadialaxisShowtickprefix = "all" + LayoutPolarRadialaxisShowtickprefixFirst LayoutPolarRadialaxisShowtickprefix = "first" + LayoutPolarRadialaxisShowtickprefixLast LayoutPolarRadialaxisShowtickprefix = "last" + LayoutPolarRadialaxisShowtickprefixNone LayoutPolarRadialaxisShowtickprefix = "none" +) + +// LayoutPolarRadialaxisShowticksuffix Same as `showtickprefix` but for tick suffixes. +type LayoutPolarRadialaxisShowticksuffix string + +const ( + LayoutPolarRadialaxisShowticksuffixAll LayoutPolarRadialaxisShowticksuffix = "all" + LayoutPolarRadialaxisShowticksuffixFirst LayoutPolarRadialaxisShowticksuffix = "first" + LayoutPolarRadialaxisShowticksuffixLast LayoutPolarRadialaxisShowticksuffix = "last" + LayoutPolarRadialaxisShowticksuffixNone LayoutPolarRadialaxisShowticksuffix = "none" +) + +// LayoutPolarRadialaxisSide Determines on which side of radial axis line the tick and tick labels appear. +type LayoutPolarRadialaxisSide string + +const ( + LayoutPolarRadialaxisSideClockwise LayoutPolarRadialaxisSide = "clockwise" + LayoutPolarRadialaxisSideCounterclockwise LayoutPolarRadialaxisSide = "counterclockwise" +) + +// LayoutPolarRadialaxisTickmode 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). +type LayoutPolarRadialaxisTickmode string + +const ( + LayoutPolarRadialaxisTickmodeAuto LayoutPolarRadialaxisTickmode = "auto" + LayoutPolarRadialaxisTickmodeLinear LayoutPolarRadialaxisTickmode = "linear" + LayoutPolarRadialaxisTickmodeArray LayoutPolarRadialaxisTickmode = "array" +) + +// LayoutPolarRadialaxisTicks 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. +type LayoutPolarRadialaxisTicks string + +const ( + LayoutPolarRadialaxisTicksOutside LayoutPolarRadialaxisTicks = "outside" + LayoutPolarRadialaxisTicksInside LayoutPolarRadialaxisTicks = "inside" + LayoutPolarRadialaxisTicksEmpty LayoutPolarRadialaxisTicks = "" +) + +// LayoutPolarRadialaxisType 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. +type LayoutPolarRadialaxisType string + +const ( + LayoutPolarRadialaxisTypeHyphenHyphen LayoutPolarRadialaxisType = "-" + LayoutPolarRadialaxisTypeLinear LayoutPolarRadialaxisType = "linear" + LayoutPolarRadialaxisTypeLog LayoutPolarRadialaxisType = "log" + LayoutPolarRadialaxisTypeDate LayoutPolarRadialaxisType = "date" + LayoutPolarRadialaxisTypeCategory LayoutPolarRadialaxisType = "category" +) + +// LayoutScattermode Determines how scatter points at the same location coordinate are displayed on the graph. With *group*, the scatter points are plotted next to one another centered around the shared location. With *overlay*, the scatter points are plotted over one another, you might need to reduce *opacity* to see multiple scatter points. +type LayoutScattermode string + +const ( + ScatterScattermodeGroup LayoutScattermode = "group" + ScatterScattermodeOverlay LayoutScattermode = "overlay" +) + +// LayoutSceneAspectmode If *cube*, this scene's axes are drawn as a cube, regardless of the axes' ranges. If *data*, this scene's axes are drawn in proportion with the axes' ranges. If *manual*, this scene's axes are drawn in proportion with the input of *aspectratio* (the default behavior if *aspectratio* is provided). If *auto*, this scene's axes are drawn using the results of *data* except when one axis is more than four times the size of the two others, where in that case the results of *cube* are used. +type LayoutSceneAspectmode string + +const ( + LayoutSceneAspectmodeAuto LayoutSceneAspectmode = "auto" + LayoutSceneAspectmodeCube LayoutSceneAspectmode = "cube" + LayoutSceneAspectmodeData LayoutSceneAspectmode = "data" + LayoutSceneAspectmodeManual LayoutSceneAspectmode = "manual" +) + +// LayoutSceneCameraProjectionType Sets the projection type. The projection type could be either *perspective* or *orthographic*. The default is *perspective*. +type LayoutSceneCameraProjectionType string + +const ( + LayoutSceneCameraProjectionTypePerspective LayoutSceneCameraProjectionType = "perspective" + LayoutSceneCameraProjectionTypeOrthographic LayoutSceneCameraProjectionType = "orthographic" +) + +// LayoutSceneDragmode Determines the mode of drag interactions for this scene. +type LayoutSceneDragmode interface{} + +var ( + LayoutSceneDragmodeOrbit LayoutSceneDragmode = "orbit" + LayoutSceneDragmodeTurntable LayoutSceneDragmode = "turntable" + LayoutSceneDragmodeZoom LayoutSceneDragmode = "zoom" + LayoutSceneDragmodePan LayoutSceneDragmode = "pan" + LayoutSceneDragmodeFalse LayoutSceneDragmode = false +) + +// LayoutSceneHovermode Determines the mode of hover interactions for this scene. +type LayoutSceneHovermode interface{} + +var ( + LayoutSceneHovermodeClosest LayoutSceneHovermode = "closest" + LayoutSceneHovermodeFalse LayoutSceneHovermode = false +) + +// LayoutSceneXaxisAutorange Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction. +type LayoutSceneXaxisAutorange interface{} + +var ( + LayoutSceneXaxisAutorangeTrue LayoutSceneXaxisAutorange = true + LayoutSceneXaxisAutorangeFalse LayoutSceneXaxisAutorange = false + LayoutSceneXaxisAutorangeReversed LayoutSceneXaxisAutorange = "reversed" + LayoutSceneXaxisAutorangeMinReversed LayoutSceneXaxisAutorange = "min reversed" + LayoutSceneXaxisAutorangeMaxReversed LayoutSceneXaxisAutorange = "max reversed" + LayoutSceneXaxisAutorangeMin LayoutSceneXaxisAutorange = "min" + LayoutSceneXaxisAutorangeMax LayoutSceneXaxisAutorange = "max" +) + +// LayoutSceneXaxisAutotypenumbers 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. +type LayoutSceneXaxisAutotypenumbers string + +const ( + LayoutSceneXaxisAutotypenumbersConvertTypes LayoutSceneXaxisAutotypenumbers = "convert types" + LayoutSceneXaxisAutotypenumbersStrict LayoutSceneXaxisAutotypenumbers = "strict" +) + +// LayoutSceneXaxisCalendar Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar` +type LayoutSceneXaxisCalendar string + +const ( + LayoutSceneXaxisCalendarChinese LayoutSceneXaxisCalendar = "chinese" + LayoutSceneXaxisCalendarCoptic LayoutSceneXaxisCalendar = "coptic" + LayoutSceneXaxisCalendarDiscworld LayoutSceneXaxisCalendar = "discworld" + LayoutSceneXaxisCalendarEthiopian LayoutSceneXaxisCalendar = "ethiopian" + LayoutSceneXaxisCalendarGregorian LayoutSceneXaxisCalendar = "gregorian" + LayoutSceneXaxisCalendarHebrew LayoutSceneXaxisCalendar = "hebrew" + LayoutSceneXaxisCalendarIslamic LayoutSceneXaxisCalendar = "islamic" + LayoutSceneXaxisCalendarJalali LayoutSceneXaxisCalendar = "jalali" + LayoutSceneXaxisCalendarJulian LayoutSceneXaxisCalendar = "julian" + LayoutSceneXaxisCalendarMayan LayoutSceneXaxisCalendar = "mayan" + LayoutSceneXaxisCalendarNanakshahi LayoutSceneXaxisCalendar = "nanakshahi" + LayoutSceneXaxisCalendarNepali LayoutSceneXaxisCalendar = "nepali" + LayoutSceneXaxisCalendarPersian LayoutSceneXaxisCalendar = "persian" + LayoutSceneXaxisCalendarTaiwan LayoutSceneXaxisCalendar = "taiwan" + LayoutSceneXaxisCalendarThai LayoutSceneXaxisCalendar = "thai" + LayoutSceneXaxisCalendarUmmalqura LayoutSceneXaxisCalendar = "ummalqura" +) + +// LayoutSceneXaxisCategoryorder 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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values. +type LayoutSceneXaxisCategoryorder string + +const ( + LayoutSceneXaxisCategoryorderTrace LayoutSceneXaxisCategoryorder = "trace" + LayoutSceneXaxisCategoryorderCategoryAscending LayoutSceneXaxisCategoryorder = "category ascending" + LayoutSceneXaxisCategoryorderCategoryDescending LayoutSceneXaxisCategoryorder = "category descending" + LayoutSceneXaxisCategoryorderArray LayoutSceneXaxisCategoryorder = "array" + LayoutSceneXaxisCategoryorderTotalAscending LayoutSceneXaxisCategoryorder = "total ascending" + LayoutSceneXaxisCategoryorderTotalDescending LayoutSceneXaxisCategoryorder = "total descending" + LayoutSceneXaxisCategoryorderMinAscending LayoutSceneXaxisCategoryorder = "min ascending" + LayoutSceneXaxisCategoryorderMinDescending LayoutSceneXaxisCategoryorder = "min descending" + LayoutSceneXaxisCategoryorderMaxAscending LayoutSceneXaxisCategoryorder = "max ascending" + LayoutSceneXaxisCategoryorderMaxDescending LayoutSceneXaxisCategoryorder = "max descending" + LayoutSceneXaxisCategoryorderSumAscending LayoutSceneXaxisCategoryorder = "sum ascending" + LayoutSceneXaxisCategoryorderSumDescending LayoutSceneXaxisCategoryorder = "sum descending" + LayoutSceneXaxisCategoryorderMeanAscending LayoutSceneXaxisCategoryorder = "mean ascending" + LayoutSceneXaxisCategoryorderMeanDescending LayoutSceneXaxisCategoryorder = "mean descending" + LayoutSceneXaxisCategoryorderMedianAscending LayoutSceneXaxisCategoryorder = "median ascending" + LayoutSceneXaxisCategoryorderMedianDescending LayoutSceneXaxisCategoryorder = "median descending" +) + +// LayoutSceneXaxisExponentformat 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. +type LayoutSceneXaxisExponentformat string + +const ( + LayoutSceneXaxisExponentformatNone LayoutSceneXaxisExponentformat = "none" + LayoutSceneXaxisExponentformatE1 LayoutSceneXaxisExponentformat = "e" + LayoutSceneXaxisExponentformatE2 LayoutSceneXaxisExponentformat = "E" + LayoutSceneXaxisExponentformatPower LayoutSceneXaxisExponentformat = "power" + LayoutSceneXaxisExponentformatSI LayoutSceneXaxisExponentformat = "SI" + LayoutSceneXaxisExponentformatB LayoutSceneXaxisExponentformat = "B" +) + +// LayoutSceneXaxisMirror 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. +type LayoutSceneXaxisMirror interface{} + +var ( + LayoutSceneXaxisMirrorTrue LayoutSceneXaxisMirror = true + LayoutSceneXaxisMirrorTicks LayoutSceneXaxisMirror = "ticks" + LayoutSceneXaxisMirrorFalse LayoutSceneXaxisMirror = false + LayoutSceneXaxisMirrorAll LayoutSceneXaxisMirror = "all" + LayoutSceneXaxisMirrorAllticks LayoutSceneXaxisMirror = "allticks" +) + +// LayoutSceneXaxisRangemode 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. +type LayoutSceneXaxisRangemode string + +const ( + LayoutSceneXaxisRangemodeNormal LayoutSceneXaxisRangemode = "normal" + LayoutSceneXaxisRangemodeTozero LayoutSceneXaxisRangemode = "tozero" + LayoutSceneXaxisRangemodeNonnegative LayoutSceneXaxisRangemode = "nonnegative" +) + +// LayoutSceneXaxisShowexponent 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. +type LayoutSceneXaxisShowexponent string + +const ( + LayoutSceneXaxisShowexponentAll LayoutSceneXaxisShowexponent = "all" + LayoutSceneXaxisShowexponentFirst LayoutSceneXaxisShowexponent = "first" + LayoutSceneXaxisShowexponentLast LayoutSceneXaxisShowexponent = "last" + LayoutSceneXaxisShowexponentNone LayoutSceneXaxisShowexponent = "none" +) + +// LayoutSceneXaxisShowtickprefix 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. +type LayoutSceneXaxisShowtickprefix string + +const ( + LayoutSceneXaxisShowtickprefixAll LayoutSceneXaxisShowtickprefix = "all" + LayoutSceneXaxisShowtickprefixFirst LayoutSceneXaxisShowtickprefix = "first" + LayoutSceneXaxisShowtickprefixLast LayoutSceneXaxisShowtickprefix = "last" + LayoutSceneXaxisShowtickprefixNone LayoutSceneXaxisShowtickprefix = "none" +) + +// LayoutSceneXaxisShowticksuffix Same as `showtickprefix` but for tick suffixes. +type LayoutSceneXaxisShowticksuffix string + +const ( + LayoutSceneXaxisShowticksuffixAll LayoutSceneXaxisShowticksuffix = "all" + LayoutSceneXaxisShowticksuffixFirst LayoutSceneXaxisShowticksuffix = "first" + LayoutSceneXaxisShowticksuffixLast LayoutSceneXaxisShowticksuffix = "last" + LayoutSceneXaxisShowticksuffixNone LayoutSceneXaxisShowticksuffix = "none" +) + +// LayoutSceneXaxisTickmode 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). +type LayoutSceneXaxisTickmode string + +const ( + LayoutSceneXaxisTickmodeAuto LayoutSceneXaxisTickmode = "auto" + LayoutSceneXaxisTickmodeLinear LayoutSceneXaxisTickmode = "linear" + LayoutSceneXaxisTickmodeArray LayoutSceneXaxisTickmode = "array" +) + +// LayoutSceneXaxisTicks 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. +type LayoutSceneXaxisTicks string + +const ( + LayoutSceneXaxisTicksOutside LayoutSceneXaxisTicks = "outside" + LayoutSceneXaxisTicksInside LayoutSceneXaxisTicks = "inside" + LayoutSceneXaxisTicksEmpty LayoutSceneXaxisTicks = "" +) + +// LayoutSceneXaxisType 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. +type LayoutSceneXaxisType string + +const ( + LayoutSceneXaxisTypeHyphenHyphen LayoutSceneXaxisType = "-" + LayoutSceneXaxisTypeLinear LayoutSceneXaxisType = "linear" + LayoutSceneXaxisTypeLog LayoutSceneXaxisType = "log" + LayoutSceneXaxisTypeDate LayoutSceneXaxisType = "date" + LayoutSceneXaxisTypeCategory LayoutSceneXaxisType = "category" +) + +// LayoutSceneYaxisAutorange Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction. +type LayoutSceneYaxisAutorange interface{} + +var ( + LayoutSceneYaxisAutorangeTrue LayoutSceneYaxisAutorange = true + LayoutSceneYaxisAutorangeFalse LayoutSceneYaxisAutorange = false + LayoutSceneYaxisAutorangeReversed LayoutSceneYaxisAutorange = "reversed" + LayoutSceneYaxisAutorangeMinReversed LayoutSceneYaxisAutorange = "min reversed" + LayoutSceneYaxisAutorangeMaxReversed LayoutSceneYaxisAutorange = "max reversed" + LayoutSceneYaxisAutorangeMin LayoutSceneYaxisAutorange = "min" + LayoutSceneYaxisAutorangeMax LayoutSceneYaxisAutorange = "max" +) + +// LayoutSceneYaxisAutotypenumbers 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. +type LayoutSceneYaxisAutotypenumbers string + +const ( + LayoutSceneYaxisAutotypenumbersConvertTypes LayoutSceneYaxisAutotypenumbers = "convert types" + LayoutSceneYaxisAutotypenumbersStrict LayoutSceneYaxisAutotypenumbers = "strict" +) + +// LayoutSceneYaxisCalendar Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar` +type LayoutSceneYaxisCalendar string + +const ( + LayoutSceneYaxisCalendarChinese LayoutSceneYaxisCalendar = "chinese" + LayoutSceneYaxisCalendarCoptic LayoutSceneYaxisCalendar = "coptic" + LayoutSceneYaxisCalendarDiscworld LayoutSceneYaxisCalendar = "discworld" + LayoutSceneYaxisCalendarEthiopian LayoutSceneYaxisCalendar = "ethiopian" + LayoutSceneYaxisCalendarGregorian LayoutSceneYaxisCalendar = "gregorian" + LayoutSceneYaxisCalendarHebrew LayoutSceneYaxisCalendar = "hebrew" + LayoutSceneYaxisCalendarIslamic LayoutSceneYaxisCalendar = "islamic" + LayoutSceneYaxisCalendarJalali LayoutSceneYaxisCalendar = "jalali" + LayoutSceneYaxisCalendarJulian LayoutSceneYaxisCalendar = "julian" + LayoutSceneYaxisCalendarMayan LayoutSceneYaxisCalendar = "mayan" + LayoutSceneYaxisCalendarNanakshahi LayoutSceneYaxisCalendar = "nanakshahi" + LayoutSceneYaxisCalendarNepali LayoutSceneYaxisCalendar = "nepali" + LayoutSceneYaxisCalendarPersian LayoutSceneYaxisCalendar = "persian" + LayoutSceneYaxisCalendarTaiwan LayoutSceneYaxisCalendar = "taiwan" + LayoutSceneYaxisCalendarThai LayoutSceneYaxisCalendar = "thai" + LayoutSceneYaxisCalendarUmmalqura LayoutSceneYaxisCalendar = "ummalqura" +) + +// LayoutSceneYaxisCategoryorder 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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values. +type LayoutSceneYaxisCategoryorder string + +const ( + LayoutSceneYaxisCategoryorderTrace LayoutSceneYaxisCategoryorder = "trace" + LayoutSceneYaxisCategoryorderCategoryAscending LayoutSceneYaxisCategoryorder = "category ascending" + LayoutSceneYaxisCategoryorderCategoryDescending LayoutSceneYaxisCategoryorder = "category descending" + LayoutSceneYaxisCategoryorderArray LayoutSceneYaxisCategoryorder = "array" + LayoutSceneYaxisCategoryorderTotalAscending LayoutSceneYaxisCategoryorder = "total ascending" + LayoutSceneYaxisCategoryorderTotalDescending LayoutSceneYaxisCategoryorder = "total descending" + LayoutSceneYaxisCategoryorderMinAscending LayoutSceneYaxisCategoryorder = "min ascending" + LayoutSceneYaxisCategoryorderMinDescending LayoutSceneYaxisCategoryorder = "min descending" + LayoutSceneYaxisCategoryorderMaxAscending LayoutSceneYaxisCategoryorder = "max ascending" + LayoutSceneYaxisCategoryorderMaxDescending LayoutSceneYaxisCategoryorder = "max descending" + LayoutSceneYaxisCategoryorderSumAscending LayoutSceneYaxisCategoryorder = "sum ascending" + LayoutSceneYaxisCategoryorderSumDescending LayoutSceneYaxisCategoryorder = "sum descending" + LayoutSceneYaxisCategoryorderMeanAscending LayoutSceneYaxisCategoryorder = "mean ascending" + LayoutSceneYaxisCategoryorderMeanDescending LayoutSceneYaxisCategoryorder = "mean descending" + LayoutSceneYaxisCategoryorderMedianAscending LayoutSceneYaxisCategoryorder = "median ascending" + LayoutSceneYaxisCategoryorderMedianDescending LayoutSceneYaxisCategoryorder = "median descending" +) + +// LayoutSceneYaxisExponentformat 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. +type LayoutSceneYaxisExponentformat string + +const ( + LayoutSceneYaxisExponentformatNone LayoutSceneYaxisExponentformat = "none" + LayoutSceneYaxisExponentformatE1 LayoutSceneYaxisExponentformat = "e" + LayoutSceneYaxisExponentformatE2 LayoutSceneYaxisExponentformat = "E" + LayoutSceneYaxisExponentformatPower LayoutSceneYaxisExponentformat = "power" + LayoutSceneYaxisExponentformatSI LayoutSceneYaxisExponentformat = "SI" + LayoutSceneYaxisExponentformatB LayoutSceneYaxisExponentformat = "B" +) + +// LayoutSceneYaxisMirror 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. +type LayoutSceneYaxisMirror interface{} + +var ( + LayoutSceneYaxisMirrorTrue LayoutSceneYaxisMirror = true + LayoutSceneYaxisMirrorTicks LayoutSceneYaxisMirror = "ticks" + LayoutSceneYaxisMirrorFalse LayoutSceneYaxisMirror = false + LayoutSceneYaxisMirrorAll LayoutSceneYaxisMirror = "all" + LayoutSceneYaxisMirrorAllticks LayoutSceneYaxisMirror = "allticks" +) + +// LayoutSceneYaxisRangemode 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. +type LayoutSceneYaxisRangemode string + +const ( + LayoutSceneYaxisRangemodeNormal LayoutSceneYaxisRangemode = "normal" + LayoutSceneYaxisRangemodeTozero LayoutSceneYaxisRangemode = "tozero" + LayoutSceneYaxisRangemodeNonnegative LayoutSceneYaxisRangemode = "nonnegative" +) + +// LayoutSceneYaxisShowexponent 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. +type LayoutSceneYaxisShowexponent string + +const ( + LayoutSceneYaxisShowexponentAll LayoutSceneYaxisShowexponent = "all" + LayoutSceneYaxisShowexponentFirst LayoutSceneYaxisShowexponent = "first" + LayoutSceneYaxisShowexponentLast LayoutSceneYaxisShowexponent = "last" + LayoutSceneYaxisShowexponentNone LayoutSceneYaxisShowexponent = "none" +) + +// LayoutSceneYaxisShowtickprefix 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. +type LayoutSceneYaxisShowtickprefix string + +const ( + LayoutSceneYaxisShowtickprefixAll LayoutSceneYaxisShowtickprefix = "all" + LayoutSceneYaxisShowtickprefixFirst LayoutSceneYaxisShowtickprefix = "first" + LayoutSceneYaxisShowtickprefixLast LayoutSceneYaxisShowtickprefix = "last" + LayoutSceneYaxisShowtickprefixNone LayoutSceneYaxisShowtickprefix = "none" +) + +// LayoutSceneYaxisShowticksuffix Same as `showtickprefix` but for tick suffixes. +type LayoutSceneYaxisShowticksuffix string + +const ( + LayoutSceneYaxisShowticksuffixAll LayoutSceneYaxisShowticksuffix = "all" + LayoutSceneYaxisShowticksuffixFirst LayoutSceneYaxisShowticksuffix = "first" + LayoutSceneYaxisShowticksuffixLast LayoutSceneYaxisShowticksuffix = "last" + LayoutSceneYaxisShowticksuffixNone LayoutSceneYaxisShowticksuffix = "none" +) + +// LayoutSceneYaxisTickmode 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). +type LayoutSceneYaxisTickmode string + +const ( + LayoutSceneYaxisTickmodeAuto LayoutSceneYaxisTickmode = "auto" + LayoutSceneYaxisTickmodeLinear LayoutSceneYaxisTickmode = "linear" + LayoutSceneYaxisTickmodeArray LayoutSceneYaxisTickmode = "array" +) + +// LayoutSceneYaxisTicks 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. +type LayoutSceneYaxisTicks string + +const ( + LayoutSceneYaxisTicksOutside LayoutSceneYaxisTicks = "outside" + LayoutSceneYaxisTicksInside LayoutSceneYaxisTicks = "inside" + LayoutSceneYaxisTicksEmpty LayoutSceneYaxisTicks = "" +) + +// LayoutSceneYaxisType 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. +type LayoutSceneYaxisType string + +const ( + LayoutSceneYaxisTypeHyphenHyphen LayoutSceneYaxisType = "-" + LayoutSceneYaxisTypeLinear LayoutSceneYaxisType = "linear" + LayoutSceneYaxisTypeLog LayoutSceneYaxisType = "log" + LayoutSceneYaxisTypeDate LayoutSceneYaxisType = "date" + LayoutSceneYaxisTypeCategory LayoutSceneYaxisType = "category" +) + +// LayoutSceneZaxisAutorange Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction. +type LayoutSceneZaxisAutorange interface{} + +var ( + LayoutSceneZaxisAutorangeTrue LayoutSceneZaxisAutorange = true + LayoutSceneZaxisAutorangeFalse LayoutSceneZaxisAutorange = false + LayoutSceneZaxisAutorangeReversed LayoutSceneZaxisAutorange = "reversed" + LayoutSceneZaxisAutorangeMinReversed LayoutSceneZaxisAutorange = "min reversed" + LayoutSceneZaxisAutorangeMaxReversed LayoutSceneZaxisAutorange = "max reversed" + LayoutSceneZaxisAutorangeMin LayoutSceneZaxisAutorange = "min" + LayoutSceneZaxisAutorangeMax LayoutSceneZaxisAutorange = "max" +) + +// LayoutSceneZaxisAutotypenumbers 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. +type LayoutSceneZaxisAutotypenumbers string + +const ( + LayoutSceneZaxisAutotypenumbersConvertTypes LayoutSceneZaxisAutotypenumbers = "convert types" + LayoutSceneZaxisAutotypenumbersStrict LayoutSceneZaxisAutotypenumbers = "strict" +) + +// LayoutSceneZaxisCalendar Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar` +type LayoutSceneZaxisCalendar string + +const ( + LayoutSceneZaxisCalendarChinese LayoutSceneZaxisCalendar = "chinese" + LayoutSceneZaxisCalendarCoptic LayoutSceneZaxisCalendar = "coptic" + LayoutSceneZaxisCalendarDiscworld LayoutSceneZaxisCalendar = "discworld" + LayoutSceneZaxisCalendarEthiopian LayoutSceneZaxisCalendar = "ethiopian" + LayoutSceneZaxisCalendarGregorian LayoutSceneZaxisCalendar = "gregorian" + LayoutSceneZaxisCalendarHebrew LayoutSceneZaxisCalendar = "hebrew" + LayoutSceneZaxisCalendarIslamic LayoutSceneZaxisCalendar = "islamic" + LayoutSceneZaxisCalendarJalali LayoutSceneZaxisCalendar = "jalali" + LayoutSceneZaxisCalendarJulian LayoutSceneZaxisCalendar = "julian" + LayoutSceneZaxisCalendarMayan LayoutSceneZaxisCalendar = "mayan" + LayoutSceneZaxisCalendarNanakshahi LayoutSceneZaxisCalendar = "nanakshahi" + LayoutSceneZaxisCalendarNepali LayoutSceneZaxisCalendar = "nepali" + LayoutSceneZaxisCalendarPersian LayoutSceneZaxisCalendar = "persian" + LayoutSceneZaxisCalendarTaiwan LayoutSceneZaxisCalendar = "taiwan" + LayoutSceneZaxisCalendarThai LayoutSceneZaxisCalendar = "thai" + LayoutSceneZaxisCalendarUmmalqura LayoutSceneZaxisCalendar = "ummalqura" +) + +// LayoutSceneZaxisCategoryorder 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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values. +type LayoutSceneZaxisCategoryorder string + +const ( + LayoutSceneZaxisCategoryorderTrace LayoutSceneZaxisCategoryorder = "trace" + LayoutSceneZaxisCategoryorderCategoryAscending LayoutSceneZaxisCategoryorder = "category ascending" + LayoutSceneZaxisCategoryorderCategoryDescending LayoutSceneZaxisCategoryorder = "category descending" + LayoutSceneZaxisCategoryorderArray LayoutSceneZaxisCategoryorder = "array" + LayoutSceneZaxisCategoryorderTotalAscending LayoutSceneZaxisCategoryorder = "total ascending" + LayoutSceneZaxisCategoryorderTotalDescending LayoutSceneZaxisCategoryorder = "total descending" + LayoutSceneZaxisCategoryorderMinAscending LayoutSceneZaxisCategoryorder = "min ascending" + LayoutSceneZaxisCategoryorderMinDescending LayoutSceneZaxisCategoryorder = "min descending" + LayoutSceneZaxisCategoryorderMaxAscending LayoutSceneZaxisCategoryorder = "max ascending" + LayoutSceneZaxisCategoryorderMaxDescending LayoutSceneZaxisCategoryorder = "max descending" + LayoutSceneZaxisCategoryorderSumAscending LayoutSceneZaxisCategoryorder = "sum ascending" + LayoutSceneZaxisCategoryorderSumDescending LayoutSceneZaxisCategoryorder = "sum descending" + LayoutSceneZaxisCategoryorderMeanAscending LayoutSceneZaxisCategoryorder = "mean ascending" + LayoutSceneZaxisCategoryorderMeanDescending LayoutSceneZaxisCategoryorder = "mean descending" + LayoutSceneZaxisCategoryorderMedianAscending LayoutSceneZaxisCategoryorder = "median ascending" + LayoutSceneZaxisCategoryorderMedianDescending LayoutSceneZaxisCategoryorder = "median descending" +) + +// LayoutSceneZaxisExponentformat 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. +type LayoutSceneZaxisExponentformat string + +const ( + LayoutSceneZaxisExponentformatNone LayoutSceneZaxisExponentformat = "none" + LayoutSceneZaxisExponentformatE1 LayoutSceneZaxisExponentformat = "e" + LayoutSceneZaxisExponentformatE2 LayoutSceneZaxisExponentformat = "E" + LayoutSceneZaxisExponentformatPower LayoutSceneZaxisExponentformat = "power" + LayoutSceneZaxisExponentformatSI LayoutSceneZaxisExponentformat = "SI" + LayoutSceneZaxisExponentformatB LayoutSceneZaxisExponentformat = "B" +) + +// LayoutSceneZaxisMirror 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. +type LayoutSceneZaxisMirror interface{} + +var ( + LayoutSceneZaxisMirrorTrue LayoutSceneZaxisMirror = true + LayoutSceneZaxisMirrorTicks LayoutSceneZaxisMirror = "ticks" + LayoutSceneZaxisMirrorFalse LayoutSceneZaxisMirror = false + LayoutSceneZaxisMirrorAll LayoutSceneZaxisMirror = "all" + LayoutSceneZaxisMirrorAllticks LayoutSceneZaxisMirror = "allticks" +) + +// LayoutSceneZaxisRangemode 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. +type LayoutSceneZaxisRangemode string + +const ( + LayoutSceneZaxisRangemodeNormal LayoutSceneZaxisRangemode = "normal" + LayoutSceneZaxisRangemodeTozero LayoutSceneZaxisRangemode = "tozero" + LayoutSceneZaxisRangemodeNonnegative LayoutSceneZaxisRangemode = "nonnegative" +) + +// LayoutSceneZaxisShowexponent 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. +type LayoutSceneZaxisShowexponent string + +const ( + LayoutSceneZaxisShowexponentAll LayoutSceneZaxisShowexponent = "all" + LayoutSceneZaxisShowexponentFirst LayoutSceneZaxisShowexponent = "first" + LayoutSceneZaxisShowexponentLast LayoutSceneZaxisShowexponent = "last" + LayoutSceneZaxisShowexponentNone LayoutSceneZaxisShowexponent = "none" +) + +// LayoutSceneZaxisShowtickprefix 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. +type LayoutSceneZaxisShowtickprefix string + +const ( + LayoutSceneZaxisShowtickprefixAll LayoutSceneZaxisShowtickprefix = "all" + LayoutSceneZaxisShowtickprefixFirst LayoutSceneZaxisShowtickprefix = "first" + LayoutSceneZaxisShowtickprefixLast LayoutSceneZaxisShowtickprefix = "last" + LayoutSceneZaxisShowtickprefixNone LayoutSceneZaxisShowtickprefix = "none" +) + +// LayoutSceneZaxisShowticksuffix Same as `showtickprefix` but for tick suffixes. +type LayoutSceneZaxisShowticksuffix string + +const ( + LayoutSceneZaxisShowticksuffixAll LayoutSceneZaxisShowticksuffix = "all" + LayoutSceneZaxisShowticksuffixFirst LayoutSceneZaxisShowticksuffix = "first" + LayoutSceneZaxisShowticksuffixLast LayoutSceneZaxisShowticksuffix = "last" + LayoutSceneZaxisShowticksuffixNone LayoutSceneZaxisShowticksuffix = "none" +) + +// LayoutSceneZaxisTickmode 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). +type LayoutSceneZaxisTickmode string + +const ( + LayoutSceneZaxisTickmodeAuto LayoutSceneZaxisTickmode = "auto" + LayoutSceneZaxisTickmodeLinear LayoutSceneZaxisTickmode = "linear" + LayoutSceneZaxisTickmodeArray LayoutSceneZaxisTickmode = "array" +) + +// LayoutSceneZaxisTicks 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. +type LayoutSceneZaxisTicks string + +const ( + LayoutSceneZaxisTicksOutside LayoutSceneZaxisTicks = "outside" + LayoutSceneZaxisTicksInside LayoutSceneZaxisTicks = "inside" + LayoutSceneZaxisTicksEmpty LayoutSceneZaxisTicks = "" +) + +// LayoutSceneZaxisType 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. +type LayoutSceneZaxisType string + +const ( + LayoutSceneZaxisTypeHyphenHyphen LayoutSceneZaxisType = "-" + LayoutSceneZaxisTypeLinear LayoutSceneZaxisType = "linear" + LayoutSceneZaxisTypeLog LayoutSceneZaxisType = "log" + LayoutSceneZaxisTypeDate LayoutSceneZaxisType = "date" + LayoutSceneZaxisTypeCategory LayoutSceneZaxisType = "category" +) + +// LayoutSelectdirection 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. +type LayoutSelectdirection string + +const ( + LayoutSelectdirectionH LayoutSelectdirection = "h" + LayoutSelectdirectionV LayoutSelectdirection = "v" + LayoutSelectdirectionD LayoutSelectdirection = "d" + LayoutSelectdirectionAny LayoutSelectdirection = "any" +) + +// LayoutSmithImaginaryaxisLayer Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. +type LayoutSmithImaginaryaxisLayer string + +const ( + LayoutSmithImaginaryaxisLayerAboveTraces LayoutSmithImaginaryaxisLayer = "above traces" + LayoutSmithImaginaryaxisLayerBelowTraces LayoutSmithImaginaryaxisLayer = "below traces" +) + +// LayoutSmithImaginaryaxisShowtickprefix 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. +type LayoutSmithImaginaryaxisShowtickprefix string + +const ( + LayoutSmithImaginaryaxisShowtickprefixAll LayoutSmithImaginaryaxisShowtickprefix = "all" + LayoutSmithImaginaryaxisShowtickprefixFirst LayoutSmithImaginaryaxisShowtickprefix = "first" + LayoutSmithImaginaryaxisShowtickprefixLast LayoutSmithImaginaryaxisShowtickprefix = "last" + LayoutSmithImaginaryaxisShowtickprefixNone LayoutSmithImaginaryaxisShowtickprefix = "none" +) + +// LayoutSmithImaginaryaxisShowticksuffix Same as `showtickprefix` but for tick suffixes. +type LayoutSmithImaginaryaxisShowticksuffix string + +const ( + LayoutSmithImaginaryaxisShowticksuffixAll LayoutSmithImaginaryaxisShowticksuffix = "all" + LayoutSmithImaginaryaxisShowticksuffixFirst LayoutSmithImaginaryaxisShowticksuffix = "first" + LayoutSmithImaginaryaxisShowticksuffixLast LayoutSmithImaginaryaxisShowticksuffix = "last" + LayoutSmithImaginaryaxisShowticksuffixNone LayoutSmithImaginaryaxisShowticksuffix = "none" +) + +// LayoutSmithImaginaryaxisTicks 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. +type LayoutSmithImaginaryaxisTicks string + +const ( + LayoutSmithImaginaryaxisTicksOutside LayoutSmithImaginaryaxisTicks = "outside" + LayoutSmithImaginaryaxisTicksInside LayoutSmithImaginaryaxisTicks = "inside" + LayoutSmithImaginaryaxisTicksEmpty LayoutSmithImaginaryaxisTicks = "" +) + +// LayoutSmithRealaxisLayer Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. +type LayoutSmithRealaxisLayer string + +const ( + LayoutSmithRealaxisLayerAboveTraces LayoutSmithRealaxisLayer = "above traces" + LayoutSmithRealaxisLayerBelowTraces LayoutSmithRealaxisLayer = "below traces" +) + +// LayoutSmithRealaxisShowtickprefix 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. +type LayoutSmithRealaxisShowtickprefix string + +const ( + LayoutSmithRealaxisShowtickprefixAll LayoutSmithRealaxisShowtickprefix = "all" + LayoutSmithRealaxisShowtickprefixFirst LayoutSmithRealaxisShowtickprefix = "first" + LayoutSmithRealaxisShowtickprefixLast LayoutSmithRealaxisShowtickprefix = "last" + LayoutSmithRealaxisShowtickprefixNone LayoutSmithRealaxisShowtickprefix = "none" +) + +// LayoutSmithRealaxisShowticksuffix Same as `showtickprefix` but for tick suffixes. +type LayoutSmithRealaxisShowticksuffix string + +const ( + LayoutSmithRealaxisShowticksuffixAll LayoutSmithRealaxisShowticksuffix = "all" + LayoutSmithRealaxisShowticksuffixFirst LayoutSmithRealaxisShowticksuffix = "first" + LayoutSmithRealaxisShowticksuffixLast LayoutSmithRealaxisShowticksuffix = "last" + LayoutSmithRealaxisShowticksuffixNone LayoutSmithRealaxisShowticksuffix = "none" +) + +// LayoutSmithRealaxisSide Determines on which side of real axis line the tick and tick labels appear. +type LayoutSmithRealaxisSide string + +const ( + LayoutSmithRealaxisSideTop LayoutSmithRealaxisSide = "top" + LayoutSmithRealaxisSideBottom LayoutSmithRealaxisSide = "bottom" +) + +// LayoutSmithRealaxisTicks Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *top* (*bottom*), this axis' are drawn above (below) the axis line. +type LayoutSmithRealaxisTicks string + +const ( + LayoutSmithRealaxisTicksTop LayoutSmithRealaxisTicks = "top" + LayoutSmithRealaxisTicksBottom LayoutSmithRealaxisTicks = "bottom" + LayoutSmithRealaxisTicksEmpty LayoutSmithRealaxisTicks = "" +) + +// LayoutTernaryAaxisExponentformat 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. +type LayoutTernaryAaxisExponentformat string + +const ( + LayoutTernaryAaxisExponentformatNone LayoutTernaryAaxisExponentformat = "none" + LayoutTernaryAaxisExponentformatE1 LayoutTernaryAaxisExponentformat = "e" + LayoutTernaryAaxisExponentformatE2 LayoutTernaryAaxisExponentformat = "E" + LayoutTernaryAaxisExponentformatPower LayoutTernaryAaxisExponentformat = "power" + LayoutTernaryAaxisExponentformatSI LayoutTernaryAaxisExponentformat = "SI" + LayoutTernaryAaxisExponentformatB LayoutTernaryAaxisExponentformat = "B" +) + +// LayoutTernaryAaxisLayer Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. +type LayoutTernaryAaxisLayer string + +const ( + LayoutTernaryAaxisLayerAboveTraces LayoutTernaryAaxisLayer = "above traces" + LayoutTernaryAaxisLayerBelowTraces LayoutTernaryAaxisLayer = "below traces" +) + +// LayoutTernaryAaxisShowexponent 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. +type LayoutTernaryAaxisShowexponent string + +const ( + LayoutTernaryAaxisShowexponentAll LayoutTernaryAaxisShowexponent = "all" + LayoutTernaryAaxisShowexponentFirst LayoutTernaryAaxisShowexponent = "first" + LayoutTernaryAaxisShowexponentLast LayoutTernaryAaxisShowexponent = "last" + LayoutTernaryAaxisShowexponentNone LayoutTernaryAaxisShowexponent = "none" +) + +// LayoutTernaryAaxisShowtickprefix 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. +type LayoutTernaryAaxisShowtickprefix string + +const ( + LayoutTernaryAaxisShowtickprefixAll LayoutTernaryAaxisShowtickprefix = "all" + LayoutTernaryAaxisShowtickprefixFirst LayoutTernaryAaxisShowtickprefix = "first" + LayoutTernaryAaxisShowtickprefixLast LayoutTernaryAaxisShowtickprefix = "last" + LayoutTernaryAaxisShowtickprefixNone LayoutTernaryAaxisShowtickprefix = "none" +) + +// LayoutTernaryAaxisShowticksuffix Same as `showtickprefix` but for tick suffixes. +type LayoutTernaryAaxisShowticksuffix string + +const ( + LayoutTernaryAaxisShowticksuffixAll LayoutTernaryAaxisShowticksuffix = "all" + LayoutTernaryAaxisShowticksuffixFirst LayoutTernaryAaxisShowticksuffix = "first" + LayoutTernaryAaxisShowticksuffixLast LayoutTernaryAaxisShowticksuffix = "last" + LayoutTernaryAaxisShowticksuffixNone LayoutTernaryAaxisShowticksuffix = "none" +) + +// LayoutTernaryAaxisTickmode 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). +type LayoutTernaryAaxisTickmode string + +const ( + LayoutTernaryAaxisTickmodeAuto LayoutTernaryAaxisTickmode = "auto" + LayoutTernaryAaxisTickmodeLinear LayoutTernaryAaxisTickmode = "linear" + LayoutTernaryAaxisTickmodeArray LayoutTernaryAaxisTickmode = "array" +) + +// LayoutTernaryAaxisTicks 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. +type LayoutTernaryAaxisTicks string + +const ( + LayoutTernaryAaxisTicksOutside LayoutTernaryAaxisTicks = "outside" + LayoutTernaryAaxisTicksInside LayoutTernaryAaxisTicks = "inside" + LayoutTernaryAaxisTicksEmpty LayoutTernaryAaxisTicks = "" +) + +// LayoutTernaryBaxisExponentformat 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. +type LayoutTernaryBaxisExponentformat string + +const ( + LayoutTernaryBaxisExponentformatNone LayoutTernaryBaxisExponentformat = "none" + LayoutTernaryBaxisExponentformatE1 LayoutTernaryBaxisExponentformat = "e" + LayoutTernaryBaxisExponentformatE2 LayoutTernaryBaxisExponentformat = "E" + LayoutTernaryBaxisExponentformatPower LayoutTernaryBaxisExponentformat = "power" + LayoutTernaryBaxisExponentformatSI LayoutTernaryBaxisExponentformat = "SI" + LayoutTernaryBaxisExponentformatB LayoutTernaryBaxisExponentformat = "B" +) + +// LayoutTernaryBaxisLayer Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. +type LayoutTernaryBaxisLayer string + +const ( + LayoutTernaryBaxisLayerAboveTraces LayoutTernaryBaxisLayer = "above traces" + LayoutTernaryBaxisLayerBelowTraces LayoutTernaryBaxisLayer = "below traces" +) + +// LayoutTernaryBaxisShowexponent 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. +type LayoutTernaryBaxisShowexponent string + +const ( + LayoutTernaryBaxisShowexponentAll LayoutTernaryBaxisShowexponent = "all" + LayoutTernaryBaxisShowexponentFirst LayoutTernaryBaxisShowexponent = "first" + LayoutTernaryBaxisShowexponentLast LayoutTernaryBaxisShowexponent = "last" + LayoutTernaryBaxisShowexponentNone LayoutTernaryBaxisShowexponent = "none" +) + +// LayoutTernaryBaxisShowtickprefix 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. +type LayoutTernaryBaxisShowtickprefix string + +const ( + LayoutTernaryBaxisShowtickprefixAll LayoutTernaryBaxisShowtickprefix = "all" + LayoutTernaryBaxisShowtickprefixFirst LayoutTernaryBaxisShowtickprefix = "first" + LayoutTernaryBaxisShowtickprefixLast LayoutTernaryBaxisShowtickprefix = "last" + LayoutTernaryBaxisShowtickprefixNone LayoutTernaryBaxisShowtickprefix = "none" +) + +// LayoutTernaryBaxisShowticksuffix Same as `showtickprefix` but for tick suffixes. +type LayoutTernaryBaxisShowticksuffix string + +const ( + LayoutTernaryBaxisShowticksuffixAll LayoutTernaryBaxisShowticksuffix = "all" + LayoutTernaryBaxisShowticksuffixFirst LayoutTernaryBaxisShowticksuffix = "first" + LayoutTernaryBaxisShowticksuffixLast LayoutTernaryBaxisShowticksuffix = "last" + LayoutTernaryBaxisShowticksuffixNone LayoutTernaryBaxisShowticksuffix = "none" +) + +// LayoutTernaryBaxisTickmode 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). +type LayoutTernaryBaxisTickmode string + +const ( + LayoutTernaryBaxisTickmodeAuto LayoutTernaryBaxisTickmode = "auto" + LayoutTernaryBaxisTickmodeLinear LayoutTernaryBaxisTickmode = "linear" + LayoutTernaryBaxisTickmodeArray LayoutTernaryBaxisTickmode = "array" +) + +// LayoutTernaryBaxisTicks 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. +type LayoutTernaryBaxisTicks string + +const ( + LayoutTernaryBaxisTicksOutside LayoutTernaryBaxisTicks = "outside" + LayoutTernaryBaxisTicksInside LayoutTernaryBaxisTicks = "inside" + LayoutTernaryBaxisTicksEmpty LayoutTernaryBaxisTicks = "" +) + +// LayoutTernaryCaxisExponentformat 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. +type LayoutTernaryCaxisExponentformat string + +const ( + LayoutTernaryCaxisExponentformatNone LayoutTernaryCaxisExponentformat = "none" + LayoutTernaryCaxisExponentformatE1 LayoutTernaryCaxisExponentformat = "e" + LayoutTernaryCaxisExponentformatE2 LayoutTernaryCaxisExponentformat = "E" + LayoutTernaryCaxisExponentformatPower LayoutTernaryCaxisExponentformat = "power" + LayoutTernaryCaxisExponentformatSI LayoutTernaryCaxisExponentformat = "SI" + LayoutTernaryCaxisExponentformatB LayoutTernaryCaxisExponentformat = "B" +) + +// LayoutTernaryCaxisLayer Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. +type LayoutTernaryCaxisLayer string + +const ( + LayoutTernaryCaxisLayerAboveTraces LayoutTernaryCaxisLayer = "above traces" + LayoutTernaryCaxisLayerBelowTraces LayoutTernaryCaxisLayer = "below traces" +) + +// LayoutTernaryCaxisShowexponent 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. +type LayoutTernaryCaxisShowexponent string + +const ( + LayoutTernaryCaxisShowexponentAll LayoutTernaryCaxisShowexponent = "all" + LayoutTernaryCaxisShowexponentFirst LayoutTernaryCaxisShowexponent = "first" + LayoutTernaryCaxisShowexponentLast LayoutTernaryCaxisShowexponent = "last" + LayoutTernaryCaxisShowexponentNone LayoutTernaryCaxisShowexponent = "none" +) + +// LayoutTernaryCaxisShowtickprefix 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. +type LayoutTernaryCaxisShowtickprefix string + +const ( + LayoutTernaryCaxisShowtickprefixAll LayoutTernaryCaxisShowtickprefix = "all" + LayoutTernaryCaxisShowtickprefixFirst LayoutTernaryCaxisShowtickprefix = "first" + LayoutTernaryCaxisShowtickprefixLast LayoutTernaryCaxisShowtickprefix = "last" + LayoutTernaryCaxisShowtickprefixNone LayoutTernaryCaxisShowtickprefix = "none" +) + +// LayoutTernaryCaxisShowticksuffix Same as `showtickprefix` but for tick suffixes. +type LayoutTernaryCaxisShowticksuffix string + +const ( + LayoutTernaryCaxisShowticksuffixAll LayoutTernaryCaxisShowticksuffix = "all" + LayoutTernaryCaxisShowticksuffixFirst LayoutTernaryCaxisShowticksuffix = "first" + LayoutTernaryCaxisShowticksuffixLast LayoutTernaryCaxisShowticksuffix = "last" + LayoutTernaryCaxisShowticksuffixNone LayoutTernaryCaxisShowticksuffix = "none" +) + +// LayoutTernaryCaxisTickmode 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). +type LayoutTernaryCaxisTickmode string + +const ( + LayoutTernaryCaxisTickmodeAuto LayoutTernaryCaxisTickmode = "auto" + LayoutTernaryCaxisTickmodeLinear LayoutTernaryCaxisTickmode = "linear" + LayoutTernaryCaxisTickmodeArray LayoutTernaryCaxisTickmode = "array" +) + +// LayoutTernaryCaxisTicks 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. +type LayoutTernaryCaxisTicks string + +const ( + LayoutTernaryCaxisTicksOutside LayoutTernaryCaxisTicks = "outside" + LayoutTernaryCaxisTicksInside LayoutTernaryCaxisTicks = "inside" + LayoutTernaryCaxisTicksEmpty LayoutTernaryCaxisTicks = "" +) + +// LayoutTitleXanchor 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`. +type LayoutTitleXanchor string + +const ( + LayoutTitleXanchorAuto LayoutTitleXanchor = "auto" + LayoutTitleXanchorLeft LayoutTitleXanchor = "left" + LayoutTitleXanchorCenter LayoutTitleXanchor = "center" + LayoutTitleXanchorRight LayoutTitleXanchor = "right" +) + +// LayoutTitleXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type LayoutTitleXref string + +const ( + LayoutTitleXrefContainer LayoutTitleXref = "container" + LayoutTitleXrefPaper LayoutTitleXref = "paper" +) + +// LayoutTitleYanchor 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`. +type LayoutTitleYanchor string + +const ( + LayoutTitleYanchorAuto LayoutTitleYanchor = "auto" + LayoutTitleYanchorTop LayoutTitleYanchor = "top" + LayoutTitleYanchorMiddle LayoutTitleYanchor = "middle" + LayoutTitleYanchorBottom LayoutTitleYanchor = "bottom" +) + +// LayoutTitleYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type LayoutTitleYref string + +const ( + LayoutTitleYrefContainer LayoutTitleYref = "container" + LayoutTitleYrefPaper LayoutTitleYref = "paper" +) + +// LayoutTransitionEasing The easing function used for the transition +type LayoutTransitionEasing string + +const ( + LayoutTransitionEasingLinear LayoutTransitionEasing = "linear" + LayoutTransitionEasingQuad LayoutTransitionEasing = "quad" + LayoutTransitionEasingCubic LayoutTransitionEasing = "cubic" + LayoutTransitionEasingSin LayoutTransitionEasing = "sin" + LayoutTransitionEasingExp LayoutTransitionEasing = "exp" + LayoutTransitionEasingCircle LayoutTransitionEasing = "circle" + LayoutTransitionEasingElastic LayoutTransitionEasing = "elastic" + LayoutTransitionEasingBack LayoutTransitionEasing = "back" + LayoutTransitionEasingBounce LayoutTransitionEasing = "bounce" + LayoutTransitionEasingLinearIn LayoutTransitionEasing = "linear-in" + LayoutTransitionEasingQuadIn LayoutTransitionEasing = "quad-in" + LayoutTransitionEasingCubicIn LayoutTransitionEasing = "cubic-in" + LayoutTransitionEasingSinIn LayoutTransitionEasing = "sin-in" + LayoutTransitionEasingExpIn LayoutTransitionEasing = "exp-in" + LayoutTransitionEasingCircleIn LayoutTransitionEasing = "circle-in" + LayoutTransitionEasingElasticIn LayoutTransitionEasing = "elastic-in" + LayoutTransitionEasingBackIn LayoutTransitionEasing = "back-in" + LayoutTransitionEasingBounceIn LayoutTransitionEasing = "bounce-in" + LayoutTransitionEasingLinearOut LayoutTransitionEasing = "linear-out" + LayoutTransitionEasingQuadOut LayoutTransitionEasing = "quad-out" + LayoutTransitionEasingCubicOut LayoutTransitionEasing = "cubic-out" + LayoutTransitionEasingSinOut LayoutTransitionEasing = "sin-out" + LayoutTransitionEasingExpOut LayoutTransitionEasing = "exp-out" + LayoutTransitionEasingCircleOut LayoutTransitionEasing = "circle-out" + LayoutTransitionEasingElasticOut LayoutTransitionEasing = "elastic-out" + LayoutTransitionEasingBackOut LayoutTransitionEasing = "back-out" + LayoutTransitionEasingBounceOut LayoutTransitionEasing = "bounce-out" + LayoutTransitionEasingLinearInOut LayoutTransitionEasing = "linear-in-out" + LayoutTransitionEasingQuadInOut LayoutTransitionEasing = "quad-in-out" + LayoutTransitionEasingCubicInOut LayoutTransitionEasing = "cubic-in-out" + LayoutTransitionEasingSinInOut LayoutTransitionEasing = "sin-in-out" + LayoutTransitionEasingExpInOut LayoutTransitionEasing = "exp-in-out" + LayoutTransitionEasingCircleInOut LayoutTransitionEasing = "circle-in-out" + LayoutTransitionEasingElasticInOut LayoutTransitionEasing = "elastic-in-out" + LayoutTransitionEasingBackInOut LayoutTransitionEasing = "back-in-out" + LayoutTransitionEasingBounceInOut LayoutTransitionEasing = "bounce-in-out" +) + +// LayoutTransitionOrdering Determines whether the figure's layout or traces smoothly transitions during updates that make both traces and layout change. +type LayoutTransitionOrdering string + +const ( + LayoutTransitionOrderingLayoutFirst LayoutTransitionOrdering = "layout first" + LayoutTransitionOrderingTracesFirst LayoutTransitionOrdering = "traces first" +) + +// LayoutUniformtextMode 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. +type LayoutUniformtextMode interface{} + +var ( + LayoutUniformtextModeFalse LayoutUniformtextMode = false + LayoutUniformtextModeHide LayoutUniformtextMode = "hide" + LayoutUniformtextModeShow LayoutUniformtextMode = "show" +) + +// LayoutViolinmode Determines how violins at the same location coordinate are displayed on the graph. If *group*, the violins are plotted next to one another centered around the shared location. If *overlay*, the violins are plotted over one another, you might need to set *opacity* to see them multiple violins. Has no effect on traces that have *width* set. +type LayoutViolinmode string + +const ( + ViolinViolinmodeGroup LayoutViolinmode = "group" + ViolinViolinmodeOverlay LayoutViolinmode = "overlay" +) + +// LayoutWaterfallmode Determines how bars at the same location coordinate are displayed on the graph. With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars. +type LayoutWaterfallmode string + +const ( + WaterfallWaterfallmodeGroup LayoutWaterfallmode = "group" + WaterfallWaterfallmodeOverlay LayoutWaterfallmode = "overlay" +) + +// LayoutXaxisAnchor If set to an opposite-letter axis id (e.g. `x2`, `y`), this axis is bound to the corresponding opposite-letter axis. If set to *free*, this axis' position is determined by `position`. +type LayoutXaxisAnchor string + +const ( + LayoutXaxisAnchorFree LayoutXaxisAnchor = "free" + LayoutXaxisAnchorSlashCapexLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutXaxisAnchor = "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + LayoutXaxisAnchorSlashCapeyLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutXaxisAnchor = "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" +) + +// LayoutXaxisAutorange Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction. +type LayoutXaxisAutorange interface{} + +var ( + LayoutXaxisAutorangeTrue LayoutXaxisAutorange = true + LayoutXaxisAutorangeFalse LayoutXaxisAutorange = false + LayoutXaxisAutorangeReversed LayoutXaxisAutorange = "reversed" + LayoutXaxisAutorangeMinReversed LayoutXaxisAutorange = "min reversed" + LayoutXaxisAutorangeMaxReversed LayoutXaxisAutorange = "max reversed" + LayoutXaxisAutorangeMin LayoutXaxisAutorange = "min" + LayoutXaxisAutorangeMax LayoutXaxisAutorange = "max" +) + +// LayoutXaxisAutotypenumbers 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. +type LayoutXaxisAutotypenumbers string + +const ( + LayoutXaxisAutotypenumbersConvertTypes LayoutXaxisAutotypenumbers = "convert types" + LayoutXaxisAutotypenumbersStrict LayoutXaxisAutotypenumbers = "strict" +) + +// LayoutXaxisCalendar Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar` +type LayoutXaxisCalendar string + +const ( + LayoutXaxisCalendarChinese LayoutXaxisCalendar = "chinese" + LayoutXaxisCalendarCoptic LayoutXaxisCalendar = "coptic" + LayoutXaxisCalendarDiscworld LayoutXaxisCalendar = "discworld" + LayoutXaxisCalendarEthiopian LayoutXaxisCalendar = "ethiopian" + LayoutXaxisCalendarGregorian LayoutXaxisCalendar = "gregorian" + LayoutXaxisCalendarHebrew LayoutXaxisCalendar = "hebrew" + LayoutXaxisCalendarIslamic LayoutXaxisCalendar = "islamic" + LayoutXaxisCalendarJalali LayoutXaxisCalendar = "jalali" + LayoutXaxisCalendarJulian LayoutXaxisCalendar = "julian" + LayoutXaxisCalendarMayan LayoutXaxisCalendar = "mayan" + LayoutXaxisCalendarNanakshahi LayoutXaxisCalendar = "nanakshahi" + LayoutXaxisCalendarNepali LayoutXaxisCalendar = "nepali" + LayoutXaxisCalendarPersian LayoutXaxisCalendar = "persian" + LayoutXaxisCalendarTaiwan LayoutXaxisCalendar = "taiwan" + LayoutXaxisCalendarThai LayoutXaxisCalendar = "thai" + LayoutXaxisCalendarUmmalqura LayoutXaxisCalendar = "ummalqura" +) + +// LayoutXaxisCategoryorder 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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values. +type LayoutXaxisCategoryorder string + +const ( + LayoutXaxisCategoryorderTrace LayoutXaxisCategoryorder = "trace" + LayoutXaxisCategoryorderCategoryAscending LayoutXaxisCategoryorder = "category ascending" + LayoutXaxisCategoryorderCategoryDescending LayoutXaxisCategoryorder = "category descending" + LayoutXaxisCategoryorderArray LayoutXaxisCategoryorder = "array" + LayoutXaxisCategoryorderTotalAscending LayoutXaxisCategoryorder = "total ascending" + LayoutXaxisCategoryorderTotalDescending LayoutXaxisCategoryorder = "total descending" + LayoutXaxisCategoryorderMinAscending LayoutXaxisCategoryorder = "min ascending" + LayoutXaxisCategoryorderMinDescending LayoutXaxisCategoryorder = "min descending" + LayoutXaxisCategoryorderMaxAscending LayoutXaxisCategoryorder = "max ascending" + LayoutXaxisCategoryorderMaxDescending LayoutXaxisCategoryorder = "max descending" + LayoutXaxisCategoryorderSumAscending LayoutXaxisCategoryorder = "sum ascending" + LayoutXaxisCategoryorderSumDescending LayoutXaxisCategoryorder = "sum descending" + LayoutXaxisCategoryorderMeanAscending LayoutXaxisCategoryorder = "mean ascending" + LayoutXaxisCategoryorderMeanDescending LayoutXaxisCategoryorder = "mean descending" + LayoutXaxisCategoryorderMedianAscending LayoutXaxisCategoryorder = "median ascending" + LayoutXaxisCategoryorderMedianDescending LayoutXaxisCategoryorder = "median descending" +) + +// LayoutXaxisConstrain If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines how that happens: by increasing the *range*, or by decreasing the *domain*. Default is *domain* for axes containing image traces, *range* otherwise. +type LayoutXaxisConstrain string + +const ( + LayoutXaxisConstrainRange LayoutXaxisConstrain = "range" + LayoutXaxisConstrainDomain LayoutXaxisConstrain = "domain" +) + +// LayoutXaxisConstraintoward If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines which direction we push the originally specified plot area. Options are *left*, *center* (default), and *right* for x axes, and *top*, *middle* (default), and *bottom* for y axes. +type LayoutXaxisConstraintoward string + +const ( + LayoutXaxisConstraintowardLeft LayoutXaxisConstraintoward = "left" + LayoutXaxisConstraintowardCenter LayoutXaxisConstraintoward = "center" + LayoutXaxisConstraintowardRight LayoutXaxisConstraintoward = "right" + LayoutXaxisConstraintowardTop LayoutXaxisConstraintoward = "top" + LayoutXaxisConstraintowardMiddle LayoutXaxisConstraintoward = "middle" + LayoutXaxisConstraintowardBottom LayoutXaxisConstraintoward = "bottom" +) + +// LayoutXaxisExponentformat 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. +type LayoutXaxisExponentformat string + +const ( + LayoutXaxisExponentformatNone LayoutXaxisExponentformat = "none" + LayoutXaxisExponentformatE1 LayoutXaxisExponentformat = "e" + LayoutXaxisExponentformatE2 LayoutXaxisExponentformat = "E" + LayoutXaxisExponentformatPower LayoutXaxisExponentformat = "power" + LayoutXaxisExponentformatSI LayoutXaxisExponentformat = "SI" + LayoutXaxisExponentformatB LayoutXaxisExponentformat = "B" +) + +// LayoutXaxisLayer Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. +type LayoutXaxisLayer string + +const ( + LayoutXaxisLayerAboveTraces LayoutXaxisLayer = "above traces" + LayoutXaxisLayerBelowTraces LayoutXaxisLayer = "below traces" +) + +// LayoutXaxisMatches If set to another axis id (e.g. `x2`, `y`), the range of this axis will match the range of the corresponding axis in data-coordinates space. Moreover, matching axes share auto-range values, category lists and histogram auto-bins. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden. Moreover, note that matching axes must have the same `type`. +type LayoutXaxisMatches string + +const ( + LayoutXaxisMatchesSlashCapexLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutXaxisMatches = "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + LayoutXaxisMatchesSlashCapeyLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutXaxisMatches = "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" +) + +// LayoutXaxisMinorTickmode 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). +type LayoutXaxisMinorTickmode string + +const ( + LayoutXaxisMinorTickmodeAuto LayoutXaxisMinorTickmode = "auto" + LayoutXaxisMinorTickmodeLinear LayoutXaxisMinorTickmode = "linear" + LayoutXaxisMinorTickmodeArray LayoutXaxisMinorTickmode = "array" +) + +// LayoutXaxisMinorTicks 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. +type LayoutXaxisMinorTicks string + +const ( + LayoutXaxisMinorTicksOutside LayoutXaxisMinorTicks = "outside" + LayoutXaxisMinorTicksInside LayoutXaxisMinorTicks = "inside" + LayoutXaxisMinorTicksEmpty LayoutXaxisMinorTicks = "" +) + +// LayoutXaxisMirror 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. +type LayoutXaxisMirror interface{} + +var ( + LayoutXaxisMirrorTrue LayoutXaxisMirror = true + LayoutXaxisMirrorTicks LayoutXaxisMirror = "ticks" + LayoutXaxisMirrorFalse LayoutXaxisMirror = false + LayoutXaxisMirrorAll LayoutXaxisMirror = "all" + LayoutXaxisMirrorAllticks LayoutXaxisMirror = "allticks" +) + +// LayoutXaxisOverlaying If set a same-letter axis id, this axis is overlaid on top of the corresponding same-letter axis, with traces and axes visible for both axes. If *false*, this axis does not overlay any same-letter axes. In this case, for axes with overlapping domains only the highest-numbered axis will be visible. +type LayoutXaxisOverlaying string + +const ( + LayoutXaxisOverlayingFree LayoutXaxisOverlaying = "free" + LayoutXaxisOverlayingSlashCapexLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutXaxisOverlaying = "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + LayoutXaxisOverlayingSlashCapeyLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutXaxisOverlaying = "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" +) + +// LayoutXaxisRangemode 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. +type LayoutXaxisRangemode string + +const ( + LayoutXaxisRangemodeNormal LayoutXaxisRangemode = "normal" + LayoutXaxisRangemodeTozero LayoutXaxisRangemode = "tozero" + LayoutXaxisRangemodeNonnegative LayoutXaxisRangemode = "nonnegative" +) + +// LayoutXaxisRangeselectorXanchor Sets the range selector's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the range selector. +type LayoutXaxisRangeselectorXanchor string + +const ( + LayoutXaxisRangeselectorXanchorAuto LayoutXaxisRangeselectorXanchor = "auto" + LayoutXaxisRangeselectorXanchorLeft LayoutXaxisRangeselectorXanchor = "left" + LayoutXaxisRangeselectorXanchorCenter LayoutXaxisRangeselectorXanchor = "center" + LayoutXaxisRangeselectorXanchorRight LayoutXaxisRangeselectorXanchor = "right" +) + +// LayoutXaxisRangeselectorYanchor Sets the range selector's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the range selector. +type LayoutXaxisRangeselectorYanchor string + +const ( + LayoutXaxisRangeselectorYanchorAuto LayoutXaxisRangeselectorYanchor = "auto" + LayoutXaxisRangeselectorYanchorTop LayoutXaxisRangeselectorYanchor = "top" + LayoutXaxisRangeselectorYanchorMiddle LayoutXaxisRangeselectorYanchor = "middle" + LayoutXaxisRangeselectorYanchorBottom LayoutXaxisRangeselectorYanchor = "bottom" +) + +// LayoutXaxisRangesliderYaxisRangemode Determines whether or not the range of this axis in the rangeslider use the same value than in the main plot when zooming in/out. If *auto*, the autorange will be used. If *fixed*, the `range` is used. If *match*, the current range of the corresponding y-axis on the main subplot is used. +type LayoutXaxisRangesliderYaxisRangemode string + +const ( + LayoutXaxisRangesliderYaxisRangemodeAuto LayoutXaxisRangesliderYaxisRangemode = "auto" + LayoutXaxisRangesliderYaxisRangemodeFixed LayoutXaxisRangesliderYaxisRangemode = "fixed" + LayoutXaxisRangesliderYaxisRangemodeMatch LayoutXaxisRangesliderYaxisRangemode = "match" +) + +// LayoutXaxisScaleanchor If set to another axis id (e.g. `x2`, `y`), the range of this axis changes together with the range of the corresponding axis such that the scale of pixels per unit is in a constant ratio. Both axes are still zoomable, but when you zoom one, the other will zoom the same amount, keeping a fixed midpoint. `constrain` and `constraintoward` determine how we enforce the constraint. You can chain these, ie `yaxis: {scaleanchor: *x*}, xaxis2: {scaleanchor: *y*}` but you can only link axes of the same `type`. The linked axis can have the opposite letter (to constrain the aspect ratio) or the same letter (to match scales across subplots). Loops (`yaxis: {scaleanchor: *x*}, xaxis: {scaleanchor: *y*}` or longer) are redundant and the last constraint encountered will be ignored to avoid possible inconsistent constraints via `scaleratio`. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden. Setting `false` allows to remove a default constraint (occasionally, you may need to prevent a default `scaleanchor` constraint from being applied, eg. when having an image trace `yaxis: {scaleanchor: "x"}` is set automatically in order for pixels to be rendered as squares, setting `yaxis: {scaleanchor: false}` allows to remove the constraint). +type LayoutXaxisScaleanchor interface{} + +var ( + LayoutXaxisScaleanchorSlashCapexLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutXaxisScaleanchor = "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + LayoutXaxisScaleanchorSlashCapeyLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutXaxisScaleanchor = "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" + LayoutXaxisScaleanchorFalse LayoutXaxisScaleanchor = false +) + +// LayoutXaxisShowexponent 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. +type LayoutXaxisShowexponent string + +const ( + LayoutXaxisShowexponentAll LayoutXaxisShowexponent = "all" + LayoutXaxisShowexponentFirst LayoutXaxisShowexponent = "first" + LayoutXaxisShowexponentLast LayoutXaxisShowexponent = "last" + LayoutXaxisShowexponentNone LayoutXaxisShowexponent = "none" +) + +// LayoutXaxisShowtickprefix 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. +type LayoutXaxisShowtickprefix string + +const ( + LayoutXaxisShowtickprefixAll LayoutXaxisShowtickprefix = "all" + LayoutXaxisShowtickprefixFirst LayoutXaxisShowtickprefix = "first" + LayoutXaxisShowtickprefixLast LayoutXaxisShowtickprefix = "last" + LayoutXaxisShowtickprefixNone LayoutXaxisShowtickprefix = "none" +) + +// LayoutXaxisShowticksuffix Same as `showtickprefix` but for tick suffixes. +type LayoutXaxisShowticksuffix string + +const ( + LayoutXaxisShowticksuffixAll LayoutXaxisShowticksuffix = "all" + LayoutXaxisShowticksuffixFirst LayoutXaxisShowticksuffix = "first" + LayoutXaxisShowticksuffixLast LayoutXaxisShowticksuffix = "last" + LayoutXaxisShowticksuffixNone LayoutXaxisShowticksuffix = "none" +) + +// LayoutXaxisSide Determines whether a x (y) axis is positioned at the *bottom* (*left*) or *top* (*right*) of the plotting area. +type LayoutXaxisSide string + +const ( + LayoutXaxisSideTop LayoutXaxisSide = "top" + LayoutXaxisSideBottom LayoutXaxisSide = "bottom" + LayoutXaxisSideLeft LayoutXaxisSide = "left" + LayoutXaxisSideRight LayoutXaxisSide = "right" +) + +// LayoutXaxisSpikesnap Determines whether spikelines are stuck to the cursor or to the closest datapoints. +type LayoutXaxisSpikesnap string + +const ( + LayoutXaxisSpikesnapData LayoutXaxisSpikesnap = "data" + LayoutXaxisSpikesnapCursor LayoutXaxisSpikesnap = "cursor" + LayoutXaxisSpikesnapHoveredData LayoutXaxisSpikesnap = "hovered data" +) + +// LayoutXaxisTicklabelmode Determines where tick labels are drawn with respect to their corresponding ticks and grid lines. Only has an effect for axes of `type` *date* When set to *period*, tick labels are drawn in the middle of the period between ticks. +type LayoutXaxisTicklabelmode string + +const ( + LayoutXaxisTicklabelmodeInstant LayoutXaxisTicklabelmode = "instant" + LayoutXaxisTicklabelmodePeriod LayoutXaxisTicklabelmode = "period" +) + +// LayoutXaxisTicklabeloverflow 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*. Otherwise on *category* and *multicategory* axes the default is *allow*. In other cases the default is *hide past div*. +type LayoutXaxisTicklabeloverflow string + +const ( + LayoutXaxisTicklabeloverflowAllow LayoutXaxisTicklabeloverflow = "allow" + LayoutXaxisTicklabeloverflowHidePastDiv LayoutXaxisTicklabeloverflow = "hide past div" + LayoutXaxisTicklabeloverflowHidePastDomain LayoutXaxisTicklabeloverflow = "hide past domain" +) + +// LayoutXaxisTicklabelposition Determines where tick labels are drawn with respect to the axis Please note that top or bottom has no effect on x axes or when `ticklabelmode` is set to *period*. Similarly left or right has no effect on y axes or when `ticklabelmode` is set to *period*. Has no effect on *multicategory* axes or when `tickson` is set to *boundaries*. When used on axes linked by `matches` or `scaleanchor`, no extra padding for inside labels would be added by autorange, so that the scales could match. +type LayoutXaxisTicklabelposition string + +const ( + LayoutXaxisTicklabelpositionOutside LayoutXaxisTicklabelposition = "outside" + LayoutXaxisTicklabelpositionInside LayoutXaxisTicklabelposition = "inside" + LayoutXaxisTicklabelpositionOutsideTop LayoutXaxisTicklabelposition = "outside top" + LayoutXaxisTicklabelpositionInsideTop LayoutXaxisTicklabelposition = "inside top" + LayoutXaxisTicklabelpositionOutsideLeft LayoutXaxisTicklabelposition = "outside left" + LayoutXaxisTicklabelpositionInsideLeft LayoutXaxisTicklabelposition = "inside left" + LayoutXaxisTicklabelpositionOutsideRight LayoutXaxisTicklabelposition = "outside right" + LayoutXaxisTicklabelpositionInsideRight LayoutXaxisTicklabelposition = "inside right" + LayoutXaxisTicklabelpositionOutsideBottom LayoutXaxisTicklabelposition = "outside bottom" + LayoutXaxisTicklabelpositionInsideBottom LayoutXaxisTicklabelposition = "inside bottom" +) + +// LayoutXaxisTickmode 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). If *sync*, the number of ticks will sync with the overlayed axis set by `overlaying` property. +type LayoutXaxisTickmode string + +const ( + LayoutXaxisTickmodeAuto LayoutXaxisTickmode = "auto" + LayoutXaxisTickmodeLinear LayoutXaxisTickmode = "linear" + LayoutXaxisTickmodeArray LayoutXaxisTickmode = "array" + LayoutXaxisTickmodeSync LayoutXaxisTickmode = "sync" +) + +// LayoutXaxisTicks 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. +type LayoutXaxisTicks string + +const ( + LayoutXaxisTicksOutside LayoutXaxisTicks = "outside" + LayoutXaxisTicksInside LayoutXaxisTicks = "inside" + LayoutXaxisTicksEmpty LayoutXaxisTicks = "" +) + +// LayoutXaxisTickson Determines where ticks and grid lines are drawn with respect to their corresponding tick labels. Only has an effect for axes of `type` *category* or *multicategory*. When set to *boundaries*, ticks and grid lines are drawn half a category to the left/bottom of labels. +type LayoutXaxisTickson string + +const ( + LayoutXaxisTicksonLabels LayoutXaxisTickson = "labels" + LayoutXaxisTicksonBoundaries LayoutXaxisTickson = "boundaries" +) + +// LayoutXaxisType 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. +type LayoutXaxisType string + +const ( + LayoutXaxisTypeHyphenHyphen LayoutXaxisType = "-" + LayoutXaxisTypeLinear LayoutXaxisType = "linear" + LayoutXaxisTypeLog LayoutXaxisType = "log" + LayoutXaxisTypeDate LayoutXaxisType = "date" + LayoutXaxisTypeCategory LayoutXaxisType = "category" + LayoutXaxisTypeMulticategory LayoutXaxisType = "multicategory" +) + +// LayoutYaxisAnchor If set to an opposite-letter axis id (e.g. `x2`, `y`), this axis is bound to the corresponding opposite-letter axis. If set to *free*, this axis' position is determined by `position`. +type LayoutYaxisAnchor string + +const ( + LayoutYaxisAnchorFree LayoutYaxisAnchor = "free" + LayoutYaxisAnchorSlashCapexLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutYaxisAnchor = "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + LayoutYaxisAnchorSlashCapeyLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutYaxisAnchor = "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" +) + +// LayoutYaxisAutorange Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction. +type LayoutYaxisAutorange interface{} + +var ( + LayoutYaxisAutorangeTrue LayoutYaxisAutorange = true + LayoutYaxisAutorangeFalse LayoutYaxisAutorange = false + LayoutYaxisAutorangeReversed LayoutYaxisAutorange = "reversed" + LayoutYaxisAutorangeMinReversed LayoutYaxisAutorange = "min reversed" + LayoutYaxisAutorangeMaxReversed LayoutYaxisAutorange = "max reversed" + LayoutYaxisAutorangeMin LayoutYaxisAutorange = "min" + LayoutYaxisAutorangeMax LayoutYaxisAutorange = "max" +) + +// LayoutYaxisAutotypenumbers 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. +type LayoutYaxisAutotypenumbers string + +const ( + LayoutYaxisAutotypenumbersConvertTypes LayoutYaxisAutotypenumbers = "convert types" + LayoutYaxisAutotypenumbersStrict LayoutYaxisAutotypenumbers = "strict" +) + +// LayoutYaxisCalendar Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar` +type LayoutYaxisCalendar string + +const ( + LayoutYaxisCalendarChinese LayoutYaxisCalendar = "chinese" + LayoutYaxisCalendarCoptic LayoutYaxisCalendar = "coptic" + LayoutYaxisCalendarDiscworld LayoutYaxisCalendar = "discworld" + LayoutYaxisCalendarEthiopian LayoutYaxisCalendar = "ethiopian" + LayoutYaxisCalendarGregorian LayoutYaxisCalendar = "gregorian" + LayoutYaxisCalendarHebrew LayoutYaxisCalendar = "hebrew" + LayoutYaxisCalendarIslamic LayoutYaxisCalendar = "islamic" + LayoutYaxisCalendarJalali LayoutYaxisCalendar = "jalali" + LayoutYaxisCalendarJulian LayoutYaxisCalendar = "julian" + LayoutYaxisCalendarMayan LayoutYaxisCalendar = "mayan" + LayoutYaxisCalendarNanakshahi LayoutYaxisCalendar = "nanakshahi" + LayoutYaxisCalendarNepali LayoutYaxisCalendar = "nepali" + LayoutYaxisCalendarPersian LayoutYaxisCalendar = "persian" + LayoutYaxisCalendarTaiwan LayoutYaxisCalendar = "taiwan" + LayoutYaxisCalendarThai LayoutYaxisCalendar = "thai" + LayoutYaxisCalendarUmmalqura LayoutYaxisCalendar = "ummalqura" +) + +// LayoutYaxisCategoryorder 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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values. +type LayoutYaxisCategoryorder string + +const ( + LayoutYaxisCategoryorderTrace LayoutYaxisCategoryorder = "trace" + LayoutYaxisCategoryorderCategoryAscending LayoutYaxisCategoryorder = "category ascending" + LayoutYaxisCategoryorderCategoryDescending LayoutYaxisCategoryorder = "category descending" + LayoutYaxisCategoryorderArray LayoutYaxisCategoryorder = "array" + LayoutYaxisCategoryorderTotalAscending LayoutYaxisCategoryorder = "total ascending" + LayoutYaxisCategoryorderTotalDescending LayoutYaxisCategoryorder = "total descending" + LayoutYaxisCategoryorderMinAscending LayoutYaxisCategoryorder = "min ascending" + LayoutYaxisCategoryorderMinDescending LayoutYaxisCategoryorder = "min descending" + LayoutYaxisCategoryorderMaxAscending LayoutYaxisCategoryorder = "max ascending" + LayoutYaxisCategoryorderMaxDescending LayoutYaxisCategoryorder = "max descending" + LayoutYaxisCategoryorderSumAscending LayoutYaxisCategoryorder = "sum ascending" + LayoutYaxisCategoryorderSumDescending LayoutYaxisCategoryorder = "sum descending" + LayoutYaxisCategoryorderMeanAscending LayoutYaxisCategoryorder = "mean ascending" + LayoutYaxisCategoryorderMeanDescending LayoutYaxisCategoryorder = "mean descending" + LayoutYaxisCategoryorderMedianAscending LayoutYaxisCategoryorder = "median ascending" + LayoutYaxisCategoryorderMedianDescending LayoutYaxisCategoryorder = "median descending" +) + +// LayoutYaxisConstrain If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines how that happens: by increasing the *range*, or by decreasing the *domain*. Default is *domain* for axes containing image traces, *range* otherwise. +type LayoutYaxisConstrain string + +const ( + LayoutYaxisConstrainRange LayoutYaxisConstrain = "range" + LayoutYaxisConstrainDomain LayoutYaxisConstrain = "domain" +) + +// LayoutYaxisConstraintoward If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines which direction we push the originally specified plot area. Options are *left*, *center* (default), and *right* for x axes, and *top*, *middle* (default), and *bottom* for y axes. +type LayoutYaxisConstraintoward string + +const ( + LayoutYaxisConstraintowardLeft LayoutYaxisConstraintoward = "left" + LayoutYaxisConstraintowardCenter LayoutYaxisConstraintoward = "center" + LayoutYaxisConstraintowardRight LayoutYaxisConstraintoward = "right" + LayoutYaxisConstraintowardTop LayoutYaxisConstraintoward = "top" + LayoutYaxisConstraintowardMiddle LayoutYaxisConstraintoward = "middle" + LayoutYaxisConstraintowardBottom LayoutYaxisConstraintoward = "bottom" +) + +// LayoutYaxisExponentformat 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. +type LayoutYaxisExponentformat string + +const ( + LayoutYaxisExponentformatNone LayoutYaxisExponentformat = "none" + LayoutYaxisExponentformatE1 LayoutYaxisExponentformat = "e" + LayoutYaxisExponentformatE2 LayoutYaxisExponentformat = "E" + LayoutYaxisExponentformatPower LayoutYaxisExponentformat = "power" + LayoutYaxisExponentformatSI LayoutYaxisExponentformat = "SI" + LayoutYaxisExponentformatB LayoutYaxisExponentformat = "B" +) + +// LayoutYaxisLayer Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis. +type LayoutYaxisLayer string + +const ( + LayoutYaxisLayerAboveTraces LayoutYaxisLayer = "above traces" + LayoutYaxisLayerBelowTraces LayoutYaxisLayer = "below traces" +) + +// LayoutYaxisMatches If set to another axis id (e.g. `x2`, `y`), the range of this axis will match the range of the corresponding axis in data-coordinates space. Moreover, matching axes share auto-range values, category lists and histogram auto-bins. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden. Moreover, note that matching axes must have the same `type`. +type LayoutYaxisMatches string + +const ( + LayoutYaxisMatchesSlashCapexLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutYaxisMatches = "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + LayoutYaxisMatchesSlashCapeyLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutYaxisMatches = "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" +) + +// LayoutYaxisMinorTickmode 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). +type LayoutYaxisMinorTickmode string + +const ( + LayoutYaxisMinorTickmodeAuto LayoutYaxisMinorTickmode = "auto" + LayoutYaxisMinorTickmodeLinear LayoutYaxisMinorTickmode = "linear" + LayoutYaxisMinorTickmodeArray LayoutYaxisMinorTickmode = "array" +) + +// LayoutYaxisMinorTicks 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. +type LayoutYaxisMinorTicks string + +const ( + LayoutYaxisMinorTicksOutside LayoutYaxisMinorTicks = "outside" + LayoutYaxisMinorTicksInside LayoutYaxisMinorTicks = "inside" + LayoutYaxisMinorTicksEmpty LayoutYaxisMinorTicks = "" +) + +// LayoutYaxisMirror 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. +type LayoutYaxisMirror interface{} + +var ( + LayoutYaxisMirrorTrue LayoutYaxisMirror = true + LayoutYaxisMirrorTicks LayoutYaxisMirror = "ticks" + LayoutYaxisMirrorFalse LayoutYaxisMirror = false + LayoutYaxisMirrorAll LayoutYaxisMirror = "all" + LayoutYaxisMirrorAllticks LayoutYaxisMirror = "allticks" +) + +// LayoutYaxisOverlaying If set a same-letter axis id, this axis is overlaid on top of the corresponding same-letter axis, with traces and axes visible for both axes. If *false*, this axis does not overlay any same-letter axes. In this case, for axes with overlapping domains only the highest-numbered axis will be visible. +type LayoutYaxisOverlaying string + +const ( + LayoutYaxisOverlayingFree LayoutYaxisOverlaying = "free" + LayoutYaxisOverlayingSlashCapexLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutYaxisOverlaying = "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + LayoutYaxisOverlayingSlashCapeyLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutYaxisOverlaying = "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" +) + +// LayoutYaxisRangemode 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. +type LayoutYaxisRangemode string + +const ( + LayoutYaxisRangemodeNormal LayoutYaxisRangemode = "normal" + LayoutYaxisRangemodeTozero LayoutYaxisRangemode = "tozero" + LayoutYaxisRangemodeNonnegative LayoutYaxisRangemode = "nonnegative" +) + +// LayoutYaxisScaleanchor If set to another axis id (e.g. `x2`, `y`), the range of this axis changes together with the range of the corresponding axis such that the scale of pixels per unit is in a constant ratio. Both axes are still zoomable, but when you zoom one, the other will zoom the same amount, keeping a fixed midpoint. `constrain` and `constraintoward` determine how we enforce the constraint. You can chain these, ie `yaxis: {scaleanchor: *x*}, xaxis2: {scaleanchor: *y*}` but you can only link axes of the same `type`. The linked axis can have the opposite letter (to constrain the aspect ratio) or the same letter (to match scales across subplots). Loops (`yaxis: {scaleanchor: *x*}, xaxis: {scaleanchor: *y*}` or longer) are redundant and the last constraint encountered will be ignored to avoid possible inconsistent constraints via `scaleratio`. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden. Setting `false` allows to remove a default constraint (occasionally, you may need to prevent a default `scaleanchor` constraint from being applied, eg. when having an image trace `yaxis: {scaleanchor: "x"}` is set automatically in order for pixels to be rendered as squares, setting `yaxis: {scaleanchor: false}` allows to remove the constraint). +type LayoutYaxisScaleanchor interface{} + +var ( + LayoutYaxisScaleanchorSlashCapexLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutYaxisScaleanchor = "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + LayoutYaxisScaleanchorSlashCapeyLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutYaxisScaleanchor = "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" + LayoutYaxisScaleanchorFalse LayoutYaxisScaleanchor = false +) + +// LayoutYaxisShowexponent 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. +type LayoutYaxisShowexponent string + +const ( + LayoutYaxisShowexponentAll LayoutYaxisShowexponent = "all" + LayoutYaxisShowexponentFirst LayoutYaxisShowexponent = "first" + LayoutYaxisShowexponentLast LayoutYaxisShowexponent = "last" + LayoutYaxisShowexponentNone LayoutYaxisShowexponent = "none" +) + +// LayoutYaxisShowtickprefix 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. +type LayoutYaxisShowtickprefix string + +const ( + LayoutYaxisShowtickprefixAll LayoutYaxisShowtickprefix = "all" + LayoutYaxisShowtickprefixFirst LayoutYaxisShowtickprefix = "first" + LayoutYaxisShowtickprefixLast LayoutYaxisShowtickprefix = "last" + LayoutYaxisShowtickprefixNone LayoutYaxisShowtickprefix = "none" +) + +// LayoutYaxisShowticksuffix Same as `showtickprefix` but for tick suffixes. +type LayoutYaxisShowticksuffix string + +const ( + LayoutYaxisShowticksuffixAll LayoutYaxisShowticksuffix = "all" + LayoutYaxisShowticksuffixFirst LayoutYaxisShowticksuffix = "first" + LayoutYaxisShowticksuffixLast LayoutYaxisShowticksuffix = "last" + LayoutYaxisShowticksuffixNone LayoutYaxisShowticksuffix = "none" +) + +// LayoutYaxisSide Determines whether a x (y) axis is positioned at the *bottom* (*left*) or *top* (*right*) of the plotting area. +type LayoutYaxisSide string + +const ( + LayoutYaxisSideTop LayoutYaxisSide = "top" + LayoutYaxisSideBottom LayoutYaxisSide = "bottom" + LayoutYaxisSideLeft LayoutYaxisSide = "left" + LayoutYaxisSideRight LayoutYaxisSide = "right" +) + +// LayoutYaxisSpikesnap Determines whether spikelines are stuck to the cursor or to the closest datapoints. +type LayoutYaxisSpikesnap string + +const ( + LayoutYaxisSpikesnapData LayoutYaxisSpikesnap = "data" + LayoutYaxisSpikesnapCursor LayoutYaxisSpikesnap = "cursor" + LayoutYaxisSpikesnapHoveredData LayoutYaxisSpikesnap = "hovered data" +) + +// LayoutYaxisTicklabelmode Determines where tick labels are drawn with respect to their corresponding ticks and grid lines. Only has an effect for axes of `type` *date* When set to *period*, tick labels are drawn in the middle of the period between ticks. +type LayoutYaxisTicklabelmode string + +const ( + LayoutYaxisTicklabelmodeInstant LayoutYaxisTicklabelmode = "instant" + LayoutYaxisTicklabelmodePeriod LayoutYaxisTicklabelmode = "period" +) + +// LayoutYaxisTicklabeloverflow 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*. Otherwise on *category* and *multicategory* axes the default is *allow*. In other cases the default is *hide past div*. +type LayoutYaxisTicklabeloverflow string + +const ( + LayoutYaxisTicklabeloverflowAllow LayoutYaxisTicklabeloverflow = "allow" + LayoutYaxisTicklabeloverflowHidePastDiv LayoutYaxisTicklabeloverflow = "hide past div" + LayoutYaxisTicklabeloverflowHidePastDomain LayoutYaxisTicklabeloverflow = "hide past domain" +) + +// LayoutYaxisTicklabelposition Determines where tick labels are drawn with respect to the axis Please note that top or bottom has no effect on x axes or when `ticklabelmode` is set to *period*. Similarly left or right has no effect on y axes or when `ticklabelmode` is set to *period*. Has no effect on *multicategory* axes or when `tickson` is set to *boundaries*. When used on axes linked by `matches` or `scaleanchor`, no extra padding for inside labels would be added by autorange, so that the scales could match. +type LayoutYaxisTicklabelposition string + +const ( + LayoutYaxisTicklabelpositionOutside LayoutYaxisTicklabelposition = "outside" + LayoutYaxisTicklabelpositionInside LayoutYaxisTicklabelposition = "inside" + LayoutYaxisTicklabelpositionOutsideTop LayoutYaxisTicklabelposition = "outside top" + LayoutYaxisTicklabelpositionInsideTop LayoutYaxisTicklabelposition = "inside top" + LayoutYaxisTicklabelpositionOutsideLeft LayoutYaxisTicklabelposition = "outside left" + LayoutYaxisTicklabelpositionInsideLeft LayoutYaxisTicklabelposition = "inside left" + LayoutYaxisTicklabelpositionOutsideRight LayoutYaxisTicklabelposition = "outside right" + LayoutYaxisTicklabelpositionInsideRight LayoutYaxisTicklabelposition = "inside right" + LayoutYaxisTicklabelpositionOutsideBottom LayoutYaxisTicklabelposition = "outside bottom" + LayoutYaxisTicklabelpositionInsideBottom LayoutYaxisTicklabelposition = "inside bottom" +) + +// LayoutYaxisTickmode 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). If *sync*, the number of ticks will sync with the overlayed axis set by `overlaying` property. +type LayoutYaxisTickmode string + +const ( + LayoutYaxisTickmodeAuto LayoutYaxisTickmode = "auto" + LayoutYaxisTickmodeLinear LayoutYaxisTickmode = "linear" + LayoutYaxisTickmodeArray LayoutYaxisTickmode = "array" + LayoutYaxisTickmodeSync LayoutYaxisTickmode = "sync" +) + +// LayoutYaxisTicks 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. +type LayoutYaxisTicks string + +const ( + LayoutYaxisTicksOutside LayoutYaxisTicks = "outside" + LayoutYaxisTicksInside LayoutYaxisTicks = "inside" + LayoutYaxisTicksEmpty LayoutYaxisTicks = "" +) + +// LayoutYaxisTickson Determines where ticks and grid lines are drawn with respect to their corresponding tick labels. Only has an effect for axes of `type` *category* or *multicategory*. When set to *boundaries*, ticks and grid lines are drawn half a category to the left/bottom of labels. +type LayoutYaxisTickson string + +const ( + LayoutYaxisTicksonLabels LayoutYaxisTickson = "labels" + LayoutYaxisTicksonBoundaries LayoutYaxisTickson = "boundaries" +) + +// LayoutYaxisType 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. +type LayoutYaxisType string + +const ( + LayoutYaxisTypeHyphenHyphen LayoutYaxisType = "-" + LayoutYaxisTypeLinear LayoutYaxisType = "linear" + LayoutYaxisTypeLog LayoutYaxisType = "log" + LayoutYaxisTypeDate LayoutYaxisType = "date" + LayoutYaxisTypeCategory LayoutYaxisType = "category" + LayoutYaxisTypeMulticategory LayoutYaxisType = "multicategory" +) + +// LayoutClickmode 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. +type LayoutClickmode string + +const ( + // Flags + LayoutClickmodeEvent LayoutClickmode = "event" + LayoutClickmodeSelect LayoutClickmode = "select" + + // Extra + LayoutClickmodeNone LayoutClickmode = "none" +) + +// LayoutLegendTraceorder 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*. +type LayoutLegendTraceorder string + +const ( + // Flags + LayoutLegendTraceorderReversed LayoutLegendTraceorder = "reversed" + LayoutLegendTraceorderGrouped LayoutLegendTraceorder = "grouped" + + // Extra + LayoutLegendTraceorderNormal LayoutLegendTraceorder = "normal" +) + +// LayoutXaxisAutomargin Determines whether long tick labels automatically grow the figure margins. +type LayoutXaxisAutomargin interface{} + +var ( + // Flags + LayoutXaxisAutomarginHeight LayoutXaxisAutomargin = "height" + LayoutXaxisAutomarginWidth LayoutXaxisAutomargin = "width" + LayoutXaxisAutomarginLeft LayoutXaxisAutomargin = "left" + LayoutXaxisAutomarginRight LayoutXaxisAutomargin = "right" + LayoutXaxisAutomarginTop LayoutXaxisAutomargin = "top" + LayoutXaxisAutomarginBottom LayoutXaxisAutomargin = "bottom" + + // Extra + LayoutXaxisAutomarginTrue LayoutXaxisAutomargin = true + LayoutXaxisAutomarginFalse LayoutXaxisAutomargin = false +) + +// LayoutXaxisSpikemode Determines the drawing mode for the spike line If *toaxis*, the line is drawn from the data point to the axis the series is plotted on. If *across*, the line is drawn across the entire plot area, and supercedes *toaxis*. If *marker*, then a marker dot is drawn on the axis the series is plotted on +type LayoutXaxisSpikemode string + +const ( + // Flags + LayoutXaxisSpikemodeToaxis LayoutXaxisSpikemode = "toaxis" + LayoutXaxisSpikemodeAcross LayoutXaxisSpikemode = "across" + LayoutXaxisSpikemodeMarker LayoutXaxisSpikemode = "marker" + + // Extra + +) + +// LayoutYaxisAutomargin Determines whether long tick labels automatically grow the figure margins. +type LayoutYaxisAutomargin interface{} + +var ( + // Flags + LayoutYaxisAutomarginHeight LayoutYaxisAutomargin = "height" + LayoutYaxisAutomarginWidth LayoutYaxisAutomargin = "width" + LayoutYaxisAutomarginLeft LayoutYaxisAutomargin = "left" + LayoutYaxisAutomarginRight LayoutYaxisAutomargin = "right" + LayoutYaxisAutomarginTop LayoutYaxisAutomargin = "top" + LayoutYaxisAutomarginBottom LayoutYaxisAutomargin = "bottom" + + // Extra + LayoutYaxisAutomarginTrue LayoutYaxisAutomargin = true + LayoutYaxisAutomarginFalse LayoutYaxisAutomargin = false +) + +// LayoutYaxisSpikemode Determines the drawing mode for the spike line If *toaxis*, the line is drawn from the data point to the axis the series is plotted on. If *across*, the line is drawn across the entire plot area, and supercedes *toaxis*. If *marker*, then a marker dot is drawn on the axis the series is plotted on +type LayoutYaxisSpikemode string + +const ( + // Flags + LayoutYaxisSpikemodeToaxis LayoutYaxisSpikemode = "toaxis" + LayoutYaxisSpikemodeAcross LayoutYaxisSpikemode = "across" + LayoutYaxisSpikemodeMarker LayoutYaxisSpikemode = "marker" + + // Extra + +) diff --git a/generated/v2.31.1/graph_objects/mesh3d_gen.go b/generated/v2.31.1/graph_objects/mesh3d_gen.go new file mode 100644 index 0000000..e3f4dce --- /dev/null +++ b/generated/v2.31.1/graph_objects/mesh3d_gen.go @@ -0,0 +1,1283 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeMesh3d TraceType = "mesh3d" + +func (trace *Mesh3d) GetType() TraceType { + return TraceTypeMesh3d +} + +// Mesh3d 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 +type Mesh3d struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Alphahull + // arrayOK: false + // type: number + // 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. + Alphahull float64 `json:"alphahull,omitempty"` + + // Autocolorscale + // arrayOK: false + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the color of the whole mesh + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *Mesh3dColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Contour + // role: Object + Contour *Mesh3dContour `json:"contour,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Delaunayaxis + // default: z + // type: enumerated + // 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. + Delaunayaxis Mesh3dDelaunayaxis `json:"delaunayaxis,omitempty"` + + // Facecolor + // arrayOK: false + // type: data_array + // Sets the color of each face Overrides *color* and *vertexcolor*. + Facecolor interface{} `json:"facecolor,omitempty"` + + // Facecolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `facecolor`. + Facecolorsrc String `json:"facecolorsrc,omitempty"` + + // Flatshading + // arrayOK: false + // type: boolean + // Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low-poly look via flat reflections. + Flatshading Bool `json:"flatshading,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo Mesh3dHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *Mesh3dHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // Same as `text`. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // I + // arrayOK: false + // 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. + I interface{} `json:"i,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Intensity + // arrayOK: false + // type: data_array + // Sets the intensity values for vertices or cells as defined by `intensitymode`. It can be used for plotting fields on meshes. + Intensity interface{} `json:"intensity,omitempty"` + + // Intensitymode + // default: vertex + // type: enumerated + // Determines the source of `intensity` values. + Intensitymode Mesh3dIntensitymode `json:"intensitymode,omitempty"` + + // Intensitysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `intensity`. + Intensitysrc String `json:"intensitysrc,omitempty"` + + // Isrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `i`. + Isrc String `json:"isrc,omitempty"` + + // J + // arrayOK: false + // 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. + J interface{} `json:"j,omitempty"` + + // Jsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `j`. + Jsrc String `json:"jsrc,omitempty"` + + // K + // arrayOK: false + // 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. + K interface{} `json:"k,omitempty"` + + // Ksrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `k`. + Ksrc String `json:"ksrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *Mesh3dLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Lighting + // role: Object + Lighting *Mesh3dLighting `json:"lighting,omitempty"` + + // Lightposition + // role: Object + Lightposition *Mesh3dLightposition `json:"lightposition,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // 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. + Opacity float64 `json:"opacity,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Scene + // arrayOK: false + // type: subplotid + // 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. + Scene String `json:"scene,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Showscale + // arrayOK: false + // type: boolean + // Determines whether or not a colorbar is displayed for this trace. + Showscale Bool `json:"showscale,omitempty"` + + // Stream + // role: Object + Stream *Mesh3dStream `json:"stream,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Vertexcolor + // arrayOK: false + // 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. + Vertexcolor interface{} `json:"vertexcolor,omitempty"` + + // Vertexcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `vertexcolor`. + Vertexcolorsrc String `json:"vertexcolorsrc,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible Mesh3dVisible `json:"visible,omitempty"` + + // X + // arrayOK: false + // 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. + X interface{} `json:"x,omitempty"` + + // Xcalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `x` date data. + Xcalendar Mesh3dXcalendar `json:"xcalendar,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // 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. + Y interface{} `json:"y,omitempty"` + + // Ycalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `y` date data. + Ycalendar Mesh3dYcalendar `json:"ycalendar,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` + + // Z + // arrayOK: false + // 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. + Z interface{} `json:"z,omitempty"` + + // Zcalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `z` date data. + Zcalendar Mesh3dZcalendar `json:"zcalendar,omitempty"` + + // Zhoverformat + // arrayOK: false + // 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`. + Zhoverformat String `json:"zhoverformat,omitempty"` + + // Zsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `z`. + Zsrc String `json:"zsrc,omitempty"` +} + +// Mesh3dColorbarTickfont Sets the color bar's tick label font +type Mesh3dColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// Mesh3dColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type Mesh3dColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// Mesh3dColorbarTitle +type Mesh3dColorbarTitle struct { + + // Font + // role: Object + Font *Mesh3dColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side Mesh3dColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// Mesh3dColorbar +type Mesh3dColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat Mesh3dColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode Mesh3dColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation Mesh3dColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent Mesh3dColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix Mesh3dColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix Mesh3dColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode Mesh3dColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *Mesh3dColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow Mesh3dColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition Mesh3dColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode Mesh3dColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks Mesh3dColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *Mesh3dColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor Mesh3dColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref Mesh3dColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor Mesh3dColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref Mesh3dColorbarYref `json:"yref,omitempty"` +} + +// Mesh3dContour +type Mesh3dContour struct { + + // Color + // arrayOK: false + // type: color + // Sets the color of the contour lines. + Color Color `json:"color,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // Sets whether or not dynamic contours are shown on hover + Show Bool `json:"show,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width of the contour lines. + Width float64 `json:"width,omitempty"` +} + +// Mesh3dHoverlabelFont Sets the font used in hover labels. +type Mesh3dHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// Mesh3dHoverlabel +type Mesh3dHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align Mesh3dHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *Mesh3dHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// Mesh3dLegendgrouptitleFont Sets this legend group's title font. +type Mesh3dLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// Mesh3dLegendgrouptitle +type Mesh3dLegendgrouptitle struct { + + // Font + // role: Object + Font *Mesh3dLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// Mesh3dLighting +type Mesh3dLighting struct { + + // Ambient + // arrayOK: false + // type: number + // Ambient light increases overall color visibility but can wash out the image. + Ambient float64 `json:"ambient,omitempty"` + + // Diffuse + // arrayOK: false + // type: number + // Represents the extent that incident rays are reflected in a range of angles. + Diffuse float64 `json:"diffuse,omitempty"` + + // Facenormalsepsilon + // arrayOK: false + // type: number + // Epsilon for face normals calculation avoids math issues arising from degenerate geometry. + Facenormalsepsilon float64 `json:"facenormalsepsilon,omitempty"` + + // Fresnel + // arrayOK: false + // type: number + // 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. + Fresnel float64 `json:"fresnel,omitempty"` + + // Roughness + // arrayOK: false + // type: number + // Alters specular reflection; the rougher the surface, the wider and less contrasty the shine. + Roughness float64 `json:"roughness,omitempty"` + + // Specular + // arrayOK: false + // type: number + // Represents the level that incident rays are reflected in a single direction, causing shine. + Specular float64 `json:"specular,omitempty"` + + // Vertexnormalsepsilon + // arrayOK: false + // type: number + // Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry. + Vertexnormalsepsilon float64 `json:"vertexnormalsepsilon,omitempty"` +} + +// Mesh3dLightposition +type Mesh3dLightposition struct { + + // X + // arrayOK: false + // type: number + // Numeric vector, representing the X coordinate for each vertex. + X float64 `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: number + // Numeric vector, representing the Y coordinate for each vertex. + Y float64 `json:"y,omitempty"` + + // Z + // arrayOK: false + // type: number + // Numeric vector, representing the Z coordinate for each vertex. + Z float64 `json:"z,omitempty"` +} + +// Mesh3dStream +type Mesh3dStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// Mesh3dColorbarExponentformat 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. +type Mesh3dColorbarExponentformat string + +const ( + Mesh3dColorbarExponentformatNone Mesh3dColorbarExponentformat = "none" + Mesh3dColorbarExponentformatE1 Mesh3dColorbarExponentformat = "e" + Mesh3dColorbarExponentformatE2 Mesh3dColorbarExponentformat = "E" + Mesh3dColorbarExponentformatPower Mesh3dColorbarExponentformat = "power" + Mesh3dColorbarExponentformatSI Mesh3dColorbarExponentformat = "SI" + Mesh3dColorbarExponentformatB Mesh3dColorbarExponentformat = "B" +) + +// Mesh3dColorbarLenmode 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. +type Mesh3dColorbarLenmode string + +const ( + Mesh3dColorbarLenmodeFraction Mesh3dColorbarLenmode = "fraction" + Mesh3dColorbarLenmodePixels Mesh3dColorbarLenmode = "pixels" +) + +// Mesh3dColorbarOrientation Sets the orientation of the colorbar. +type Mesh3dColorbarOrientation string + +const ( + Mesh3dColorbarOrientationH Mesh3dColorbarOrientation = "h" + Mesh3dColorbarOrientationV Mesh3dColorbarOrientation = "v" +) + +// Mesh3dColorbarShowexponent 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. +type Mesh3dColorbarShowexponent string + +const ( + Mesh3dColorbarShowexponentAll Mesh3dColorbarShowexponent = "all" + Mesh3dColorbarShowexponentFirst Mesh3dColorbarShowexponent = "first" + Mesh3dColorbarShowexponentLast Mesh3dColorbarShowexponent = "last" + Mesh3dColorbarShowexponentNone Mesh3dColorbarShowexponent = "none" +) + +// Mesh3dColorbarShowtickprefix 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. +type Mesh3dColorbarShowtickprefix string + +const ( + Mesh3dColorbarShowtickprefixAll Mesh3dColorbarShowtickprefix = "all" + Mesh3dColorbarShowtickprefixFirst Mesh3dColorbarShowtickprefix = "first" + Mesh3dColorbarShowtickprefixLast Mesh3dColorbarShowtickprefix = "last" + Mesh3dColorbarShowtickprefixNone Mesh3dColorbarShowtickprefix = "none" +) + +// Mesh3dColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type Mesh3dColorbarShowticksuffix string + +const ( + Mesh3dColorbarShowticksuffixAll Mesh3dColorbarShowticksuffix = "all" + Mesh3dColorbarShowticksuffixFirst Mesh3dColorbarShowticksuffix = "first" + Mesh3dColorbarShowticksuffixLast Mesh3dColorbarShowticksuffix = "last" + Mesh3dColorbarShowticksuffixNone Mesh3dColorbarShowticksuffix = "none" +) + +// Mesh3dColorbarThicknessmode 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. +type Mesh3dColorbarThicknessmode string + +const ( + Mesh3dColorbarThicknessmodeFraction Mesh3dColorbarThicknessmode = "fraction" + Mesh3dColorbarThicknessmodePixels Mesh3dColorbarThicknessmode = "pixels" +) + +// Mesh3dColorbarTicklabeloverflow 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*. +type Mesh3dColorbarTicklabeloverflow string + +const ( + Mesh3dColorbarTicklabeloverflowAllow Mesh3dColorbarTicklabeloverflow = "allow" + Mesh3dColorbarTicklabeloverflowHidePastDiv Mesh3dColorbarTicklabeloverflow = "hide past div" + Mesh3dColorbarTicklabeloverflowHidePastDomain Mesh3dColorbarTicklabeloverflow = "hide past domain" +) + +// Mesh3dColorbarTicklabelposition 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*. +type Mesh3dColorbarTicklabelposition string + +const ( + Mesh3dColorbarTicklabelpositionOutside Mesh3dColorbarTicklabelposition = "outside" + Mesh3dColorbarTicklabelpositionInside Mesh3dColorbarTicklabelposition = "inside" + Mesh3dColorbarTicklabelpositionOutsideTop Mesh3dColorbarTicklabelposition = "outside top" + Mesh3dColorbarTicklabelpositionInsideTop Mesh3dColorbarTicklabelposition = "inside top" + Mesh3dColorbarTicklabelpositionOutsideLeft Mesh3dColorbarTicklabelposition = "outside left" + Mesh3dColorbarTicklabelpositionInsideLeft Mesh3dColorbarTicklabelposition = "inside left" + Mesh3dColorbarTicklabelpositionOutsideRight Mesh3dColorbarTicklabelposition = "outside right" + Mesh3dColorbarTicklabelpositionInsideRight Mesh3dColorbarTicklabelposition = "inside right" + Mesh3dColorbarTicklabelpositionOutsideBottom Mesh3dColorbarTicklabelposition = "outside bottom" + Mesh3dColorbarTicklabelpositionInsideBottom Mesh3dColorbarTicklabelposition = "inside bottom" +) + +// Mesh3dColorbarTickmode 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). +type Mesh3dColorbarTickmode string + +const ( + Mesh3dColorbarTickmodeAuto Mesh3dColorbarTickmode = "auto" + Mesh3dColorbarTickmodeLinear Mesh3dColorbarTickmode = "linear" + Mesh3dColorbarTickmodeArray Mesh3dColorbarTickmode = "array" +) + +// Mesh3dColorbarTicks 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. +type Mesh3dColorbarTicks string + +const ( + Mesh3dColorbarTicksOutside Mesh3dColorbarTicks = "outside" + Mesh3dColorbarTicksInside Mesh3dColorbarTicks = "inside" + Mesh3dColorbarTicksEmpty Mesh3dColorbarTicks = "" +) + +// Mesh3dColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type Mesh3dColorbarTitleSide string + +const ( + Mesh3dColorbarTitleSideRight Mesh3dColorbarTitleSide = "right" + Mesh3dColorbarTitleSideTop Mesh3dColorbarTitleSide = "top" + Mesh3dColorbarTitleSideBottom Mesh3dColorbarTitleSide = "bottom" +) + +// Mesh3dColorbarXanchor 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*. +type Mesh3dColorbarXanchor string + +const ( + Mesh3dColorbarXanchorLeft Mesh3dColorbarXanchor = "left" + Mesh3dColorbarXanchorCenter Mesh3dColorbarXanchor = "center" + Mesh3dColorbarXanchorRight Mesh3dColorbarXanchor = "right" +) + +// Mesh3dColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type Mesh3dColorbarXref string + +const ( + Mesh3dColorbarXrefContainer Mesh3dColorbarXref = "container" + Mesh3dColorbarXrefPaper Mesh3dColorbarXref = "paper" +) + +// Mesh3dColorbarYanchor 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*. +type Mesh3dColorbarYanchor string + +const ( + Mesh3dColorbarYanchorTop Mesh3dColorbarYanchor = "top" + Mesh3dColorbarYanchorMiddle Mesh3dColorbarYanchor = "middle" + Mesh3dColorbarYanchorBottom Mesh3dColorbarYanchor = "bottom" +) + +// Mesh3dColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type Mesh3dColorbarYref string + +const ( + Mesh3dColorbarYrefContainer Mesh3dColorbarYref = "container" + Mesh3dColorbarYrefPaper Mesh3dColorbarYref = "paper" +) + +// Mesh3dDelaunayaxis 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. +type Mesh3dDelaunayaxis string + +const ( + Mesh3dDelaunayaxisX Mesh3dDelaunayaxis = "x" + Mesh3dDelaunayaxisY Mesh3dDelaunayaxis = "y" + Mesh3dDelaunayaxisZ Mesh3dDelaunayaxis = "z" +) + +// Mesh3dHoverlabelAlign 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 +type Mesh3dHoverlabelAlign string + +const ( + Mesh3dHoverlabelAlignLeft Mesh3dHoverlabelAlign = "left" + Mesh3dHoverlabelAlignRight Mesh3dHoverlabelAlign = "right" + Mesh3dHoverlabelAlignAuto Mesh3dHoverlabelAlign = "auto" +) + +// Mesh3dIntensitymode Determines the source of `intensity` values. +type Mesh3dIntensitymode string + +const ( + Mesh3dIntensitymodeVertex Mesh3dIntensitymode = "vertex" + Mesh3dIntensitymodeCell Mesh3dIntensitymode = "cell" +) + +// Mesh3dVisible 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). +type Mesh3dVisible interface{} + +var ( + Mesh3dVisibleTrue Mesh3dVisible = true + Mesh3dVisibleFalse Mesh3dVisible = false + Mesh3dVisibleLegendonly Mesh3dVisible = "legendonly" +) + +// Mesh3dXcalendar Sets the calendar system to use with `x` date data. +type Mesh3dXcalendar string + +const ( + Mesh3dXcalendarChinese Mesh3dXcalendar = "chinese" + Mesh3dXcalendarCoptic Mesh3dXcalendar = "coptic" + Mesh3dXcalendarDiscworld Mesh3dXcalendar = "discworld" + Mesh3dXcalendarEthiopian Mesh3dXcalendar = "ethiopian" + Mesh3dXcalendarGregorian Mesh3dXcalendar = "gregorian" + Mesh3dXcalendarHebrew Mesh3dXcalendar = "hebrew" + Mesh3dXcalendarIslamic Mesh3dXcalendar = "islamic" + Mesh3dXcalendarJalali Mesh3dXcalendar = "jalali" + Mesh3dXcalendarJulian Mesh3dXcalendar = "julian" + Mesh3dXcalendarMayan Mesh3dXcalendar = "mayan" + Mesh3dXcalendarNanakshahi Mesh3dXcalendar = "nanakshahi" + Mesh3dXcalendarNepali Mesh3dXcalendar = "nepali" + Mesh3dXcalendarPersian Mesh3dXcalendar = "persian" + Mesh3dXcalendarTaiwan Mesh3dXcalendar = "taiwan" + Mesh3dXcalendarThai Mesh3dXcalendar = "thai" + Mesh3dXcalendarUmmalqura Mesh3dXcalendar = "ummalqura" +) + +// Mesh3dYcalendar Sets the calendar system to use with `y` date data. +type Mesh3dYcalendar string + +const ( + Mesh3dYcalendarChinese Mesh3dYcalendar = "chinese" + Mesh3dYcalendarCoptic Mesh3dYcalendar = "coptic" + Mesh3dYcalendarDiscworld Mesh3dYcalendar = "discworld" + Mesh3dYcalendarEthiopian Mesh3dYcalendar = "ethiopian" + Mesh3dYcalendarGregorian Mesh3dYcalendar = "gregorian" + Mesh3dYcalendarHebrew Mesh3dYcalendar = "hebrew" + Mesh3dYcalendarIslamic Mesh3dYcalendar = "islamic" + Mesh3dYcalendarJalali Mesh3dYcalendar = "jalali" + Mesh3dYcalendarJulian Mesh3dYcalendar = "julian" + Mesh3dYcalendarMayan Mesh3dYcalendar = "mayan" + Mesh3dYcalendarNanakshahi Mesh3dYcalendar = "nanakshahi" + Mesh3dYcalendarNepali Mesh3dYcalendar = "nepali" + Mesh3dYcalendarPersian Mesh3dYcalendar = "persian" + Mesh3dYcalendarTaiwan Mesh3dYcalendar = "taiwan" + Mesh3dYcalendarThai Mesh3dYcalendar = "thai" + Mesh3dYcalendarUmmalqura Mesh3dYcalendar = "ummalqura" +) + +// Mesh3dZcalendar Sets the calendar system to use with `z` date data. +type Mesh3dZcalendar string + +const ( + Mesh3dZcalendarChinese Mesh3dZcalendar = "chinese" + Mesh3dZcalendarCoptic Mesh3dZcalendar = "coptic" + Mesh3dZcalendarDiscworld Mesh3dZcalendar = "discworld" + Mesh3dZcalendarEthiopian Mesh3dZcalendar = "ethiopian" + Mesh3dZcalendarGregorian Mesh3dZcalendar = "gregorian" + Mesh3dZcalendarHebrew Mesh3dZcalendar = "hebrew" + Mesh3dZcalendarIslamic Mesh3dZcalendar = "islamic" + Mesh3dZcalendarJalali Mesh3dZcalendar = "jalali" + Mesh3dZcalendarJulian Mesh3dZcalendar = "julian" + Mesh3dZcalendarMayan Mesh3dZcalendar = "mayan" + Mesh3dZcalendarNanakshahi Mesh3dZcalendar = "nanakshahi" + Mesh3dZcalendarNepali Mesh3dZcalendar = "nepali" + Mesh3dZcalendarPersian Mesh3dZcalendar = "persian" + Mesh3dZcalendarTaiwan Mesh3dZcalendar = "taiwan" + Mesh3dZcalendarThai Mesh3dZcalendar = "thai" + Mesh3dZcalendarUmmalqura Mesh3dZcalendar = "ummalqura" +) + +// Mesh3dHoverinfo 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. +type Mesh3dHoverinfo string + +const ( + // Flags + Mesh3dHoverinfoX Mesh3dHoverinfo = "x" + Mesh3dHoverinfoY Mesh3dHoverinfo = "y" + Mesh3dHoverinfoZ Mesh3dHoverinfo = "z" + Mesh3dHoverinfoText Mesh3dHoverinfo = "text" + Mesh3dHoverinfoName Mesh3dHoverinfo = "name" + + // Extra + Mesh3dHoverinfoAll Mesh3dHoverinfo = "all" + Mesh3dHoverinfoNone Mesh3dHoverinfo = "none" + Mesh3dHoverinfoSkip Mesh3dHoverinfo = "skip" +) diff --git a/generated/v2.31.1/graph_objects/ohlc_gen.go b/generated/v2.31.1/graph_objects/ohlc_gen.go new file mode 100644 index 0000000..3eb83ea --- /dev/null +++ b/generated/v2.31.1/graph_objects/ohlc_gen.go @@ -0,0 +1,601 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeOhlc TraceType = "ohlc" + +func (trace *Ohlc) GetType() TraceType { + return TraceTypeOhlc +} + +// Ohlc 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. +type Ohlc struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Close + // arrayOK: false + // type: data_array + // Sets the close values. + Close interface{} `json:"close,omitempty"` + + // Closesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `close`. + Closesrc String `json:"closesrc,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Decreasing + // role: Object + Decreasing *OhlcDecreasing `json:"decreasing,omitempty"` + + // High + // arrayOK: false + // type: data_array + // Sets the high values. + High interface{} `json:"high,omitempty"` + + // Highsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `high`. + Highsrc String `json:"highsrc,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo OhlcHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *OhlcHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // Same as `text`. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Increasing + // role: Object + Increasing *OhlcIncreasing `json:"increasing,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *OhlcLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *OhlcLine `json:"line,omitempty"` + + // Low + // arrayOK: false + // type: data_array + // Sets the low values. + Low interface{} `json:"low,omitempty"` + + // Lowsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `low`. + Lowsrc String `json:"lowsrc,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Open + // arrayOK: false + // type: data_array + // Sets the open values. + Open interface{} `json:"open,omitempty"` + + // Opensrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `open`. + Opensrc String `json:"opensrc,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Stream + // role: Object + Stream *OhlcStream `json:"stream,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the width of the open/close tick marks relative to the *x* minimal interval. + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible OhlcVisible `json:"visible,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the x coordinates. If absent, linear coordinate will be generated. + X interface{} `json:"x,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Xcalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `x` date data. + Xcalendar OhlcXcalendar `json:"xcalendar,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xperiod + // arrayOK: false + // type: any + // Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer. + Xperiod interface{} `json:"xperiod,omitempty"` + + // Xperiod0 + // arrayOK: false + // type: any + // 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. + Xperiod0 interface{} `json:"xperiod0,omitempty"` + + // Xperiodalignment + // default: middle + // type: enumerated + // Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. + Xperiodalignment OhlcXperiodalignment `json:"xperiodalignment,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Zorder + // arrayOK: false + // 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`. + Zorder int64 `json:"zorder,omitempty"` +} + +// OhlcDecreasingLine +type OhlcDecreasingLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the line color. + Color Color `json:"color,omitempty"` + + // Dash + // arrayOK: false + // type: string + // 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*). + Dash String `json:"dash,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width (in px). + Width float64 `json:"width,omitempty"` +} + +// OhlcDecreasing +type OhlcDecreasing struct { + + // Line + // role: Object + Line *OhlcDecreasingLine `json:"line,omitempty"` +} + +// OhlcHoverlabelFont Sets the font used in hover labels. +type OhlcHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// OhlcHoverlabel +type OhlcHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align OhlcHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *OhlcHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` + + // Split + // arrayOK: false + // type: boolean + // Show hover information (open, close, high, low) in separate labels. + Split Bool `json:"split,omitempty"` +} + +// OhlcIncreasingLine +type OhlcIncreasingLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the line color. + Color Color `json:"color,omitempty"` + + // Dash + // arrayOK: false + // type: string + // 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*). + Dash String `json:"dash,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width (in px). + Width float64 `json:"width,omitempty"` +} + +// OhlcIncreasing +type OhlcIncreasing struct { + + // Line + // role: Object + Line *OhlcIncreasingLine `json:"line,omitempty"` +} + +// OhlcLegendgrouptitleFont Sets this legend group's title font. +type OhlcLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// OhlcLegendgrouptitle +type OhlcLegendgrouptitle struct { + + // Font + // role: Object + Font *OhlcLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// OhlcLine +type OhlcLine struct { + + // Dash + // arrayOK: false + // type: string + // 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`. + Dash String `json:"dash,omitempty"` + + // Width + // arrayOK: false + // type: number + // [object Object] Note that this style setting can also be set per direction via `increasing.line.width` and `decreasing.line.width`. + Width float64 `json:"width,omitempty"` +} + +// OhlcStream +type OhlcStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// OhlcHoverlabelAlign 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 +type OhlcHoverlabelAlign string + +const ( + OhlcHoverlabelAlignLeft OhlcHoverlabelAlign = "left" + OhlcHoverlabelAlignRight OhlcHoverlabelAlign = "right" + OhlcHoverlabelAlignAuto OhlcHoverlabelAlign = "auto" +) + +// OhlcVisible 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). +type OhlcVisible interface{} + +var ( + OhlcVisibleTrue OhlcVisible = true + OhlcVisibleFalse OhlcVisible = false + OhlcVisibleLegendonly OhlcVisible = "legendonly" +) + +// OhlcXcalendar Sets the calendar system to use with `x` date data. +type OhlcXcalendar string + +const ( + OhlcXcalendarChinese OhlcXcalendar = "chinese" + OhlcXcalendarCoptic OhlcXcalendar = "coptic" + OhlcXcalendarDiscworld OhlcXcalendar = "discworld" + OhlcXcalendarEthiopian OhlcXcalendar = "ethiopian" + OhlcXcalendarGregorian OhlcXcalendar = "gregorian" + OhlcXcalendarHebrew OhlcXcalendar = "hebrew" + OhlcXcalendarIslamic OhlcXcalendar = "islamic" + OhlcXcalendarJalali OhlcXcalendar = "jalali" + OhlcXcalendarJulian OhlcXcalendar = "julian" + OhlcXcalendarMayan OhlcXcalendar = "mayan" + OhlcXcalendarNanakshahi OhlcXcalendar = "nanakshahi" + OhlcXcalendarNepali OhlcXcalendar = "nepali" + OhlcXcalendarPersian OhlcXcalendar = "persian" + OhlcXcalendarTaiwan OhlcXcalendar = "taiwan" + OhlcXcalendarThai OhlcXcalendar = "thai" + OhlcXcalendarUmmalqura OhlcXcalendar = "ummalqura" +) + +// OhlcXperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. +type OhlcXperiodalignment string + +const ( + OhlcXperiodalignmentStart OhlcXperiodalignment = "start" + OhlcXperiodalignmentMiddle OhlcXperiodalignment = "middle" + OhlcXperiodalignmentEnd OhlcXperiodalignment = "end" +) + +// OhlcHoverinfo 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. +type OhlcHoverinfo string + +const ( + // Flags + OhlcHoverinfoX OhlcHoverinfo = "x" + OhlcHoverinfoY OhlcHoverinfo = "y" + OhlcHoverinfoZ OhlcHoverinfo = "z" + OhlcHoverinfoText OhlcHoverinfo = "text" + OhlcHoverinfoName OhlcHoverinfo = "name" + + // Extra + OhlcHoverinfoAll OhlcHoverinfo = "all" + OhlcHoverinfoNone OhlcHoverinfo = "none" + OhlcHoverinfoSkip OhlcHoverinfo = "skip" +) diff --git a/generated/v2.31.1/graph_objects/parcats_gen.go b/generated/v2.31.1/graph_objects/parcats_gen.go new file mode 100644 index 0000000..be41595 --- /dev/null +++ b/generated/v2.31.1/graph_objects/parcats_gen.go @@ -0,0 +1,914 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeParcats TraceType = "parcats" + +func (trace *Parcats) GetType() TraceType { + return TraceTypeParcats +} + +// Parcats Parallel categories diagram for multidimensional categorical data. +type Parcats struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Arrangement + // default: perpendicular + // type: enumerated + // 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. + Arrangement ParcatsArrangement `json:"arrangement,omitempty"` + + // Bundlecolors + // arrayOK: false + // type: boolean + // Sort paths so that like colors are bundled together within each category. + Bundlecolors Bool `json:"bundlecolors,omitempty"` + + // Counts + // arrayOK: true + // type: number + // The number of observations represented by each state. Defaults to 1 so that each state represents one observation + Counts float64 `json:"counts,omitempty"` + + // Countssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `counts`. + Countssrc String `json:"countssrc,omitempty"` + + // Dimensions + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Dimensions interface{} `json:"dimensions,omitempty"` + + // Domain + // role: Object + Domain *ParcatsDomain `json:"domain,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo ParcatsHoverinfo `json:"hoverinfo,omitempty"` + + // Hoveron + // default: category + // type: enumerated + // 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. + Hoveron ParcatsHoveron `json:"hoveron,omitempty"` + + // Hovertemplate + // arrayOK: false + // 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* flagFinally, the template string has access to variables `count`, `probability`, `category`, `categorycount`, `colorcount` and `bandcolorcount`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Labelfont + // role: Object + Labelfont *ParcatsLabelfont `json:"labelfont,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *ParcatsLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *ParcatsLine `json:"line,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Sortpaths + // default: forward + // type: enumerated + // 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. + Sortpaths ParcatsSortpaths `json:"sortpaths,omitempty"` + + // Stream + // role: Object + Stream *ParcatsStream `json:"stream,omitempty"` + + // Tickfont + // role: Object + Tickfont *ParcatsTickfont `json:"tickfont,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible ParcatsVisible `json:"visible,omitempty"` +} + +// ParcatsDomain +type ParcatsDomain struct { + + // Column + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this column in the grid for this parcats trace . + Column int64 `json:"column,omitempty"` + + // Row + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this row in the grid for this parcats trace . + Row int64 `json:"row,omitempty"` + + // X + // arrayOK: false + // type: info_array + // Sets the horizontal domain of this parcats trace (in plot fraction). + X interface{} `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: info_array + // Sets the vertical domain of this parcats trace (in plot fraction). + Y interface{} `json:"y,omitempty"` +} + +// ParcatsLabelfont Sets the font for the `dimension` labels. +type ParcatsLabelfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ParcatsLegendgrouptitleFont Sets this legend group's title font. +type ParcatsLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ParcatsLegendgrouptitle +type ParcatsLegendgrouptitle struct { + + // Font + // role: Object + Font *ParcatsLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// ParcatsLineColorbarTickfont Sets the color bar's tick label font +type ParcatsLineColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ParcatsLineColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type ParcatsLineColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ParcatsLineColorbarTitle +type ParcatsLineColorbarTitle struct { + + // Font + // role: Object + Font *ParcatsLineColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side ParcatsLineColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// ParcatsLineColorbar +type ParcatsLineColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat ParcatsLineColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode ParcatsLineColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ParcatsLineColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent ParcatsLineColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix ParcatsLineColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix ParcatsLineColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode ParcatsLineColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *ParcatsLineColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ParcatsLineColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition ParcatsLineColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode ParcatsLineColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks ParcatsLineColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *ParcatsLineColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor ParcatsLineColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref ParcatsLineColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor ParcatsLineColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref ParcatsLineColorbarYref `json:"yref,omitempty"` +} + +// ParcatsLine +type ParcatsLine struct { + + // Autocolorscale + // arrayOK: false + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *ParcatsLineColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Hovertemplate + // arrayOK: false + // 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 `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Shape + // default: linear + // type: enumerated + // Sets the shape of the paths. If `linear`, paths are composed of straight lines. If `hspline`, paths are composed of horizontal curved splines + Shape ParcatsLineShape `json:"shape,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` +} + +// ParcatsStream +type ParcatsStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// ParcatsTickfont Sets the font for the `category` labels. +type ParcatsTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ParcatsArrangement 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. +type ParcatsArrangement string + +const ( + ParcatsArrangementPerpendicular ParcatsArrangement = "perpendicular" + ParcatsArrangementFreeform ParcatsArrangement = "freeform" + ParcatsArrangementFixed ParcatsArrangement = "fixed" +) + +// ParcatsHoveron 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. +type ParcatsHoveron string + +const ( + ParcatsHoveronCategory ParcatsHoveron = "category" + ParcatsHoveronColor ParcatsHoveron = "color" + ParcatsHoveronDimension ParcatsHoveron = "dimension" +) + +// ParcatsLineColorbarExponentformat 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. +type ParcatsLineColorbarExponentformat string + +const ( + ParcatsLineColorbarExponentformatNone ParcatsLineColorbarExponentformat = "none" + ParcatsLineColorbarExponentformatE1 ParcatsLineColorbarExponentformat = "e" + ParcatsLineColorbarExponentformatE2 ParcatsLineColorbarExponentformat = "E" + ParcatsLineColorbarExponentformatPower ParcatsLineColorbarExponentformat = "power" + ParcatsLineColorbarExponentformatSI ParcatsLineColorbarExponentformat = "SI" + ParcatsLineColorbarExponentformatB ParcatsLineColorbarExponentformat = "B" +) + +// ParcatsLineColorbarLenmode 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. +type ParcatsLineColorbarLenmode string + +const ( + ParcatsLineColorbarLenmodeFraction ParcatsLineColorbarLenmode = "fraction" + ParcatsLineColorbarLenmodePixels ParcatsLineColorbarLenmode = "pixels" +) + +// ParcatsLineColorbarOrientation Sets the orientation of the colorbar. +type ParcatsLineColorbarOrientation string + +const ( + ParcatsLineColorbarOrientationH ParcatsLineColorbarOrientation = "h" + ParcatsLineColorbarOrientationV ParcatsLineColorbarOrientation = "v" +) + +// ParcatsLineColorbarShowexponent 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. +type ParcatsLineColorbarShowexponent string + +const ( + ParcatsLineColorbarShowexponentAll ParcatsLineColorbarShowexponent = "all" + ParcatsLineColorbarShowexponentFirst ParcatsLineColorbarShowexponent = "first" + ParcatsLineColorbarShowexponentLast ParcatsLineColorbarShowexponent = "last" + ParcatsLineColorbarShowexponentNone ParcatsLineColorbarShowexponent = "none" +) + +// ParcatsLineColorbarShowtickprefix 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. +type ParcatsLineColorbarShowtickprefix string + +const ( + ParcatsLineColorbarShowtickprefixAll ParcatsLineColorbarShowtickprefix = "all" + ParcatsLineColorbarShowtickprefixFirst ParcatsLineColorbarShowtickprefix = "first" + ParcatsLineColorbarShowtickprefixLast ParcatsLineColorbarShowtickprefix = "last" + ParcatsLineColorbarShowtickprefixNone ParcatsLineColorbarShowtickprefix = "none" +) + +// ParcatsLineColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type ParcatsLineColorbarShowticksuffix string + +const ( + ParcatsLineColorbarShowticksuffixAll ParcatsLineColorbarShowticksuffix = "all" + ParcatsLineColorbarShowticksuffixFirst ParcatsLineColorbarShowticksuffix = "first" + ParcatsLineColorbarShowticksuffixLast ParcatsLineColorbarShowticksuffix = "last" + ParcatsLineColorbarShowticksuffixNone ParcatsLineColorbarShowticksuffix = "none" +) + +// ParcatsLineColorbarThicknessmode 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. +type ParcatsLineColorbarThicknessmode string + +const ( + ParcatsLineColorbarThicknessmodeFraction ParcatsLineColorbarThicknessmode = "fraction" + ParcatsLineColorbarThicknessmodePixels ParcatsLineColorbarThicknessmode = "pixels" +) + +// ParcatsLineColorbarTicklabeloverflow 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*. +type ParcatsLineColorbarTicklabeloverflow string + +const ( + ParcatsLineColorbarTicklabeloverflowAllow ParcatsLineColorbarTicklabeloverflow = "allow" + ParcatsLineColorbarTicklabeloverflowHidePastDiv ParcatsLineColorbarTicklabeloverflow = "hide past div" + ParcatsLineColorbarTicklabeloverflowHidePastDomain ParcatsLineColorbarTicklabeloverflow = "hide past domain" +) + +// ParcatsLineColorbarTicklabelposition 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*. +type ParcatsLineColorbarTicklabelposition string + +const ( + ParcatsLineColorbarTicklabelpositionOutside ParcatsLineColorbarTicklabelposition = "outside" + ParcatsLineColorbarTicklabelpositionInside ParcatsLineColorbarTicklabelposition = "inside" + ParcatsLineColorbarTicklabelpositionOutsideTop ParcatsLineColorbarTicklabelposition = "outside top" + ParcatsLineColorbarTicklabelpositionInsideTop ParcatsLineColorbarTicklabelposition = "inside top" + ParcatsLineColorbarTicklabelpositionOutsideLeft ParcatsLineColorbarTicklabelposition = "outside left" + ParcatsLineColorbarTicklabelpositionInsideLeft ParcatsLineColorbarTicklabelposition = "inside left" + ParcatsLineColorbarTicklabelpositionOutsideRight ParcatsLineColorbarTicklabelposition = "outside right" + ParcatsLineColorbarTicklabelpositionInsideRight ParcatsLineColorbarTicklabelposition = "inside right" + ParcatsLineColorbarTicklabelpositionOutsideBottom ParcatsLineColorbarTicklabelposition = "outside bottom" + ParcatsLineColorbarTicklabelpositionInsideBottom ParcatsLineColorbarTicklabelposition = "inside bottom" +) + +// ParcatsLineColorbarTickmode 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). +type ParcatsLineColorbarTickmode string + +const ( + ParcatsLineColorbarTickmodeAuto ParcatsLineColorbarTickmode = "auto" + ParcatsLineColorbarTickmodeLinear ParcatsLineColorbarTickmode = "linear" + ParcatsLineColorbarTickmodeArray ParcatsLineColorbarTickmode = "array" +) + +// ParcatsLineColorbarTicks 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. +type ParcatsLineColorbarTicks string + +const ( + ParcatsLineColorbarTicksOutside ParcatsLineColorbarTicks = "outside" + ParcatsLineColorbarTicksInside ParcatsLineColorbarTicks = "inside" + ParcatsLineColorbarTicksEmpty ParcatsLineColorbarTicks = "" +) + +// ParcatsLineColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type ParcatsLineColorbarTitleSide string + +const ( + ParcatsLineColorbarTitleSideRight ParcatsLineColorbarTitleSide = "right" + ParcatsLineColorbarTitleSideTop ParcatsLineColorbarTitleSide = "top" + ParcatsLineColorbarTitleSideBottom ParcatsLineColorbarTitleSide = "bottom" +) + +// ParcatsLineColorbarXanchor 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*. +type ParcatsLineColorbarXanchor string + +const ( + ParcatsLineColorbarXanchorLeft ParcatsLineColorbarXanchor = "left" + ParcatsLineColorbarXanchorCenter ParcatsLineColorbarXanchor = "center" + ParcatsLineColorbarXanchorRight ParcatsLineColorbarXanchor = "right" +) + +// ParcatsLineColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type ParcatsLineColorbarXref string + +const ( + ParcatsLineColorbarXrefContainer ParcatsLineColorbarXref = "container" + ParcatsLineColorbarXrefPaper ParcatsLineColorbarXref = "paper" +) + +// ParcatsLineColorbarYanchor 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*. +type ParcatsLineColorbarYanchor string + +const ( + ParcatsLineColorbarYanchorTop ParcatsLineColorbarYanchor = "top" + ParcatsLineColorbarYanchorMiddle ParcatsLineColorbarYanchor = "middle" + ParcatsLineColorbarYanchorBottom ParcatsLineColorbarYanchor = "bottom" +) + +// ParcatsLineColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type ParcatsLineColorbarYref string + +const ( + ParcatsLineColorbarYrefContainer ParcatsLineColorbarYref = "container" + ParcatsLineColorbarYrefPaper ParcatsLineColorbarYref = "paper" +) + +// ParcatsLineShape Sets the shape of the paths. If `linear`, paths are composed of straight lines. If `hspline`, paths are composed of horizontal curved splines +type ParcatsLineShape string + +const ( + ParcatsLineShapeLinear ParcatsLineShape = "linear" + ParcatsLineShapeHspline ParcatsLineShape = "hspline" +) + +// ParcatsSortpaths 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. +type ParcatsSortpaths string + +const ( + ParcatsSortpathsForward ParcatsSortpaths = "forward" + ParcatsSortpathsBackward ParcatsSortpaths = "backward" +) + +// ParcatsVisible 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). +type ParcatsVisible interface{} + +var ( + ParcatsVisibleTrue ParcatsVisible = true + ParcatsVisibleFalse ParcatsVisible = false + ParcatsVisibleLegendonly ParcatsVisible = "legendonly" +) + +// ParcatsHoverinfo 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. +type ParcatsHoverinfo string + +const ( + // Flags + ParcatsHoverinfoCount ParcatsHoverinfo = "count" + ParcatsHoverinfoProbability ParcatsHoverinfo = "probability" + + // Extra + ParcatsHoverinfoAll ParcatsHoverinfo = "all" + ParcatsHoverinfoNone ParcatsHoverinfo = "none" + ParcatsHoverinfoSkip ParcatsHoverinfo = "skip" +) diff --git a/generated/v2.31.1/graph_objects/parcoords_gen.go b/generated/v2.31.1/graph_objects/parcoords_gen.go new file mode 100644 index 0000000..c0fdaab --- /dev/null +++ b/generated/v2.31.1/graph_objects/parcoords_gen.go @@ -0,0 +1,916 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeParcoords TraceType = "parcoords" + +func (trace *Parcoords) GetType() TraceType { + return TraceTypeParcoords +} + +// Parcoords Parallel coordinates for multidimensional exploratory data analysis. The samples are specified in `dimensions`. The colors are set in `line.color`. +type Parcoords struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Dimensions + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Dimensions interface{} `json:"dimensions,omitempty"` + + // Domain + // role: Object + Domain *ParcoordsDomain `json:"domain,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Labelangle + // arrayOK: false + // 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*. + Labelangle float64 `json:"labelangle,omitempty"` + + // Labelfont + // role: Object + Labelfont *ParcoordsLabelfont `json:"labelfont,omitempty"` + + // Labelside + // default: top + // type: enumerated + // 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*. + Labelside ParcoordsLabelside `json:"labelside,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *ParcoordsLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *ParcoordsLine `json:"line,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Rangefont + // role: Object + Rangefont *ParcoordsRangefont `json:"rangefont,omitempty"` + + // Stream + // role: Object + Stream *ParcoordsStream `json:"stream,omitempty"` + + // Tickfont + // role: Object + Tickfont *ParcoordsTickfont `json:"tickfont,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Unselected + // role: Object + Unselected *ParcoordsUnselected `json:"unselected,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible ParcoordsVisible `json:"visible,omitempty"` +} + +// ParcoordsDomain +type ParcoordsDomain struct { + + // Column + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this column in the grid for this parcoords trace . + Column int64 `json:"column,omitempty"` + + // Row + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this row in the grid for this parcoords trace . + Row int64 `json:"row,omitempty"` + + // X + // arrayOK: false + // type: info_array + // Sets the horizontal domain of this parcoords trace (in plot fraction). + X interface{} `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: info_array + // Sets the vertical domain of this parcoords trace (in plot fraction). + Y interface{} `json:"y,omitempty"` +} + +// ParcoordsLabelfont Sets the font for the `dimension` labels. +type ParcoordsLabelfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ParcoordsLegendgrouptitleFont Sets this legend group's title font. +type ParcoordsLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ParcoordsLegendgrouptitle +type ParcoordsLegendgrouptitle struct { + + // Font + // role: Object + Font *ParcoordsLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// ParcoordsLineColorbarTickfont Sets the color bar's tick label font +type ParcoordsLineColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ParcoordsLineColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type ParcoordsLineColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ParcoordsLineColorbarTitle +type ParcoordsLineColorbarTitle struct { + + // Font + // role: Object + Font *ParcoordsLineColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side ParcoordsLineColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// ParcoordsLineColorbar +type ParcoordsLineColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat ParcoordsLineColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode ParcoordsLineColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ParcoordsLineColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent ParcoordsLineColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix ParcoordsLineColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix ParcoordsLineColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode ParcoordsLineColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *ParcoordsLineColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ParcoordsLineColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition ParcoordsLineColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode ParcoordsLineColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks ParcoordsLineColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *ParcoordsLineColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor ParcoordsLineColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref ParcoordsLineColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor ParcoordsLineColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref ParcoordsLineColorbarYref `json:"yref,omitempty"` +} + +// ParcoordsLine +type ParcoordsLine struct { + + // Autocolorscale + // arrayOK: false + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *ParcoordsLineColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: [[%!s(float64=0) #440154] [%!s(float64=0.06274509803921569) #48186a] [%!s(float64=0.12549019607843137) #472d7b] [%!s(float64=0.18823529411764706) #424086] [%!s(float64=0.25098039215686274) #3b528b] [%!s(float64=0.3137254901960784) #33638d] [%!s(float64=0.3764705882352941) #2c728e] [%!s(float64=0.4392156862745098) #26828e] [%!s(float64=0.5019607843137255) #21918c] [%!s(float64=0.5647058823529412) #1fa088] [%!s(float64=0.6274509803921569) #28ae80] [%!s(float64=0.6901960784313725) #3fbc73] [%!s(float64=0.7529411764705882) #5ec962] [%!s(float64=0.8156862745098039) #84d44b] [%!s(float64=0.8784313725490196) #addc30] [%!s(float64=0.9411764705882353) #d8e219] [%!s(float64=1) #fde725]] + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` +} + +// ParcoordsRangefont Sets the font for the `dimension` range values. +type ParcoordsRangefont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ParcoordsStream +type ParcoordsStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// ParcoordsTickfont Sets the font for the `dimension` tick values. +type ParcoordsTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ParcoordsUnselectedLine +type ParcoordsUnselectedLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the base color of unselected lines. in connection with `unselected.line.opacity`. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // 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`. + Opacity float64 `json:"opacity,omitempty"` +} + +// ParcoordsUnselected +type ParcoordsUnselected struct { + + // Line + // role: Object + Line *ParcoordsUnselectedLine `json:"line,omitempty"` +} + +// ParcoordsLabelside 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*. +type ParcoordsLabelside string + +const ( + ParcoordsLabelsideTop ParcoordsLabelside = "top" + ParcoordsLabelsideBottom ParcoordsLabelside = "bottom" +) + +// ParcoordsLineColorbarExponentformat 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. +type ParcoordsLineColorbarExponentformat string + +const ( + ParcoordsLineColorbarExponentformatNone ParcoordsLineColorbarExponentformat = "none" + ParcoordsLineColorbarExponentformatE1 ParcoordsLineColorbarExponentformat = "e" + ParcoordsLineColorbarExponentformatE2 ParcoordsLineColorbarExponentformat = "E" + ParcoordsLineColorbarExponentformatPower ParcoordsLineColorbarExponentformat = "power" + ParcoordsLineColorbarExponentformatSI ParcoordsLineColorbarExponentformat = "SI" + ParcoordsLineColorbarExponentformatB ParcoordsLineColorbarExponentformat = "B" +) + +// ParcoordsLineColorbarLenmode 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. +type ParcoordsLineColorbarLenmode string + +const ( + ParcoordsLineColorbarLenmodeFraction ParcoordsLineColorbarLenmode = "fraction" + ParcoordsLineColorbarLenmodePixels ParcoordsLineColorbarLenmode = "pixels" +) + +// ParcoordsLineColorbarOrientation Sets the orientation of the colorbar. +type ParcoordsLineColorbarOrientation string + +const ( + ParcoordsLineColorbarOrientationH ParcoordsLineColorbarOrientation = "h" + ParcoordsLineColorbarOrientationV ParcoordsLineColorbarOrientation = "v" +) + +// ParcoordsLineColorbarShowexponent 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. +type ParcoordsLineColorbarShowexponent string + +const ( + ParcoordsLineColorbarShowexponentAll ParcoordsLineColorbarShowexponent = "all" + ParcoordsLineColorbarShowexponentFirst ParcoordsLineColorbarShowexponent = "first" + ParcoordsLineColorbarShowexponentLast ParcoordsLineColorbarShowexponent = "last" + ParcoordsLineColorbarShowexponentNone ParcoordsLineColorbarShowexponent = "none" +) + +// ParcoordsLineColorbarShowtickprefix 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. +type ParcoordsLineColorbarShowtickprefix string + +const ( + ParcoordsLineColorbarShowtickprefixAll ParcoordsLineColorbarShowtickprefix = "all" + ParcoordsLineColorbarShowtickprefixFirst ParcoordsLineColorbarShowtickprefix = "first" + ParcoordsLineColorbarShowtickprefixLast ParcoordsLineColorbarShowtickprefix = "last" + ParcoordsLineColorbarShowtickprefixNone ParcoordsLineColorbarShowtickprefix = "none" +) + +// ParcoordsLineColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type ParcoordsLineColorbarShowticksuffix string + +const ( + ParcoordsLineColorbarShowticksuffixAll ParcoordsLineColorbarShowticksuffix = "all" + ParcoordsLineColorbarShowticksuffixFirst ParcoordsLineColorbarShowticksuffix = "first" + ParcoordsLineColorbarShowticksuffixLast ParcoordsLineColorbarShowticksuffix = "last" + ParcoordsLineColorbarShowticksuffixNone ParcoordsLineColorbarShowticksuffix = "none" +) + +// ParcoordsLineColorbarThicknessmode 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. +type ParcoordsLineColorbarThicknessmode string + +const ( + ParcoordsLineColorbarThicknessmodeFraction ParcoordsLineColorbarThicknessmode = "fraction" + ParcoordsLineColorbarThicknessmodePixels ParcoordsLineColorbarThicknessmode = "pixels" +) + +// ParcoordsLineColorbarTicklabeloverflow 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*. +type ParcoordsLineColorbarTicklabeloverflow string + +const ( + ParcoordsLineColorbarTicklabeloverflowAllow ParcoordsLineColorbarTicklabeloverflow = "allow" + ParcoordsLineColorbarTicklabeloverflowHidePastDiv ParcoordsLineColorbarTicklabeloverflow = "hide past div" + ParcoordsLineColorbarTicklabeloverflowHidePastDomain ParcoordsLineColorbarTicklabeloverflow = "hide past domain" +) + +// ParcoordsLineColorbarTicklabelposition 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*. +type ParcoordsLineColorbarTicklabelposition string + +const ( + ParcoordsLineColorbarTicklabelpositionOutside ParcoordsLineColorbarTicklabelposition = "outside" + ParcoordsLineColorbarTicklabelpositionInside ParcoordsLineColorbarTicklabelposition = "inside" + ParcoordsLineColorbarTicklabelpositionOutsideTop ParcoordsLineColorbarTicklabelposition = "outside top" + ParcoordsLineColorbarTicklabelpositionInsideTop ParcoordsLineColorbarTicklabelposition = "inside top" + ParcoordsLineColorbarTicklabelpositionOutsideLeft ParcoordsLineColorbarTicklabelposition = "outside left" + ParcoordsLineColorbarTicklabelpositionInsideLeft ParcoordsLineColorbarTicklabelposition = "inside left" + ParcoordsLineColorbarTicklabelpositionOutsideRight ParcoordsLineColorbarTicklabelposition = "outside right" + ParcoordsLineColorbarTicklabelpositionInsideRight ParcoordsLineColorbarTicklabelposition = "inside right" + ParcoordsLineColorbarTicklabelpositionOutsideBottom ParcoordsLineColorbarTicklabelposition = "outside bottom" + ParcoordsLineColorbarTicklabelpositionInsideBottom ParcoordsLineColorbarTicklabelposition = "inside bottom" +) + +// ParcoordsLineColorbarTickmode 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). +type ParcoordsLineColorbarTickmode string + +const ( + ParcoordsLineColorbarTickmodeAuto ParcoordsLineColorbarTickmode = "auto" + ParcoordsLineColorbarTickmodeLinear ParcoordsLineColorbarTickmode = "linear" + ParcoordsLineColorbarTickmodeArray ParcoordsLineColorbarTickmode = "array" +) + +// ParcoordsLineColorbarTicks 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. +type ParcoordsLineColorbarTicks string + +const ( + ParcoordsLineColorbarTicksOutside ParcoordsLineColorbarTicks = "outside" + ParcoordsLineColorbarTicksInside ParcoordsLineColorbarTicks = "inside" + ParcoordsLineColorbarTicksEmpty ParcoordsLineColorbarTicks = "" +) + +// ParcoordsLineColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type ParcoordsLineColorbarTitleSide string + +const ( + ParcoordsLineColorbarTitleSideRight ParcoordsLineColorbarTitleSide = "right" + ParcoordsLineColorbarTitleSideTop ParcoordsLineColorbarTitleSide = "top" + ParcoordsLineColorbarTitleSideBottom ParcoordsLineColorbarTitleSide = "bottom" +) + +// ParcoordsLineColorbarXanchor 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*. +type ParcoordsLineColorbarXanchor string + +const ( + ParcoordsLineColorbarXanchorLeft ParcoordsLineColorbarXanchor = "left" + ParcoordsLineColorbarXanchorCenter ParcoordsLineColorbarXanchor = "center" + ParcoordsLineColorbarXanchorRight ParcoordsLineColorbarXanchor = "right" +) + +// ParcoordsLineColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type ParcoordsLineColorbarXref string + +const ( + ParcoordsLineColorbarXrefContainer ParcoordsLineColorbarXref = "container" + ParcoordsLineColorbarXrefPaper ParcoordsLineColorbarXref = "paper" +) + +// ParcoordsLineColorbarYanchor 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*. +type ParcoordsLineColorbarYanchor string + +const ( + ParcoordsLineColorbarYanchorTop ParcoordsLineColorbarYanchor = "top" + ParcoordsLineColorbarYanchorMiddle ParcoordsLineColorbarYanchor = "middle" + ParcoordsLineColorbarYanchorBottom ParcoordsLineColorbarYanchor = "bottom" +) + +// ParcoordsLineColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type ParcoordsLineColorbarYref string + +const ( + ParcoordsLineColorbarYrefContainer ParcoordsLineColorbarYref = "container" + ParcoordsLineColorbarYrefPaper ParcoordsLineColorbarYref = "paper" +) + +// ParcoordsVisible 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). +type ParcoordsVisible interface{} + +var ( + ParcoordsVisibleTrue ParcoordsVisible = true + ParcoordsVisibleFalse ParcoordsVisible = false + ParcoordsVisibleLegendonly ParcoordsVisible = "legendonly" +) diff --git a/generated/v2.31.1/graph_objects/pie_gen.go b/generated/v2.31.1/graph_objects/pie_gen.go new file mode 100644 index 0000000..8cb8922 --- /dev/null +++ b/generated/v2.31.1/graph_objects/pie_gen.go @@ -0,0 +1,919 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypePie TraceType = "pie" + +func (trace *Pie) GetType() TraceType { + return TraceTypePie +} + +// Pie 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` +type Pie struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Automargin + // arrayOK: false + // type: boolean + // Determines whether outside text labels can push the margins. + Automargin Bool `json:"automargin,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Direction + // default: counterclockwise + // type: enumerated + // Specifies the direction at which succeeding sectors follow one another. + Direction PieDirection `json:"direction,omitempty"` + + // Dlabel + // arrayOK: false + // type: number + // Sets the label step. See `label0` for more info. + Dlabel float64 `json:"dlabel,omitempty"` + + // Domain + // role: Object + Domain *PieDomain `json:"domain,omitempty"` + + // Hole + // arrayOK: false + // type: number + // Sets the fraction of the radius to cut out of the pie. Use this to make a donut chart. + Hole float64 `json:"hole,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo PieHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *PieHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Finally, the template string has access to variables `label`, `color`, `value`, `percent` and `text`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Insidetextfont + // role: Object + Insidetextfont *PieInsidetextfont `json:"insidetextfont,omitempty"` + + // Insidetextorientation + // default: auto + // type: enumerated + // 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. + Insidetextorientation PieInsidetextorientation `json:"insidetextorientation,omitempty"` + + // Label0 + // arrayOK: false + // type: number + // Alternate to `labels`. Builds a numeric set of labels. Use with `dlabel` where `label0` is the starting label and `dlabel` the step. + Label0 float64 `json:"label0,omitempty"` + + // Labels + // arrayOK: false + // 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. + Labels interface{} `json:"labels,omitempty"` + + // Labelssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `labels`. + Labelssrc String `json:"labelssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *PieLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Marker + // role: Object + Marker *PieMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Outsidetextfont + // role: Object + Outsidetextfont *PieOutsidetextfont `json:"outsidetextfont,omitempty"` + + // Pull + // arrayOK: true + // type: number + // 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. + Pull float64 `json:"pull,omitempty"` + + // Pullsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `pull`. + Pullsrc String `json:"pullsrc,omitempty"` + + // Rotation + // arrayOK: false + // type: angle + // Instead of the first slice starting at 12 o'clock, rotate to some other angle. + Rotation float64 `json:"rotation,omitempty"` + + // Scalegroup + // arrayOK: false + // 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. + Scalegroup String `json:"scalegroup,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Sort + // arrayOK: false + // type: boolean + // Determines whether or not the sectors are reordered from largest to smallest. + Sort Bool `json:"sort,omitempty"` + + // Stream + // role: Object + Stream *PieStream `json:"stream,omitempty"` + + // Text + // arrayOK: false + // 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. + Text interface{} `json:"text,omitempty"` + + // Textfont + // role: Object + Textfont *PieTextfont `json:"textfont,omitempty"` + + // Textinfo + // default: %!s() + // type: flaglist + // Determines which trace information appear on the graph. + Textinfo PieTextinfo `json:"textinfo,omitempty"` + + // Textposition + // default: auto + // type: enumerated + // Specifies the location of the `textinfo`. + Textposition PieTextposition `json:"textposition,omitempty"` + + // Textpositionsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `textposition`. + Textpositionsrc String `json:"textpositionsrc,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: true + // 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`, `color`, `value`, `percent` and `text`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Texttemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `texttemplate`. + Texttemplatesrc String `json:"texttemplatesrc,omitempty"` + + // Title + // role: Object + Title *PieTitle `json:"title,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Values + // arrayOK: false + // type: data_array + // Sets the values of the sectors. If omitted, we count occurrences of each label. + Values interface{} `json:"values,omitempty"` + + // Valuessrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `values`. + Valuessrc String `json:"valuessrc,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible PieVisible `json:"visible,omitempty"` +} + +// PieDomain +type PieDomain struct { + + // Column + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this column in the grid for this pie trace . + Column int64 `json:"column,omitempty"` + + // Row + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this row in the grid for this pie trace . + Row int64 `json:"row,omitempty"` + + // X + // arrayOK: false + // type: info_array + // Sets the horizontal domain of this pie trace (in plot fraction). + X interface{} `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: info_array + // Sets the vertical domain of this pie trace (in plot fraction). + Y interface{} `json:"y,omitempty"` +} + +// PieHoverlabelFont Sets the font used in hover labels. +type PieHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// PieHoverlabel +type PieHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align PieHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *PieHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// PieInsidetextfont Sets the font used for `textinfo` lying inside the sector. +type PieInsidetextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// PieLegendgrouptitleFont Sets this legend group's title font. +type PieLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// PieLegendgrouptitle +type PieLegendgrouptitle struct { + + // Font + // role: Object + Font *PieLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// PieMarkerLine +type PieMarkerLine struct { + + // Color + // arrayOK: true + // type: color + // Sets the color of the line enclosing each sector. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the line enclosing each sector. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// PieMarkerPattern Sets the pattern within the marker. +type PieMarkerPattern struct { + + // Bgcolor + // arrayOK: true + // type: color + // 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. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Fgcolor + // arrayOK: true + // type: color + // 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`. + Fgcolor Color `json:"fgcolor,omitempty"` + + // Fgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `fgcolor`. + Fgcolorsrc String `json:"fgcolorsrc,omitempty"` + + // Fgopacity + // arrayOK: false + // type: number + // Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1. + Fgopacity float64 `json:"fgopacity,omitempty"` + + // Fillmode + // default: replace + // type: enumerated + // Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. + Fillmode PieMarkerPatternFillmode `json:"fillmode,omitempty"` + + // Shape + // default: + // type: enumerated + // Sets the shape of the pattern fill. By default, no pattern is used for filling the area. + Shape PieMarkerPatternShape `json:"shape,omitempty"` + + // Shapesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `shape`. + Shapesrc String `json:"shapesrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Solidity + // arrayOK: true + // type: number + // 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. + Solidity float64 `json:"solidity,omitempty"` + + // Soliditysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `solidity`. + Soliditysrc String `json:"soliditysrc,omitempty"` +} + +// PieMarker +type PieMarker struct { + + // Colors + // arrayOK: false + // type: data_array + // Sets the color of each sector. If not specified, the default trace color set is used to pick the sector colors. + Colors interface{} `json:"colors,omitempty"` + + // Colorssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `colors`. + Colorssrc String `json:"colorssrc,omitempty"` + + // Line + // role: Object + Line *PieMarkerLine `json:"line,omitempty"` + + // Pattern + // role: Object + Pattern *PieMarkerPattern `json:"pattern,omitempty"` +} + +// PieOutsidetextfont Sets the font used for `textinfo` lying outside the sector. +type PieOutsidetextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// PieStream +type PieStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// PieTextfont Sets the font used for `textinfo`. +type PieTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// PieTitleFont Sets the font used for `title`. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type PieTitleFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// PieTitle +type PieTitle struct { + + // Font + // role: Object + Font *PieTitleFont `json:"font,omitempty"` + + // Position + // default: %!s() + // type: enumerated + // Specifies the location of the `title`. Note that the title's position used to be set by the now deprecated `titleposition` attribute. + Position PieTitlePosition `json:"position,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the chart. If it is empty, no title is displayed. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// PieDirection Specifies the direction at which succeeding sectors follow one another. +type PieDirection string + +const ( + PieDirectionClockwise PieDirection = "clockwise" + PieDirectionCounterclockwise PieDirection = "counterclockwise" +) + +// PieHoverlabelAlign 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 +type PieHoverlabelAlign string + +const ( + PieHoverlabelAlignLeft PieHoverlabelAlign = "left" + PieHoverlabelAlignRight PieHoverlabelAlign = "right" + PieHoverlabelAlignAuto PieHoverlabelAlign = "auto" +) + +// PieInsidetextorientation 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. +type PieInsidetextorientation string + +const ( + PieInsidetextorientationHorizontal PieInsidetextorientation = "horizontal" + PieInsidetextorientationRadial PieInsidetextorientation = "radial" + PieInsidetextorientationTangential PieInsidetextorientation = "tangential" + PieInsidetextorientationAuto PieInsidetextorientation = "auto" +) + +// PieMarkerPatternFillmode Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. +type PieMarkerPatternFillmode string + +const ( + PieMarkerPatternFillmodeReplace PieMarkerPatternFillmode = "replace" + PieMarkerPatternFillmodeOverlay PieMarkerPatternFillmode = "overlay" +) + +// PieMarkerPatternShape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. +type PieMarkerPatternShape string + +const ( + PieMarkerPatternShapeEmpty PieMarkerPatternShape = "" + PieMarkerPatternShapeSlash PieMarkerPatternShape = "/" + PieMarkerPatternShapeDoublebackslash PieMarkerPatternShape = "\\" + PieMarkerPatternShapeX PieMarkerPatternShape = "x" + PieMarkerPatternShapeHyphenHyphen PieMarkerPatternShape = "-" + PieMarkerPatternShapeOr PieMarkerPatternShape = "|" + PieMarkerPatternShapePlus PieMarkerPatternShape = "+" + PieMarkerPatternShapeDot PieMarkerPatternShape = "." +) + +// PieTextposition Specifies the location of the `textinfo`. +type PieTextposition string + +const ( + PieTextpositionInside PieTextposition = "inside" + PieTextpositionOutside PieTextposition = "outside" + PieTextpositionAuto PieTextposition = "auto" + PieTextpositionNone PieTextposition = "none" +) + +// PieTitlePosition Specifies the location of the `title`. Note that the title's position used to be set by the now deprecated `titleposition` attribute. +type PieTitlePosition string + +const ( + PieTitlePositionTopLeft PieTitlePosition = "top left" + PieTitlePositionTopCenter PieTitlePosition = "top center" + PieTitlePositionTopRight PieTitlePosition = "top right" + PieTitlePositionMiddleCenter PieTitlePosition = "middle center" + PieTitlePositionBottomLeft PieTitlePosition = "bottom left" + PieTitlePositionBottomCenter PieTitlePosition = "bottom center" + PieTitlePositionBottomRight PieTitlePosition = "bottom right" +) + +// PieVisible 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). +type PieVisible interface{} + +var ( + PieVisibleTrue PieVisible = true + PieVisibleFalse PieVisible = false + PieVisibleLegendonly PieVisible = "legendonly" +) + +// PieHoverinfo 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. +type PieHoverinfo string + +const ( + // Flags + PieHoverinfoLabel PieHoverinfo = "label" + PieHoverinfoText PieHoverinfo = "text" + PieHoverinfoValue PieHoverinfo = "value" + PieHoverinfoPercent PieHoverinfo = "percent" + PieHoverinfoName PieHoverinfo = "name" + + // Extra + PieHoverinfoAll PieHoverinfo = "all" + PieHoverinfoNone PieHoverinfo = "none" + PieHoverinfoSkip PieHoverinfo = "skip" +) + +// PieTextinfo Determines which trace information appear on the graph. +type PieTextinfo string + +const ( + // Flags + PieTextinfoLabel PieTextinfo = "label" + PieTextinfoText PieTextinfo = "text" + PieTextinfoValue PieTextinfo = "value" + PieTextinfoPercent PieTextinfo = "percent" + + // Extra + PieTextinfoNone PieTextinfo = "none" +) diff --git a/generated/v2.31.1/graph_objects/plotly_gen.go b/generated/v2.31.1/graph_objects/plotly_gen.go new file mode 100644 index 0000000..4158d9f --- /dev/null +++ b/generated/v2.31.1/graph_objects/plotly_gen.go @@ -0,0 +1,98 @@ +package grob + +import ( + "encoding/json" +) + +// TraceType is the type for the TraceType field on every trace +type TraceType string + +// Trace Every trace implements this interface +// It is useful for autocompletion, it is a better idea to use +// type assertions/switches to identify trace types +type Trace interface { + GetType() TraceType +} + +// Traces is a slice of Traces +type Traces []Trace + +// Fig is the base type for figures. +type Fig struct { + // 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. + // https://plotly.com/javascript/reference + Data Traces `json:"data,omitempty"` + + // 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. + // https://plotly.com/javascript/reference/layout + Layout *Layout `json:"layout,omitempty"` + + // 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. + // https://plotly.com/javascript/configuration-options + Config *Config `json:"config,omitempty"` + + // Animation is not yet implemented, feel free to insert custom a struct + Animation interface{} `json:"animation,omitempty"` +} + +// AddTraces Is a shorthand to add figures to a given figure. It handles the case where the Traces value is nil. +func (fig *Fig) AddTraces(traces ...Trace) { + if fig.Data == nil { + fig.Data = make(Traces, 0) + } + fig.Data = append(fig.Data, traces...) +} + +// UnmarshalJSON is a custom unmarshal function to properly handle special cases. +func (fig *Fig) UnmarshalJSON(data []byte) error { + var err error + tmp := unmarshalFig{} + err = json.Unmarshal(data, &tmp) + if err != nil { + return err + } + + fig.Layout = tmp.Layout + fig.Config = tmp.Config + + for i := range tmp.Data { + trace, err := UnmarshalTrace(tmp.Data[i]) + if err != nil { + return err + } + fig.AddTraces(trace) + } + return nil +} + +type unmarshalFig struct { + Data []json.RawMessage `json:"data,omitempty"` + Layout *Layout `json:"layout,omitempty"` + Config *Config `json:"config,omitempty"` +} + +// Bool represents a *bool value. Needed to tell the differenc between false and nil. +type Bool *bool + +var ( + trueValue bool = true + falseValue bool = false + + // True is a *bool with true value + True Bool = &trueValue + // False is a *bool with false value + False Bool = &falseValue +) + +// String is a string value, can be a []string if arrayOK is true. +// numeric values are converted to string by plotly, so [] can work +type String interface{} + +// Color A string describing color. Supported formats: - hex (e.g. '#d3d3d3') - rgb (e.g. 'rgb(255, 0, 0)') - rgba (e.g. 'rgb(255, 0, 0, 0.5)') - hsl (e.g. 'hsl(0, 100%, 50%)') - hsv (e.g. 'hsv(0, 100%, 100%)') - named colors (full list: http://www.w3.org/TR/css3-color/#svg-color)", +type Color interface{} + +// ColorList A list of colors. Must be an {array} containing valid colors. +type ColorList []Color + +// ColorScale A Plotly colorscale either picked by a name: (any of Greys, YlGnBu, Greens, YlOrRd, Bluered, RdBu, Reds, Blues, Picnic, Rainbow, Portland, Jet, Hot, Blackbody, Earth, Electric, Viridis, Cividis ) customized as an {array} of 2-element {arrays} where the first element is the normalized color level value (starting at *0* and ending at *1*), and the second item is a valid color string. +type ColorScale interface{} diff --git a/generated/v2.31.1/graph_objects/pointcloud_gen.go b/generated/v2.31.1/graph_objects/pointcloud_gen.go new file mode 100644 index 0000000..99069de --- /dev/null +++ b/generated/v2.31.1/graph_objects/pointcloud_gen.go @@ -0,0 +1,474 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypePointcloud TraceType = "pointcloud" + +func (trace *Pointcloud) GetType() TraceType { + return TraceTypePointcloud +} + +// Pointcloud *pointcloud* trace is deprecated! Please consider switching to the *scattergl* trace type. The data visualized as a point cloud set in `x` and `y` using the WebGl plotting engine. +type Pointcloud struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo PointcloudHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *PointcloudHoverlabel `json:"hoverlabel,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Indices + // arrayOK: false + // type: data_array + // A sequential value, 0..n, supply it to avoid creating this array inside plotting. If specified, it must be a typed `Int32Array` array. Its length must be equal to or greater than the number of points. For the best performance and memory use, create one large `indices` typed array that is guaranteed to be at least as long as the largest number of points during use, and reuse it on each `Plotly.restyle()` call. + Indices interface{} `json:"indices,omitempty"` + + // Indicessrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `indices`. + Indicessrc String `json:"indicessrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *PointcloudLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Marker + // role: Object + Marker *PointcloudMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Stream + // role: Object + Stream *PointcloudStream `json:"stream,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible PointcloudVisible `json:"visible,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the x coordinates. + X interface{} `json:"x,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Xbounds + // arrayOK: false + // type: data_array + // Specify `xbounds` in the shape of `[xMin, xMax] to avoid looping through the `xy` typed array. Use it in conjunction with `xy` and `ybounds` for the performance benefits. + Xbounds interface{} `json:"xbounds,omitempty"` + + // Xboundssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `xbounds`. + Xboundssrc String `json:"xboundssrc,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Xy + // arrayOK: false + // type: data_array + // Faster alternative to specifying `x` and `y` separately. If supplied, it must be a typed `Float32Array` array that represents points such that `xy[i * 2] = x[i]` and `xy[i * 2 + 1] = y[i]` + Xy interface{} `json:"xy,omitempty"` + + // Xysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `xy`. + Xysrc String `json:"xysrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the y coordinates. + Y interface{} `json:"y,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` + + // Ybounds + // arrayOK: false + // type: data_array + // Specify `ybounds` in the shape of `[yMin, yMax] to avoid looping through the `xy` typed array. Use it in conjunction with `xy` and `xbounds` for the performance benefits. + Ybounds interface{} `json:"ybounds,omitempty"` + + // Yboundssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ybounds`. + Yboundssrc String `json:"yboundssrc,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` +} + +// PointcloudHoverlabelFont Sets the font used in hover labels. +type PointcloudHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// PointcloudHoverlabel +type PointcloudHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align PointcloudHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *PointcloudHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// PointcloudLegendgrouptitleFont Sets this legend group's title font. +type PointcloudLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// PointcloudLegendgrouptitle +type PointcloudLegendgrouptitle struct { + + // Font + // role: Object + Font *PointcloudLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// PointcloudMarkerBorder +type PointcloudMarkerBorder struct { + + // Arearatio + // arrayOK: false + // type: number + // Specifies what fraction of the marker area is covered with the border. + Arearatio float64 `json:"arearatio,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the stroke color. It accepts a specific color. If the color is not fully opaque and there are hundreds of thousands of points, it may cause slower zooming and panning. + Color Color `json:"color,omitempty"` +} + +// PointcloudMarker +type PointcloudMarker struct { + + // Blend + // arrayOK: false + // type: boolean + // Determines if colors are blended together for a translucency effect in case `opacity` is specified as a value less then `1`. Setting `blend` to `true` reduces zoom/pan speed if used with large numbers of points. + Blend Bool `json:"blend,omitempty"` + + // Border + // role: Object + Border *PointcloudMarkerBorder `json:"border,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the marker fill color. It accepts a specific color. If the color is not fully opaque and there are hundreds of thousands of points, it may cause slower zooming and panning. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity. The default value is `1` (fully opaque). If the markers are not fully opaque and there are hundreds of thousands of points, it may cause slower zooming and panning. Opacity fades the color even if `blend` is left on `false` even if there is no translucency effect in that case. + Opacity float64 `json:"opacity,omitempty"` + + // Sizemax + // arrayOK: false + // type: number + // Sets the maximum size (in px) of the rendered marker points. Effective when the `pointcloud` shows only few points. + Sizemax float64 `json:"sizemax,omitempty"` + + // Sizemin + // arrayOK: false + // type: number + // Sets the minimum size (in px) of the rendered marker points, effective when the `pointcloud` shows a million or more points. + Sizemin float64 `json:"sizemin,omitempty"` +} + +// PointcloudStream +type PointcloudStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// PointcloudHoverlabelAlign 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 +type PointcloudHoverlabelAlign string + +const ( + PointcloudHoverlabelAlignLeft PointcloudHoverlabelAlign = "left" + PointcloudHoverlabelAlignRight PointcloudHoverlabelAlign = "right" + PointcloudHoverlabelAlignAuto PointcloudHoverlabelAlign = "auto" +) + +// PointcloudVisible 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). +type PointcloudVisible interface{} + +var ( + PointcloudVisibleTrue PointcloudVisible = true + PointcloudVisibleFalse PointcloudVisible = false + PointcloudVisibleLegendonly PointcloudVisible = "legendonly" +) + +// PointcloudHoverinfo 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. +type PointcloudHoverinfo string + +const ( + // Flags + PointcloudHoverinfoX PointcloudHoverinfo = "x" + PointcloudHoverinfoY PointcloudHoverinfo = "y" + PointcloudHoverinfoZ PointcloudHoverinfo = "z" + PointcloudHoverinfoText PointcloudHoverinfo = "text" + PointcloudHoverinfoName PointcloudHoverinfo = "name" + + // Extra + PointcloudHoverinfoAll PointcloudHoverinfo = "all" + PointcloudHoverinfoNone PointcloudHoverinfo = "none" + PointcloudHoverinfoSkip PointcloudHoverinfo = "skip" +) diff --git a/generated/v2.31.1/graph_objects/sankey_gen.go b/generated/v2.31.1/graph_objects/sankey_gen.go new file mode 100644 index 0000000..a35494c --- /dev/null +++ b/generated/v2.31.1/graph_objects/sankey_gen.go @@ -0,0 +1,939 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeSankey TraceType = "sankey" + +func (trace *Sankey) GetType() TraceType { + return TraceTypeSankey +} + +// Sankey 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. +type Sankey struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Arrangement + // default: snap + // type: enumerated + // 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. + Arrangement SankeyArrangement `json:"arrangement,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Domain + // role: Object + Domain *SankeyDomain `json:"domain,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo SankeyHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *SankeyHoverlabel `json:"hoverlabel,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *SankeyLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Link + // role: Object + Link *SankeyLink `json:"link,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Node + // role: Object + Node *SankeyNode `json:"node,omitempty"` + + // Orientation + // default: h + // type: enumerated + // Sets the orientation of the Sankey diagram. + Orientation SankeyOrientation `json:"orientation,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Stream + // role: Object + Stream *SankeyStream `json:"stream,omitempty"` + + // Textfont + // role: Object + Textfont *SankeyTextfont `json:"textfont,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Valueformat + // arrayOK: false + // 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. + Valueformat String `json:"valueformat,omitempty"` + + // Valuesuffix + // arrayOK: false + // type: string + // Adds a unit to follow the value in the hover tooltip. Add a space if a separation is necessary from the value. + Valuesuffix String `json:"valuesuffix,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible SankeyVisible `json:"visible,omitempty"` +} + +// SankeyDomain +type SankeyDomain struct { + + // Column + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this column in the grid for this sankey trace . + Column int64 `json:"column,omitempty"` + + // Row + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this row in the grid for this sankey trace . + Row int64 `json:"row,omitempty"` + + // X + // arrayOK: false + // type: info_array + // Sets the horizontal domain of this sankey trace (in plot fraction). + X interface{} `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: info_array + // Sets the vertical domain of this sankey trace (in plot fraction). + Y interface{} `json:"y,omitempty"` +} + +// SankeyHoverlabelFont Sets the font used in hover labels. +type SankeyHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// SankeyHoverlabel +type SankeyHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align SankeyHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *SankeyHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// SankeyLegendgrouptitleFont Sets this legend group's title font. +type SankeyLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// SankeyLegendgrouptitle +type SankeyLegendgrouptitle struct { + + // Font + // role: Object + Font *SankeyLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// SankeyLinkHoverlabelFont Sets the font used in hover labels. +type SankeyLinkHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// SankeyLinkHoverlabel +type SankeyLinkHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align SankeyLinkHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *SankeyLinkHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// SankeyLinkLine +type SankeyLinkLine struct { + + // Color + // arrayOK: true + // type: color + // Sets the color of the `line` around each `link`. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the `line` around each `link`. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// SankeyLink The links of the Sankey plot. +type SankeyLink struct { + + // Arrowlen + // arrayOK: false + // type: number + // Sets the length (in px) of the links arrow, if 0 no arrow will be drawn. + Arrowlen float64 `json:"arrowlen,omitempty"` + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Colorscales + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Colorscales interface{} `json:"colorscales,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Customdata + // arrayOK: false + // type: data_array + // Assigns extra data to each link. + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Hovercolor + // arrayOK: true + // type: color + // 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. + Hovercolor Color `json:"hovercolor,omitempty"` + + // Hovercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovercolor`. + Hovercolorsrc String `json:"hovercolorsrc,omitempty"` + + // Hoverinfo + // default: all + // type: enumerated + // 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. + Hoverinfo SankeyLinkHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *SankeyLinkHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Variables `source` and `target` are node objects.Finally, the template string has access to variables `value` and `label`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Label + // arrayOK: false + // type: data_array + // The shown name of the link. + Label interface{} `json:"label,omitempty"` + + // Labelsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `label`. + Labelsrc String `json:"labelsrc,omitempty"` + + // Line + // role: Object + Line *SankeyLinkLine `json:"line,omitempty"` + + // Source + // arrayOK: false + // type: data_array + // An integer number `[0..nodes.length - 1]` that represents the source node. + Source interface{} `json:"source,omitempty"` + + // Sourcesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `source`. + Sourcesrc String `json:"sourcesrc,omitempty"` + + // Target + // arrayOK: false + // type: data_array + // An integer number `[0..nodes.length - 1]` that represents the target node. + Target interface{} `json:"target,omitempty"` + + // Targetsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `target`. + Targetsrc String `json:"targetsrc,omitempty"` + + // Value + // arrayOK: false + // type: data_array + // A numeric value representing the flow volume value. + Value interface{} `json:"value,omitempty"` + + // Valuesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `value`. + Valuesrc String `json:"valuesrc,omitempty"` +} + +// SankeyNodeHoverlabelFont Sets the font used in hover labels. +type SankeyNodeHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// SankeyNodeHoverlabel +type SankeyNodeHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align SankeyNodeHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *SankeyNodeHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// SankeyNodeLine +type SankeyNodeLine struct { + + // Color + // arrayOK: true + // type: color + // Sets the color of the `line` around each `node`. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the `line` around each `node`. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// SankeyNode The nodes of the Sankey plot. +type SankeyNode struct { + + // Align + // default: justify + // type: enumerated + // Sets the alignment method used to position the nodes along the horizontal axis. + Align SankeyNodeAlign `json:"align,omitempty"` + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Customdata + // arrayOK: false + // type: data_array + // Assigns extra data to each node. + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Groups + // arrayOK: false + // type: info_array + // Groups of nodes. Each group is defined by an array with the indices of the nodes it contains. Multiple groups can be specified. + Groups interface{} `json:"groups,omitempty"` + + // Hoverinfo + // default: all + // type: enumerated + // 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. + Hoverinfo SankeyNodeHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *SankeyNodeHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Variables `sourceLinks` and `targetLinks` are arrays of link objects.Finally, the template string has access to variables `value` and `label`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Label + // arrayOK: false + // type: data_array + // The shown name of the node. + Label interface{} `json:"label,omitempty"` + + // Labelsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `label`. + Labelsrc String `json:"labelsrc,omitempty"` + + // Line + // role: Object + Line *SankeyNodeLine `json:"line,omitempty"` + + // Pad + // arrayOK: false + // type: number + // Sets the padding (in px) between the `nodes`. + Pad float64 `json:"pad,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness (in px) of the `nodes`. + Thickness float64 `json:"thickness,omitempty"` + + // X + // arrayOK: false + // type: data_array + // The normalized horizontal position of the node. + X interface{} `json:"x,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // The normalized vertical position of the node. + Y interface{} `json:"y,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` +} + +// SankeyStream +type SankeyStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// SankeyTextfont Sets the font for node labels +type SankeyTextfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// SankeyArrangement 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. +type SankeyArrangement string + +const ( + SankeyArrangementSnap SankeyArrangement = "snap" + SankeyArrangementPerpendicular SankeyArrangement = "perpendicular" + SankeyArrangementFreeform SankeyArrangement = "freeform" + SankeyArrangementFixed SankeyArrangement = "fixed" +) + +// SankeyHoverlabelAlign 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 +type SankeyHoverlabelAlign string + +const ( + SankeyHoverlabelAlignLeft SankeyHoverlabelAlign = "left" + SankeyHoverlabelAlignRight SankeyHoverlabelAlign = "right" + SankeyHoverlabelAlignAuto SankeyHoverlabelAlign = "auto" +) + +// SankeyLinkHoverinfo 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. +type SankeyLinkHoverinfo string + +const ( + SankeyLinkHoverinfoAll SankeyLinkHoverinfo = "all" + SankeyLinkHoverinfoNone SankeyLinkHoverinfo = "none" + SankeyLinkHoverinfoSkip SankeyLinkHoverinfo = "skip" +) + +// SankeyLinkHoverlabelAlign 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 +type SankeyLinkHoverlabelAlign string + +const ( + SankeyLinkHoverlabelAlignLeft SankeyLinkHoverlabelAlign = "left" + SankeyLinkHoverlabelAlignRight SankeyLinkHoverlabelAlign = "right" + SankeyLinkHoverlabelAlignAuto SankeyLinkHoverlabelAlign = "auto" +) + +// SankeyNodeAlign Sets the alignment method used to position the nodes along the horizontal axis. +type SankeyNodeAlign string + +const ( + SankeyNodeAlignJustify SankeyNodeAlign = "justify" + SankeyNodeAlignLeft SankeyNodeAlign = "left" + SankeyNodeAlignRight SankeyNodeAlign = "right" + SankeyNodeAlignCenter SankeyNodeAlign = "center" +) + +// SankeyNodeHoverinfo 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. +type SankeyNodeHoverinfo string + +const ( + SankeyNodeHoverinfoAll SankeyNodeHoverinfo = "all" + SankeyNodeHoverinfoNone SankeyNodeHoverinfo = "none" + SankeyNodeHoverinfoSkip SankeyNodeHoverinfo = "skip" +) + +// SankeyNodeHoverlabelAlign 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 +type SankeyNodeHoverlabelAlign string + +const ( + SankeyNodeHoverlabelAlignLeft SankeyNodeHoverlabelAlign = "left" + SankeyNodeHoverlabelAlignRight SankeyNodeHoverlabelAlign = "right" + SankeyNodeHoverlabelAlignAuto SankeyNodeHoverlabelAlign = "auto" +) + +// SankeyOrientation Sets the orientation of the Sankey diagram. +type SankeyOrientation string + +const ( + SankeyOrientationV SankeyOrientation = "v" + SankeyOrientationH SankeyOrientation = "h" +) + +// SankeyVisible 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). +type SankeyVisible interface{} + +var ( + SankeyVisibleTrue SankeyVisible = true + SankeyVisibleFalse SankeyVisible = false + SankeyVisibleLegendonly SankeyVisible = "legendonly" +) + +// SankeyHoverinfo 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. +type SankeyHoverinfo string + +const ( + // Flags + + // Extra + SankeyHoverinfoAll SankeyHoverinfo = "all" + SankeyHoverinfoNone SankeyHoverinfo = "none" + SankeyHoverinfoSkip SankeyHoverinfo = "skip" +) diff --git a/generated/v2.31.1/graph_objects/scatter3d_gen.go b/generated/v2.31.1/graph_objects/scatter3d_gen.go new file mode 100644 index 0000000..f735702 --- /dev/null +++ b/generated/v2.31.1/graph_objects/scatter3d_gen.go @@ -0,0 +1,2366 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeScatter3d TraceType = "scatter3d" + +func (trace *Scatter3d) GetType() TraceType { + return TraceTypeScatter3d +} + +// Scatter3d 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`. +type Scatter3d struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Connectgaps + // arrayOK: false + // type: boolean + // Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected. + Connectgaps Bool `json:"connectgaps,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // ErrorX + // role: Object + ErrorX *Scatter3dErrorX `json:"error_x,omitempty"` + + // ErrorY + // role: Object + ErrorY *Scatter3dErrorY `json:"error_y,omitempty"` + + // ErrorZ + // role: Object + ErrorZ *Scatter3dErrorZ `json:"error_z,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo Scatter3dHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *Scatter3dHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *Scatter3dLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *Scatter3dLine `json:"line,omitempty"` + + // Marker + // role: Object + Marker *Scatter3dMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Mode + // default: lines+markers + // type: flaglist + // 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*. + Mode Scatter3dMode `json:"mode,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Projection + // role: Object + Projection *Scatter3dProjection `json:"projection,omitempty"` + + // Scene + // arrayOK: false + // type: subplotid + // 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. + Scene String `json:"scene,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Stream + // role: Object + Stream *Scatter3dStream `json:"stream,omitempty"` + + // Surfaceaxis + // default: %!s(float64=-1) + // type: enumerated + // 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. + Surfaceaxis Scatter3dSurfaceaxis `json:"surfaceaxis,omitempty"` + + // Surfacecolor + // arrayOK: false + // type: color + // Sets the surface fill color. + Surfacecolor Color `json:"surfacecolor,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textfont + // role: Object + Textfont *Scatter3dTextfont `json:"textfont,omitempty"` + + // Textposition + // default: top center + // type: enumerated + // Sets the positions of the `text` elements with respects to the (x,y) coordinates. + Textposition Scatter3dTextposition `json:"textposition,omitempty"` + + // Textpositionsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `textposition`. + Textpositionsrc String `json:"textpositionsrc,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: true + // 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. + Texttemplate String `json:"texttemplate,omitempty"` + + // Texttemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `texttemplate`. + Texttemplatesrc String `json:"texttemplatesrc,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible Scatter3dVisible `json:"visible,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the x coordinates. + X interface{} `json:"x,omitempty"` + + // Xcalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `x` date data. + Xcalendar Scatter3dXcalendar `json:"xcalendar,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the y coordinates. + Y interface{} `json:"y,omitempty"` + + // Ycalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `y` date data. + Ycalendar Scatter3dYcalendar `json:"ycalendar,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` + + // Z + // arrayOK: false + // type: data_array + // Sets the z coordinates. + Z interface{} `json:"z,omitempty"` + + // Zcalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `z` date data. + Zcalendar Scatter3dZcalendar `json:"zcalendar,omitempty"` + + // Zhoverformat + // arrayOK: false + // 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`. + Zhoverformat String `json:"zhoverformat,omitempty"` + + // Zsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `z`. + Zsrc String `json:"zsrc,omitempty"` +} + +// Scatter3dErrorX +type Scatter3dErrorX struct { + + // Array + // arrayOK: false + // type: data_array + // Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data. + Array interface{} `json:"array,omitempty"` + + // Arrayminus + // arrayOK: false + // 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. + Arrayminus interface{} `json:"arrayminus,omitempty"` + + // Arrayminussrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `arrayminus`. + Arrayminussrc String `json:"arrayminussrc,omitempty"` + + // Arraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `array`. + Arraysrc String `json:"arraysrc,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the stoke color of the error bars. + Color Color `json:"color,omitempty"` + + // CopyZstyle + // arrayOK: false + // type: boolean + // + CopyZstyle Bool `json:"copy_zstyle,omitempty"` + + // Symmetric + // arrayOK: false + // 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. + Symmetric Bool `json:"symmetric,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness (in px) of the error bars. + Thickness float64 `json:"thickness,omitempty"` + + // Traceref + // arrayOK: false + // type: integer + // + Traceref int64 `json:"traceref,omitempty"` + + // Tracerefminus + // arrayOK: false + // type: integer + // + Tracerefminus int64 `json:"tracerefminus,omitempty"` + + // Type + // default: %!s() + // type: enumerated + // 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`. + Type Scatter3dErrorXType `json:"type,omitempty"` + + // Value + // arrayOK: false + // type: number + // 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. + Value float64 `json:"value,omitempty"` + + // Valueminus + // arrayOK: false + // type: number + // 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 + Valueminus float64 `json:"valueminus,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Determines whether or not this set of error bars is visible. + Visible Bool `json:"visible,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of the cross-bar at both ends of the error bars. + Width float64 `json:"width,omitempty"` +} + +// Scatter3dErrorY +type Scatter3dErrorY struct { + + // Array + // arrayOK: false + // type: data_array + // Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data. + Array interface{} `json:"array,omitempty"` + + // Arrayminus + // arrayOK: false + // 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. + Arrayminus interface{} `json:"arrayminus,omitempty"` + + // Arrayminussrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `arrayminus`. + Arrayminussrc String `json:"arrayminussrc,omitempty"` + + // Arraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `array`. + Arraysrc String `json:"arraysrc,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the stoke color of the error bars. + Color Color `json:"color,omitempty"` + + // CopyZstyle + // arrayOK: false + // type: boolean + // + CopyZstyle Bool `json:"copy_zstyle,omitempty"` + + // Symmetric + // arrayOK: false + // 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. + Symmetric Bool `json:"symmetric,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness (in px) of the error bars. + Thickness float64 `json:"thickness,omitempty"` + + // Traceref + // arrayOK: false + // type: integer + // + Traceref int64 `json:"traceref,omitempty"` + + // Tracerefminus + // arrayOK: false + // type: integer + // + Tracerefminus int64 `json:"tracerefminus,omitempty"` + + // Type + // default: %!s() + // type: enumerated + // 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`. + Type Scatter3dErrorYType `json:"type,omitempty"` + + // Value + // arrayOK: false + // type: number + // 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. + Value float64 `json:"value,omitempty"` + + // Valueminus + // arrayOK: false + // type: number + // 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 + Valueminus float64 `json:"valueminus,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Determines whether or not this set of error bars is visible. + Visible Bool `json:"visible,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of the cross-bar at both ends of the error bars. + Width float64 `json:"width,omitempty"` +} + +// Scatter3dErrorZ +type Scatter3dErrorZ struct { + + // Array + // arrayOK: false + // type: data_array + // Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data. + Array interface{} `json:"array,omitempty"` + + // Arrayminus + // arrayOK: false + // 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. + Arrayminus interface{} `json:"arrayminus,omitempty"` + + // Arrayminussrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `arrayminus`. + Arrayminussrc String `json:"arrayminussrc,omitempty"` + + // Arraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `array`. + Arraysrc String `json:"arraysrc,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the stoke color of the error bars. + Color Color `json:"color,omitempty"` + + // Symmetric + // arrayOK: false + // 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. + Symmetric Bool `json:"symmetric,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness (in px) of the error bars. + Thickness float64 `json:"thickness,omitempty"` + + // Traceref + // arrayOK: false + // type: integer + // + Traceref int64 `json:"traceref,omitempty"` + + // Tracerefminus + // arrayOK: false + // type: integer + // + Tracerefminus int64 `json:"tracerefminus,omitempty"` + + // Type + // default: %!s() + // type: enumerated + // 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`. + Type Scatter3dErrorZType `json:"type,omitempty"` + + // Value + // arrayOK: false + // type: number + // 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. + Value float64 `json:"value,omitempty"` + + // Valueminus + // arrayOK: false + // type: number + // 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 + Valueminus float64 `json:"valueminus,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Determines whether or not this set of error bars is visible. + Visible Bool `json:"visible,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of the cross-bar at both ends of the error bars. + Width float64 `json:"width,omitempty"` +} + +// Scatter3dHoverlabelFont Sets the font used in hover labels. +type Scatter3dHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// Scatter3dHoverlabel +type Scatter3dHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align Scatter3dHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *Scatter3dHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// Scatter3dLegendgrouptitleFont Sets this legend group's title font. +type Scatter3dLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// Scatter3dLegendgrouptitle +type Scatter3dLegendgrouptitle struct { + + // Font + // role: Object + Font *Scatter3dLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// Scatter3dLineColorbarTickfont Sets the color bar's tick label font +type Scatter3dLineColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// Scatter3dLineColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type Scatter3dLineColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// Scatter3dLineColorbarTitle +type Scatter3dLineColorbarTitle struct { + + // Font + // role: Object + Font *Scatter3dLineColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side Scatter3dLineColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// Scatter3dLineColorbar +type Scatter3dLineColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat Scatter3dLineColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode Scatter3dLineColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation Scatter3dLineColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent Scatter3dLineColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix Scatter3dLineColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix Scatter3dLineColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode Scatter3dLineColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *Scatter3dLineColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow Scatter3dLineColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition Scatter3dLineColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode Scatter3dLineColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks Scatter3dLineColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *Scatter3dLineColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor Scatter3dLineColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref Scatter3dLineColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor Scatter3dLineColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref Scatter3dLineColorbarYref `json:"yref,omitempty"` +} + +// Scatter3dLine +type Scatter3dLine struct { + + // Autocolorscale + // arrayOK: false + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *Scatter3dLineColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Dash + // default: solid + // type: enumerated + // Sets the dash style of the lines. + Dash Scatter3dLineDash `json:"dash,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width (in px). + Width float64 `json:"width,omitempty"` +} + +// Scatter3dMarkerColorbarTickfont Sets the color bar's tick label font +type Scatter3dMarkerColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// Scatter3dMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type Scatter3dMarkerColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// Scatter3dMarkerColorbarTitle +type Scatter3dMarkerColorbarTitle struct { + + // Font + // role: Object + Font *Scatter3dMarkerColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side Scatter3dMarkerColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// Scatter3dMarkerColorbar +type Scatter3dMarkerColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat Scatter3dMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode Scatter3dMarkerColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation Scatter3dMarkerColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent Scatter3dMarkerColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix Scatter3dMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix Scatter3dMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode Scatter3dMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *Scatter3dMarkerColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow Scatter3dMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition Scatter3dMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode Scatter3dMarkerColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks Scatter3dMarkerColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *Scatter3dMarkerColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor Scatter3dMarkerColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref Scatter3dMarkerColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor Scatter3dMarkerColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref Scatter3dMarkerColorbarYref `json:"yref,omitempty"` +} + +// Scatter3dMarkerLine +type Scatter3dMarkerLine struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of the lines bounding the marker points. + Width float64 `json:"width,omitempty"` +} + +// Scatter3dMarker +type Scatter3dMarker struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *Scatter3dMarkerColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Line + // role: Object + Line *Scatter3dMarkerLine `json:"line,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // 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. + Opacity float64 `json:"opacity,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the marker size (in px). + Size float64 `json:"size,omitempty"` + + // Sizemin + // arrayOK: false + // 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. + Sizemin float64 `json:"sizemin,omitempty"` + + // Sizemode + // default: diameter + // type: enumerated + // 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. + Sizemode Scatter3dMarkerSizemode `json:"sizemode,omitempty"` + + // Sizeref + // arrayOK: false + // type: number + // 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`. + Sizeref float64 `json:"sizeref,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Symbol + // default: circle + // type: enumerated + // Sets the marker symbol type. + Symbol Scatter3dMarkerSymbol `json:"symbol,omitempty"` + + // Symbolsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `symbol`. + Symbolsrc String `json:"symbolsrc,omitempty"` +} + +// Scatter3dProjectionX +type Scatter3dProjectionX struct { + + // Opacity + // arrayOK: false + // type: number + // Sets the projection color. + Opacity float64 `json:"opacity,omitempty"` + + // Scale + // arrayOK: false + // type: number + // Sets the scale factor determining the size of the projection marker points. + Scale float64 `json:"scale,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // Sets whether or not projections are shown along the x axis. + Show Bool `json:"show,omitempty"` +} + +// Scatter3dProjectionY +type Scatter3dProjectionY struct { + + // Opacity + // arrayOK: false + // type: number + // Sets the projection color. + Opacity float64 `json:"opacity,omitempty"` + + // Scale + // arrayOK: false + // type: number + // Sets the scale factor determining the size of the projection marker points. + Scale float64 `json:"scale,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // Sets whether or not projections are shown along the y axis. + Show Bool `json:"show,omitempty"` +} + +// Scatter3dProjectionZ +type Scatter3dProjectionZ struct { + + // Opacity + // arrayOK: false + // type: number + // Sets the projection color. + Opacity float64 `json:"opacity,omitempty"` + + // Scale + // arrayOK: false + // type: number + // Sets the scale factor determining the size of the projection marker points. + Scale float64 `json:"scale,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // Sets whether or not projections are shown along the z axis. + Show Bool `json:"show,omitempty"` +} + +// Scatter3dProjection +type Scatter3dProjection struct { + + // X + // role: Object + X *Scatter3dProjectionX `json:"x,omitempty"` + + // Y + // role: Object + Y *Scatter3dProjectionY `json:"y,omitempty"` + + // Z + // role: Object + Z *Scatter3dProjectionZ `json:"z,omitempty"` +} + +// Scatter3dStream +type Scatter3dStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// Scatter3dTextfont +type Scatter3dTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// Scatter3dErrorXType 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`. +type Scatter3dErrorXType string + +const ( + Scatter3dErrorXTypePercent Scatter3dErrorXType = "percent" + Scatter3dErrorXTypeConstant Scatter3dErrorXType = "constant" + Scatter3dErrorXTypeSqrt Scatter3dErrorXType = "sqrt" + Scatter3dErrorXTypeData Scatter3dErrorXType = "data" +) + +// Scatter3dErrorYType 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`. +type Scatter3dErrorYType string + +const ( + Scatter3dErrorYTypePercent Scatter3dErrorYType = "percent" + Scatter3dErrorYTypeConstant Scatter3dErrorYType = "constant" + Scatter3dErrorYTypeSqrt Scatter3dErrorYType = "sqrt" + Scatter3dErrorYTypeData Scatter3dErrorYType = "data" +) + +// Scatter3dErrorZType 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`. +type Scatter3dErrorZType string + +const ( + Scatter3dErrorZTypePercent Scatter3dErrorZType = "percent" + Scatter3dErrorZTypeConstant Scatter3dErrorZType = "constant" + Scatter3dErrorZTypeSqrt Scatter3dErrorZType = "sqrt" + Scatter3dErrorZTypeData Scatter3dErrorZType = "data" +) + +// Scatter3dHoverlabelAlign 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 +type Scatter3dHoverlabelAlign string + +const ( + Scatter3dHoverlabelAlignLeft Scatter3dHoverlabelAlign = "left" + Scatter3dHoverlabelAlignRight Scatter3dHoverlabelAlign = "right" + Scatter3dHoverlabelAlignAuto Scatter3dHoverlabelAlign = "auto" +) + +// Scatter3dLineColorbarExponentformat 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. +type Scatter3dLineColorbarExponentformat string + +const ( + Scatter3dLineColorbarExponentformatNone Scatter3dLineColorbarExponentformat = "none" + Scatter3dLineColorbarExponentformatE1 Scatter3dLineColorbarExponentformat = "e" + Scatter3dLineColorbarExponentformatE2 Scatter3dLineColorbarExponentformat = "E" + Scatter3dLineColorbarExponentformatPower Scatter3dLineColorbarExponentformat = "power" + Scatter3dLineColorbarExponentformatSI Scatter3dLineColorbarExponentformat = "SI" + Scatter3dLineColorbarExponentformatB Scatter3dLineColorbarExponentformat = "B" +) + +// Scatter3dLineColorbarLenmode 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. +type Scatter3dLineColorbarLenmode string + +const ( + Scatter3dLineColorbarLenmodeFraction Scatter3dLineColorbarLenmode = "fraction" + Scatter3dLineColorbarLenmodePixels Scatter3dLineColorbarLenmode = "pixels" +) + +// Scatter3dLineColorbarOrientation Sets the orientation of the colorbar. +type Scatter3dLineColorbarOrientation string + +const ( + Scatter3dLineColorbarOrientationH Scatter3dLineColorbarOrientation = "h" + Scatter3dLineColorbarOrientationV Scatter3dLineColorbarOrientation = "v" +) + +// Scatter3dLineColorbarShowexponent 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. +type Scatter3dLineColorbarShowexponent string + +const ( + Scatter3dLineColorbarShowexponentAll Scatter3dLineColorbarShowexponent = "all" + Scatter3dLineColorbarShowexponentFirst Scatter3dLineColorbarShowexponent = "first" + Scatter3dLineColorbarShowexponentLast Scatter3dLineColorbarShowexponent = "last" + Scatter3dLineColorbarShowexponentNone Scatter3dLineColorbarShowexponent = "none" +) + +// Scatter3dLineColorbarShowtickprefix 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. +type Scatter3dLineColorbarShowtickprefix string + +const ( + Scatter3dLineColorbarShowtickprefixAll Scatter3dLineColorbarShowtickprefix = "all" + Scatter3dLineColorbarShowtickprefixFirst Scatter3dLineColorbarShowtickprefix = "first" + Scatter3dLineColorbarShowtickprefixLast Scatter3dLineColorbarShowtickprefix = "last" + Scatter3dLineColorbarShowtickprefixNone Scatter3dLineColorbarShowtickprefix = "none" +) + +// Scatter3dLineColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type Scatter3dLineColorbarShowticksuffix string + +const ( + Scatter3dLineColorbarShowticksuffixAll Scatter3dLineColorbarShowticksuffix = "all" + Scatter3dLineColorbarShowticksuffixFirst Scatter3dLineColorbarShowticksuffix = "first" + Scatter3dLineColorbarShowticksuffixLast Scatter3dLineColorbarShowticksuffix = "last" + Scatter3dLineColorbarShowticksuffixNone Scatter3dLineColorbarShowticksuffix = "none" +) + +// Scatter3dLineColorbarThicknessmode 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. +type Scatter3dLineColorbarThicknessmode string + +const ( + Scatter3dLineColorbarThicknessmodeFraction Scatter3dLineColorbarThicknessmode = "fraction" + Scatter3dLineColorbarThicknessmodePixels Scatter3dLineColorbarThicknessmode = "pixels" +) + +// Scatter3dLineColorbarTicklabeloverflow 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*. +type Scatter3dLineColorbarTicklabeloverflow string + +const ( + Scatter3dLineColorbarTicklabeloverflowAllow Scatter3dLineColorbarTicklabeloverflow = "allow" + Scatter3dLineColorbarTicklabeloverflowHidePastDiv Scatter3dLineColorbarTicklabeloverflow = "hide past div" + Scatter3dLineColorbarTicklabeloverflowHidePastDomain Scatter3dLineColorbarTicklabeloverflow = "hide past domain" +) + +// Scatter3dLineColorbarTicklabelposition 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*. +type Scatter3dLineColorbarTicklabelposition string + +const ( + Scatter3dLineColorbarTicklabelpositionOutside Scatter3dLineColorbarTicklabelposition = "outside" + Scatter3dLineColorbarTicklabelpositionInside Scatter3dLineColorbarTicklabelposition = "inside" + Scatter3dLineColorbarTicklabelpositionOutsideTop Scatter3dLineColorbarTicklabelposition = "outside top" + Scatter3dLineColorbarTicklabelpositionInsideTop Scatter3dLineColorbarTicklabelposition = "inside top" + Scatter3dLineColorbarTicklabelpositionOutsideLeft Scatter3dLineColorbarTicklabelposition = "outside left" + Scatter3dLineColorbarTicklabelpositionInsideLeft Scatter3dLineColorbarTicklabelposition = "inside left" + Scatter3dLineColorbarTicklabelpositionOutsideRight Scatter3dLineColorbarTicklabelposition = "outside right" + Scatter3dLineColorbarTicklabelpositionInsideRight Scatter3dLineColorbarTicklabelposition = "inside right" + Scatter3dLineColorbarTicklabelpositionOutsideBottom Scatter3dLineColorbarTicklabelposition = "outside bottom" + Scatter3dLineColorbarTicklabelpositionInsideBottom Scatter3dLineColorbarTicklabelposition = "inside bottom" +) + +// Scatter3dLineColorbarTickmode 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). +type Scatter3dLineColorbarTickmode string + +const ( + Scatter3dLineColorbarTickmodeAuto Scatter3dLineColorbarTickmode = "auto" + Scatter3dLineColorbarTickmodeLinear Scatter3dLineColorbarTickmode = "linear" + Scatter3dLineColorbarTickmodeArray Scatter3dLineColorbarTickmode = "array" +) + +// Scatter3dLineColorbarTicks 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. +type Scatter3dLineColorbarTicks string + +const ( + Scatter3dLineColorbarTicksOutside Scatter3dLineColorbarTicks = "outside" + Scatter3dLineColorbarTicksInside Scatter3dLineColorbarTicks = "inside" + Scatter3dLineColorbarTicksEmpty Scatter3dLineColorbarTicks = "" +) + +// Scatter3dLineColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type Scatter3dLineColorbarTitleSide string + +const ( + Scatter3dLineColorbarTitleSideRight Scatter3dLineColorbarTitleSide = "right" + Scatter3dLineColorbarTitleSideTop Scatter3dLineColorbarTitleSide = "top" + Scatter3dLineColorbarTitleSideBottom Scatter3dLineColorbarTitleSide = "bottom" +) + +// Scatter3dLineColorbarXanchor 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*. +type Scatter3dLineColorbarXanchor string + +const ( + Scatter3dLineColorbarXanchorLeft Scatter3dLineColorbarXanchor = "left" + Scatter3dLineColorbarXanchorCenter Scatter3dLineColorbarXanchor = "center" + Scatter3dLineColorbarXanchorRight Scatter3dLineColorbarXanchor = "right" +) + +// Scatter3dLineColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type Scatter3dLineColorbarXref string + +const ( + Scatter3dLineColorbarXrefContainer Scatter3dLineColorbarXref = "container" + Scatter3dLineColorbarXrefPaper Scatter3dLineColorbarXref = "paper" +) + +// Scatter3dLineColorbarYanchor 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*. +type Scatter3dLineColorbarYanchor string + +const ( + Scatter3dLineColorbarYanchorTop Scatter3dLineColorbarYanchor = "top" + Scatter3dLineColorbarYanchorMiddle Scatter3dLineColorbarYanchor = "middle" + Scatter3dLineColorbarYanchorBottom Scatter3dLineColorbarYanchor = "bottom" +) + +// Scatter3dLineColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type Scatter3dLineColorbarYref string + +const ( + Scatter3dLineColorbarYrefContainer Scatter3dLineColorbarYref = "container" + Scatter3dLineColorbarYrefPaper Scatter3dLineColorbarYref = "paper" +) + +// Scatter3dLineDash Sets the dash style of the lines. +type Scatter3dLineDash string + +const ( + Scatter3dLineDashDash Scatter3dLineDash = "dash" + Scatter3dLineDashDashdot Scatter3dLineDash = "dashdot" + Scatter3dLineDashDot Scatter3dLineDash = "dot" + Scatter3dLineDashLongdash Scatter3dLineDash = "longdash" + Scatter3dLineDashLongdashdot Scatter3dLineDash = "longdashdot" + Scatter3dLineDashSolid Scatter3dLineDash = "solid" +) + +// Scatter3dMarkerColorbarExponentformat 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. +type Scatter3dMarkerColorbarExponentformat string + +const ( + Scatter3dMarkerColorbarExponentformatNone Scatter3dMarkerColorbarExponentformat = "none" + Scatter3dMarkerColorbarExponentformatE1 Scatter3dMarkerColorbarExponentformat = "e" + Scatter3dMarkerColorbarExponentformatE2 Scatter3dMarkerColorbarExponentformat = "E" + Scatter3dMarkerColorbarExponentformatPower Scatter3dMarkerColorbarExponentformat = "power" + Scatter3dMarkerColorbarExponentformatSI Scatter3dMarkerColorbarExponentformat = "SI" + Scatter3dMarkerColorbarExponentformatB Scatter3dMarkerColorbarExponentformat = "B" +) + +// Scatter3dMarkerColorbarLenmode 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. +type Scatter3dMarkerColorbarLenmode string + +const ( + Scatter3dMarkerColorbarLenmodeFraction Scatter3dMarkerColorbarLenmode = "fraction" + Scatter3dMarkerColorbarLenmodePixels Scatter3dMarkerColorbarLenmode = "pixels" +) + +// Scatter3dMarkerColorbarOrientation Sets the orientation of the colorbar. +type Scatter3dMarkerColorbarOrientation string + +const ( + Scatter3dMarkerColorbarOrientationH Scatter3dMarkerColorbarOrientation = "h" + Scatter3dMarkerColorbarOrientationV Scatter3dMarkerColorbarOrientation = "v" +) + +// Scatter3dMarkerColorbarShowexponent 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. +type Scatter3dMarkerColorbarShowexponent string + +const ( + Scatter3dMarkerColorbarShowexponentAll Scatter3dMarkerColorbarShowexponent = "all" + Scatter3dMarkerColorbarShowexponentFirst Scatter3dMarkerColorbarShowexponent = "first" + Scatter3dMarkerColorbarShowexponentLast Scatter3dMarkerColorbarShowexponent = "last" + Scatter3dMarkerColorbarShowexponentNone Scatter3dMarkerColorbarShowexponent = "none" +) + +// Scatter3dMarkerColorbarShowtickprefix 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. +type Scatter3dMarkerColorbarShowtickprefix string + +const ( + Scatter3dMarkerColorbarShowtickprefixAll Scatter3dMarkerColorbarShowtickprefix = "all" + Scatter3dMarkerColorbarShowtickprefixFirst Scatter3dMarkerColorbarShowtickprefix = "first" + Scatter3dMarkerColorbarShowtickprefixLast Scatter3dMarkerColorbarShowtickprefix = "last" + Scatter3dMarkerColorbarShowtickprefixNone Scatter3dMarkerColorbarShowtickprefix = "none" +) + +// Scatter3dMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type Scatter3dMarkerColorbarShowticksuffix string + +const ( + Scatter3dMarkerColorbarShowticksuffixAll Scatter3dMarkerColorbarShowticksuffix = "all" + Scatter3dMarkerColorbarShowticksuffixFirst Scatter3dMarkerColorbarShowticksuffix = "first" + Scatter3dMarkerColorbarShowticksuffixLast Scatter3dMarkerColorbarShowticksuffix = "last" + Scatter3dMarkerColorbarShowticksuffixNone Scatter3dMarkerColorbarShowticksuffix = "none" +) + +// Scatter3dMarkerColorbarThicknessmode 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. +type Scatter3dMarkerColorbarThicknessmode string + +const ( + Scatter3dMarkerColorbarThicknessmodeFraction Scatter3dMarkerColorbarThicknessmode = "fraction" + Scatter3dMarkerColorbarThicknessmodePixels Scatter3dMarkerColorbarThicknessmode = "pixels" +) + +// Scatter3dMarkerColorbarTicklabeloverflow 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*. +type Scatter3dMarkerColorbarTicklabeloverflow string + +const ( + Scatter3dMarkerColorbarTicklabeloverflowAllow Scatter3dMarkerColorbarTicklabeloverflow = "allow" + Scatter3dMarkerColorbarTicklabeloverflowHidePastDiv Scatter3dMarkerColorbarTicklabeloverflow = "hide past div" + Scatter3dMarkerColorbarTicklabeloverflowHidePastDomain Scatter3dMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// Scatter3dMarkerColorbarTicklabelposition 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*. +type Scatter3dMarkerColorbarTicklabelposition string + +const ( + Scatter3dMarkerColorbarTicklabelpositionOutside Scatter3dMarkerColorbarTicklabelposition = "outside" + Scatter3dMarkerColorbarTicklabelpositionInside Scatter3dMarkerColorbarTicklabelposition = "inside" + Scatter3dMarkerColorbarTicklabelpositionOutsideTop Scatter3dMarkerColorbarTicklabelposition = "outside top" + Scatter3dMarkerColorbarTicklabelpositionInsideTop Scatter3dMarkerColorbarTicklabelposition = "inside top" + Scatter3dMarkerColorbarTicklabelpositionOutsideLeft Scatter3dMarkerColorbarTicklabelposition = "outside left" + Scatter3dMarkerColorbarTicklabelpositionInsideLeft Scatter3dMarkerColorbarTicklabelposition = "inside left" + Scatter3dMarkerColorbarTicklabelpositionOutsideRight Scatter3dMarkerColorbarTicklabelposition = "outside right" + Scatter3dMarkerColorbarTicklabelpositionInsideRight Scatter3dMarkerColorbarTicklabelposition = "inside right" + Scatter3dMarkerColorbarTicklabelpositionOutsideBottom Scatter3dMarkerColorbarTicklabelposition = "outside bottom" + Scatter3dMarkerColorbarTicklabelpositionInsideBottom Scatter3dMarkerColorbarTicklabelposition = "inside bottom" +) + +// Scatter3dMarkerColorbarTickmode 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). +type Scatter3dMarkerColorbarTickmode string + +const ( + Scatter3dMarkerColorbarTickmodeAuto Scatter3dMarkerColorbarTickmode = "auto" + Scatter3dMarkerColorbarTickmodeLinear Scatter3dMarkerColorbarTickmode = "linear" + Scatter3dMarkerColorbarTickmodeArray Scatter3dMarkerColorbarTickmode = "array" +) + +// Scatter3dMarkerColorbarTicks 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. +type Scatter3dMarkerColorbarTicks string + +const ( + Scatter3dMarkerColorbarTicksOutside Scatter3dMarkerColorbarTicks = "outside" + Scatter3dMarkerColorbarTicksInside Scatter3dMarkerColorbarTicks = "inside" + Scatter3dMarkerColorbarTicksEmpty Scatter3dMarkerColorbarTicks = "" +) + +// Scatter3dMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type Scatter3dMarkerColorbarTitleSide string + +const ( + Scatter3dMarkerColorbarTitleSideRight Scatter3dMarkerColorbarTitleSide = "right" + Scatter3dMarkerColorbarTitleSideTop Scatter3dMarkerColorbarTitleSide = "top" + Scatter3dMarkerColorbarTitleSideBottom Scatter3dMarkerColorbarTitleSide = "bottom" +) + +// Scatter3dMarkerColorbarXanchor 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*. +type Scatter3dMarkerColorbarXanchor string + +const ( + Scatter3dMarkerColorbarXanchorLeft Scatter3dMarkerColorbarXanchor = "left" + Scatter3dMarkerColorbarXanchorCenter Scatter3dMarkerColorbarXanchor = "center" + Scatter3dMarkerColorbarXanchorRight Scatter3dMarkerColorbarXanchor = "right" +) + +// Scatter3dMarkerColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type Scatter3dMarkerColorbarXref string + +const ( + Scatter3dMarkerColorbarXrefContainer Scatter3dMarkerColorbarXref = "container" + Scatter3dMarkerColorbarXrefPaper Scatter3dMarkerColorbarXref = "paper" +) + +// Scatter3dMarkerColorbarYanchor 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*. +type Scatter3dMarkerColorbarYanchor string + +const ( + Scatter3dMarkerColorbarYanchorTop Scatter3dMarkerColorbarYanchor = "top" + Scatter3dMarkerColorbarYanchorMiddle Scatter3dMarkerColorbarYanchor = "middle" + Scatter3dMarkerColorbarYanchorBottom Scatter3dMarkerColorbarYanchor = "bottom" +) + +// Scatter3dMarkerColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type Scatter3dMarkerColorbarYref string + +const ( + Scatter3dMarkerColorbarYrefContainer Scatter3dMarkerColorbarYref = "container" + Scatter3dMarkerColorbarYrefPaper Scatter3dMarkerColorbarYref = "paper" +) + +// Scatter3dMarkerSizemode 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. +type Scatter3dMarkerSizemode string + +const ( + Scatter3dMarkerSizemodeDiameter Scatter3dMarkerSizemode = "diameter" + Scatter3dMarkerSizemodeArea Scatter3dMarkerSizemode = "area" +) + +// Scatter3dMarkerSymbol Sets the marker symbol type. +type Scatter3dMarkerSymbol string + +const ( + Scatter3dMarkerSymbolCircle Scatter3dMarkerSymbol = "circle" + Scatter3dMarkerSymbolCircleOpen Scatter3dMarkerSymbol = "circle-open" + Scatter3dMarkerSymbolCross Scatter3dMarkerSymbol = "cross" + Scatter3dMarkerSymbolDiamond Scatter3dMarkerSymbol = "diamond" + Scatter3dMarkerSymbolDiamondOpen Scatter3dMarkerSymbol = "diamond-open" + Scatter3dMarkerSymbolSquare Scatter3dMarkerSymbol = "square" + Scatter3dMarkerSymbolSquareOpen Scatter3dMarkerSymbol = "square-open" + Scatter3dMarkerSymbolX Scatter3dMarkerSymbol = "x" +) + +// Scatter3dSurfaceaxis 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. +type Scatter3dSurfaceaxis interface{} + +var ( + Scatter3dSurfaceaxisNumberNegative1 Scatter3dSurfaceaxis = -1 + Scatter3dSurfaceaxisNumber0 Scatter3dSurfaceaxis = 0 + Scatter3dSurfaceaxisNumber1 Scatter3dSurfaceaxis = 1 + Scatter3dSurfaceaxisNumber2 Scatter3dSurfaceaxis = 2 +) + +// Scatter3dTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. +type Scatter3dTextposition string + +const ( + Scatter3dTextpositionTopLeft Scatter3dTextposition = "top left" + Scatter3dTextpositionTopCenter Scatter3dTextposition = "top center" + Scatter3dTextpositionTopRight Scatter3dTextposition = "top right" + Scatter3dTextpositionMiddleLeft Scatter3dTextposition = "middle left" + Scatter3dTextpositionMiddleCenter Scatter3dTextposition = "middle center" + Scatter3dTextpositionMiddleRight Scatter3dTextposition = "middle right" + Scatter3dTextpositionBottomLeft Scatter3dTextposition = "bottom left" + Scatter3dTextpositionBottomCenter Scatter3dTextposition = "bottom center" + Scatter3dTextpositionBottomRight Scatter3dTextposition = "bottom right" +) + +// Scatter3dVisible 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). +type Scatter3dVisible interface{} + +var ( + Scatter3dVisibleTrue Scatter3dVisible = true + Scatter3dVisibleFalse Scatter3dVisible = false + Scatter3dVisibleLegendonly Scatter3dVisible = "legendonly" +) + +// Scatter3dXcalendar Sets the calendar system to use with `x` date data. +type Scatter3dXcalendar string + +const ( + Scatter3dXcalendarChinese Scatter3dXcalendar = "chinese" + Scatter3dXcalendarCoptic Scatter3dXcalendar = "coptic" + Scatter3dXcalendarDiscworld Scatter3dXcalendar = "discworld" + Scatter3dXcalendarEthiopian Scatter3dXcalendar = "ethiopian" + Scatter3dXcalendarGregorian Scatter3dXcalendar = "gregorian" + Scatter3dXcalendarHebrew Scatter3dXcalendar = "hebrew" + Scatter3dXcalendarIslamic Scatter3dXcalendar = "islamic" + Scatter3dXcalendarJalali Scatter3dXcalendar = "jalali" + Scatter3dXcalendarJulian Scatter3dXcalendar = "julian" + Scatter3dXcalendarMayan Scatter3dXcalendar = "mayan" + Scatter3dXcalendarNanakshahi Scatter3dXcalendar = "nanakshahi" + Scatter3dXcalendarNepali Scatter3dXcalendar = "nepali" + Scatter3dXcalendarPersian Scatter3dXcalendar = "persian" + Scatter3dXcalendarTaiwan Scatter3dXcalendar = "taiwan" + Scatter3dXcalendarThai Scatter3dXcalendar = "thai" + Scatter3dXcalendarUmmalqura Scatter3dXcalendar = "ummalqura" +) + +// Scatter3dYcalendar Sets the calendar system to use with `y` date data. +type Scatter3dYcalendar string + +const ( + Scatter3dYcalendarChinese Scatter3dYcalendar = "chinese" + Scatter3dYcalendarCoptic Scatter3dYcalendar = "coptic" + Scatter3dYcalendarDiscworld Scatter3dYcalendar = "discworld" + Scatter3dYcalendarEthiopian Scatter3dYcalendar = "ethiopian" + Scatter3dYcalendarGregorian Scatter3dYcalendar = "gregorian" + Scatter3dYcalendarHebrew Scatter3dYcalendar = "hebrew" + Scatter3dYcalendarIslamic Scatter3dYcalendar = "islamic" + Scatter3dYcalendarJalali Scatter3dYcalendar = "jalali" + Scatter3dYcalendarJulian Scatter3dYcalendar = "julian" + Scatter3dYcalendarMayan Scatter3dYcalendar = "mayan" + Scatter3dYcalendarNanakshahi Scatter3dYcalendar = "nanakshahi" + Scatter3dYcalendarNepali Scatter3dYcalendar = "nepali" + Scatter3dYcalendarPersian Scatter3dYcalendar = "persian" + Scatter3dYcalendarTaiwan Scatter3dYcalendar = "taiwan" + Scatter3dYcalendarThai Scatter3dYcalendar = "thai" + Scatter3dYcalendarUmmalqura Scatter3dYcalendar = "ummalqura" +) + +// Scatter3dZcalendar Sets the calendar system to use with `z` date data. +type Scatter3dZcalendar string + +const ( + Scatter3dZcalendarChinese Scatter3dZcalendar = "chinese" + Scatter3dZcalendarCoptic Scatter3dZcalendar = "coptic" + Scatter3dZcalendarDiscworld Scatter3dZcalendar = "discworld" + Scatter3dZcalendarEthiopian Scatter3dZcalendar = "ethiopian" + Scatter3dZcalendarGregorian Scatter3dZcalendar = "gregorian" + Scatter3dZcalendarHebrew Scatter3dZcalendar = "hebrew" + Scatter3dZcalendarIslamic Scatter3dZcalendar = "islamic" + Scatter3dZcalendarJalali Scatter3dZcalendar = "jalali" + Scatter3dZcalendarJulian Scatter3dZcalendar = "julian" + Scatter3dZcalendarMayan Scatter3dZcalendar = "mayan" + Scatter3dZcalendarNanakshahi Scatter3dZcalendar = "nanakshahi" + Scatter3dZcalendarNepali Scatter3dZcalendar = "nepali" + Scatter3dZcalendarPersian Scatter3dZcalendar = "persian" + Scatter3dZcalendarTaiwan Scatter3dZcalendar = "taiwan" + Scatter3dZcalendarThai Scatter3dZcalendar = "thai" + Scatter3dZcalendarUmmalqura Scatter3dZcalendar = "ummalqura" +) + +// Scatter3dHoverinfo 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. +type Scatter3dHoverinfo string + +const ( + // Flags + Scatter3dHoverinfoX Scatter3dHoverinfo = "x" + Scatter3dHoverinfoY Scatter3dHoverinfo = "y" + Scatter3dHoverinfoZ Scatter3dHoverinfo = "z" + Scatter3dHoverinfoText Scatter3dHoverinfo = "text" + Scatter3dHoverinfoName Scatter3dHoverinfo = "name" + + // Extra + Scatter3dHoverinfoAll Scatter3dHoverinfo = "all" + Scatter3dHoverinfoNone Scatter3dHoverinfo = "none" + Scatter3dHoverinfoSkip Scatter3dHoverinfo = "skip" +) + +// Scatter3dMode 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*. +type Scatter3dMode string + +const ( + // Flags + Scatter3dModeLines Scatter3dMode = "lines" + Scatter3dModeMarkers Scatter3dMode = "markers" + Scatter3dModeText Scatter3dMode = "text" + + // Extra + Scatter3dModeNone Scatter3dMode = "none" +) diff --git a/generated/v2.31.1/graph_objects/scatter_gen.go b/generated/v2.31.1/graph_objects/scatter_gen.go new file mode 100644 index 0000000..4f727f4 --- /dev/null +++ b/generated/v2.31.1/graph_objects/scatter_gen.go @@ -0,0 +1,2594 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeScatter TraceType = "scatter" + +func (trace *Scatter) GetType() TraceType { + return TraceTypeScatter +} + +// Scatter 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. +type Scatter struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Alignmentgroup + // arrayOK: false + // 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. + Alignmentgroup String `json:"alignmentgroup,omitempty"` + + // Cliponaxis + // arrayOK: false + // 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*. + Cliponaxis Bool `json:"cliponaxis,omitempty"` + + // Connectgaps + // arrayOK: false + // type: boolean + // Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected. + Connectgaps Bool `json:"connectgaps,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Dx + // arrayOK: false + // type: number + // Sets the x coordinate step. See `x0` for more info. + Dx float64 `json:"dx,omitempty"` + + // Dy + // arrayOK: false + // type: number + // Sets the y coordinate step. See `y0` for more info. + Dy float64 `json:"dy,omitempty"` + + // ErrorX + // role: Object + ErrorX *ScatterErrorX `json:"error_x,omitempty"` + + // ErrorY + // role: Object + ErrorY *ScatterErrorY `json:"error_y,omitempty"` + + // Fill + // default: %!s() + // type: enumerated + // 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. + Fill ScatterFill `json:"fill,omitempty"` + + // Fillcolor + // arrayOK: false + // 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. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Fillgradient + // role: Object + Fillgradient *ScatterFillgradient `json:"fillgradient,omitempty"` + + // Fillpattern + // role: Object + Fillpattern *ScatterFillpattern `json:"fillpattern,omitempty"` + + // Groupnorm + // default: + // type: enumerated + // 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. + Groupnorm ScatterGroupnorm `json:"groupnorm,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo ScatterHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *ScatterHoverlabel `json:"hoverlabel,omitempty"` + + // Hoveron + // default: %!s() + // type: flaglist + // 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*. + Hoveron ScatterHoveron `json:"hoveron,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *ScatterLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *ScatterLine `json:"line,omitempty"` + + // Marker + // role: Object + Marker *ScatterMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Mode + // default: %!s() + // type: flaglist + // 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*. + Mode ScatterMode `json:"mode,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Offsetgroup + // arrayOK: false + // 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. + Offsetgroup String `json:"offsetgroup,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Orientation + // default: %!s() + // type: enumerated + // 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`. + Orientation ScatterOrientation `json:"orientation,omitempty"` + + // Selected + // role: Object + Selected *ScatterSelected `json:"selected,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Stackgaps + // default: infer zero + // type: enumerated + // 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. + Stackgaps ScatterStackgaps `json:"stackgaps,omitempty"` + + // Stackgroup + // arrayOK: false + // 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. + Stackgroup String `json:"stackgroup,omitempty"` + + // Stream + // role: Object + Stream *ScatterStream `json:"stream,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textfont + // role: Object + Textfont *ScatterTextfont `json:"textfont,omitempty"` + + // Textposition + // default: middle center + // type: enumerated + // Sets the positions of the `text` elements with respects to the (x,y) coordinates. + Textposition ScatterTextposition `json:"textposition,omitempty"` + + // Textpositionsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `textposition`. + Textpositionsrc String `json:"textpositionsrc,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: true + // 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. + Texttemplate String `json:"texttemplate,omitempty"` + + // Texttemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `texttemplate`. + Texttemplatesrc String `json:"texttemplatesrc,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Unselected + // role: Object + Unselected *ScatterUnselected `json:"unselected,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible ScatterVisible `json:"visible,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the x coordinates. + X interface{} `json:"x,omitempty"` + + // X0 + // arrayOK: false + // type: any + // Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step. + X0 interface{} `json:"x0,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Xcalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `x` date data. + Xcalendar ScatterXcalendar `json:"xcalendar,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xperiod + // arrayOK: false + // type: any + // Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer. + Xperiod interface{} `json:"xperiod,omitempty"` + + // Xperiod0 + // arrayOK: false + // type: any + // 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. + Xperiod0 interface{} `json:"xperiod0,omitempty"` + + // Xperiodalignment + // default: middle + // type: enumerated + // Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. + Xperiodalignment ScatterXperiodalignment `json:"xperiodalignment,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the y coordinates. + Y interface{} `json:"y,omitempty"` + + // Y0 + // arrayOK: false + // type: any + // Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step. + Y0 interface{} `json:"y0,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` + + // Ycalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `y` date data. + Ycalendar ScatterYcalendar `json:"ycalendar,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Yperiod + // arrayOK: false + // type: any + // Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the y axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer. + Yperiod interface{} `json:"yperiod,omitempty"` + + // Yperiod0 + // arrayOK: false + // type: any + // 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. + Yperiod0 interface{} `json:"yperiod0,omitempty"` + + // Yperiodalignment + // default: middle + // type: enumerated + // Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis. + Yperiodalignment ScatterYperiodalignment `json:"yperiodalignment,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` + + // Zorder + // arrayOK: false + // 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`. + Zorder int64 `json:"zorder,omitempty"` +} + +// ScatterErrorX +type ScatterErrorX struct { + + // Array + // arrayOK: false + // type: data_array + // Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data. + Array interface{} `json:"array,omitempty"` + + // Arrayminus + // arrayOK: false + // 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. + Arrayminus interface{} `json:"arrayminus,omitempty"` + + // Arrayminussrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `arrayminus`. + Arrayminussrc String `json:"arrayminussrc,omitempty"` + + // Arraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `array`. + Arraysrc String `json:"arraysrc,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the stoke color of the error bars. + Color Color `json:"color,omitempty"` + + // CopyYstyle + // arrayOK: false + // type: boolean + // + CopyYstyle Bool `json:"copy_ystyle,omitempty"` + + // Symmetric + // arrayOK: false + // 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. + Symmetric Bool `json:"symmetric,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness (in px) of the error bars. + Thickness float64 `json:"thickness,omitempty"` + + // Traceref + // arrayOK: false + // type: integer + // + Traceref int64 `json:"traceref,omitempty"` + + // Tracerefminus + // arrayOK: false + // type: integer + // + Tracerefminus int64 `json:"tracerefminus,omitempty"` + + // Type + // default: %!s() + // type: enumerated + // 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`. + Type ScatterErrorXType `json:"type,omitempty"` + + // Value + // arrayOK: false + // type: number + // 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. + Value float64 `json:"value,omitempty"` + + // Valueminus + // arrayOK: false + // type: number + // 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 + Valueminus float64 `json:"valueminus,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Determines whether or not this set of error bars is visible. + Visible Bool `json:"visible,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of the cross-bar at both ends of the error bars. + Width float64 `json:"width,omitempty"` +} + +// ScatterErrorY +type ScatterErrorY struct { + + // Array + // arrayOK: false + // type: data_array + // Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data. + Array interface{} `json:"array,omitempty"` + + // Arrayminus + // arrayOK: false + // 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. + Arrayminus interface{} `json:"arrayminus,omitempty"` + + // Arrayminussrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `arrayminus`. + Arrayminussrc String `json:"arrayminussrc,omitempty"` + + // Arraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `array`. + Arraysrc String `json:"arraysrc,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the stoke color of the error bars. + Color Color `json:"color,omitempty"` + + // Symmetric + // arrayOK: false + // 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. + Symmetric Bool `json:"symmetric,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness (in px) of the error bars. + Thickness float64 `json:"thickness,omitempty"` + + // Traceref + // arrayOK: false + // type: integer + // + Traceref int64 `json:"traceref,omitempty"` + + // Tracerefminus + // arrayOK: false + // type: integer + // + Tracerefminus int64 `json:"tracerefminus,omitempty"` + + // Type + // default: %!s() + // type: enumerated + // 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`. + Type ScatterErrorYType `json:"type,omitempty"` + + // Value + // arrayOK: false + // type: number + // 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. + Value float64 `json:"value,omitempty"` + + // Valueminus + // arrayOK: false + // type: number + // 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 + Valueminus float64 `json:"valueminus,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Determines whether or not this set of error bars is visible. + Visible Bool `json:"visible,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of the cross-bar at both ends of the error bars. + Width float64 `json:"width,omitempty"` +} + +// ScatterFillgradient Sets a fill gradient. If not specified, the fillcolor is used instead. +type ScatterFillgradient struct { + + // Colorscale + // default: %!s() + // 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*. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Start + // arrayOK: false + // 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*. + Start float64 `json:"start,omitempty"` + + // Stop + // arrayOK: false + // 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*. + Stop float64 `json:"stop,omitempty"` + + // Type + // default: none + // type: enumerated + // Sets the type/orientation of the color gradient for the fill. Defaults to *none*. + Type ScatterFillgradientType `json:"type,omitempty"` +} + +// ScatterFillpattern Sets the pattern within the marker. +type ScatterFillpattern struct { + + // Bgcolor + // arrayOK: true + // type: color + // 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. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Fgcolor + // arrayOK: true + // type: color + // 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`. + Fgcolor Color `json:"fgcolor,omitempty"` + + // Fgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `fgcolor`. + Fgcolorsrc String `json:"fgcolorsrc,omitempty"` + + // Fgopacity + // arrayOK: false + // type: number + // Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1. + Fgopacity float64 `json:"fgopacity,omitempty"` + + // Fillmode + // default: replace + // type: enumerated + // Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. + Fillmode ScatterFillpatternFillmode `json:"fillmode,omitempty"` + + // Shape + // default: + // type: enumerated + // Sets the shape of the pattern fill. By default, no pattern is used for filling the area. + Shape ScatterFillpatternShape `json:"shape,omitempty"` + + // Shapesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `shape`. + Shapesrc String `json:"shapesrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Solidity + // arrayOK: true + // type: number + // 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. + Solidity float64 `json:"solidity,omitempty"` + + // Soliditysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `solidity`. + Soliditysrc String `json:"soliditysrc,omitempty"` +} + +// ScatterHoverlabelFont Sets the font used in hover labels. +type ScatterHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ScatterHoverlabel +type ScatterHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align ScatterHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *ScatterHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// ScatterLegendgrouptitleFont Sets this legend group's title font. +type ScatterLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScatterLegendgrouptitle +type ScatterLegendgrouptitle struct { + + // Font + // role: Object + Font *ScatterLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// ScatterLine +type ScatterLine struct { + + // Backoff + // arrayOK: true + // type: number + // 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*. + Backoff float64 `json:"backoff,omitempty"` + + // Backoffsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `backoff`. + Backoffsrc String `json:"backoffsrc,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the line color. + Color Color `json:"color,omitempty"` + + // Dash + // arrayOK: false + // type: string + // 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*). + Dash String `json:"dash,omitempty"` + + // Shape + // default: linear + // type: enumerated + // Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes. + Shape ScatterLineShape `json:"shape,omitempty"` + + // Simplify + // arrayOK: false + // type: boolean + // 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. + Simplify Bool `json:"simplify,omitempty"` + + // Smoothing + // arrayOK: false + // type: number + // 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). + Smoothing float64 `json:"smoothing,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width (in px). + Width float64 `json:"width,omitempty"` +} + +// ScatterMarkerColorbarTickfont Sets the color bar's tick label font +type ScatterMarkerColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScatterMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type ScatterMarkerColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScatterMarkerColorbarTitle +type ScatterMarkerColorbarTitle struct { + + // Font + // role: Object + Font *ScatterMarkerColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side ScatterMarkerColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// ScatterMarkerColorbar +type ScatterMarkerColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat ScatterMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode ScatterMarkerColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ScatterMarkerColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent ScatterMarkerColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix ScatterMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix ScatterMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode ScatterMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *ScatterMarkerColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ScatterMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition ScatterMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode ScatterMarkerColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks ScatterMarkerColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *ScatterMarkerColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor ScatterMarkerColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref ScatterMarkerColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor ScatterMarkerColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref ScatterMarkerColorbarYref `json:"yref,omitempty"` +} + +// ScatterMarkerGradient +type ScatterMarkerGradient struct { + + // Color + // arrayOK: true + // type: color + // Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Type + // default: none + // type: enumerated + // Sets the type of gradient used to fill the markers + Type ScatterMarkerGradientType `json:"type,omitempty"` + + // Typesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `type`. + Typesrc String `json:"typesrc,omitempty"` +} + +// ScatterMarkerLine +type ScatterMarkerLine struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the lines bounding the marker points. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// ScatterMarker +type ScatterMarker struct { + + // Angle + // arrayOK: true + // type: angle + // Sets the marker angle in respect to `angleref`. + Angle float64 `json:"angle,omitempty"` + + // Angleref + // default: up + // type: enumerated + // 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. + Angleref ScatterMarkerAngleref `json:"angleref,omitempty"` + + // Anglesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `angle`. + Anglesrc String `json:"anglesrc,omitempty"` + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *ScatterMarkerColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Gradient + // role: Object + Gradient *ScatterMarkerGradient `json:"gradient,omitempty"` + + // Line + // role: Object + Line *ScatterMarkerLine `json:"line,omitempty"` + + // Maxdisplayed + // arrayOK: false + // type: number + // Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit. + Maxdisplayed float64 `json:"maxdisplayed,omitempty"` + + // Opacity + // arrayOK: true + // type: number + // Sets the marker opacity. + Opacity float64 `json:"opacity,omitempty"` + + // Opacitysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `opacity`. + Opacitysrc String `json:"opacitysrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the marker size (in px). + Size float64 `json:"size,omitempty"` + + // Sizemin + // arrayOK: false + // 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. + Sizemin float64 `json:"sizemin,omitempty"` + + // Sizemode + // default: diameter + // type: enumerated + // 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. + Sizemode ScatterMarkerSizemode `json:"sizemode,omitempty"` + + // Sizeref + // arrayOK: false + // type: number + // 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`. + Sizeref float64 `json:"sizeref,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Standoff + // arrayOK: true + // type: number + // 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. + Standoff float64 `json:"standoff,omitempty"` + + // Standoffsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `standoff`. + Standoffsrc String `json:"standoffsrc,omitempty"` + + // Symbol + // default: circle + // type: enumerated + // 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. + Symbol ScatterMarkerSymbol `json:"symbol,omitempty"` + + // Symbolsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `symbol`. + Symbolsrc String `json:"symbolsrc,omitempty"` +} + +// ScatterSelectedMarker +type ScatterSelectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of selected points. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of selected points. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of selected points. + Size float64 `json:"size,omitempty"` +} + +// ScatterSelectedTextfont +type ScatterSelectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of selected points. + Color Color `json:"color,omitempty"` +} + +// ScatterSelected +type ScatterSelected struct { + + // Marker + // role: Object + Marker *ScatterSelectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *ScatterSelectedTextfont `json:"textfont,omitempty"` +} + +// ScatterStream +type ScatterStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// ScatterTextfont Sets the text font. +type ScatterTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ScatterUnselectedMarker +type ScatterUnselectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of unselected points, applied only when a selection exists. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of unselected points, applied only when a selection exists. + Size float64 `json:"size,omitempty"` +} + +// ScatterUnselectedTextfont +type ScatterUnselectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` +} + +// ScatterUnselected +type ScatterUnselected struct { + + // Marker + // role: Object + Marker *ScatterUnselectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *ScatterUnselectedTextfont `json:"textfont,omitempty"` +} + +// ScatterErrorXType 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`. +type ScatterErrorXType string + +const ( + ScatterErrorXTypePercent ScatterErrorXType = "percent" + ScatterErrorXTypeConstant ScatterErrorXType = "constant" + ScatterErrorXTypeSqrt ScatterErrorXType = "sqrt" + ScatterErrorXTypeData ScatterErrorXType = "data" +) + +// ScatterErrorYType 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`. +type ScatterErrorYType string + +const ( + ScatterErrorYTypePercent ScatterErrorYType = "percent" + ScatterErrorYTypeConstant ScatterErrorYType = "constant" + ScatterErrorYTypeSqrt ScatterErrorYType = "sqrt" + ScatterErrorYTypeData ScatterErrorYType = "data" +) + +// ScatterFill 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. +type ScatterFill string + +const ( + ScatterFillNone ScatterFill = "none" + ScatterFillTozeroy ScatterFill = "tozeroy" + ScatterFillTozerox ScatterFill = "tozerox" + ScatterFillTonexty ScatterFill = "tonexty" + ScatterFillTonextx ScatterFill = "tonextx" + ScatterFillToself ScatterFill = "toself" + ScatterFillTonext ScatterFill = "tonext" +) + +// ScatterFillgradientType Sets the type/orientation of the color gradient for the fill. Defaults to *none*. +type ScatterFillgradientType string + +const ( + ScatterFillgradientTypeRadial ScatterFillgradientType = "radial" + ScatterFillgradientTypeHorizontal ScatterFillgradientType = "horizontal" + ScatterFillgradientTypeVertical ScatterFillgradientType = "vertical" + ScatterFillgradientTypeNone ScatterFillgradientType = "none" +) + +// ScatterFillpatternFillmode Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. +type ScatterFillpatternFillmode string + +const ( + ScatterFillpatternFillmodeReplace ScatterFillpatternFillmode = "replace" + ScatterFillpatternFillmodeOverlay ScatterFillpatternFillmode = "overlay" +) + +// ScatterFillpatternShape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. +type ScatterFillpatternShape string + +const ( + ScatterFillpatternShapeEmpty ScatterFillpatternShape = "" + ScatterFillpatternShapeSlash ScatterFillpatternShape = "/" + ScatterFillpatternShapeDoublebackslash ScatterFillpatternShape = "\\" + ScatterFillpatternShapeX ScatterFillpatternShape = "x" + ScatterFillpatternShapeHyphenHyphen ScatterFillpatternShape = "-" + ScatterFillpatternShapeOr ScatterFillpatternShape = "|" + ScatterFillpatternShapePlus ScatterFillpatternShape = "+" + ScatterFillpatternShapeDot ScatterFillpatternShape = "." +) + +// ScatterGroupnorm 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. +type ScatterGroupnorm string + +const ( + ScatterGroupnormEmpty ScatterGroupnorm = "" + ScatterGroupnormFraction ScatterGroupnorm = "fraction" + ScatterGroupnormPercent ScatterGroupnorm = "percent" +) + +// ScatterHoverlabelAlign 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 +type ScatterHoverlabelAlign string + +const ( + ScatterHoverlabelAlignLeft ScatterHoverlabelAlign = "left" + ScatterHoverlabelAlignRight ScatterHoverlabelAlign = "right" + ScatterHoverlabelAlignAuto ScatterHoverlabelAlign = "auto" +) + +// ScatterLineShape Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes. +type ScatterLineShape string + +const ( + ScatterLineShapeLinear ScatterLineShape = "linear" + ScatterLineShapeSpline ScatterLineShape = "spline" + ScatterLineShapeHv ScatterLineShape = "hv" + ScatterLineShapeVh ScatterLineShape = "vh" + ScatterLineShapeHvh ScatterLineShape = "hvh" + ScatterLineShapeVhv ScatterLineShape = "vhv" +) + +// ScatterMarkerAngleref 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. +type ScatterMarkerAngleref string + +const ( + ScatterMarkerAnglerefPrevious ScatterMarkerAngleref = "previous" + ScatterMarkerAnglerefUp ScatterMarkerAngleref = "up" +) + +// ScatterMarkerColorbarExponentformat 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. +type ScatterMarkerColorbarExponentformat string + +const ( + ScatterMarkerColorbarExponentformatNone ScatterMarkerColorbarExponentformat = "none" + ScatterMarkerColorbarExponentformatE1 ScatterMarkerColorbarExponentformat = "e" + ScatterMarkerColorbarExponentformatE2 ScatterMarkerColorbarExponentformat = "E" + ScatterMarkerColorbarExponentformatPower ScatterMarkerColorbarExponentformat = "power" + ScatterMarkerColorbarExponentformatSI ScatterMarkerColorbarExponentformat = "SI" + ScatterMarkerColorbarExponentformatB ScatterMarkerColorbarExponentformat = "B" +) + +// ScatterMarkerColorbarLenmode 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. +type ScatterMarkerColorbarLenmode string + +const ( + ScatterMarkerColorbarLenmodeFraction ScatterMarkerColorbarLenmode = "fraction" + ScatterMarkerColorbarLenmodePixels ScatterMarkerColorbarLenmode = "pixels" +) + +// ScatterMarkerColorbarOrientation Sets the orientation of the colorbar. +type ScatterMarkerColorbarOrientation string + +const ( + ScatterMarkerColorbarOrientationH ScatterMarkerColorbarOrientation = "h" + ScatterMarkerColorbarOrientationV ScatterMarkerColorbarOrientation = "v" +) + +// ScatterMarkerColorbarShowexponent 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. +type ScatterMarkerColorbarShowexponent string + +const ( + ScatterMarkerColorbarShowexponentAll ScatterMarkerColorbarShowexponent = "all" + ScatterMarkerColorbarShowexponentFirst ScatterMarkerColorbarShowexponent = "first" + ScatterMarkerColorbarShowexponentLast ScatterMarkerColorbarShowexponent = "last" + ScatterMarkerColorbarShowexponentNone ScatterMarkerColorbarShowexponent = "none" +) + +// ScatterMarkerColorbarShowtickprefix 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. +type ScatterMarkerColorbarShowtickprefix string + +const ( + ScatterMarkerColorbarShowtickprefixAll ScatterMarkerColorbarShowtickprefix = "all" + ScatterMarkerColorbarShowtickprefixFirst ScatterMarkerColorbarShowtickprefix = "first" + ScatterMarkerColorbarShowtickprefixLast ScatterMarkerColorbarShowtickprefix = "last" + ScatterMarkerColorbarShowtickprefixNone ScatterMarkerColorbarShowtickprefix = "none" +) + +// ScatterMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type ScatterMarkerColorbarShowticksuffix string + +const ( + ScatterMarkerColorbarShowticksuffixAll ScatterMarkerColorbarShowticksuffix = "all" + ScatterMarkerColorbarShowticksuffixFirst ScatterMarkerColorbarShowticksuffix = "first" + ScatterMarkerColorbarShowticksuffixLast ScatterMarkerColorbarShowticksuffix = "last" + ScatterMarkerColorbarShowticksuffixNone ScatterMarkerColorbarShowticksuffix = "none" +) + +// ScatterMarkerColorbarThicknessmode 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. +type ScatterMarkerColorbarThicknessmode string + +const ( + ScatterMarkerColorbarThicknessmodeFraction ScatterMarkerColorbarThicknessmode = "fraction" + ScatterMarkerColorbarThicknessmodePixels ScatterMarkerColorbarThicknessmode = "pixels" +) + +// ScatterMarkerColorbarTicklabeloverflow 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*. +type ScatterMarkerColorbarTicklabeloverflow string + +const ( + ScatterMarkerColorbarTicklabeloverflowAllow ScatterMarkerColorbarTicklabeloverflow = "allow" + ScatterMarkerColorbarTicklabeloverflowHidePastDiv ScatterMarkerColorbarTicklabeloverflow = "hide past div" + ScatterMarkerColorbarTicklabeloverflowHidePastDomain ScatterMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// ScatterMarkerColorbarTicklabelposition 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*. +type ScatterMarkerColorbarTicklabelposition string + +const ( + ScatterMarkerColorbarTicklabelpositionOutside ScatterMarkerColorbarTicklabelposition = "outside" + ScatterMarkerColorbarTicklabelpositionInside ScatterMarkerColorbarTicklabelposition = "inside" + ScatterMarkerColorbarTicklabelpositionOutsideTop ScatterMarkerColorbarTicklabelposition = "outside top" + ScatterMarkerColorbarTicklabelpositionInsideTop ScatterMarkerColorbarTicklabelposition = "inside top" + ScatterMarkerColorbarTicklabelpositionOutsideLeft ScatterMarkerColorbarTicklabelposition = "outside left" + ScatterMarkerColorbarTicklabelpositionInsideLeft ScatterMarkerColorbarTicklabelposition = "inside left" + ScatterMarkerColorbarTicklabelpositionOutsideRight ScatterMarkerColorbarTicklabelposition = "outside right" + ScatterMarkerColorbarTicklabelpositionInsideRight ScatterMarkerColorbarTicklabelposition = "inside right" + ScatterMarkerColorbarTicklabelpositionOutsideBottom ScatterMarkerColorbarTicklabelposition = "outside bottom" + ScatterMarkerColorbarTicklabelpositionInsideBottom ScatterMarkerColorbarTicklabelposition = "inside bottom" +) + +// ScatterMarkerColorbarTickmode 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). +type ScatterMarkerColorbarTickmode string + +const ( + ScatterMarkerColorbarTickmodeAuto ScatterMarkerColorbarTickmode = "auto" + ScatterMarkerColorbarTickmodeLinear ScatterMarkerColorbarTickmode = "linear" + ScatterMarkerColorbarTickmodeArray ScatterMarkerColorbarTickmode = "array" +) + +// ScatterMarkerColorbarTicks 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. +type ScatterMarkerColorbarTicks string + +const ( + ScatterMarkerColorbarTicksOutside ScatterMarkerColorbarTicks = "outside" + ScatterMarkerColorbarTicksInside ScatterMarkerColorbarTicks = "inside" + ScatterMarkerColorbarTicksEmpty ScatterMarkerColorbarTicks = "" +) + +// ScatterMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type ScatterMarkerColorbarTitleSide string + +const ( + ScatterMarkerColorbarTitleSideRight ScatterMarkerColorbarTitleSide = "right" + ScatterMarkerColorbarTitleSideTop ScatterMarkerColorbarTitleSide = "top" + ScatterMarkerColorbarTitleSideBottom ScatterMarkerColorbarTitleSide = "bottom" +) + +// ScatterMarkerColorbarXanchor 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*. +type ScatterMarkerColorbarXanchor string + +const ( + ScatterMarkerColorbarXanchorLeft ScatterMarkerColorbarXanchor = "left" + ScatterMarkerColorbarXanchorCenter ScatterMarkerColorbarXanchor = "center" + ScatterMarkerColorbarXanchorRight ScatterMarkerColorbarXanchor = "right" +) + +// ScatterMarkerColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type ScatterMarkerColorbarXref string + +const ( + ScatterMarkerColorbarXrefContainer ScatterMarkerColorbarXref = "container" + ScatterMarkerColorbarXrefPaper ScatterMarkerColorbarXref = "paper" +) + +// ScatterMarkerColorbarYanchor 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*. +type ScatterMarkerColorbarYanchor string + +const ( + ScatterMarkerColorbarYanchorTop ScatterMarkerColorbarYanchor = "top" + ScatterMarkerColorbarYanchorMiddle ScatterMarkerColorbarYanchor = "middle" + ScatterMarkerColorbarYanchorBottom ScatterMarkerColorbarYanchor = "bottom" +) + +// ScatterMarkerColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type ScatterMarkerColorbarYref string + +const ( + ScatterMarkerColorbarYrefContainer ScatterMarkerColorbarYref = "container" + ScatterMarkerColorbarYrefPaper ScatterMarkerColorbarYref = "paper" +) + +// ScatterMarkerGradientType Sets the type of gradient used to fill the markers +type ScatterMarkerGradientType string + +const ( + ScatterMarkerGradientTypeRadial ScatterMarkerGradientType = "radial" + ScatterMarkerGradientTypeHorizontal ScatterMarkerGradientType = "horizontal" + ScatterMarkerGradientTypeVertical ScatterMarkerGradientType = "vertical" + ScatterMarkerGradientTypeNone ScatterMarkerGradientType = "none" +) + +// ScatterMarkerSizemode 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. +type ScatterMarkerSizemode string + +const ( + ScatterMarkerSizemodeDiameter ScatterMarkerSizemode = "diameter" + ScatterMarkerSizemodeArea ScatterMarkerSizemode = "area" +) + +// ScatterMarkerSymbol 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. +type ScatterMarkerSymbol interface{} + +var ( + ScatterMarkerSymbolNumber0 ScatterMarkerSymbol = 0 + ScatterMarkerSymbol0 ScatterMarkerSymbol = "0" + ScatterMarkerSymbolCircle ScatterMarkerSymbol = "circle" + ScatterMarkerSymbolNumber100 ScatterMarkerSymbol = 100 + ScatterMarkerSymbol100 ScatterMarkerSymbol = "100" + ScatterMarkerSymbolCircleOpen ScatterMarkerSymbol = "circle-open" + ScatterMarkerSymbolNumber200 ScatterMarkerSymbol = 200 + ScatterMarkerSymbol200 ScatterMarkerSymbol = "200" + ScatterMarkerSymbolCircleDot ScatterMarkerSymbol = "circle-dot" + ScatterMarkerSymbolNumber300 ScatterMarkerSymbol = 300 + ScatterMarkerSymbol300 ScatterMarkerSymbol = "300" + ScatterMarkerSymbolCircleOpenDot ScatterMarkerSymbol = "circle-open-dot" + ScatterMarkerSymbolNumber1 ScatterMarkerSymbol = 1 + ScatterMarkerSymbol1 ScatterMarkerSymbol = "1" + ScatterMarkerSymbolSquare ScatterMarkerSymbol = "square" + ScatterMarkerSymbolNumber101 ScatterMarkerSymbol = 101 + ScatterMarkerSymbol101 ScatterMarkerSymbol = "101" + ScatterMarkerSymbolSquareOpen ScatterMarkerSymbol = "square-open" + ScatterMarkerSymbolNumber201 ScatterMarkerSymbol = 201 + ScatterMarkerSymbol201 ScatterMarkerSymbol = "201" + ScatterMarkerSymbolSquareDot ScatterMarkerSymbol = "square-dot" + ScatterMarkerSymbolNumber301 ScatterMarkerSymbol = 301 + ScatterMarkerSymbol301 ScatterMarkerSymbol = "301" + ScatterMarkerSymbolSquareOpenDot ScatterMarkerSymbol = "square-open-dot" + ScatterMarkerSymbolNumber2 ScatterMarkerSymbol = 2 + ScatterMarkerSymbol2 ScatterMarkerSymbol = "2" + ScatterMarkerSymbolDiamond ScatterMarkerSymbol = "diamond" + ScatterMarkerSymbolNumber102 ScatterMarkerSymbol = 102 + ScatterMarkerSymbol102 ScatterMarkerSymbol = "102" + ScatterMarkerSymbolDiamondOpen ScatterMarkerSymbol = "diamond-open" + ScatterMarkerSymbolNumber202 ScatterMarkerSymbol = 202 + ScatterMarkerSymbol202 ScatterMarkerSymbol = "202" + ScatterMarkerSymbolDiamondDot ScatterMarkerSymbol = "diamond-dot" + ScatterMarkerSymbolNumber302 ScatterMarkerSymbol = 302 + ScatterMarkerSymbol302 ScatterMarkerSymbol = "302" + ScatterMarkerSymbolDiamondOpenDot ScatterMarkerSymbol = "diamond-open-dot" + ScatterMarkerSymbolNumber3 ScatterMarkerSymbol = 3 + ScatterMarkerSymbol3 ScatterMarkerSymbol = "3" + ScatterMarkerSymbolCross ScatterMarkerSymbol = "cross" + ScatterMarkerSymbolNumber103 ScatterMarkerSymbol = 103 + ScatterMarkerSymbol103 ScatterMarkerSymbol = "103" + ScatterMarkerSymbolCrossOpen ScatterMarkerSymbol = "cross-open" + ScatterMarkerSymbolNumber203 ScatterMarkerSymbol = 203 + ScatterMarkerSymbol203 ScatterMarkerSymbol = "203" + ScatterMarkerSymbolCrossDot ScatterMarkerSymbol = "cross-dot" + ScatterMarkerSymbolNumber303 ScatterMarkerSymbol = 303 + ScatterMarkerSymbol303 ScatterMarkerSymbol = "303" + ScatterMarkerSymbolCrossOpenDot ScatterMarkerSymbol = "cross-open-dot" + ScatterMarkerSymbolNumber4 ScatterMarkerSymbol = 4 + ScatterMarkerSymbol4 ScatterMarkerSymbol = "4" + ScatterMarkerSymbolX ScatterMarkerSymbol = "x" + ScatterMarkerSymbolNumber104 ScatterMarkerSymbol = 104 + ScatterMarkerSymbol104 ScatterMarkerSymbol = "104" + ScatterMarkerSymbolXOpen ScatterMarkerSymbol = "x-open" + ScatterMarkerSymbolNumber204 ScatterMarkerSymbol = 204 + ScatterMarkerSymbol204 ScatterMarkerSymbol = "204" + ScatterMarkerSymbolXDot ScatterMarkerSymbol = "x-dot" + ScatterMarkerSymbolNumber304 ScatterMarkerSymbol = 304 + ScatterMarkerSymbol304 ScatterMarkerSymbol = "304" + ScatterMarkerSymbolXOpenDot ScatterMarkerSymbol = "x-open-dot" + ScatterMarkerSymbolNumber5 ScatterMarkerSymbol = 5 + ScatterMarkerSymbol5 ScatterMarkerSymbol = "5" + ScatterMarkerSymbolTriangleUp ScatterMarkerSymbol = "triangle-up" + ScatterMarkerSymbolNumber105 ScatterMarkerSymbol = 105 + ScatterMarkerSymbol105 ScatterMarkerSymbol = "105" + ScatterMarkerSymbolTriangleUpOpen ScatterMarkerSymbol = "triangle-up-open" + ScatterMarkerSymbolNumber205 ScatterMarkerSymbol = 205 + ScatterMarkerSymbol205 ScatterMarkerSymbol = "205" + ScatterMarkerSymbolTriangleUpDot ScatterMarkerSymbol = "triangle-up-dot" + ScatterMarkerSymbolNumber305 ScatterMarkerSymbol = 305 + ScatterMarkerSymbol305 ScatterMarkerSymbol = "305" + ScatterMarkerSymbolTriangleUpOpenDot ScatterMarkerSymbol = "triangle-up-open-dot" + ScatterMarkerSymbolNumber6 ScatterMarkerSymbol = 6 + ScatterMarkerSymbol6 ScatterMarkerSymbol = "6" + ScatterMarkerSymbolTriangleDown ScatterMarkerSymbol = "triangle-down" + ScatterMarkerSymbolNumber106 ScatterMarkerSymbol = 106 + ScatterMarkerSymbol106 ScatterMarkerSymbol = "106" + ScatterMarkerSymbolTriangleDownOpen ScatterMarkerSymbol = "triangle-down-open" + ScatterMarkerSymbolNumber206 ScatterMarkerSymbol = 206 + ScatterMarkerSymbol206 ScatterMarkerSymbol = "206" + ScatterMarkerSymbolTriangleDownDot ScatterMarkerSymbol = "triangle-down-dot" + ScatterMarkerSymbolNumber306 ScatterMarkerSymbol = 306 + ScatterMarkerSymbol306 ScatterMarkerSymbol = "306" + ScatterMarkerSymbolTriangleDownOpenDot ScatterMarkerSymbol = "triangle-down-open-dot" + ScatterMarkerSymbolNumber7 ScatterMarkerSymbol = 7 + ScatterMarkerSymbol7 ScatterMarkerSymbol = "7" + ScatterMarkerSymbolTriangleLeft ScatterMarkerSymbol = "triangle-left" + ScatterMarkerSymbolNumber107 ScatterMarkerSymbol = 107 + ScatterMarkerSymbol107 ScatterMarkerSymbol = "107" + ScatterMarkerSymbolTriangleLeftOpen ScatterMarkerSymbol = "triangle-left-open" + ScatterMarkerSymbolNumber207 ScatterMarkerSymbol = 207 + ScatterMarkerSymbol207 ScatterMarkerSymbol = "207" + ScatterMarkerSymbolTriangleLeftDot ScatterMarkerSymbol = "triangle-left-dot" + ScatterMarkerSymbolNumber307 ScatterMarkerSymbol = 307 + ScatterMarkerSymbol307 ScatterMarkerSymbol = "307" + ScatterMarkerSymbolTriangleLeftOpenDot ScatterMarkerSymbol = "triangle-left-open-dot" + ScatterMarkerSymbolNumber8 ScatterMarkerSymbol = 8 + ScatterMarkerSymbol8 ScatterMarkerSymbol = "8" + ScatterMarkerSymbolTriangleRight ScatterMarkerSymbol = "triangle-right" + ScatterMarkerSymbolNumber108 ScatterMarkerSymbol = 108 + ScatterMarkerSymbol108 ScatterMarkerSymbol = "108" + ScatterMarkerSymbolTriangleRightOpen ScatterMarkerSymbol = "triangle-right-open" + ScatterMarkerSymbolNumber208 ScatterMarkerSymbol = 208 + ScatterMarkerSymbol208 ScatterMarkerSymbol = "208" + ScatterMarkerSymbolTriangleRightDot ScatterMarkerSymbol = "triangle-right-dot" + ScatterMarkerSymbolNumber308 ScatterMarkerSymbol = 308 + ScatterMarkerSymbol308 ScatterMarkerSymbol = "308" + ScatterMarkerSymbolTriangleRightOpenDot ScatterMarkerSymbol = "triangle-right-open-dot" + ScatterMarkerSymbolNumber9 ScatterMarkerSymbol = 9 + ScatterMarkerSymbol9 ScatterMarkerSymbol = "9" + ScatterMarkerSymbolTriangleNe ScatterMarkerSymbol = "triangle-ne" + ScatterMarkerSymbolNumber109 ScatterMarkerSymbol = 109 + ScatterMarkerSymbol109 ScatterMarkerSymbol = "109" + ScatterMarkerSymbolTriangleNeOpen ScatterMarkerSymbol = "triangle-ne-open" + ScatterMarkerSymbolNumber209 ScatterMarkerSymbol = 209 + ScatterMarkerSymbol209 ScatterMarkerSymbol = "209" + ScatterMarkerSymbolTriangleNeDot ScatterMarkerSymbol = "triangle-ne-dot" + ScatterMarkerSymbolNumber309 ScatterMarkerSymbol = 309 + ScatterMarkerSymbol309 ScatterMarkerSymbol = "309" + ScatterMarkerSymbolTriangleNeOpenDot ScatterMarkerSymbol = "triangle-ne-open-dot" + ScatterMarkerSymbolNumber10 ScatterMarkerSymbol = 10 + ScatterMarkerSymbol10 ScatterMarkerSymbol = "10" + ScatterMarkerSymbolTriangleSe ScatterMarkerSymbol = "triangle-se" + ScatterMarkerSymbolNumber110 ScatterMarkerSymbol = 110 + ScatterMarkerSymbol110 ScatterMarkerSymbol = "110" + ScatterMarkerSymbolTriangleSeOpen ScatterMarkerSymbol = "triangle-se-open" + ScatterMarkerSymbolNumber210 ScatterMarkerSymbol = 210 + ScatterMarkerSymbol210 ScatterMarkerSymbol = "210" + ScatterMarkerSymbolTriangleSeDot ScatterMarkerSymbol = "triangle-se-dot" + ScatterMarkerSymbolNumber310 ScatterMarkerSymbol = 310 + ScatterMarkerSymbol310 ScatterMarkerSymbol = "310" + ScatterMarkerSymbolTriangleSeOpenDot ScatterMarkerSymbol = "triangle-se-open-dot" + ScatterMarkerSymbolNumber11 ScatterMarkerSymbol = 11 + ScatterMarkerSymbol11 ScatterMarkerSymbol = "11" + ScatterMarkerSymbolTriangleSw ScatterMarkerSymbol = "triangle-sw" + ScatterMarkerSymbolNumber111 ScatterMarkerSymbol = 111 + ScatterMarkerSymbol111 ScatterMarkerSymbol = "111" + ScatterMarkerSymbolTriangleSwOpen ScatterMarkerSymbol = "triangle-sw-open" + ScatterMarkerSymbolNumber211 ScatterMarkerSymbol = 211 + ScatterMarkerSymbol211 ScatterMarkerSymbol = "211" + ScatterMarkerSymbolTriangleSwDot ScatterMarkerSymbol = "triangle-sw-dot" + ScatterMarkerSymbolNumber311 ScatterMarkerSymbol = 311 + ScatterMarkerSymbol311 ScatterMarkerSymbol = "311" + ScatterMarkerSymbolTriangleSwOpenDot ScatterMarkerSymbol = "triangle-sw-open-dot" + ScatterMarkerSymbolNumber12 ScatterMarkerSymbol = 12 + ScatterMarkerSymbol12 ScatterMarkerSymbol = "12" + ScatterMarkerSymbolTriangleNw ScatterMarkerSymbol = "triangle-nw" + ScatterMarkerSymbolNumber112 ScatterMarkerSymbol = 112 + ScatterMarkerSymbol112 ScatterMarkerSymbol = "112" + ScatterMarkerSymbolTriangleNwOpen ScatterMarkerSymbol = "triangle-nw-open" + ScatterMarkerSymbolNumber212 ScatterMarkerSymbol = 212 + ScatterMarkerSymbol212 ScatterMarkerSymbol = "212" + ScatterMarkerSymbolTriangleNwDot ScatterMarkerSymbol = "triangle-nw-dot" + ScatterMarkerSymbolNumber312 ScatterMarkerSymbol = 312 + ScatterMarkerSymbol312 ScatterMarkerSymbol = "312" + ScatterMarkerSymbolTriangleNwOpenDot ScatterMarkerSymbol = "triangle-nw-open-dot" + ScatterMarkerSymbolNumber13 ScatterMarkerSymbol = 13 + ScatterMarkerSymbol13 ScatterMarkerSymbol = "13" + ScatterMarkerSymbolPentagon ScatterMarkerSymbol = "pentagon" + ScatterMarkerSymbolNumber113 ScatterMarkerSymbol = 113 + ScatterMarkerSymbol113 ScatterMarkerSymbol = "113" + ScatterMarkerSymbolPentagonOpen ScatterMarkerSymbol = "pentagon-open" + ScatterMarkerSymbolNumber213 ScatterMarkerSymbol = 213 + ScatterMarkerSymbol213 ScatterMarkerSymbol = "213" + ScatterMarkerSymbolPentagonDot ScatterMarkerSymbol = "pentagon-dot" + ScatterMarkerSymbolNumber313 ScatterMarkerSymbol = 313 + ScatterMarkerSymbol313 ScatterMarkerSymbol = "313" + ScatterMarkerSymbolPentagonOpenDot ScatterMarkerSymbol = "pentagon-open-dot" + ScatterMarkerSymbolNumber14 ScatterMarkerSymbol = 14 + ScatterMarkerSymbol14 ScatterMarkerSymbol = "14" + ScatterMarkerSymbolHexagon ScatterMarkerSymbol = "hexagon" + ScatterMarkerSymbolNumber114 ScatterMarkerSymbol = 114 + ScatterMarkerSymbol114 ScatterMarkerSymbol = "114" + ScatterMarkerSymbolHexagonOpen ScatterMarkerSymbol = "hexagon-open" + ScatterMarkerSymbolNumber214 ScatterMarkerSymbol = 214 + ScatterMarkerSymbol214 ScatterMarkerSymbol = "214" + ScatterMarkerSymbolHexagonDot ScatterMarkerSymbol = "hexagon-dot" + ScatterMarkerSymbolNumber314 ScatterMarkerSymbol = 314 + ScatterMarkerSymbol314 ScatterMarkerSymbol = "314" + ScatterMarkerSymbolHexagonOpenDot ScatterMarkerSymbol = "hexagon-open-dot" + ScatterMarkerSymbolNumber15 ScatterMarkerSymbol = 15 + ScatterMarkerSymbol15 ScatterMarkerSymbol = "15" + ScatterMarkerSymbolHexagon2 ScatterMarkerSymbol = "hexagon2" + ScatterMarkerSymbolNumber115 ScatterMarkerSymbol = 115 + ScatterMarkerSymbol115 ScatterMarkerSymbol = "115" + ScatterMarkerSymbolHexagon2Open ScatterMarkerSymbol = "hexagon2-open" + ScatterMarkerSymbolNumber215 ScatterMarkerSymbol = 215 + ScatterMarkerSymbol215 ScatterMarkerSymbol = "215" + ScatterMarkerSymbolHexagon2Dot ScatterMarkerSymbol = "hexagon2-dot" + ScatterMarkerSymbolNumber315 ScatterMarkerSymbol = 315 + ScatterMarkerSymbol315 ScatterMarkerSymbol = "315" + ScatterMarkerSymbolHexagon2OpenDot ScatterMarkerSymbol = "hexagon2-open-dot" + ScatterMarkerSymbolNumber16 ScatterMarkerSymbol = 16 + ScatterMarkerSymbol16 ScatterMarkerSymbol = "16" + ScatterMarkerSymbolOctagon ScatterMarkerSymbol = "octagon" + ScatterMarkerSymbolNumber116 ScatterMarkerSymbol = 116 + ScatterMarkerSymbol116 ScatterMarkerSymbol = "116" + ScatterMarkerSymbolOctagonOpen ScatterMarkerSymbol = "octagon-open" + ScatterMarkerSymbolNumber216 ScatterMarkerSymbol = 216 + ScatterMarkerSymbol216 ScatterMarkerSymbol = "216" + ScatterMarkerSymbolOctagonDot ScatterMarkerSymbol = "octagon-dot" + ScatterMarkerSymbolNumber316 ScatterMarkerSymbol = 316 + ScatterMarkerSymbol316 ScatterMarkerSymbol = "316" + ScatterMarkerSymbolOctagonOpenDot ScatterMarkerSymbol = "octagon-open-dot" + ScatterMarkerSymbolNumber17 ScatterMarkerSymbol = 17 + ScatterMarkerSymbol17 ScatterMarkerSymbol = "17" + ScatterMarkerSymbolStar ScatterMarkerSymbol = "star" + ScatterMarkerSymbolNumber117 ScatterMarkerSymbol = 117 + ScatterMarkerSymbol117 ScatterMarkerSymbol = "117" + ScatterMarkerSymbolStarOpen ScatterMarkerSymbol = "star-open" + ScatterMarkerSymbolNumber217 ScatterMarkerSymbol = 217 + ScatterMarkerSymbol217 ScatterMarkerSymbol = "217" + ScatterMarkerSymbolStarDot ScatterMarkerSymbol = "star-dot" + ScatterMarkerSymbolNumber317 ScatterMarkerSymbol = 317 + ScatterMarkerSymbol317 ScatterMarkerSymbol = "317" + ScatterMarkerSymbolStarOpenDot ScatterMarkerSymbol = "star-open-dot" + ScatterMarkerSymbolNumber18 ScatterMarkerSymbol = 18 + ScatterMarkerSymbol18 ScatterMarkerSymbol = "18" + ScatterMarkerSymbolHexagram ScatterMarkerSymbol = "hexagram" + ScatterMarkerSymbolNumber118 ScatterMarkerSymbol = 118 + ScatterMarkerSymbol118 ScatterMarkerSymbol = "118" + ScatterMarkerSymbolHexagramOpen ScatterMarkerSymbol = "hexagram-open" + ScatterMarkerSymbolNumber218 ScatterMarkerSymbol = 218 + ScatterMarkerSymbol218 ScatterMarkerSymbol = "218" + ScatterMarkerSymbolHexagramDot ScatterMarkerSymbol = "hexagram-dot" + ScatterMarkerSymbolNumber318 ScatterMarkerSymbol = 318 + ScatterMarkerSymbol318 ScatterMarkerSymbol = "318" + ScatterMarkerSymbolHexagramOpenDot ScatterMarkerSymbol = "hexagram-open-dot" + ScatterMarkerSymbolNumber19 ScatterMarkerSymbol = 19 + ScatterMarkerSymbol19 ScatterMarkerSymbol = "19" + ScatterMarkerSymbolStarTriangleUp ScatterMarkerSymbol = "star-triangle-up" + ScatterMarkerSymbolNumber119 ScatterMarkerSymbol = 119 + ScatterMarkerSymbol119 ScatterMarkerSymbol = "119" + ScatterMarkerSymbolStarTriangleUpOpen ScatterMarkerSymbol = "star-triangle-up-open" + ScatterMarkerSymbolNumber219 ScatterMarkerSymbol = 219 + ScatterMarkerSymbol219 ScatterMarkerSymbol = "219" + ScatterMarkerSymbolStarTriangleUpDot ScatterMarkerSymbol = "star-triangle-up-dot" + ScatterMarkerSymbolNumber319 ScatterMarkerSymbol = 319 + ScatterMarkerSymbol319 ScatterMarkerSymbol = "319" + ScatterMarkerSymbolStarTriangleUpOpenDot ScatterMarkerSymbol = "star-triangle-up-open-dot" + ScatterMarkerSymbolNumber20 ScatterMarkerSymbol = 20 + ScatterMarkerSymbol20 ScatterMarkerSymbol = "20" + ScatterMarkerSymbolStarTriangleDown ScatterMarkerSymbol = "star-triangle-down" + ScatterMarkerSymbolNumber120 ScatterMarkerSymbol = 120 + ScatterMarkerSymbol120 ScatterMarkerSymbol = "120" + ScatterMarkerSymbolStarTriangleDownOpen ScatterMarkerSymbol = "star-triangle-down-open" + ScatterMarkerSymbolNumber220 ScatterMarkerSymbol = 220 + ScatterMarkerSymbol220 ScatterMarkerSymbol = "220" + ScatterMarkerSymbolStarTriangleDownDot ScatterMarkerSymbol = "star-triangle-down-dot" + ScatterMarkerSymbolNumber320 ScatterMarkerSymbol = 320 + ScatterMarkerSymbol320 ScatterMarkerSymbol = "320" + ScatterMarkerSymbolStarTriangleDownOpenDot ScatterMarkerSymbol = "star-triangle-down-open-dot" + ScatterMarkerSymbolNumber21 ScatterMarkerSymbol = 21 + ScatterMarkerSymbol21 ScatterMarkerSymbol = "21" + ScatterMarkerSymbolStarSquare ScatterMarkerSymbol = "star-square" + ScatterMarkerSymbolNumber121 ScatterMarkerSymbol = 121 + ScatterMarkerSymbol121 ScatterMarkerSymbol = "121" + ScatterMarkerSymbolStarSquareOpen ScatterMarkerSymbol = "star-square-open" + ScatterMarkerSymbolNumber221 ScatterMarkerSymbol = 221 + ScatterMarkerSymbol221 ScatterMarkerSymbol = "221" + ScatterMarkerSymbolStarSquareDot ScatterMarkerSymbol = "star-square-dot" + ScatterMarkerSymbolNumber321 ScatterMarkerSymbol = 321 + ScatterMarkerSymbol321 ScatterMarkerSymbol = "321" + ScatterMarkerSymbolStarSquareOpenDot ScatterMarkerSymbol = "star-square-open-dot" + ScatterMarkerSymbolNumber22 ScatterMarkerSymbol = 22 + ScatterMarkerSymbol22 ScatterMarkerSymbol = "22" + ScatterMarkerSymbolStarDiamond ScatterMarkerSymbol = "star-diamond" + ScatterMarkerSymbolNumber122 ScatterMarkerSymbol = 122 + ScatterMarkerSymbol122 ScatterMarkerSymbol = "122" + ScatterMarkerSymbolStarDiamondOpen ScatterMarkerSymbol = "star-diamond-open" + ScatterMarkerSymbolNumber222 ScatterMarkerSymbol = 222 + ScatterMarkerSymbol222 ScatterMarkerSymbol = "222" + ScatterMarkerSymbolStarDiamondDot ScatterMarkerSymbol = "star-diamond-dot" + ScatterMarkerSymbolNumber322 ScatterMarkerSymbol = 322 + ScatterMarkerSymbol322 ScatterMarkerSymbol = "322" + ScatterMarkerSymbolStarDiamondOpenDot ScatterMarkerSymbol = "star-diamond-open-dot" + ScatterMarkerSymbolNumber23 ScatterMarkerSymbol = 23 + ScatterMarkerSymbol23 ScatterMarkerSymbol = "23" + ScatterMarkerSymbolDiamondTall ScatterMarkerSymbol = "diamond-tall" + ScatterMarkerSymbolNumber123 ScatterMarkerSymbol = 123 + ScatterMarkerSymbol123 ScatterMarkerSymbol = "123" + ScatterMarkerSymbolDiamondTallOpen ScatterMarkerSymbol = "diamond-tall-open" + ScatterMarkerSymbolNumber223 ScatterMarkerSymbol = 223 + ScatterMarkerSymbol223 ScatterMarkerSymbol = "223" + ScatterMarkerSymbolDiamondTallDot ScatterMarkerSymbol = "diamond-tall-dot" + ScatterMarkerSymbolNumber323 ScatterMarkerSymbol = 323 + ScatterMarkerSymbol323 ScatterMarkerSymbol = "323" + ScatterMarkerSymbolDiamondTallOpenDot ScatterMarkerSymbol = "diamond-tall-open-dot" + ScatterMarkerSymbolNumber24 ScatterMarkerSymbol = 24 + ScatterMarkerSymbol24 ScatterMarkerSymbol = "24" + ScatterMarkerSymbolDiamondWide ScatterMarkerSymbol = "diamond-wide" + ScatterMarkerSymbolNumber124 ScatterMarkerSymbol = 124 + ScatterMarkerSymbol124 ScatterMarkerSymbol = "124" + ScatterMarkerSymbolDiamondWideOpen ScatterMarkerSymbol = "diamond-wide-open" + ScatterMarkerSymbolNumber224 ScatterMarkerSymbol = 224 + ScatterMarkerSymbol224 ScatterMarkerSymbol = "224" + ScatterMarkerSymbolDiamondWideDot ScatterMarkerSymbol = "diamond-wide-dot" + ScatterMarkerSymbolNumber324 ScatterMarkerSymbol = 324 + ScatterMarkerSymbol324 ScatterMarkerSymbol = "324" + ScatterMarkerSymbolDiamondWideOpenDot ScatterMarkerSymbol = "diamond-wide-open-dot" + ScatterMarkerSymbolNumber25 ScatterMarkerSymbol = 25 + ScatterMarkerSymbol25 ScatterMarkerSymbol = "25" + ScatterMarkerSymbolHourglass ScatterMarkerSymbol = "hourglass" + ScatterMarkerSymbolNumber125 ScatterMarkerSymbol = 125 + ScatterMarkerSymbol125 ScatterMarkerSymbol = "125" + ScatterMarkerSymbolHourglassOpen ScatterMarkerSymbol = "hourglass-open" + ScatterMarkerSymbolNumber26 ScatterMarkerSymbol = 26 + ScatterMarkerSymbol26 ScatterMarkerSymbol = "26" + ScatterMarkerSymbolBowtie ScatterMarkerSymbol = "bowtie" + ScatterMarkerSymbolNumber126 ScatterMarkerSymbol = 126 + ScatterMarkerSymbol126 ScatterMarkerSymbol = "126" + ScatterMarkerSymbolBowtieOpen ScatterMarkerSymbol = "bowtie-open" + ScatterMarkerSymbolNumber27 ScatterMarkerSymbol = 27 + ScatterMarkerSymbol27 ScatterMarkerSymbol = "27" + ScatterMarkerSymbolCircleCross ScatterMarkerSymbol = "circle-cross" + ScatterMarkerSymbolNumber127 ScatterMarkerSymbol = 127 + ScatterMarkerSymbol127 ScatterMarkerSymbol = "127" + ScatterMarkerSymbolCircleCrossOpen ScatterMarkerSymbol = "circle-cross-open" + ScatterMarkerSymbolNumber28 ScatterMarkerSymbol = 28 + ScatterMarkerSymbol28 ScatterMarkerSymbol = "28" + ScatterMarkerSymbolCircleX ScatterMarkerSymbol = "circle-x" + ScatterMarkerSymbolNumber128 ScatterMarkerSymbol = 128 + ScatterMarkerSymbol128 ScatterMarkerSymbol = "128" + ScatterMarkerSymbolCircleXOpen ScatterMarkerSymbol = "circle-x-open" + ScatterMarkerSymbolNumber29 ScatterMarkerSymbol = 29 + ScatterMarkerSymbol29 ScatterMarkerSymbol = "29" + ScatterMarkerSymbolSquareCross ScatterMarkerSymbol = "square-cross" + ScatterMarkerSymbolNumber129 ScatterMarkerSymbol = 129 + ScatterMarkerSymbol129 ScatterMarkerSymbol = "129" + ScatterMarkerSymbolSquareCrossOpen ScatterMarkerSymbol = "square-cross-open" + ScatterMarkerSymbolNumber30 ScatterMarkerSymbol = 30 + ScatterMarkerSymbol30 ScatterMarkerSymbol = "30" + ScatterMarkerSymbolSquareX ScatterMarkerSymbol = "square-x" + ScatterMarkerSymbolNumber130 ScatterMarkerSymbol = 130 + ScatterMarkerSymbol130 ScatterMarkerSymbol = "130" + ScatterMarkerSymbolSquareXOpen ScatterMarkerSymbol = "square-x-open" + ScatterMarkerSymbolNumber31 ScatterMarkerSymbol = 31 + ScatterMarkerSymbol31 ScatterMarkerSymbol = "31" + ScatterMarkerSymbolDiamondCross ScatterMarkerSymbol = "diamond-cross" + ScatterMarkerSymbolNumber131 ScatterMarkerSymbol = 131 + ScatterMarkerSymbol131 ScatterMarkerSymbol = "131" + ScatterMarkerSymbolDiamondCrossOpen ScatterMarkerSymbol = "diamond-cross-open" + ScatterMarkerSymbolNumber32 ScatterMarkerSymbol = 32 + ScatterMarkerSymbol32 ScatterMarkerSymbol = "32" + ScatterMarkerSymbolDiamondX ScatterMarkerSymbol = "diamond-x" + ScatterMarkerSymbolNumber132 ScatterMarkerSymbol = 132 + ScatterMarkerSymbol132 ScatterMarkerSymbol = "132" + ScatterMarkerSymbolDiamondXOpen ScatterMarkerSymbol = "diamond-x-open" + ScatterMarkerSymbolNumber33 ScatterMarkerSymbol = 33 + ScatterMarkerSymbol33 ScatterMarkerSymbol = "33" + ScatterMarkerSymbolCrossThin ScatterMarkerSymbol = "cross-thin" + ScatterMarkerSymbolNumber133 ScatterMarkerSymbol = 133 + ScatterMarkerSymbol133 ScatterMarkerSymbol = "133" + ScatterMarkerSymbolCrossThinOpen ScatterMarkerSymbol = "cross-thin-open" + ScatterMarkerSymbolNumber34 ScatterMarkerSymbol = 34 + ScatterMarkerSymbol34 ScatterMarkerSymbol = "34" + ScatterMarkerSymbolXThin ScatterMarkerSymbol = "x-thin" + ScatterMarkerSymbolNumber134 ScatterMarkerSymbol = 134 + ScatterMarkerSymbol134 ScatterMarkerSymbol = "134" + ScatterMarkerSymbolXThinOpen ScatterMarkerSymbol = "x-thin-open" + ScatterMarkerSymbolNumber35 ScatterMarkerSymbol = 35 + ScatterMarkerSymbol35 ScatterMarkerSymbol = "35" + ScatterMarkerSymbolAsterisk ScatterMarkerSymbol = "asterisk" + ScatterMarkerSymbolNumber135 ScatterMarkerSymbol = 135 + ScatterMarkerSymbol135 ScatterMarkerSymbol = "135" + ScatterMarkerSymbolAsteriskOpen ScatterMarkerSymbol = "asterisk-open" + ScatterMarkerSymbolNumber36 ScatterMarkerSymbol = 36 + ScatterMarkerSymbol36 ScatterMarkerSymbol = "36" + ScatterMarkerSymbolHash ScatterMarkerSymbol = "hash" + ScatterMarkerSymbolNumber136 ScatterMarkerSymbol = 136 + ScatterMarkerSymbol136 ScatterMarkerSymbol = "136" + ScatterMarkerSymbolHashOpen ScatterMarkerSymbol = "hash-open" + ScatterMarkerSymbolNumber236 ScatterMarkerSymbol = 236 + ScatterMarkerSymbol236 ScatterMarkerSymbol = "236" + ScatterMarkerSymbolHashDot ScatterMarkerSymbol = "hash-dot" + ScatterMarkerSymbolNumber336 ScatterMarkerSymbol = 336 + ScatterMarkerSymbol336 ScatterMarkerSymbol = "336" + ScatterMarkerSymbolHashOpenDot ScatterMarkerSymbol = "hash-open-dot" + ScatterMarkerSymbolNumber37 ScatterMarkerSymbol = 37 + ScatterMarkerSymbol37 ScatterMarkerSymbol = "37" + ScatterMarkerSymbolYUp ScatterMarkerSymbol = "y-up" + ScatterMarkerSymbolNumber137 ScatterMarkerSymbol = 137 + ScatterMarkerSymbol137 ScatterMarkerSymbol = "137" + ScatterMarkerSymbolYUpOpen ScatterMarkerSymbol = "y-up-open" + ScatterMarkerSymbolNumber38 ScatterMarkerSymbol = 38 + ScatterMarkerSymbol38 ScatterMarkerSymbol = "38" + ScatterMarkerSymbolYDown ScatterMarkerSymbol = "y-down" + ScatterMarkerSymbolNumber138 ScatterMarkerSymbol = 138 + ScatterMarkerSymbol138 ScatterMarkerSymbol = "138" + ScatterMarkerSymbolYDownOpen ScatterMarkerSymbol = "y-down-open" + ScatterMarkerSymbolNumber39 ScatterMarkerSymbol = 39 + ScatterMarkerSymbol39 ScatterMarkerSymbol = "39" + ScatterMarkerSymbolYLeft ScatterMarkerSymbol = "y-left" + ScatterMarkerSymbolNumber139 ScatterMarkerSymbol = 139 + ScatterMarkerSymbol139 ScatterMarkerSymbol = "139" + ScatterMarkerSymbolYLeftOpen ScatterMarkerSymbol = "y-left-open" + ScatterMarkerSymbolNumber40 ScatterMarkerSymbol = 40 + ScatterMarkerSymbol40 ScatterMarkerSymbol = "40" + ScatterMarkerSymbolYRight ScatterMarkerSymbol = "y-right" + ScatterMarkerSymbolNumber140 ScatterMarkerSymbol = 140 + ScatterMarkerSymbol140 ScatterMarkerSymbol = "140" + ScatterMarkerSymbolYRightOpen ScatterMarkerSymbol = "y-right-open" + ScatterMarkerSymbolNumber41 ScatterMarkerSymbol = 41 + ScatterMarkerSymbol41 ScatterMarkerSymbol = "41" + ScatterMarkerSymbolLineEw ScatterMarkerSymbol = "line-ew" + ScatterMarkerSymbolNumber141 ScatterMarkerSymbol = 141 + ScatterMarkerSymbol141 ScatterMarkerSymbol = "141" + ScatterMarkerSymbolLineEwOpen ScatterMarkerSymbol = "line-ew-open" + ScatterMarkerSymbolNumber42 ScatterMarkerSymbol = 42 + ScatterMarkerSymbol42 ScatterMarkerSymbol = "42" + ScatterMarkerSymbolLineNs ScatterMarkerSymbol = "line-ns" + ScatterMarkerSymbolNumber142 ScatterMarkerSymbol = 142 + ScatterMarkerSymbol142 ScatterMarkerSymbol = "142" + ScatterMarkerSymbolLineNsOpen ScatterMarkerSymbol = "line-ns-open" + ScatterMarkerSymbolNumber43 ScatterMarkerSymbol = 43 + ScatterMarkerSymbol43 ScatterMarkerSymbol = "43" + ScatterMarkerSymbolLineNe ScatterMarkerSymbol = "line-ne" + ScatterMarkerSymbolNumber143 ScatterMarkerSymbol = 143 + ScatterMarkerSymbol143 ScatterMarkerSymbol = "143" + ScatterMarkerSymbolLineNeOpen ScatterMarkerSymbol = "line-ne-open" + ScatterMarkerSymbolNumber44 ScatterMarkerSymbol = 44 + ScatterMarkerSymbol44 ScatterMarkerSymbol = "44" + ScatterMarkerSymbolLineNw ScatterMarkerSymbol = "line-nw" + ScatterMarkerSymbolNumber144 ScatterMarkerSymbol = 144 + ScatterMarkerSymbol144 ScatterMarkerSymbol = "144" + ScatterMarkerSymbolLineNwOpen ScatterMarkerSymbol = "line-nw-open" + ScatterMarkerSymbolNumber45 ScatterMarkerSymbol = 45 + ScatterMarkerSymbol45 ScatterMarkerSymbol = "45" + ScatterMarkerSymbolArrowUp ScatterMarkerSymbol = "arrow-up" + ScatterMarkerSymbolNumber145 ScatterMarkerSymbol = 145 + ScatterMarkerSymbol145 ScatterMarkerSymbol = "145" + ScatterMarkerSymbolArrowUpOpen ScatterMarkerSymbol = "arrow-up-open" + ScatterMarkerSymbolNumber46 ScatterMarkerSymbol = 46 + ScatterMarkerSymbol46 ScatterMarkerSymbol = "46" + ScatterMarkerSymbolArrowDown ScatterMarkerSymbol = "arrow-down" + ScatterMarkerSymbolNumber146 ScatterMarkerSymbol = 146 + ScatterMarkerSymbol146 ScatterMarkerSymbol = "146" + ScatterMarkerSymbolArrowDownOpen ScatterMarkerSymbol = "arrow-down-open" + ScatterMarkerSymbolNumber47 ScatterMarkerSymbol = 47 + ScatterMarkerSymbol47 ScatterMarkerSymbol = "47" + ScatterMarkerSymbolArrowLeft ScatterMarkerSymbol = "arrow-left" + ScatterMarkerSymbolNumber147 ScatterMarkerSymbol = 147 + ScatterMarkerSymbol147 ScatterMarkerSymbol = "147" + ScatterMarkerSymbolArrowLeftOpen ScatterMarkerSymbol = "arrow-left-open" + ScatterMarkerSymbolNumber48 ScatterMarkerSymbol = 48 + ScatterMarkerSymbol48 ScatterMarkerSymbol = "48" + ScatterMarkerSymbolArrowRight ScatterMarkerSymbol = "arrow-right" + ScatterMarkerSymbolNumber148 ScatterMarkerSymbol = 148 + ScatterMarkerSymbol148 ScatterMarkerSymbol = "148" + ScatterMarkerSymbolArrowRightOpen ScatterMarkerSymbol = "arrow-right-open" + ScatterMarkerSymbolNumber49 ScatterMarkerSymbol = 49 + ScatterMarkerSymbol49 ScatterMarkerSymbol = "49" + ScatterMarkerSymbolArrowBarUp ScatterMarkerSymbol = "arrow-bar-up" + ScatterMarkerSymbolNumber149 ScatterMarkerSymbol = 149 + ScatterMarkerSymbol149 ScatterMarkerSymbol = "149" + ScatterMarkerSymbolArrowBarUpOpen ScatterMarkerSymbol = "arrow-bar-up-open" + ScatterMarkerSymbolNumber50 ScatterMarkerSymbol = 50 + ScatterMarkerSymbol50 ScatterMarkerSymbol = "50" + ScatterMarkerSymbolArrowBarDown ScatterMarkerSymbol = "arrow-bar-down" + ScatterMarkerSymbolNumber150 ScatterMarkerSymbol = 150 + ScatterMarkerSymbol150 ScatterMarkerSymbol = "150" + ScatterMarkerSymbolArrowBarDownOpen ScatterMarkerSymbol = "arrow-bar-down-open" + ScatterMarkerSymbolNumber51 ScatterMarkerSymbol = 51 + ScatterMarkerSymbol51 ScatterMarkerSymbol = "51" + ScatterMarkerSymbolArrowBarLeft ScatterMarkerSymbol = "arrow-bar-left" + ScatterMarkerSymbolNumber151 ScatterMarkerSymbol = 151 + ScatterMarkerSymbol151 ScatterMarkerSymbol = "151" + ScatterMarkerSymbolArrowBarLeftOpen ScatterMarkerSymbol = "arrow-bar-left-open" + ScatterMarkerSymbolNumber52 ScatterMarkerSymbol = 52 + ScatterMarkerSymbol52 ScatterMarkerSymbol = "52" + ScatterMarkerSymbolArrowBarRight ScatterMarkerSymbol = "arrow-bar-right" + ScatterMarkerSymbolNumber152 ScatterMarkerSymbol = 152 + ScatterMarkerSymbol152 ScatterMarkerSymbol = "152" + ScatterMarkerSymbolArrowBarRightOpen ScatterMarkerSymbol = "arrow-bar-right-open" + ScatterMarkerSymbolNumber53 ScatterMarkerSymbol = 53 + ScatterMarkerSymbol53 ScatterMarkerSymbol = "53" + ScatterMarkerSymbolArrow ScatterMarkerSymbol = "arrow" + ScatterMarkerSymbolNumber153 ScatterMarkerSymbol = 153 + ScatterMarkerSymbol153 ScatterMarkerSymbol = "153" + ScatterMarkerSymbolArrowOpen ScatterMarkerSymbol = "arrow-open" + ScatterMarkerSymbolNumber54 ScatterMarkerSymbol = 54 + ScatterMarkerSymbol54 ScatterMarkerSymbol = "54" + ScatterMarkerSymbolArrowWide ScatterMarkerSymbol = "arrow-wide" + ScatterMarkerSymbolNumber154 ScatterMarkerSymbol = 154 + ScatterMarkerSymbol154 ScatterMarkerSymbol = "154" + ScatterMarkerSymbolArrowWideOpen ScatterMarkerSymbol = "arrow-wide-open" +) + +// ScatterOrientation 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`. +type ScatterOrientation string + +const ( + ScatterOrientationV ScatterOrientation = "v" + ScatterOrientationH ScatterOrientation = "h" +) + +// ScatterStackgaps 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. +type ScatterStackgaps string + +const ( + ScatterStackgapsInferZero ScatterStackgaps = "infer zero" + ScatterStackgapsInterpolate ScatterStackgaps = "interpolate" +) + +// ScatterTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. +type ScatterTextposition string + +const ( + ScatterTextpositionTopLeft ScatterTextposition = "top left" + ScatterTextpositionTopCenter ScatterTextposition = "top center" + ScatterTextpositionTopRight ScatterTextposition = "top right" + ScatterTextpositionMiddleLeft ScatterTextposition = "middle left" + ScatterTextpositionMiddleCenter ScatterTextposition = "middle center" + ScatterTextpositionMiddleRight ScatterTextposition = "middle right" + ScatterTextpositionBottomLeft ScatterTextposition = "bottom left" + ScatterTextpositionBottomCenter ScatterTextposition = "bottom center" + ScatterTextpositionBottomRight ScatterTextposition = "bottom right" +) + +// ScatterVisible 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). +type ScatterVisible interface{} + +var ( + ScatterVisibleTrue ScatterVisible = true + ScatterVisibleFalse ScatterVisible = false + ScatterVisibleLegendonly ScatterVisible = "legendonly" +) + +// ScatterXcalendar Sets the calendar system to use with `x` date data. +type ScatterXcalendar string + +const ( + ScatterXcalendarChinese ScatterXcalendar = "chinese" + ScatterXcalendarCoptic ScatterXcalendar = "coptic" + ScatterXcalendarDiscworld ScatterXcalendar = "discworld" + ScatterXcalendarEthiopian ScatterXcalendar = "ethiopian" + ScatterXcalendarGregorian ScatterXcalendar = "gregorian" + ScatterXcalendarHebrew ScatterXcalendar = "hebrew" + ScatterXcalendarIslamic ScatterXcalendar = "islamic" + ScatterXcalendarJalali ScatterXcalendar = "jalali" + ScatterXcalendarJulian ScatterXcalendar = "julian" + ScatterXcalendarMayan ScatterXcalendar = "mayan" + ScatterXcalendarNanakshahi ScatterXcalendar = "nanakshahi" + ScatterXcalendarNepali ScatterXcalendar = "nepali" + ScatterXcalendarPersian ScatterXcalendar = "persian" + ScatterXcalendarTaiwan ScatterXcalendar = "taiwan" + ScatterXcalendarThai ScatterXcalendar = "thai" + ScatterXcalendarUmmalqura ScatterXcalendar = "ummalqura" +) + +// ScatterXperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. +type ScatterXperiodalignment string + +const ( + ScatterXperiodalignmentStart ScatterXperiodalignment = "start" + ScatterXperiodalignmentMiddle ScatterXperiodalignment = "middle" + ScatterXperiodalignmentEnd ScatterXperiodalignment = "end" +) + +// ScatterYcalendar Sets the calendar system to use with `y` date data. +type ScatterYcalendar string + +const ( + ScatterYcalendarChinese ScatterYcalendar = "chinese" + ScatterYcalendarCoptic ScatterYcalendar = "coptic" + ScatterYcalendarDiscworld ScatterYcalendar = "discworld" + ScatterYcalendarEthiopian ScatterYcalendar = "ethiopian" + ScatterYcalendarGregorian ScatterYcalendar = "gregorian" + ScatterYcalendarHebrew ScatterYcalendar = "hebrew" + ScatterYcalendarIslamic ScatterYcalendar = "islamic" + ScatterYcalendarJalali ScatterYcalendar = "jalali" + ScatterYcalendarJulian ScatterYcalendar = "julian" + ScatterYcalendarMayan ScatterYcalendar = "mayan" + ScatterYcalendarNanakshahi ScatterYcalendar = "nanakshahi" + ScatterYcalendarNepali ScatterYcalendar = "nepali" + ScatterYcalendarPersian ScatterYcalendar = "persian" + ScatterYcalendarTaiwan ScatterYcalendar = "taiwan" + ScatterYcalendarThai ScatterYcalendar = "thai" + ScatterYcalendarUmmalqura ScatterYcalendar = "ummalqura" +) + +// ScatterYperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis. +type ScatterYperiodalignment string + +const ( + ScatterYperiodalignmentStart ScatterYperiodalignment = "start" + ScatterYperiodalignmentMiddle ScatterYperiodalignment = "middle" + ScatterYperiodalignmentEnd ScatterYperiodalignment = "end" +) + +// ScatterHoverinfo 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. +type ScatterHoverinfo string + +const ( + // Flags + ScatterHoverinfoX ScatterHoverinfo = "x" + ScatterHoverinfoY ScatterHoverinfo = "y" + ScatterHoverinfoZ ScatterHoverinfo = "z" + ScatterHoverinfoText ScatterHoverinfo = "text" + ScatterHoverinfoName ScatterHoverinfo = "name" + + // Extra + ScatterHoverinfoAll ScatterHoverinfo = "all" + ScatterHoverinfoNone ScatterHoverinfo = "none" + ScatterHoverinfoSkip ScatterHoverinfo = "skip" +) + +// ScatterHoveron 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*. +type ScatterHoveron string + +const ( + // Flags + ScatterHoveronPoints ScatterHoveron = "points" + ScatterHoveronFills ScatterHoveron = "fills" + + // Extra + +) + +// ScatterMode 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*. +type ScatterMode string + +const ( + // Flags + ScatterModeLines ScatterMode = "lines" + ScatterModeMarkers ScatterMode = "markers" + ScatterModeText ScatterMode = "text" + + // Extra + ScatterModeNone ScatterMode = "none" +) diff --git a/generated/v2.31.1/graph_objects/scattercarpet_gen.go b/generated/v2.31.1/graph_objects/scattercarpet_gen.go new file mode 100644 index 0000000..3b881b0 --- /dev/null +++ b/generated/v2.31.1/graph_objects/scattercarpet_gen.go @@ -0,0 +1,2018 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeScattercarpet TraceType = "scattercarpet" + +func (trace *Scattercarpet) GetType() TraceType { + return TraceTypeScattercarpet +} + +// Scattercarpet Plots a scatter trace on either the first carpet axis or the carpet axis with a matching `carpet` attribute. +type Scattercarpet struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // A + // arrayOK: false + // type: data_array + // Sets the a-axis coordinates. + A interface{} `json:"a,omitempty"` + + // Asrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `a`. + Asrc String `json:"asrc,omitempty"` + + // B + // arrayOK: false + // type: data_array + // Sets the b-axis coordinates. + B interface{} `json:"b,omitempty"` + + // Bsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `b`. + Bsrc String `json:"bsrc,omitempty"` + + // Carpet + // arrayOK: false + // type: string + // An identifier for this carpet, so that `scattercarpet` and `contourcarpet` traces can specify a carpet plot on which they lie + Carpet String `json:"carpet,omitempty"` + + // Connectgaps + // arrayOK: false + // type: boolean + // Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected. + Connectgaps Bool `json:"connectgaps,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Fill + // default: none + // type: enumerated + // 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. + Fill ScattercarpetFill `json:"fill,omitempty"` + + // Fillcolor + // arrayOK: false + // 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. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo ScattercarpetHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *ScattercarpetHoverlabel `json:"hoverlabel,omitempty"` + + // Hoveron + // default: %!s() + // type: flaglist + // 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*. + Hoveron ScattercarpetHoveron `json:"hoveron,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *ScattercarpetLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *ScattercarpetLine `json:"line,omitempty"` + + // Marker + // role: Object + Marker *ScattercarpetMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Mode + // default: markers + // type: flaglist + // 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*. + Mode ScattercarpetMode `json:"mode,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Selected + // role: Object + Selected *ScattercarpetSelected `json:"selected,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Stream + // role: Object + Stream *ScattercarpetStream `json:"stream,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textfont + // role: Object + Textfont *ScattercarpetTextfont `json:"textfont,omitempty"` + + // Textposition + // default: middle center + // type: enumerated + // Sets the positions of the `text` elements with respects to the (x,y) coordinates. + Textposition ScattercarpetTextposition `json:"textposition,omitempty"` + + // Textpositionsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `textposition`. + Textpositionsrc String `json:"textpositionsrc,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: true + // 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 `a`, `b` and `text`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Texttemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `texttemplate`. + Texttemplatesrc String `json:"texttemplatesrc,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Unselected + // role: Object + Unselected *ScattercarpetUnselected `json:"unselected,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible ScattercarpetVisible `json:"visible,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` + + // Zorder + // arrayOK: false + // 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`. + Zorder int64 `json:"zorder,omitempty"` +} + +// ScattercarpetHoverlabelFont Sets the font used in hover labels. +type ScattercarpetHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ScattercarpetHoverlabel +type ScattercarpetHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align ScattercarpetHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *ScattercarpetHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// ScattercarpetLegendgrouptitleFont Sets this legend group's title font. +type ScattercarpetLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScattercarpetLegendgrouptitle +type ScattercarpetLegendgrouptitle struct { + + // Font + // role: Object + Font *ScattercarpetLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// ScattercarpetLine +type ScattercarpetLine struct { + + // Backoff + // arrayOK: true + // type: number + // 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*. + Backoff float64 `json:"backoff,omitempty"` + + // Backoffsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `backoff`. + Backoffsrc String `json:"backoffsrc,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the line color. + Color Color `json:"color,omitempty"` + + // Dash + // arrayOK: false + // type: string + // 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*). + Dash String `json:"dash,omitempty"` + + // Shape + // default: linear + // type: enumerated + // Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes. + Shape ScattercarpetLineShape `json:"shape,omitempty"` + + // Smoothing + // arrayOK: false + // type: number + // 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). + Smoothing float64 `json:"smoothing,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width (in px). + Width float64 `json:"width,omitempty"` +} + +// ScattercarpetMarkerColorbarTickfont Sets the color bar's tick label font +type ScattercarpetMarkerColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScattercarpetMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type ScattercarpetMarkerColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScattercarpetMarkerColorbarTitle +type ScattercarpetMarkerColorbarTitle struct { + + // Font + // role: Object + Font *ScattercarpetMarkerColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side ScattercarpetMarkerColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// ScattercarpetMarkerColorbar +type ScattercarpetMarkerColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat ScattercarpetMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode ScattercarpetMarkerColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ScattercarpetMarkerColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent ScattercarpetMarkerColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix ScattercarpetMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix ScattercarpetMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode ScattercarpetMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *ScattercarpetMarkerColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ScattercarpetMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition ScattercarpetMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode ScattercarpetMarkerColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks ScattercarpetMarkerColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *ScattercarpetMarkerColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor ScattercarpetMarkerColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref ScattercarpetMarkerColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor ScattercarpetMarkerColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref ScattercarpetMarkerColorbarYref `json:"yref,omitempty"` +} + +// ScattercarpetMarkerGradient +type ScattercarpetMarkerGradient struct { + + // Color + // arrayOK: true + // type: color + // Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Type + // default: none + // type: enumerated + // Sets the type of gradient used to fill the markers + Type ScattercarpetMarkerGradientType `json:"type,omitempty"` + + // Typesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `type`. + Typesrc String `json:"typesrc,omitempty"` +} + +// ScattercarpetMarkerLine +type ScattercarpetMarkerLine struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the lines bounding the marker points. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// ScattercarpetMarker +type ScattercarpetMarker struct { + + // Angle + // arrayOK: true + // type: angle + // Sets the marker angle in respect to `angleref`. + Angle float64 `json:"angle,omitempty"` + + // Angleref + // default: up + // type: enumerated + // 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. + Angleref ScattercarpetMarkerAngleref `json:"angleref,omitempty"` + + // Anglesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `angle`. + Anglesrc String `json:"anglesrc,omitempty"` + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *ScattercarpetMarkerColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Gradient + // role: Object + Gradient *ScattercarpetMarkerGradient `json:"gradient,omitempty"` + + // Line + // role: Object + Line *ScattercarpetMarkerLine `json:"line,omitempty"` + + // Maxdisplayed + // arrayOK: false + // type: number + // Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit. + Maxdisplayed float64 `json:"maxdisplayed,omitempty"` + + // Opacity + // arrayOK: true + // type: number + // Sets the marker opacity. + Opacity float64 `json:"opacity,omitempty"` + + // Opacitysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `opacity`. + Opacitysrc String `json:"opacitysrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the marker size (in px). + Size float64 `json:"size,omitempty"` + + // Sizemin + // arrayOK: false + // 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. + Sizemin float64 `json:"sizemin,omitempty"` + + // Sizemode + // default: diameter + // type: enumerated + // 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. + Sizemode ScattercarpetMarkerSizemode `json:"sizemode,omitempty"` + + // Sizeref + // arrayOK: false + // type: number + // 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`. + Sizeref float64 `json:"sizeref,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Standoff + // arrayOK: true + // type: number + // 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. + Standoff float64 `json:"standoff,omitempty"` + + // Standoffsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `standoff`. + Standoffsrc String `json:"standoffsrc,omitempty"` + + // Symbol + // default: circle + // type: enumerated + // 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. + Symbol ScattercarpetMarkerSymbol `json:"symbol,omitempty"` + + // Symbolsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `symbol`. + Symbolsrc String `json:"symbolsrc,omitempty"` +} + +// ScattercarpetSelectedMarker +type ScattercarpetSelectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of selected points. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of selected points. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of selected points. + Size float64 `json:"size,omitempty"` +} + +// ScattercarpetSelectedTextfont +type ScattercarpetSelectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of selected points. + Color Color `json:"color,omitempty"` +} + +// ScattercarpetSelected +type ScattercarpetSelected struct { + + // Marker + // role: Object + Marker *ScattercarpetSelectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *ScattercarpetSelectedTextfont `json:"textfont,omitempty"` +} + +// ScattercarpetStream +type ScattercarpetStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// ScattercarpetTextfont Sets the text font. +type ScattercarpetTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ScattercarpetUnselectedMarker +type ScattercarpetUnselectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of unselected points, applied only when a selection exists. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of unselected points, applied only when a selection exists. + Size float64 `json:"size,omitempty"` +} + +// ScattercarpetUnselectedTextfont +type ScattercarpetUnselectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` +} + +// ScattercarpetUnselected +type ScattercarpetUnselected struct { + + // Marker + // role: Object + Marker *ScattercarpetUnselectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *ScattercarpetUnselectedTextfont `json:"textfont,omitempty"` +} + +// ScattercarpetFill 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. +type ScattercarpetFill string + +const ( + ScattercarpetFillNone ScattercarpetFill = "none" + ScattercarpetFillToself ScattercarpetFill = "toself" + ScattercarpetFillTonext ScattercarpetFill = "tonext" +) + +// ScattercarpetHoverlabelAlign 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 +type ScattercarpetHoverlabelAlign string + +const ( + ScattercarpetHoverlabelAlignLeft ScattercarpetHoverlabelAlign = "left" + ScattercarpetHoverlabelAlignRight ScattercarpetHoverlabelAlign = "right" + ScattercarpetHoverlabelAlignAuto ScattercarpetHoverlabelAlign = "auto" +) + +// ScattercarpetLineShape Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes. +type ScattercarpetLineShape string + +const ( + ScattercarpetLineShapeLinear ScattercarpetLineShape = "linear" + ScattercarpetLineShapeSpline ScattercarpetLineShape = "spline" +) + +// ScattercarpetMarkerAngleref 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. +type ScattercarpetMarkerAngleref string + +const ( + ScattercarpetMarkerAnglerefPrevious ScattercarpetMarkerAngleref = "previous" + ScattercarpetMarkerAnglerefUp ScattercarpetMarkerAngleref = "up" +) + +// ScattercarpetMarkerColorbarExponentformat 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. +type ScattercarpetMarkerColorbarExponentformat string + +const ( + ScattercarpetMarkerColorbarExponentformatNone ScattercarpetMarkerColorbarExponentformat = "none" + ScattercarpetMarkerColorbarExponentformatE1 ScattercarpetMarkerColorbarExponentformat = "e" + ScattercarpetMarkerColorbarExponentformatE2 ScattercarpetMarkerColorbarExponentformat = "E" + ScattercarpetMarkerColorbarExponentformatPower ScattercarpetMarkerColorbarExponentformat = "power" + ScattercarpetMarkerColorbarExponentformatSI ScattercarpetMarkerColorbarExponentformat = "SI" + ScattercarpetMarkerColorbarExponentformatB ScattercarpetMarkerColorbarExponentformat = "B" +) + +// ScattercarpetMarkerColorbarLenmode 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. +type ScattercarpetMarkerColorbarLenmode string + +const ( + ScattercarpetMarkerColorbarLenmodeFraction ScattercarpetMarkerColorbarLenmode = "fraction" + ScattercarpetMarkerColorbarLenmodePixels ScattercarpetMarkerColorbarLenmode = "pixels" +) + +// ScattercarpetMarkerColorbarOrientation Sets the orientation of the colorbar. +type ScattercarpetMarkerColorbarOrientation string + +const ( + ScattercarpetMarkerColorbarOrientationH ScattercarpetMarkerColorbarOrientation = "h" + ScattercarpetMarkerColorbarOrientationV ScattercarpetMarkerColorbarOrientation = "v" +) + +// ScattercarpetMarkerColorbarShowexponent 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. +type ScattercarpetMarkerColorbarShowexponent string + +const ( + ScattercarpetMarkerColorbarShowexponentAll ScattercarpetMarkerColorbarShowexponent = "all" + ScattercarpetMarkerColorbarShowexponentFirst ScattercarpetMarkerColorbarShowexponent = "first" + ScattercarpetMarkerColorbarShowexponentLast ScattercarpetMarkerColorbarShowexponent = "last" + ScattercarpetMarkerColorbarShowexponentNone ScattercarpetMarkerColorbarShowexponent = "none" +) + +// ScattercarpetMarkerColorbarShowtickprefix 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. +type ScattercarpetMarkerColorbarShowtickprefix string + +const ( + ScattercarpetMarkerColorbarShowtickprefixAll ScattercarpetMarkerColorbarShowtickprefix = "all" + ScattercarpetMarkerColorbarShowtickprefixFirst ScattercarpetMarkerColorbarShowtickprefix = "first" + ScattercarpetMarkerColorbarShowtickprefixLast ScattercarpetMarkerColorbarShowtickprefix = "last" + ScattercarpetMarkerColorbarShowtickprefixNone ScattercarpetMarkerColorbarShowtickprefix = "none" +) + +// ScattercarpetMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type ScattercarpetMarkerColorbarShowticksuffix string + +const ( + ScattercarpetMarkerColorbarShowticksuffixAll ScattercarpetMarkerColorbarShowticksuffix = "all" + ScattercarpetMarkerColorbarShowticksuffixFirst ScattercarpetMarkerColorbarShowticksuffix = "first" + ScattercarpetMarkerColorbarShowticksuffixLast ScattercarpetMarkerColorbarShowticksuffix = "last" + ScattercarpetMarkerColorbarShowticksuffixNone ScattercarpetMarkerColorbarShowticksuffix = "none" +) + +// ScattercarpetMarkerColorbarThicknessmode 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. +type ScattercarpetMarkerColorbarThicknessmode string + +const ( + ScattercarpetMarkerColorbarThicknessmodeFraction ScattercarpetMarkerColorbarThicknessmode = "fraction" + ScattercarpetMarkerColorbarThicknessmodePixels ScattercarpetMarkerColorbarThicknessmode = "pixels" +) + +// ScattercarpetMarkerColorbarTicklabeloverflow 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*. +type ScattercarpetMarkerColorbarTicklabeloverflow string + +const ( + ScattercarpetMarkerColorbarTicklabeloverflowAllow ScattercarpetMarkerColorbarTicklabeloverflow = "allow" + ScattercarpetMarkerColorbarTicklabeloverflowHidePastDiv ScattercarpetMarkerColorbarTicklabeloverflow = "hide past div" + ScattercarpetMarkerColorbarTicklabeloverflowHidePastDomain ScattercarpetMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// ScattercarpetMarkerColorbarTicklabelposition 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*. +type ScattercarpetMarkerColorbarTicklabelposition string + +const ( + ScattercarpetMarkerColorbarTicklabelpositionOutside ScattercarpetMarkerColorbarTicklabelposition = "outside" + ScattercarpetMarkerColorbarTicklabelpositionInside ScattercarpetMarkerColorbarTicklabelposition = "inside" + ScattercarpetMarkerColorbarTicklabelpositionOutsideTop ScattercarpetMarkerColorbarTicklabelposition = "outside top" + ScattercarpetMarkerColorbarTicklabelpositionInsideTop ScattercarpetMarkerColorbarTicklabelposition = "inside top" + ScattercarpetMarkerColorbarTicklabelpositionOutsideLeft ScattercarpetMarkerColorbarTicklabelposition = "outside left" + ScattercarpetMarkerColorbarTicklabelpositionInsideLeft ScattercarpetMarkerColorbarTicklabelposition = "inside left" + ScattercarpetMarkerColorbarTicklabelpositionOutsideRight ScattercarpetMarkerColorbarTicklabelposition = "outside right" + ScattercarpetMarkerColorbarTicklabelpositionInsideRight ScattercarpetMarkerColorbarTicklabelposition = "inside right" + ScattercarpetMarkerColorbarTicklabelpositionOutsideBottom ScattercarpetMarkerColorbarTicklabelposition = "outside bottom" + ScattercarpetMarkerColorbarTicklabelpositionInsideBottom ScattercarpetMarkerColorbarTicklabelposition = "inside bottom" +) + +// ScattercarpetMarkerColorbarTickmode 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). +type ScattercarpetMarkerColorbarTickmode string + +const ( + ScattercarpetMarkerColorbarTickmodeAuto ScattercarpetMarkerColorbarTickmode = "auto" + ScattercarpetMarkerColorbarTickmodeLinear ScattercarpetMarkerColorbarTickmode = "linear" + ScattercarpetMarkerColorbarTickmodeArray ScattercarpetMarkerColorbarTickmode = "array" +) + +// ScattercarpetMarkerColorbarTicks 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. +type ScattercarpetMarkerColorbarTicks string + +const ( + ScattercarpetMarkerColorbarTicksOutside ScattercarpetMarkerColorbarTicks = "outside" + ScattercarpetMarkerColorbarTicksInside ScattercarpetMarkerColorbarTicks = "inside" + ScattercarpetMarkerColorbarTicksEmpty ScattercarpetMarkerColorbarTicks = "" +) + +// ScattercarpetMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type ScattercarpetMarkerColorbarTitleSide string + +const ( + ScattercarpetMarkerColorbarTitleSideRight ScattercarpetMarkerColorbarTitleSide = "right" + ScattercarpetMarkerColorbarTitleSideTop ScattercarpetMarkerColorbarTitleSide = "top" + ScattercarpetMarkerColorbarTitleSideBottom ScattercarpetMarkerColorbarTitleSide = "bottom" +) + +// ScattercarpetMarkerColorbarXanchor 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*. +type ScattercarpetMarkerColorbarXanchor string + +const ( + ScattercarpetMarkerColorbarXanchorLeft ScattercarpetMarkerColorbarXanchor = "left" + ScattercarpetMarkerColorbarXanchorCenter ScattercarpetMarkerColorbarXanchor = "center" + ScattercarpetMarkerColorbarXanchorRight ScattercarpetMarkerColorbarXanchor = "right" +) + +// ScattercarpetMarkerColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type ScattercarpetMarkerColorbarXref string + +const ( + ScattercarpetMarkerColorbarXrefContainer ScattercarpetMarkerColorbarXref = "container" + ScattercarpetMarkerColorbarXrefPaper ScattercarpetMarkerColorbarXref = "paper" +) + +// ScattercarpetMarkerColorbarYanchor 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*. +type ScattercarpetMarkerColorbarYanchor string + +const ( + ScattercarpetMarkerColorbarYanchorTop ScattercarpetMarkerColorbarYanchor = "top" + ScattercarpetMarkerColorbarYanchorMiddle ScattercarpetMarkerColorbarYanchor = "middle" + ScattercarpetMarkerColorbarYanchorBottom ScattercarpetMarkerColorbarYanchor = "bottom" +) + +// ScattercarpetMarkerColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type ScattercarpetMarkerColorbarYref string + +const ( + ScattercarpetMarkerColorbarYrefContainer ScattercarpetMarkerColorbarYref = "container" + ScattercarpetMarkerColorbarYrefPaper ScattercarpetMarkerColorbarYref = "paper" +) + +// ScattercarpetMarkerGradientType Sets the type of gradient used to fill the markers +type ScattercarpetMarkerGradientType string + +const ( + ScattercarpetMarkerGradientTypeRadial ScattercarpetMarkerGradientType = "radial" + ScattercarpetMarkerGradientTypeHorizontal ScattercarpetMarkerGradientType = "horizontal" + ScattercarpetMarkerGradientTypeVertical ScattercarpetMarkerGradientType = "vertical" + ScattercarpetMarkerGradientTypeNone ScattercarpetMarkerGradientType = "none" +) + +// ScattercarpetMarkerSizemode 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. +type ScattercarpetMarkerSizemode string + +const ( + ScattercarpetMarkerSizemodeDiameter ScattercarpetMarkerSizemode = "diameter" + ScattercarpetMarkerSizemodeArea ScattercarpetMarkerSizemode = "area" +) + +// ScattercarpetMarkerSymbol 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. +type ScattercarpetMarkerSymbol interface{} + +var ( + ScattercarpetMarkerSymbolNumber0 ScattercarpetMarkerSymbol = 0 + ScattercarpetMarkerSymbol0 ScattercarpetMarkerSymbol = "0" + ScattercarpetMarkerSymbolCircle ScattercarpetMarkerSymbol = "circle" + ScattercarpetMarkerSymbolNumber100 ScattercarpetMarkerSymbol = 100 + ScattercarpetMarkerSymbol100 ScattercarpetMarkerSymbol = "100" + ScattercarpetMarkerSymbolCircleOpen ScattercarpetMarkerSymbol = "circle-open" + ScattercarpetMarkerSymbolNumber200 ScattercarpetMarkerSymbol = 200 + ScattercarpetMarkerSymbol200 ScattercarpetMarkerSymbol = "200" + ScattercarpetMarkerSymbolCircleDot ScattercarpetMarkerSymbol = "circle-dot" + ScattercarpetMarkerSymbolNumber300 ScattercarpetMarkerSymbol = 300 + ScattercarpetMarkerSymbol300 ScattercarpetMarkerSymbol = "300" + ScattercarpetMarkerSymbolCircleOpenDot ScattercarpetMarkerSymbol = "circle-open-dot" + ScattercarpetMarkerSymbolNumber1 ScattercarpetMarkerSymbol = 1 + ScattercarpetMarkerSymbol1 ScattercarpetMarkerSymbol = "1" + ScattercarpetMarkerSymbolSquare ScattercarpetMarkerSymbol = "square" + ScattercarpetMarkerSymbolNumber101 ScattercarpetMarkerSymbol = 101 + ScattercarpetMarkerSymbol101 ScattercarpetMarkerSymbol = "101" + ScattercarpetMarkerSymbolSquareOpen ScattercarpetMarkerSymbol = "square-open" + ScattercarpetMarkerSymbolNumber201 ScattercarpetMarkerSymbol = 201 + ScattercarpetMarkerSymbol201 ScattercarpetMarkerSymbol = "201" + ScattercarpetMarkerSymbolSquareDot ScattercarpetMarkerSymbol = "square-dot" + ScattercarpetMarkerSymbolNumber301 ScattercarpetMarkerSymbol = 301 + ScattercarpetMarkerSymbol301 ScattercarpetMarkerSymbol = "301" + ScattercarpetMarkerSymbolSquareOpenDot ScattercarpetMarkerSymbol = "square-open-dot" + ScattercarpetMarkerSymbolNumber2 ScattercarpetMarkerSymbol = 2 + ScattercarpetMarkerSymbol2 ScattercarpetMarkerSymbol = "2" + ScattercarpetMarkerSymbolDiamond ScattercarpetMarkerSymbol = "diamond" + ScattercarpetMarkerSymbolNumber102 ScattercarpetMarkerSymbol = 102 + ScattercarpetMarkerSymbol102 ScattercarpetMarkerSymbol = "102" + ScattercarpetMarkerSymbolDiamondOpen ScattercarpetMarkerSymbol = "diamond-open" + ScattercarpetMarkerSymbolNumber202 ScattercarpetMarkerSymbol = 202 + ScattercarpetMarkerSymbol202 ScattercarpetMarkerSymbol = "202" + ScattercarpetMarkerSymbolDiamondDot ScattercarpetMarkerSymbol = "diamond-dot" + ScattercarpetMarkerSymbolNumber302 ScattercarpetMarkerSymbol = 302 + ScattercarpetMarkerSymbol302 ScattercarpetMarkerSymbol = "302" + ScattercarpetMarkerSymbolDiamondOpenDot ScattercarpetMarkerSymbol = "diamond-open-dot" + ScattercarpetMarkerSymbolNumber3 ScattercarpetMarkerSymbol = 3 + ScattercarpetMarkerSymbol3 ScattercarpetMarkerSymbol = "3" + ScattercarpetMarkerSymbolCross ScattercarpetMarkerSymbol = "cross" + ScattercarpetMarkerSymbolNumber103 ScattercarpetMarkerSymbol = 103 + ScattercarpetMarkerSymbol103 ScattercarpetMarkerSymbol = "103" + ScattercarpetMarkerSymbolCrossOpen ScattercarpetMarkerSymbol = "cross-open" + ScattercarpetMarkerSymbolNumber203 ScattercarpetMarkerSymbol = 203 + ScattercarpetMarkerSymbol203 ScattercarpetMarkerSymbol = "203" + ScattercarpetMarkerSymbolCrossDot ScattercarpetMarkerSymbol = "cross-dot" + ScattercarpetMarkerSymbolNumber303 ScattercarpetMarkerSymbol = 303 + ScattercarpetMarkerSymbol303 ScattercarpetMarkerSymbol = "303" + ScattercarpetMarkerSymbolCrossOpenDot ScattercarpetMarkerSymbol = "cross-open-dot" + ScattercarpetMarkerSymbolNumber4 ScattercarpetMarkerSymbol = 4 + ScattercarpetMarkerSymbol4 ScattercarpetMarkerSymbol = "4" + ScattercarpetMarkerSymbolX ScattercarpetMarkerSymbol = "x" + ScattercarpetMarkerSymbolNumber104 ScattercarpetMarkerSymbol = 104 + ScattercarpetMarkerSymbol104 ScattercarpetMarkerSymbol = "104" + ScattercarpetMarkerSymbolXOpen ScattercarpetMarkerSymbol = "x-open" + ScattercarpetMarkerSymbolNumber204 ScattercarpetMarkerSymbol = 204 + ScattercarpetMarkerSymbol204 ScattercarpetMarkerSymbol = "204" + ScattercarpetMarkerSymbolXDot ScattercarpetMarkerSymbol = "x-dot" + ScattercarpetMarkerSymbolNumber304 ScattercarpetMarkerSymbol = 304 + ScattercarpetMarkerSymbol304 ScattercarpetMarkerSymbol = "304" + ScattercarpetMarkerSymbolXOpenDot ScattercarpetMarkerSymbol = "x-open-dot" + ScattercarpetMarkerSymbolNumber5 ScattercarpetMarkerSymbol = 5 + ScattercarpetMarkerSymbol5 ScattercarpetMarkerSymbol = "5" + ScattercarpetMarkerSymbolTriangleUp ScattercarpetMarkerSymbol = "triangle-up" + ScattercarpetMarkerSymbolNumber105 ScattercarpetMarkerSymbol = 105 + ScattercarpetMarkerSymbol105 ScattercarpetMarkerSymbol = "105" + ScattercarpetMarkerSymbolTriangleUpOpen ScattercarpetMarkerSymbol = "triangle-up-open" + ScattercarpetMarkerSymbolNumber205 ScattercarpetMarkerSymbol = 205 + ScattercarpetMarkerSymbol205 ScattercarpetMarkerSymbol = "205" + ScattercarpetMarkerSymbolTriangleUpDot ScattercarpetMarkerSymbol = "triangle-up-dot" + ScattercarpetMarkerSymbolNumber305 ScattercarpetMarkerSymbol = 305 + ScattercarpetMarkerSymbol305 ScattercarpetMarkerSymbol = "305" + ScattercarpetMarkerSymbolTriangleUpOpenDot ScattercarpetMarkerSymbol = "triangle-up-open-dot" + ScattercarpetMarkerSymbolNumber6 ScattercarpetMarkerSymbol = 6 + ScattercarpetMarkerSymbol6 ScattercarpetMarkerSymbol = "6" + ScattercarpetMarkerSymbolTriangleDown ScattercarpetMarkerSymbol = "triangle-down" + ScattercarpetMarkerSymbolNumber106 ScattercarpetMarkerSymbol = 106 + ScattercarpetMarkerSymbol106 ScattercarpetMarkerSymbol = "106" + ScattercarpetMarkerSymbolTriangleDownOpen ScattercarpetMarkerSymbol = "triangle-down-open" + ScattercarpetMarkerSymbolNumber206 ScattercarpetMarkerSymbol = 206 + ScattercarpetMarkerSymbol206 ScattercarpetMarkerSymbol = "206" + ScattercarpetMarkerSymbolTriangleDownDot ScattercarpetMarkerSymbol = "triangle-down-dot" + ScattercarpetMarkerSymbolNumber306 ScattercarpetMarkerSymbol = 306 + ScattercarpetMarkerSymbol306 ScattercarpetMarkerSymbol = "306" + ScattercarpetMarkerSymbolTriangleDownOpenDot ScattercarpetMarkerSymbol = "triangle-down-open-dot" + ScattercarpetMarkerSymbolNumber7 ScattercarpetMarkerSymbol = 7 + ScattercarpetMarkerSymbol7 ScattercarpetMarkerSymbol = "7" + ScattercarpetMarkerSymbolTriangleLeft ScattercarpetMarkerSymbol = "triangle-left" + ScattercarpetMarkerSymbolNumber107 ScattercarpetMarkerSymbol = 107 + ScattercarpetMarkerSymbol107 ScattercarpetMarkerSymbol = "107" + ScattercarpetMarkerSymbolTriangleLeftOpen ScattercarpetMarkerSymbol = "triangle-left-open" + ScattercarpetMarkerSymbolNumber207 ScattercarpetMarkerSymbol = 207 + ScattercarpetMarkerSymbol207 ScattercarpetMarkerSymbol = "207" + ScattercarpetMarkerSymbolTriangleLeftDot ScattercarpetMarkerSymbol = "triangle-left-dot" + ScattercarpetMarkerSymbolNumber307 ScattercarpetMarkerSymbol = 307 + ScattercarpetMarkerSymbol307 ScattercarpetMarkerSymbol = "307" + ScattercarpetMarkerSymbolTriangleLeftOpenDot ScattercarpetMarkerSymbol = "triangle-left-open-dot" + ScattercarpetMarkerSymbolNumber8 ScattercarpetMarkerSymbol = 8 + ScattercarpetMarkerSymbol8 ScattercarpetMarkerSymbol = "8" + ScattercarpetMarkerSymbolTriangleRight ScattercarpetMarkerSymbol = "triangle-right" + ScattercarpetMarkerSymbolNumber108 ScattercarpetMarkerSymbol = 108 + ScattercarpetMarkerSymbol108 ScattercarpetMarkerSymbol = "108" + ScattercarpetMarkerSymbolTriangleRightOpen ScattercarpetMarkerSymbol = "triangle-right-open" + ScattercarpetMarkerSymbolNumber208 ScattercarpetMarkerSymbol = 208 + ScattercarpetMarkerSymbol208 ScattercarpetMarkerSymbol = "208" + ScattercarpetMarkerSymbolTriangleRightDot ScattercarpetMarkerSymbol = "triangle-right-dot" + ScattercarpetMarkerSymbolNumber308 ScattercarpetMarkerSymbol = 308 + ScattercarpetMarkerSymbol308 ScattercarpetMarkerSymbol = "308" + ScattercarpetMarkerSymbolTriangleRightOpenDot ScattercarpetMarkerSymbol = "triangle-right-open-dot" + ScattercarpetMarkerSymbolNumber9 ScattercarpetMarkerSymbol = 9 + ScattercarpetMarkerSymbol9 ScattercarpetMarkerSymbol = "9" + ScattercarpetMarkerSymbolTriangleNe ScattercarpetMarkerSymbol = "triangle-ne" + ScattercarpetMarkerSymbolNumber109 ScattercarpetMarkerSymbol = 109 + ScattercarpetMarkerSymbol109 ScattercarpetMarkerSymbol = "109" + ScattercarpetMarkerSymbolTriangleNeOpen ScattercarpetMarkerSymbol = "triangle-ne-open" + ScattercarpetMarkerSymbolNumber209 ScattercarpetMarkerSymbol = 209 + ScattercarpetMarkerSymbol209 ScattercarpetMarkerSymbol = "209" + ScattercarpetMarkerSymbolTriangleNeDot ScattercarpetMarkerSymbol = "triangle-ne-dot" + ScattercarpetMarkerSymbolNumber309 ScattercarpetMarkerSymbol = 309 + ScattercarpetMarkerSymbol309 ScattercarpetMarkerSymbol = "309" + ScattercarpetMarkerSymbolTriangleNeOpenDot ScattercarpetMarkerSymbol = "triangle-ne-open-dot" + ScattercarpetMarkerSymbolNumber10 ScattercarpetMarkerSymbol = 10 + ScattercarpetMarkerSymbol10 ScattercarpetMarkerSymbol = "10" + ScattercarpetMarkerSymbolTriangleSe ScattercarpetMarkerSymbol = "triangle-se" + ScattercarpetMarkerSymbolNumber110 ScattercarpetMarkerSymbol = 110 + ScattercarpetMarkerSymbol110 ScattercarpetMarkerSymbol = "110" + ScattercarpetMarkerSymbolTriangleSeOpen ScattercarpetMarkerSymbol = "triangle-se-open" + ScattercarpetMarkerSymbolNumber210 ScattercarpetMarkerSymbol = 210 + ScattercarpetMarkerSymbol210 ScattercarpetMarkerSymbol = "210" + ScattercarpetMarkerSymbolTriangleSeDot ScattercarpetMarkerSymbol = "triangle-se-dot" + ScattercarpetMarkerSymbolNumber310 ScattercarpetMarkerSymbol = 310 + ScattercarpetMarkerSymbol310 ScattercarpetMarkerSymbol = "310" + ScattercarpetMarkerSymbolTriangleSeOpenDot ScattercarpetMarkerSymbol = "triangle-se-open-dot" + ScattercarpetMarkerSymbolNumber11 ScattercarpetMarkerSymbol = 11 + ScattercarpetMarkerSymbol11 ScattercarpetMarkerSymbol = "11" + ScattercarpetMarkerSymbolTriangleSw ScattercarpetMarkerSymbol = "triangle-sw" + ScattercarpetMarkerSymbolNumber111 ScattercarpetMarkerSymbol = 111 + ScattercarpetMarkerSymbol111 ScattercarpetMarkerSymbol = "111" + ScattercarpetMarkerSymbolTriangleSwOpen ScattercarpetMarkerSymbol = "triangle-sw-open" + ScattercarpetMarkerSymbolNumber211 ScattercarpetMarkerSymbol = 211 + ScattercarpetMarkerSymbol211 ScattercarpetMarkerSymbol = "211" + ScattercarpetMarkerSymbolTriangleSwDot ScattercarpetMarkerSymbol = "triangle-sw-dot" + ScattercarpetMarkerSymbolNumber311 ScattercarpetMarkerSymbol = 311 + ScattercarpetMarkerSymbol311 ScattercarpetMarkerSymbol = "311" + ScattercarpetMarkerSymbolTriangleSwOpenDot ScattercarpetMarkerSymbol = "triangle-sw-open-dot" + ScattercarpetMarkerSymbolNumber12 ScattercarpetMarkerSymbol = 12 + ScattercarpetMarkerSymbol12 ScattercarpetMarkerSymbol = "12" + ScattercarpetMarkerSymbolTriangleNw ScattercarpetMarkerSymbol = "triangle-nw" + ScattercarpetMarkerSymbolNumber112 ScattercarpetMarkerSymbol = 112 + ScattercarpetMarkerSymbol112 ScattercarpetMarkerSymbol = "112" + ScattercarpetMarkerSymbolTriangleNwOpen ScattercarpetMarkerSymbol = "triangle-nw-open" + ScattercarpetMarkerSymbolNumber212 ScattercarpetMarkerSymbol = 212 + ScattercarpetMarkerSymbol212 ScattercarpetMarkerSymbol = "212" + ScattercarpetMarkerSymbolTriangleNwDot ScattercarpetMarkerSymbol = "triangle-nw-dot" + ScattercarpetMarkerSymbolNumber312 ScattercarpetMarkerSymbol = 312 + ScattercarpetMarkerSymbol312 ScattercarpetMarkerSymbol = "312" + ScattercarpetMarkerSymbolTriangleNwOpenDot ScattercarpetMarkerSymbol = "triangle-nw-open-dot" + ScattercarpetMarkerSymbolNumber13 ScattercarpetMarkerSymbol = 13 + ScattercarpetMarkerSymbol13 ScattercarpetMarkerSymbol = "13" + ScattercarpetMarkerSymbolPentagon ScattercarpetMarkerSymbol = "pentagon" + ScattercarpetMarkerSymbolNumber113 ScattercarpetMarkerSymbol = 113 + ScattercarpetMarkerSymbol113 ScattercarpetMarkerSymbol = "113" + ScattercarpetMarkerSymbolPentagonOpen ScattercarpetMarkerSymbol = "pentagon-open" + ScattercarpetMarkerSymbolNumber213 ScattercarpetMarkerSymbol = 213 + ScattercarpetMarkerSymbol213 ScattercarpetMarkerSymbol = "213" + ScattercarpetMarkerSymbolPentagonDot ScattercarpetMarkerSymbol = "pentagon-dot" + ScattercarpetMarkerSymbolNumber313 ScattercarpetMarkerSymbol = 313 + ScattercarpetMarkerSymbol313 ScattercarpetMarkerSymbol = "313" + ScattercarpetMarkerSymbolPentagonOpenDot ScattercarpetMarkerSymbol = "pentagon-open-dot" + ScattercarpetMarkerSymbolNumber14 ScattercarpetMarkerSymbol = 14 + ScattercarpetMarkerSymbol14 ScattercarpetMarkerSymbol = "14" + ScattercarpetMarkerSymbolHexagon ScattercarpetMarkerSymbol = "hexagon" + ScattercarpetMarkerSymbolNumber114 ScattercarpetMarkerSymbol = 114 + ScattercarpetMarkerSymbol114 ScattercarpetMarkerSymbol = "114" + ScattercarpetMarkerSymbolHexagonOpen ScattercarpetMarkerSymbol = "hexagon-open" + ScattercarpetMarkerSymbolNumber214 ScattercarpetMarkerSymbol = 214 + ScattercarpetMarkerSymbol214 ScattercarpetMarkerSymbol = "214" + ScattercarpetMarkerSymbolHexagonDot ScattercarpetMarkerSymbol = "hexagon-dot" + ScattercarpetMarkerSymbolNumber314 ScattercarpetMarkerSymbol = 314 + ScattercarpetMarkerSymbol314 ScattercarpetMarkerSymbol = "314" + ScattercarpetMarkerSymbolHexagonOpenDot ScattercarpetMarkerSymbol = "hexagon-open-dot" + ScattercarpetMarkerSymbolNumber15 ScattercarpetMarkerSymbol = 15 + ScattercarpetMarkerSymbol15 ScattercarpetMarkerSymbol = "15" + ScattercarpetMarkerSymbolHexagon2 ScattercarpetMarkerSymbol = "hexagon2" + ScattercarpetMarkerSymbolNumber115 ScattercarpetMarkerSymbol = 115 + ScattercarpetMarkerSymbol115 ScattercarpetMarkerSymbol = "115" + ScattercarpetMarkerSymbolHexagon2Open ScattercarpetMarkerSymbol = "hexagon2-open" + ScattercarpetMarkerSymbolNumber215 ScattercarpetMarkerSymbol = 215 + ScattercarpetMarkerSymbol215 ScattercarpetMarkerSymbol = "215" + ScattercarpetMarkerSymbolHexagon2Dot ScattercarpetMarkerSymbol = "hexagon2-dot" + ScattercarpetMarkerSymbolNumber315 ScattercarpetMarkerSymbol = 315 + ScattercarpetMarkerSymbol315 ScattercarpetMarkerSymbol = "315" + ScattercarpetMarkerSymbolHexagon2OpenDot ScattercarpetMarkerSymbol = "hexagon2-open-dot" + ScattercarpetMarkerSymbolNumber16 ScattercarpetMarkerSymbol = 16 + ScattercarpetMarkerSymbol16 ScattercarpetMarkerSymbol = "16" + ScattercarpetMarkerSymbolOctagon ScattercarpetMarkerSymbol = "octagon" + ScattercarpetMarkerSymbolNumber116 ScattercarpetMarkerSymbol = 116 + ScattercarpetMarkerSymbol116 ScattercarpetMarkerSymbol = "116" + ScattercarpetMarkerSymbolOctagonOpen ScattercarpetMarkerSymbol = "octagon-open" + ScattercarpetMarkerSymbolNumber216 ScattercarpetMarkerSymbol = 216 + ScattercarpetMarkerSymbol216 ScattercarpetMarkerSymbol = "216" + ScattercarpetMarkerSymbolOctagonDot ScattercarpetMarkerSymbol = "octagon-dot" + ScattercarpetMarkerSymbolNumber316 ScattercarpetMarkerSymbol = 316 + ScattercarpetMarkerSymbol316 ScattercarpetMarkerSymbol = "316" + ScattercarpetMarkerSymbolOctagonOpenDot ScattercarpetMarkerSymbol = "octagon-open-dot" + ScattercarpetMarkerSymbolNumber17 ScattercarpetMarkerSymbol = 17 + ScattercarpetMarkerSymbol17 ScattercarpetMarkerSymbol = "17" + ScattercarpetMarkerSymbolStar ScattercarpetMarkerSymbol = "star" + ScattercarpetMarkerSymbolNumber117 ScattercarpetMarkerSymbol = 117 + ScattercarpetMarkerSymbol117 ScattercarpetMarkerSymbol = "117" + ScattercarpetMarkerSymbolStarOpen ScattercarpetMarkerSymbol = "star-open" + ScattercarpetMarkerSymbolNumber217 ScattercarpetMarkerSymbol = 217 + ScattercarpetMarkerSymbol217 ScattercarpetMarkerSymbol = "217" + ScattercarpetMarkerSymbolStarDot ScattercarpetMarkerSymbol = "star-dot" + ScattercarpetMarkerSymbolNumber317 ScattercarpetMarkerSymbol = 317 + ScattercarpetMarkerSymbol317 ScattercarpetMarkerSymbol = "317" + ScattercarpetMarkerSymbolStarOpenDot ScattercarpetMarkerSymbol = "star-open-dot" + ScattercarpetMarkerSymbolNumber18 ScattercarpetMarkerSymbol = 18 + ScattercarpetMarkerSymbol18 ScattercarpetMarkerSymbol = "18" + ScattercarpetMarkerSymbolHexagram ScattercarpetMarkerSymbol = "hexagram" + ScattercarpetMarkerSymbolNumber118 ScattercarpetMarkerSymbol = 118 + ScattercarpetMarkerSymbol118 ScattercarpetMarkerSymbol = "118" + ScattercarpetMarkerSymbolHexagramOpen ScattercarpetMarkerSymbol = "hexagram-open" + ScattercarpetMarkerSymbolNumber218 ScattercarpetMarkerSymbol = 218 + ScattercarpetMarkerSymbol218 ScattercarpetMarkerSymbol = "218" + ScattercarpetMarkerSymbolHexagramDot ScattercarpetMarkerSymbol = "hexagram-dot" + ScattercarpetMarkerSymbolNumber318 ScattercarpetMarkerSymbol = 318 + ScattercarpetMarkerSymbol318 ScattercarpetMarkerSymbol = "318" + ScattercarpetMarkerSymbolHexagramOpenDot ScattercarpetMarkerSymbol = "hexagram-open-dot" + ScattercarpetMarkerSymbolNumber19 ScattercarpetMarkerSymbol = 19 + ScattercarpetMarkerSymbol19 ScattercarpetMarkerSymbol = "19" + ScattercarpetMarkerSymbolStarTriangleUp ScattercarpetMarkerSymbol = "star-triangle-up" + ScattercarpetMarkerSymbolNumber119 ScattercarpetMarkerSymbol = 119 + ScattercarpetMarkerSymbol119 ScattercarpetMarkerSymbol = "119" + ScattercarpetMarkerSymbolStarTriangleUpOpen ScattercarpetMarkerSymbol = "star-triangle-up-open" + ScattercarpetMarkerSymbolNumber219 ScattercarpetMarkerSymbol = 219 + ScattercarpetMarkerSymbol219 ScattercarpetMarkerSymbol = "219" + ScattercarpetMarkerSymbolStarTriangleUpDot ScattercarpetMarkerSymbol = "star-triangle-up-dot" + ScattercarpetMarkerSymbolNumber319 ScattercarpetMarkerSymbol = 319 + ScattercarpetMarkerSymbol319 ScattercarpetMarkerSymbol = "319" + ScattercarpetMarkerSymbolStarTriangleUpOpenDot ScattercarpetMarkerSymbol = "star-triangle-up-open-dot" + ScattercarpetMarkerSymbolNumber20 ScattercarpetMarkerSymbol = 20 + ScattercarpetMarkerSymbol20 ScattercarpetMarkerSymbol = "20" + ScattercarpetMarkerSymbolStarTriangleDown ScattercarpetMarkerSymbol = "star-triangle-down" + ScattercarpetMarkerSymbolNumber120 ScattercarpetMarkerSymbol = 120 + ScattercarpetMarkerSymbol120 ScattercarpetMarkerSymbol = "120" + ScattercarpetMarkerSymbolStarTriangleDownOpen ScattercarpetMarkerSymbol = "star-triangle-down-open" + ScattercarpetMarkerSymbolNumber220 ScattercarpetMarkerSymbol = 220 + ScattercarpetMarkerSymbol220 ScattercarpetMarkerSymbol = "220" + ScattercarpetMarkerSymbolStarTriangleDownDot ScattercarpetMarkerSymbol = "star-triangle-down-dot" + ScattercarpetMarkerSymbolNumber320 ScattercarpetMarkerSymbol = 320 + ScattercarpetMarkerSymbol320 ScattercarpetMarkerSymbol = "320" + ScattercarpetMarkerSymbolStarTriangleDownOpenDot ScattercarpetMarkerSymbol = "star-triangle-down-open-dot" + ScattercarpetMarkerSymbolNumber21 ScattercarpetMarkerSymbol = 21 + ScattercarpetMarkerSymbol21 ScattercarpetMarkerSymbol = "21" + ScattercarpetMarkerSymbolStarSquare ScattercarpetMarkerSymbol = "star-square" + ScattercarpetMarkerSymbolNumber121 ScattercarpetMarkerSymbol = 121 + ScattercarpetMarkerSymbol121 ScattercarpetMarkerSymbol = "121" + ScattercarpetMarkerSymbolStarSquareOpen ScattercarpetMarkerSymbol = "star-square-open" + ScattercarpetMarkerSymbolNumber221 ScattercarpetMarkerSymbol = 221 + ScattercarpetMarkerSymbol221 ScattercarpetMarkerSymbol = "221" + ScattercarpetMarkerSymbolStarSquareDot ScattercarpetMarkerSymbol = "star-square-dot" + ScattercarpetMarkerSymbolNumber321 ScattercarpetMarkerSymbol = 321 + ScattercarpetMarkerSymbol321 ScattercarpetMarkerSymbol = "321" + ScattercarpetMarkerSymbolStarSquareOpenDot ScattercarpetMarkerSymbol = "star-square-open-dot" + ScattercarpetMarkerSymbolNumber22 ScattercarpetMarkerSymbol = 22 + ScattercarpetMarkerSymbol22 ScattercarpetMarkerSymbol = "22" + ScattercarpetMarkerSymbolStarDiamond ScattercarpetMarkerSymbol = "star-diamond" + ScattercarpetMarkerSymbolNumber122 ScattercarpetMarkerSymbol = 122 + ScattercarpetMarkerSymbol122 ScattercarpetMarkerSymbol = "122" + ScattercarpetMarkerSymbolStarDiamondOpen ScattercarpetMarkerSymbol = "star-diamond-open" + ScattercarpetMarkerSymbolNumber222 ScattercarpetMarkerSymbol = 222 + ScattercarpetMarkerSymbol222 ScattercarpetMarkerSymbol = "222" + ScattercarpetMarkerSymbolStarDiamondDot ScattercarpetMarkerSymbol = "star-diamond-dot" + ScattercarpetMarkerSymbolNumber322 ScattercarpetMarkerSymbol = 322 + ScattercarpetMarkerSymbol322 ScattercarpetMarkerSymbol = "322" + ScattercarpetMarkerSymbolStarDiamondOpenDot ScattercarpetMarkerSymbol = "star-diamond-open-dot" + ScattercarpetMarkerSymbolNumber23 ScattercarpetMarkerSymbol = 23 + ScattercarpetMarkerSymbol23 ScattercarpetMarkerSymbol = "23" + ScattercarpetMarkerSymbolDiamondTall ScattercarpetMarkerSymbol = "diamond-tall" + ScattercarpetMarkerSymbolNumber123 ScattercarpetMarkerSymbol = 123 + ScattercarpetMarkerSymbol123 ScattercarpetMarkerSymbol = "123" + ScattercarpetMarkerSymbolDiamondTallOpen ScattercarpetMarkerSymbol = "diamond-tall-open" + ScattercarpetMarkerSymbolNumber223 ScattercarpetMarkerSymbol = 223 + ScattercarpetMarkerSymbol223 ScattercarpetMarkerSymbol = "223" + ScattercarpetMarkerSymbolDiamondTallDot ScattercarpetMarkerSymbol = "diamond-tall-dot" + ScattercarpetMarkerSymbolNumber323 ScattercarpetMarkerSymbol = 323 + ScattercarpetMarkerSymbol323 ScattercarpetMarkerSymbol = "323" + ScattercarpetMarkerSymbolDiamondTallOpenDot ScattercarpetMarkerSymbol = "diamond-tall-open-dot" + ScattercarpetMarkerSymbolNumber24 ScattercarpetMarkerSymbol = 24 + ScattercarpetMarkerSymbol24 ScattercarpetMarkerSymbol = "24" + ScattercarpetMarkerSymbolDiamondWide ScattercarpetMarkerSymbol = "diamond-wide" + ScattercarpetMarkerSymbolNumber124 ScattercarpetMarkerSymbol = 124 + ScattercarpetMarkerSymbol124 ScattercarpetMarkerSymbol = "124" + ScattercarpetMarkerSymbolDiamondWideOpen ScattercarpetMarkerSymbol = "diamond-wide-open" + ScattercarpetMarkerSymbolNumber224 ScattercarpetMarkerSymbol = 224 + ScattercarpetMarkerSymbol224 ScattercarpetMarkerSymbol = "224" + ScattercarpetMarkerSymbolDiamondWideDot ScattercarpetMarkerSymbol = "diamond-wide-dot" + ScattercarpetMarkerSymbolNumber324 ScattercarpetMarkerSymbol = 324 + ScattercarpetMarkerSymbol324 ScattercarpetMarkerSymbol = "324" + ScattercarpetMarkerSymbolDiamondWideOpenDot ScattercarpetMarkerSymbol = "diamond-wide-open-dot" + ScattercarpetMarkerSymbolNumber25 ScattercarpetMarkerSymbol = 25 + ScattercarpetMarkerSymbol25 ScattercarpetMarkerSymbol = "25" + ScattercarpetMarkerSymbolHourglass ScattercarpetMarkerSymbol = "hourglass" + ScattercarpetMarkerSymbolNumber125 ScattercarpetMarkerSymbol = 125 + ScattercarpetMarkerSymbol125 ScattercarpetMarkerSymbol = "125" + ScattercarpetMarkerSymbolHourglassOpen ScattercarpetMarkerSymbol = "hourglass-open" + ScattercarpetMarkerSymbolNumber26 ScattercarpetMarkerSymbol = 26 + ScattercarpetMarkerSymbol26 ScattercarpetMarkerSymbol = "26" + ScattercarpetMarkerSymbolBowtie ScattercarpetMarkerSymbol = "bowtie" + ScattercarpetMarkerSymbolNumber126 ScattercarpetMarkerSymbol = 126 + ScattercarpetMarkerSymbol126 ScattercarpetMarkerSymbol = "126" + ScattercarpetMarkerSymbolBowtieOpen ScattercarpetMarkerSymbol = "bowtie-open" + ScattercarpetMarkerSymbolNumber27 ScattercarpetMarkerSymbol = 27 + ScattercarpetMarkerSymbol27 ScattercarpetMarkerSymbol = "27" + ScattercarpetMarkerSymbolCircleCross ScattercarpetMarkerSymbol = "circle-cross" + ScattercarpetMarkerSymbolNumber127 ScattercarpetMarkerSymbol = 127 + ScattercarpetMarkerSymbol127 ScattercarpetMarkerSymbol = "127" + ScattercarpetMarkerSymbolCircleCrossOpen ScattercarpetMarkerSymbol = "circle-cross-open" + ScattercarpetMarkerSymbolNumber28 ScattercarpetMarkerSymbol = 28 + ScattercarpetMarkerSymbol28 ScattercarpetMarkerSymbol = "28" + ScattercarpetMarkerSymbolCircleX ScattercarpetMarkerSymbol = "circle-x" + ScattercarpetMarkerSymbolNumber128 ScattercarpetMarkerSymbol = 128 + ScattercarpetMarkerSymbol128 ScattercarpetMarkerSymbol = "128" + ScattercarpetMarkerSymbolCircleXOpen ScattercarpetMarkerSymbol = "circle-x-open" + ScattercarpetMarkerSymbolNumber29 ScattercarpetMarkerSymbol = 29 + ScattercarpetMarkerSymbol29 ScattercarpetMarkerSymbol = "29" + ScattercarpetMarkerSymbolSquareCross ScattercarpetMarkerSymbol = "square-cross" + ScattercarpetMarkerSymbolNumber129 ScattercarpetMarkerSymbol = 129 + ScattercarpetMarkerSymbol129 ScattercarpetMarkerSymbol = "129" + ScattercarpetMarkerSymbolSquareCrossOpen ScattercarpetMarkerSymbol = "square-cross-open" + ScattercarpetMarkerSymbolNumber30 ScattercarpetMarkerSymbol = 30 + ScattercarpetMarkerSymbol30 ScattercarpetMarkerSymbol = "30" + ScattercarpetMarkerSymbolSquareX ScattercarpetMarkerSymbol = "square-x" + ScattercarpetMarkerSymbolNumber130 ScattercarpetMarkerSymbol = 130 + ScattercarpetMarkerSymbol130 ScattercarpetMarkerSymbol = "130" + ScattercarpetMarkerSymbolSquareXOpen ScattercarpetMarkerSymbol = "square-x-open" + ScattercarpetMarkerSymbolNumber31 ScattercarpetMarkerSymbol = 31 + ScattercarpetMarkerSymbol31 ScattercarpetMarkerSymbol = "31" + ScattercarpetMarkerSymbolDiamondCross ScattercarpetMarkerSymbol = "diamond-cross" + ScattercarpetMarkerSymbolNumber131 ScattercarpetMarkerSymbol = 131 + ScattercarpetMarkerSymbol131 ScattercarpetMarkerSymbol = "131" + ScattercarpetMarkerSymbolDiamondCrossOpen ScattercarpetMarkerSymbol = "diamond-cross-open" + ScattercarpetMarkerSymbolNumber32 ScattercarpetMarkerSymbol = 32 + ScattercarpetMarkerSymbol32 ScattercarpetMarkerSymbol = "32" + ScattercarpetMarkerSymbolDiamondX ScattercarpetMarkerSymbol = "diamond-x" + ScattercarpetMarkerSymbolNumber132 ScattercarpetMarkerSymbol = 132 + ScattercarpetMarkerSymbol132 ScattercarpetMarkerSymbol = "132" + ScattercarpetMarkerSymbolDiamondXOpen ScattercarpetMarkerSymbol = "diamond-x-open" + ScattercarpetMarkerSymbolNumber33 ScattercarpetMarkerSymbol = 33 + ScattercarpetMarkerSymbol33 ScattercarpetMarkerSymbol = "33" + ScattercarpetMarkerSymbolCrossThin ScattercarpetMarkerSymbol = "cross-thin" + ScattercarpetMarkerSymbolNumber133 ScattercarpetMarkerSymbol = 133 + ScattercarpetMarkerSymbol133 ScattercarpetMarkerSymbol = "133" + ScattercarpetMarkerSymbolCrossThinOpen ScattercarpetMarkerSymbol = "cross-thin-open" + ScattercarpetMarkerSymbolNumber34 ScattercarpetMarkerSymbol = 34 + ScattercarpetMarkerSymbol34 ScattercarpetMarkerSymbol = "34" + ScattercarpetMarkerSymbolXThin ScattercarpetMarkerSymbol = "x-thin" + ScattercarpetMarkerSymbolNumber134 ScattercarpetMarkerSymbol = 134 + ScattercarpetMarkerSymbol134 ScattercarpetMarkerSymbol = "134" + ScattercarpetMarkerSymbolXThinOpen ScattercarpetMarkerSymbol = "x-thin-open" + ScattercarpetMarkerSymbolNumber35 ScattercarpetMarkerSymbol = 35 + ScattercarpetMarkerSymbol35 ScattercarpetMarkerSymbol = "35" + ScattercarpetMarkerSymbolAsterisk ScattercarpetMarkerSymbol = "asterisk" + ScattercarpetMarkerSymbolNumber135 ScattercarpetMarkerSymbol = 135 + ScattercarpetMarkerSymbol135 ScattercarpetMarkerSymbol = "135" + ScattercarpetMarkerSymbolAsteriskOpen ScattercarpetMarkerSymbol = "asterisk-open" + ScattercarpetMarkerSymbolNumber36 ScattercarpetMarkerSymbol = 36 + ScattercarpetMarkerSymbol36 ScattercarpetMarkerSymbol = "36" + ScattercarpetMarkerSymbolHash ScattercarpetMarkerSymbol = "hash" + ScattercarpetMarkerSymbolNumber136 ScattercarpetMarkerSymbol = 136 + ScattercarpetMarkerSymbol136 ScattercarpetMarkerSymbol = "136" + ScattercarpetMarkerSymbolHashOpen ScattercarpetMarkerSymbol = "hash-open" + ScattercarpetMarkerSymbolNumber236 ScattercarpetMarkerSymbol = 236 + ScattercarpetMarkerSymbol236 ScattercarpetMarkerSymbol = "236" + ScattercarpetMarkerSymbolHashDot ScattercarpetMarkerSymbol = "hash-dot" + ScattercarpetMarkerSymbolNumber336 ScattercarpetMarkerSymbol = 336 + ScattercarpetMarkerSymbol336 ScattercarpetMarkerSymbol = "336" + ScattercarpetMarkerSymbolHashOpenDot ScattercarpetMarkerSymbol = "hash-open-dot" + ScattercarpetMarkerSymbolNumber37 ScattercarpetMarkerSymbol = 37 + ScattercarpetMarkerSymbol37 ScattercarpetMarkerSymbol = "37" + ScattercarpetMarkerSymbolYUp ScattercarpetMarkerSymbol = "y-up" + ScattercarpetMarkerSymbolNumber137 ScattercarpetMarkerSymbol = 137 + ScattercarpetMarkerSymbol137 ScattercarpetMarkerSymbol = "137" + ScattercarpetMarkerSymbolYUpOpen ScattercarpetMarkerSymbol = "y-up-open" + ScattercarpetMarkerSymbolNumber38 ScattercarpetMarkerSymbol = 38 + ScattercarpetMarkerSymbol38 ScattercarpetMarkerSymbol = "38" + ScattercarpetMarkerSymbolYDown ScattercarpetMarkerSymbol = "y-down" + ScattercarpetMarkerSymbolNumber138 ScattercarpetMarkerSymbol = 138 + ScattercarpetMarkerSymbol138 ScattercarpetMarkerSymbol = "138" + ScattercarpetMarkerSymbolYDownOpen ScattercarpetMarkerSymbol = "y-down-open" + ScattercarpetMarkerSymbolNumber39 ScattercarpetMarkerSymbol = 39 + ScattercarpetMarkerSymbol39 ScattercarpetMarkerSymbol = "39" + ScattercarpetMarkerSymbolYLeft ScattercarpetMarkerSymbol = "y-left" + ScattercarpetMarkerSymbolNumber139 ScattercarpetMarkerSymbol = 139 + ScattercarpetMarkerSymbol139 ScattercarpetMarkerSymbol = "139" + ScattercarpetMarkerSymbolYLeftOpen ScattercarpetMarkerSymbol = "y-left-open" + ScattercarpetMarkerSymbolNumber40 ScattercarpetMarkerSymbol = 40 + ScattercarpetMarkerSymbol40 ScattercarpetMarkerSymbol = "40" + ScattercarpetMarkerSymbolYRight ScattercarpetMarkerSymbol = "y-right" + ScattercarpetMarkerSymbolNumber140 ScattercarpetMarkerSymbol = 140 + ScattercarpetMarkerSymbol140 ScattercarpetMarkerSymbol = "140" + ScattercarpetMarkerSymbolYRightOpen ScattercarpetMarkerSymbol = "y-right-open" + ScattercarpetMarkerSymbolNumber41 ScattercarpetMarkerSymbol = 41 + ScattercarpetMarkerSymbol41 ScattercarpetMarkerSymbol = "41" + ScattercarpetMarkerSymbolLineEw ScattercarpetMarkerSymbol = "line-ew" + ScattercarpetMarkerSymbolNumber141 ScattercarpetMarkerSymbol = 141 + ScattercarpetMarkerSymbol141 ScattercarpetMarkerSymbol = "141" + ScattercarpetMarkerSymbolLineEwOpen ScattercarpetMarkerSymbol = "line-ew-open" + ScattercarpetMarkerSymbolNumber42 ScattercarpetMarkerSymbol = 42 + ScattercarpetMarkerSymbol42 ScattercarpetMarkerSymbol = "42" + ScattercarpetMarkerSymbolLineNs ScattercarpetMarkerSymbol = "line-ns" + ScattercarpetMarkerSymbolNumber142 ScattercarpetMarkerSymbol = 142 + ScattercarpetMarkerSymbol142 ScattercarpetMarkerSymbol = "142" + ScattercarpetMarkerSymbolLineNsOpen ScattercarpetMarkerSymbol = "line-ns-open" + ScattercarpetMarkerSymbolNumber43 ScattercarpetMarkerSymbol = 43 + ScattercarpetMarkerSymbol43 ScattercarpetMarkerSymbol = "43" + ScattercarpetMarkerSymbolLineNe ScattercarpetMarkerSymbol = "line-ne" + ScattercarpetMarkerSymbolNumber143 ScattercarpetMarkerSymbol = 143 + ScattercarpetMarkerSymbol143 ScattercarpetMarkerSymbol = "143" + ScattercarpetMarkerSymbolLineNeOpen ScattercarpetMarkerSymbol = "line-ne-open" + ScattercarpetMarkerSymbolNumber44 ScattercarpetMarkerSymbol = 44 + ScattercarpetMarkerSymbol44 ScattercarpetMarkerSymbol = "44" + ScattercarpetMarkerSymbolLineNw ScattercarpetMarkerSymbol = "line-nw" + ScattercarpetMarkerSymbolNumber144 ScattercarpetMarkerSymbol = 144 + ScattercarpetMarkerSymbol144 ScattercarpetMarkerSymbol = "144" + ScattercarpetMarkerSymbolLineNwOpen ScattercarpetMarkerSymbol = "line-nw-open" + ScattercarpetMarkerSymbolNumber45 ScattercarpetMarkerSymbol = 45 + ScattercarpetMarkerSymbol45 ScattercarpetMarkerSymbol = "45" + ScattercarpetMarkerSymbolArrowUp ScattercarpetMarkerSymbol = "arrow-up" + ScattercarpetMarkerSymbolNumber145 ScattercarpetMarkerSymbol = 145 + ScattercarpetMarkerSymbol145 ScattercarpetMarkerSymbol = "145" + ScattercarpetMarkerSymbolArrowUpOpen ScattercarpetMarkerSymbol = "arrow-up-open" + ScattercarpetMarkerSymbolNumber46 ScattercarpetMarkerSymbol = 46 + ScattercarpetMarkerSymbol46 ScattercarpetMarkerSymbol = "46" + ScattercarpetMarkerSymbolArrowDown ScattercarpetMarkerSymbol = "arrow-down" + ScattercarpetMarkerSymbolNumber146 ScattercarpetMarkerSymbol = 146 + ScattercarpetMarkerSymbol146 ScattercarpetMarkerSymbol = "146" + ScattercarpetMarkerSymbolArrowDownOpen ScattercarpetMarkerSymbol = "arrow-down-open" + ScattercarpetMarkerSymbolNumber47 ScattercarpetMarkerSymbol = 47 + ScattercarpetMarkerSymbol47 ScattercarpetMarkerSymbol = "47" + ScattercarpetMarkerSymbolArrowLeft ScattercarpetMarkerSymbol = "arrow-left" + ScattercarpetMarkerSymbolNumber147 ScattercarpetMarkerSymbol = 147 + ScattercarpetMarkerSymbol147 ScattercarpetMarkerSymbol = "147" + ScattercarpetMarkerSymbolArrowLeftOpen ScattercarpetMarkerSymbol = "arrow-left-open" + ScattercarpetMarkerSymbolNumber48 ScattercarpetMarkerSymbol = 48 + ScattercarpetMarkerSymbol48 ScattercarpetMarkerSymbol = "48" + ScattercarpetMarkerSymbolArrowRight ScattercarpetMarkerSymbol = "arrow-right" + ScattercarpetMarkerSymbolNumber148 ScattercarpetMarkerSymbol = 148 + ScattercarpetMarkerSymbol148 ScattercarpetMarkerSymbol = "148" + ScattercarpetMarkerSymbolArrowRightOpen ScattercarpetMarkerSymbol = "arrow-right-open" + ScattercarpetMarkerSymbolNumber49 ScattercarpetMarkerSymbol = 49 + ScattercarpetMarkerSymbol49 ScattercarpetMarkerSymbol = "49" + ScattercarpetMarkerSymbolArrowBarUp ScattercarpetMarkerSymbol = "arrow-bar-up" + ScattercarpetMarkerSymbolNumber149 ScattercarpetMarkerSymbol = 149 + ScattercarpetMarkerSymbol149 ScattercarpetMarkerSymbol = "149" + ScattercarpetMarkerSymbolArrowBarUpOpen ScattercarpetMarkerSymbol = "arrow-bar-up-open" + ScattercarpetMarkerSymbolNumber50 ScattercarpetMarkerSymbol = 50 + ScattercarpetMarkerSymbol50 ScattercarpetMarkerSymbol = "50" + ScattercarpetMarkerSymbolArrowBarDown ScattercarpetMarkerSymbol = "arrow-bar-down" + ScattercarpetMarkerSymbolNumber150 ScattercarpetMarkerSymbol = 150 + ScattercarpetMarkerSymbol150 ScattercarpetMarkerSymbol = "150" + ScattercarpetMarkerSymbolArrowBarDownOpen ScattercarpetMarkerSymbol = "arrow-bar-down-open" + ScattercarpetMarkerSymbolNumber51 ScattercarpetMarkerSymbol = 51 + ScattercarpetMarkerSymbol51 ScattercarpetMarkerSymbol = "51" + ScattercarpetMarkerSymbolArrowBarLeft ScattercarpetMarkerSymbol = "arrow-bar-left" + ScattercarpetMarkerSymbolNumber151 ScattercarpetMarkerSymbol = 151 + ScattercarpetMarkerSymbol151 ScattercarpetMarkerSymbol = "151" + ScattercarpetMarkerSymbolArrowBarLeftOpen ScattercarpetMarkerSymbol = "arrow-bar-left-open" + ScattercarpetMarkerSymbolNumber52 ScattercarpetMarkerSymbol = 52 + ScattercarpetMarkerSymbol52 ScattercarpetMarkerSymbol = "52" + ScattercarpetMarkerSymbolArrowBarRight ScattercarpetMarkerSymbol = "arrow-bar-right" + ScattercarpetMarkerSymbolNumber152 ScattercarpetMarkerSymbol = 152 + ScattercarpetMarkerSymbol152 ScattercarpetMarkerSymbol = "152" + ScattercarpetMarkerSymbolArrowBarRightOpen ScattercarpetMarkerSymbol = "arrow-bar-right-open" + ScattercarpetMarkerSymbolNumber53 ScattercarpetMarkerSymbol = 53 + ScattercarpetMarkerSymbol53 ScattercarpetMarkerSymbol = "53" + ScattercarpetMarkerSymbolArrow ScattercarpetMarkerSymbol = "arrow" + ScattercarpetMarkerSymbolNumber153 ScattercarpetMarkerSymbol = 153 + ScattercarpetMarkerSymbol153 ScattercarpetMarkerSymbol = "153" + ScattercarpetMarkerSymbolArrowOpen ScattercarpetMarkerSymbol = "arrow-open" + ScattercarpetMarkerSymbolNumber54 ScattercarpetMarkerSymbol = 54 + ScattercarpetMarkerSymbol54 ScattercarpetMarkerSymbol = "54" + ScattercarpetMarkerSymbolArrowWide ScattercarpetMarkerSymbol = "arrow-wide" + ScattercarpetMarkerSymbolNumber154 ScattercarpetMarkerSymbol = 154 + ScattercarpetMarkerSymbol154 ScattercarpetMarkerSymbol = "154" + ScattercarpetMarkerSymbolArrowWideOpen ScattercarpetMarkerSymbol = "arrow-wide-open" +) + +// ScattercarpetTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. +type ScattercarpetTextposition string + +const ( + ScattercarpetTextpositionTopLeft ScattercarpetTextposition = "top left" + ScattercarpetTextpositionTopCenter ScattercarpetTextposition = "top center" + ScattercarpetTextpositionTopRight ScattercarpetTextposition = "top right" + ScattercarpetTextpositionMiddleLeft ScattercarpetTextposition = "middle left" + ScattercarpetTextpositionMiddleCenter ScattercarpetTextposition = "middle center" + ScattercarpetTextpositionMiddleRight ScattercarpetTextposition = "middle right" + ScattercarpetTextpositionBottomLeft ScattercarpetTextposition = "bottom left" + ScattercarpetTextpositionBottomCenter ScattercarpetTextposition = "bottom center" + ScattercarpetTextpositionBottomRight ScattercarpetTextposition = "bottom right" +) + +// ScattercarpetVisible 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). +type ScattercarpetVisible interface{} + +var ( + ScattercarpetVisibleTrue ScattercarpetVisible = true + ScattercarpetVisibleFalse ScattercarpetVisible = false + ScattercarpetVisibleLegendonly ScattercarpetVisible = "legendonly" +) + +// ScattercarpetHoverinfo 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. +type ScattercarpetHoverinfo string + +const ( + // Flags + ScattercarpetHoverinfoA ScattercarpetHoverinfo = "a" + ScattercarpetHoverinfoB ScattercarpetHoverinfo = "b" + ScattercarpetHoverinfoText ScattercarpetHoverinfo = "text" + ScattercarpetHoverinfoName ScattercarpetHoverinfo = "name" + + // Extra + ScattercarpetHoverinfoAll ScattercarpetHoverinfo = "all" + ScattercarpetHoverinfoNone ScattercarpetHoverinfo = "none" + ScattercarpetHoverinfoSkip ScattercarpetHoverinfo = "skip" +) + +// ScattercarpetHoveron 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*. +type ScattercarpetHoveron string + +const ( + // Flags + ScattercarpetHoveronPoints ScattercarpetHoveron = "points" + ScattercarpetHoveronFills ScattercarpetHoveron = "fills" + + // Extra + +) + +// ScattercarpetMode 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*. +type ScattercarpetMode string + +const ( + // Flags + ScattercarpetModeLines ScattercarpetMode = "lines" + ScattercarpetModeMarkers ScattercarpetMode = "markers" + ScattercarpetModeText ScattercarpetMode = "text" + + // Extra + ScattercarpetModeNone ScattercarpetMode = "none" +) diff --git a/generated/v2.31.1/graph_objects/scattergeo_gen.go b/generated/v2.31.1/graph_objects/scattergeo_gen.go new file mode 100644 index 0000000..f9961d7 --- /dev/null +++ b/generated/v2.31.1/graph_objects/scattergeo_gen.go @@ -0,0 +1,1985 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeScattergeo TraceType = "scattergeo" + +func (trace *Scattergeo) GetType() TraceType { + return TraceTypeScattergeo +} + +// Scattergeo 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`. +type Scattergeo struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Connectgaps + // arrayOK: false + // type: boolean + // Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected. + Connectgaps Bool `json:"connectgaps,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Featureidkey + // arrayOK: false + // type: string + // 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*. + Featureidkey String `json:"featureidkey,omitempty"` + + // Fill + // default: none + // type: enumerated + // 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. + Fill ScattergeoFill `json:"fill,omitempty"` + + // Fillcolor + // arrayOK: false + // 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. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Geo + // arrayOK: false + // type: subplotid + // 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. + Geo String `json:"geo,omitempty"` + + // Geojson + // arrayOK: false + // type: any + // 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*. + Geojson interface{} `json:"geojson,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo ScattergeoHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *ScattergeoHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Lat + // arrayOK: false + // type: data_array + // Sets the latitude coordinates (in degrees North). + Lat interface{} `json:"lat,omitempty"` + + // Latsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `lat`. + Latsrc String `json:"latsrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *ScattergeoLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *ScattergeoLine `json:"line,omitempty"` + + // Locationmode + // default: ISO-3 + // type: enumerated + // 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. + Locationmode ScattergeoLocationmode `json:"locationmode,omitempty"` + + // Locations + // arrayOK: false + // 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. + Locations interface{} `json:"locations,omitempty"` + + // Locationssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `locations`. + Locationssrc String `json:"locationssrc,omitempty"` + + // Lon + // arrayOK: false + // type: data_array + // Sets the longitude coordinates (in degrees East). + Lon interface{} `json:"lon,omitempty"` + + // Lonsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `lon`. + Lonsrc String `json:"lonsrc,omitempty"` + + // Marker + // role: Object + Marker *ScattergeoMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Mode + // default: markers + // type: flaglist + // 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*. + Mode ScattergeoMode `json:"mode,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Selected + // role: Object + Selected *ScattergeoSelected `json:"selected,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Stream + // role: Object + Stream *ScattergeoStream `json:"stream,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textfont + // role: Object + Textfont *ScattergeoTextfont `json:"textfont,omitempty"` + + // Textposition + // default: middle center + // type: enumerated + // Sets the positions of the `text` elements with respects to the (x,y) coordinates. + Textposition ScattergeoTextposition `json:"textposition,omitempty"` + + // Textpositionsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `textposition`. + Textpositionsrc String `json:"textpositionsrc,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: true + // 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 `lat`, `lon`, `location` and `text`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Texttemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `texttemplate`. + Texttemplatesrc String `json:"texttemplatesrc,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Unselected + // role: Object + Unselected *ScattergeoUnselected `json:"unselected,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible ScattergeoVisible `json:"visible,omitempty"` +} + +// ScattergeoHoverlabelFont Sets the font used in hover labels. +type ScattergeoHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ScattergeoHoverlabel +type ScattergeoHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align ScattergeoHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *ScattergeoHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// ScattergeoLegendgrouptitleFont Sets this legend group's title font. +type ScattergeoLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScattergeoLegendgrouptitle +type ScattergeoLegendgrouptitle struct { + + // Font + // role: Object + Font *ScattergeoLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// ScattergeoLine +type ScattergeoLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the line color. + Color Color `json:"color,omitempty"` + + // Dash + // arrayOK: false + // type: string + // 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*). + Dash String `json:"dash,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width (in px). + Width float64 `json:"width,omitempty"` +} + +// ScattergeoMarkerColorbarTickfont Sets the color bar's tick label font +type ScattergeoMarkerColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScattergeoMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type ScattergeoMarkerColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScattergeoMarkerColorbarTitle +type ScattergeoMarkerColorbarTitle struct { + + // Font + // role: Object + Font *ScattergeoMarkerColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side ScattergeoMarkerColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// ScattergeoMarkerColorbar +type ScattergeoMarkerColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat ScattergeoMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode ScattergeoMarkerColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ScattergeoMarkerColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent ScattergeoMarkerColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix ScattergeoMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix ScattergeoMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode ScattergeoMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *ScattergeoMarkerColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ScattergeoMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition ScattergeoMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode ScattergeoMarkerColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks ScattergeoMarkerColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *ScattergeoMarkerColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor ScattergeoMarkerColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref ScattergeoMarkerColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor ScattergeoMarkerColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref ScattergeoMarkerColorbarYref `json:"yref,omitempty"` +} + +// ScattergeoMarkerGradient +type ScattergeoMarkerGradient struct { + + // Color + // arrayOK: true + // type: color + // Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Type + // default: none + // type: enumerated + // Sets the type of gradient used to fill the markers + Type ScattergeoMarkerGradientType `json:"type,omitempty"` + + // Typesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `type`. + Typesrc String `json:"typesrc,omitempty"` +} + +// ScattergeoMarkerLine +type ScattergeoMarkerLine struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the lines bounding the marker points. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// ScattergeoMarker +type ScattergeoMarker struct { + + // Angle + // arrayOK: true + // type: angle + // Sets the marker angle in respect to `angleref`. + Angle float64 `json:"angle,omitempty"` + + // Angleref + // default: up + // type: enumerated + // 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. + Angleref ScattergeoMarkerAngleref `json:"angleref,omitempty"` + + // Anglesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `angle`. + Anglesrc String `json:"anglesrc,omitempty"` + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *ScattergeoMarkerColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Gradient + // role: Object + Gradient *ScattergeoMarkerGradient `json:"gradient,omitempty"` + + // Line + // role: Object + Line *ScattergeoMarkerLine `json:"line,omitempty"` + + // Opacity + // arrayOK: true + // type: number + // Sets the marker opacity. + Opacity float64 `json:"opacity,omitempty"` + + // Opacitysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `opacity`. + Opacitysrc String `json:"opacitysrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the marker size (in px). + Size float64 `json:"size,omitempty"` + + // Sizemin + // arrayOK: false + // 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. + Sizemin float64 `json:"sizemin,omitempty"` + + // Sizemode + // default: diameter + // type: enumerated + // 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. + Sizemode ScattergeoMarkerSizemode `json:"sizemode,omitempty"` + + // Sizeref + // arrayOK: false + // type: number + // 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`. + Sizeref float64 `json:"sizeref,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Standoff + // arrayOK: true + // type: number + // 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. + Standoff float64 `json:"standoff,omitempty"` + + // Standoffsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `standoff`. + Standoffsrc String `json:"standoffsrc,omitempty"` + + // Symbol + // default: circle + // type: enumerated + // 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. + Symbol ScattergeoMarkerSymbol `json:"symbol,omitempty"` + + // Symbolsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `symbol`. + Symbolsrc String `json:"symbolsrc,omitempty"` +} + +// ScattergeoSelectedMarker +type ScattergeoSelectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of selected points. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of selected points. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of selected points. + Size float64 `json:"size,omitempty"` +} + +// ScattergeoSelectedTextfont +type ScattergeoSelectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of selected points. + Color Color `json:"color,omitempty"` +} + +// ScattergeoSelected +type ScattergeoSelected struct { + + // Marker + // role: Object + Marker *ScattergeoSelectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *ScattergeoSelectedTextfont `json:"textfont,omitempty"` +} + +// ScattergeoStream +type ScattergeoStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// ScattergeoTextfont Sets the text font. +type ScattergeoTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ScattergeoUnselectedMarker +type ScattergeoUnselectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of unselected points, applied only when a selection exists. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of unselected points, applied only when a selection exists. + Size float64 `json:"size,omitempty"` +} + +// ScattergeoUnselectedTextfont +type ScattergeoUnselectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` +} + +// ScattergeoUnselected +type ScattergeoUnselected struct { + + // Marker + // role: Object + Marker *ScattergeoUnselectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *ScattergeoUnselectedTextfont `json:"textfont,omitempty"` +} + +// ScattergeoFill 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. +type ScattergeoFill string + +const ( + ScattergeoFillNone ScattergeoFill = "none" + ScattergeoFillToself ScattergeoFill = "toself" +) + +// ScattergeoHoverlabelAlign 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 +type ScattergeoHoverlabelAlign string + +const ( + ScattergeoHoverlabelAlignLeft ScattergeoHoverlabelAlign = "left" + ScattergeoHoverlabelAlignRight ScattergeoHoverlabelAlign = "right" + ScattergeoHoverlabelAlignAuto ScattergeoHoverlabelAlign = "auto" +) + +// ScattergeoLocationmode 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. +type ScattergeoLocationmode string + +const ( + ScattergeoLocationmodeISO3 ScattergeoLocationmode = "ISO-3" + ScattergeoLocationmodeUSAStates ScattergeoLocationmode = "USA-states" + ScattergeoLocationmodeCountryNames ScattergeoLocationmode = "country names" + ScattergeoLocationmodeGeojsonId ScattergeoLocationmode = "geojson-id" +) + +// ScattergeoMarkerAngleref 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. +type ScattergeoMarkerAngleref string + +const ( + ScattergeoMarkerAnglerefPrevious ScattergeoMarkerAngleref = "previous" + ScattergeoMarkerAnglerefUp ScattergeoMarkerAngleref = "up" + ScattergeoMarkerAnglerefNorth ScattergeoMarkerAngleref = "north" +) + +// ScattergeoMarkerColorbarExponentformat 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. +type ScattergeoMarkerColorbarExponentformat string + +const ( + ScattergeoMarkerColorbarExponentformatNone ScattergeoMarkerColorbarExponentformat = "none" + ScattergeoMarkerColorbarExponentformatE1 ScattergeoMarkerColorbarExponentformat = "e" + ScattergeoMarkerColorbarExponentformatE2 ScattergeoMarkerColorbarExponentformat = "E" + ScattergeoMarkerColorbarExponentformatPower ScattergeoMarkerColorbarExponentformat = "power" + ScattergeoMarkerColorbarExponentformatSI ScattergeoMarkerColorbarExponentformat = "SI" + ScattergeoMarkerColorbarExponentformatB ScattergeoMarkerColorbarExponentformat = "B" +) + +// ScattergeoMarkerColorbarLenmode 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. +type ScattergeoMarkerColorbarLenmode string + +const ( + ScattergeoMarkerColorbarLenmodeFraction ScattergeoMarkerColorbarLenmode = "fraction" + ScattergeoMarkerColorbarLenmodePixels ScattergeoMarkerColorbarLenmode = "pixels" +) + +// ScattergeoMarkerColorbarOrientation Sets the orientation of the colorbar. +type ScattergeoMarkerColorbarOrientation string + +const ( + ScattergeoMarkerColorbarOrientationH ScattergeoMarkerColorbarOrientation = "h" + ScattergeoMarkerColorbarOrientationV ScattergeoMarkerColorbarOrientation = "v" +) + +// ScattergeoMarkerColorbarShowexponent 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. +type ScattergeoMarkerColorbarShowexponent string + +const ( + ScattergeoMarkerColorbarShowexponentAll ScattergeoMarkerColorbarShowexponent = "all" + ScattergeoMarkerColorbarShowexponentFirst ScattergeoMarkerColorbarShowexponent = "first" + ScattergeoMarkerColorbarShowexponentLast ScattergeoMarkerColorbarShowexponent = "last" + ScattergeoMarkerColorbarShowexponentNone ScattergeoMarkerColorbarShowexponent = "none" +) + +// ScattergeoMarkerColorbarShowtickprefix 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. +type ScattergeoMarkerColorbarShowtickprefix string + +const ( + ScattergeoMarkerColorbarShowtickprefixAll ScattergeoMarkerColorbarShowtickprefix = "all" + ScattergeoMarkerColorbarShowtickprefixFirst ScattergeoMarkerColorbarShowtickprefix = "first" + ScattergeoMarkerColorbarShowtickprefixLast ScattergeoMarkerColorbarShowtickprefix = "last" + ScattergeoMarkerColorbarShowtickprefixNone ScattergeoMarkerColorbarShowtickprefix = "none" +) + +// ScattergeoMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type ScattergeoMarkerColorbarShowticksuffix string + +const ( + ScattergeoMarkerColorbarShowticksuffixAll ScattergeoMarkerColorbarShowticksuffix = "all" + ScattergeoMarkerColorbarShowticksuffixFirst ScattergeoMarkerColorbarShowticksuffix = "first" + ScattergeoMarkerColorbarShowticksuffixLast ScattergeoMarkerColorbarShowticksuffix = "last" + ScattergeoMarkerColorbarShowticksuffixNone ScattergeoMarkerColorbarShowticksuffix = "none" +) + +// ScattergeoMarkerColorbarThicknessmode 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. +type ScattergeoMarkerColorbarThicknessmode string + +const ( + ScattergeoMarkerColorbarThicknessmodeFraction ScattergeoMarkerColorbarThicknessmode = "fraction" + ScattergeoMarkerColorbarThicknessmodePixels ScattergeoMarkerColorbarThicknessmode = "pixels" +) + +// ScattergeoMarkerColorbarTicklabeloverflow 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*. +type ScattergeoMarkerColorbarTicklabeloverflow string + +const ( + ScattergeoMarkerColorbarTicklabeloverflowAllow ScattergeoMarkerColorbarTicklabeloverflow = "allow" + ScattergeoMarkerColorbarTicklabeloverflowHidePastDiv ScattergeoMarkerColorbarTicklabeloverflow = "hide past div" + ScattergeoMarkerColorbarTicklabeloverflowHidePastDomain ScattergeoMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// ScattergeoMarkerColorbarTicklabelposition 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*. +type ScattergeoMarkerColorbarTicklabelposition string + +const ( + ScattergeoMarkerColorbarTicklabelpositionOutside ScattergeoMarkerColorbarTicklabelposition = "outside" + ScattergeoMarkerColorbarTicklabelpositionInside ScattergeoMarkerColorbarTicklabelposition = "inside" + ScattergeoMarkerColorbarTicklabelpositionOutsideTop ScattergeoMarkerColorbarTicklabelposition = "outside top" + ScattergeoMarkerColorbarTicklabelpositionInsideTop ScattergeoMarkerColorbarTicklabelposition = "inside top" + ScattergeoMarkerColorbarTicklabelpositionOutsideLeft ScattergeoMarkerColorbarTicklabelposition = "outside left" + ScattergeoMarkerColorbarTicklabelpositionInsideLeft ScattergeoMarkerColorbarTicklabelposition = "inside left" + ScattergeoMarkerColorbarTicklabelpositionOutsideRight ScattergeoMarkerColorbarTicklabelposition = "outside right" + ScattergeoMarkerColorbarTicklabelpositionInsideRight ScattergeoMarkerColorbarTicklabelposition = "inside right" + ScattergeoMarkerColorbarTicklabelpositionOutsideBottom ScattergeoMarkerColorbarTicklabelposition = "outside bottom" + ScattergeoMarkerColorbarTicklabelpositionInsideBottom ScattergeoMarkerColorbarTicklabelposition = "inside bottom" +) + +// ScattergeoMarkerColorbarTickmode 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). +type ScattergeoMarkerColorbarTickmode string + +const ( + ScattergeoMarkerColorbarTickmodeAuto ScattergeoMarkerColorbarTickmode = "auto" + ScattergeoMarkerColorbarTickmodeLinear ScattergeoMarkerColorbarTickmode = "linear" + ScattergeoMarkerColorbarTickmodeArray ScattergeoMarkerColorbarTickmode = "array" +) + +// ScattergeoMarkerColorbarTicks 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. +type ScattergeoMarkerColorbarTicks string + +const ( + ScattergeoMarkerColorbarTicksOutside ScattergeoMarkerColorbarTicks = "outside" + ScattergeoMarkerColorbarTicksInside ScattergeoMarkerColorbarTicks = "inside" + ScattergeoMarkerColorbarTicksEmpty ScattergeoMarkerColorbarTicks = "" +) + +// ScattergeoMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type ScattergeoMarkerColorbarTitleSide string + +const ( + ScattergeoMarkerColorbarTitleSideRight ScattergeoMarkerColorbarTitleSide = "right" + ScattergeoMarkerColorbarTitleSideTop ScattergeoMarkerColorbarTitleSide = "top" + ScattergeoMarkerColorbarTitleSideBottom ScattergeoMarkerColorbarTitleSide = "bottom" +) + +// ScattergeoMarkerColorbarXanchor 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*. +type ScattergeoMarkerColorbarXanchor string + +const ( + ScattergeoMarkerColorbarXanchorLeft ScattergeoMarkerColorbarXanchor = "left" + ScattergeoMarkerColorbarXanchorCenter ScattergeoMarkerColorbarXanchor = "center" + ScattergeoMarkerColorbarXanchorRight ScattergeoMarkerColorbarXanchor = "right" +) + +// ScattergeoMarkerColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type ScattergeoMarkerColorbarXref string + +const ( + ScattergeoMarkerColorbarXrefContainer ScattergeoMarkerColorbarXref = "container" + ScattergeoMarkerColorbarXrefPaper ScattergeoMarkerColorbarXref = "paper" +) + +// ScattergeoMarkerColorbarYanchor 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*. +type ScattergeoMarkerColorbarYanchor string + +const ( + ScattergeoMarkerColorbarYanchorTop ScattergeoMarkerColorbarYanchor = "top" + ScattergeoMarkerColorbarYanchorMiddle ScattergeoMarkerColorbarYanchor = "middle" + ScattergeoMarkerColorbarYanchorBottom ScattergeoMarkerColorbarYanchor = "bottom" +) + +// ScattergeoMarkerColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type ScattergeoMarkerColorbarYref string + +const ( + ScattergeoMarkerColorbarYrefContainer ScattergeoMarkerColorbarYref = "container" + ScattergeoMarkerColorbarYrefPaper ScattergeoMarkerColorbarYref = "paper" +) + +// ScattergeoMarkerGradientType Sets the type of gradient used to fill the markers +type ScattergeoMarkerGradientType string + +const ( + ScattergeoMarkerGradientTypeRadial ScattergeoMarkerGradientType = "radial" + ScattergeoMarkerGradientTypeHorizontal ScattergeoMarkerGradientType = "horizontal" + ScattergeoMarkerGradientTypeVertical ScattergeoMarkerGradientType = "vertical" + ScattergeoMarkerGradientTypeNone ScattergeoMarkerGradientType = "none" +) + +// ScattergeoMarkerSizemode 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. +type ScattergeoMarkerSizemode string + +const ( + ScattergeoMarkerSizemodeDiameter ScattergeoMarkerSizemode = "diameter" + ScattergeoMarkerSizemodeArea ScattergeoMarkerSizemode = "area" +) + +// ScattergeoMarkerSymbol 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. +type ScattergeoMarkerSymbol interface{} + +var ( + ScattergeoMarkerSymbolNumber0 ScattergeoMarkerSymbol = 0 + ScattergeoMarkerSymbol0 ScattergeoMarkerSymbol = "0" + ScattergeoMarkerSymbolCircle ScattergeoMarkerSymbol = "circle" + ScattergeoMarkerSymbolNumber100 ScattergeoMarkerSymbol = 100 + ScattergeoMarkerSymbol100 ScattergeoMarkerSymbol = "100" + ScattergeoMarkerSymbolCircleOpen ScattergeoMarkerSymbol = "circle-open" + ScattergeoMarkerSymbolNumber200 ScattergeoMarkerSymbol = 200 + ScattergeoMarkerSymbol200 ScattergeoMarkerSymbol = "200" + ScattergeoMarkerSymbolCircleDot ScattergeoMarkerSymbol = "circle-dot" + ScattergeoMarkerSymbolNumber300 ScattergeoMarkerSymbol = 300 + ScattergeoMarkerSymbol300 ScattergeoMarkerSymbol = "300" + ScattergeoMarkerSymbolCircleOpenDot ScattergeoMarkerSymbol = "circle-open-dot" + ScattergeoMarkerSymbolNumber1 ScattergeoMarkerSymbol = 1 + ScattergeoMarkerSymbol1 ScattergeoMarkerSymbol = "1" + ScattergeoMarkerSymbolSquare ScattergeoMarkerSymbol = "square" + ScattergeoMarkerSymbolNumber101 ScattergeoMarkerSymbol = 101 + ScattergeoMarkerSymbol101 ScattergeoMarkerSymbol = "101" + ScattergeoMarkerSymbolSquareOpen ScattergeoMarkerSymbol = "square-open" + ScattergeoMarkerSymbolNumber201 ScattergeoMarkerSymbol = 201 + ScattergeoMarkerSymbol201 ScattergeoMarkerSymbol = "201" + ScattergeoMarkerSymbolSquareDot ScattergeoMarkerSymbol = "square-dot" + ScattergeoMarkerSymbolNumber301 ScattergeoMarkerSymbol = 301 + ScattergeoMarkerSymbol301 ScattergeoMarkerSymbol = "301" + ScattergeoMarkerSymbolSquareOpenDot ScattergeoMarkerSymbol = "square-open-dot" + ScattergeoMarkerSymbolNumber2 ScattergeoMarkerSymbol = 2 + ScattergeoMarkerSymbol2 ScattergeoMarkerSymbol = "2" + ScattergeoMarkerSymbolDiamond ScattergeoMarkerSymbol = "diamond" + ScattergeoMarkerSymbolNumber102 ScattergeoMarkerSymbol = 102 + ScattergeoMarkerSymbol102 ScattergeoMarkerSymbol = "102" + ScattergeoMarkerSymbolDiamondOpen ScattergeoMarkerSymbol = "diamond-open" + ScattergeoMarkerSymbolNumber202 ScattergeoMarkerSymbol = 202 + ScattergeoMarkerSymbol202 ScattergeoMarkerSymbol = "202" + ScattergeoMarkerSymbolDiamondDot ScattergeoMarkerSymbol = "diamond-dot" + ScattergeoMarkerSymbolNumber302 ScattergeoMarkerSymbol = 302 + ScattergeoMarkerSymbol302 ScattergeoMarkerSymbol = "302" + ScattergeoMarkerSymbolDiamondOpenDot ScattergeoMarkerSymbol = "diamond-open-dot" + ScattergeoMarkerSymbolNumber3 ScattergeoMarkerSymbol = 3 + ScattergeoMarkerSymbol3 ScattergeoMarkerSymbol = "3" + ScattergeoMarkerSymbolCross ScattergeoMarkerSymbol = "cross" + ScattergeoMarkerSymbolNumber103 ScattergeoMarkerSymbol = 103 + ScattergeoMarkerSymbol103 ScattergeoMarkerSymbol = "103" + ScattergeoMarkerSymbolCrossOpen ScattergeoMarkerSymbol = "cross-open" + ScattergeoMarkerSymbolNumber203 ScattergeoMarkerSymbol = 203 + ScattergeoMarkerSymbol203 ScattergeoMarkerSymbol = "203" + ScattergeoMarkerSymbolCrossDot ScattergeoMarkerSymbol = "cross-dot" + ScattergeoMarkerSymbolNumber303 ScattergeoMarkerSymbol = 303 + ScattergeoMarkerSymbol303 ScattergeoMarkerSymbol = "303" + ScattergeoMarkerSymbolCrossOpenDot ScattergeoMarkerSymbol = "cross-open-dot" + ScattergeoMarkerSymbolNumber4 ScattergeoMarkerSymbol = 4 + ScattergeoMarkerSymbol4 ScattergeoMarkerSymbol = "4" + ScattergeoMarkerSymbolX ScattergeoMarkerSymbol = "x" + ScattergeoMarkerSymbolNumber104 ScattergeoMarkerSymbol = 104 + ScattergeoMarkerSymbol104 ScattergeoMarkerSymbol = "104" + ScattergeoMarkerSymbolXOpen ScattergeoMarkerSymbol = "x-open" + ScattergeoMarkerSymbolNumber204 ScattergeoMarkerSymbol = 204 + ScattergeoMarkerSymbol204 ScattergeoMarkerSymbol = "204" + ScattergeoMarkerSymbolXDot ScattergeoMarkerSymbol = "x-dot" + ScattergeoMarkerSymbolNumber304 ScattergeoMarkerSymbol = 304 + ScattergeoMarkerSymbol304 ScattergeoMarkerSymbol = "304" + ScattergeoMarkerSymbolXOpenDot ScattergeoMarkerSymbol = "x-open-dot" + ScattergeoMarkerSymbolNumber5 ScattergeoMarkerSymbol = 5 + ScattergeoMarkerSymbol5 ScattergeoMarkerSymbol = "5" + ScattergeoMarkerSymbolTriangleUp ScattergeoMarkerSymbol = "triangle-up" + ScattergeoMarkerSymbolNumber105 ScattergeoMarkerSymbol = 105 + ScattergeoMarkerSymbol105 ScattergeoMarkerSymbol = "105" + ScattergeoMarkerSymbolTriangleUpOpen ScattergeoMarkerSymbol = "triangle-up-open" + ScattergeoMarkerSymbolNumber205 ScattergeoMarkerSymbol = 205 + ScattergeoMarkerSymbol205 ScattergeoMarkerSymbol = "205" + ScattergeoMarkerSymbolTriangleUpDot ScattergeoMarkerSymbol = "triangle-up-dot" + ScattergeoMarkerSymbolNumber305 ScattergeoMarkerSymbol = 305 + ScattergeoMarkerSymbol305 ScattergeoMarkerSymbol = "305" + ScattergeoMarkerSymbolTriangleUpOpenDot ScattergeoMarkerSymbol = "triangle-up-open-dot" + ScattergeoMarkerSymbolNumber6 ScattergeoMarkerSymbol = 6 + ScattergeoMarkerSymbol6 ScattergeoMarkerSymbol = "6" + ScattergeoMarkerSymbolTriangleDown ScattergeoMarkerSymbol = "triangle-down" + ScattergeoMarkerSymbolNumber106 ScattergeoMarkerSymbol = 106 + ScattergeoMarkerSymbol106 ScattergeoMarkerSymbol = "106" + ScattergeoMarkerSymbolTriangleDownOpen ScattergeoMarkerSymbol = "triangle-down-open" + ScattergeoMarkerSymbolNumber206 ScattergeoMarkerSymbol = 206 + ScattergeoMarkerSymbol206 ScattergeoMarkerSymbol = "206" + ScattergeoMarkerSymbolTriangleDownDot ScattergeoMarkerSymbol = "triangle-down-dot" + ScattergeoMarkerSymbolNumber306 ScattergeoMarkerSymbol = 306 + ScattergeoMarkerSymbol306 ScattergeoMarkerSymbol = "306" + ScattergeoMarkerSymbolTriangleDownOpenDot ScattergeoMarkerSymbol = "triangle-down-open-dot" + ScattergeoMarkerSymbolNumber7 ScattergeoMarkerSymbol = 7 + ScattergeoMarkerSymbol7 ScattergeoMarkerSymbol = "7" + ScattergeoMarkerSymbolTriangleLeft ScattergeoMarkerSymbol = "triangle-left" + ScattergeoMarkerSymbolNumber107 ScattergeoMarkerSymbol = 107 + ScattergeoMarkerSymbol107 ScattergeoMarkerSymbol = "107" + ScattergeoMarkerSymbolTriangleLeftOpen ScattergeoMarkerSymbol = "triangle-left-open" + ScattergeoMarkerSymbolNumber207 ScattergeoMarkerSymbol = 207 + ScattergeoMarkerSymbol207 ScattergeoMarkerSymbol = "207" + ScattergeoMarkerSymbolTriangleLeftDot ScattergeoMarkerSymbol = "triangle-left-dot" + ScattergeoMarkerSymbolNumber307 ScattergeoMarkerSymbol = 307 + ScattergeoMarkerSymbol307 ScattergeoMarkerSymbol = "307" + ScattergeoMarkerSymbolTriangleLeftOpenDot ScattergeoMarkerSymbol = "triangle-left-open-dot" + ScattergeoMarkerSymbolNumber8 ScattergeoMarkerSymbol = 8 + ScattergeoMarkerSymbol8 ScattergeoMarkerSymbol = "8" + ScattergeoMarkerSymbolTriangleRight ScattergeoMarkerSymbol = "triangle-right" + ScattergeoMarkerSymbolNumber108 ScattergeoMarkerSymbol = 108 + ScattergeoMarkerSymbol108 ScattergeoMarkerSymbol = "108" + ScattergeoMarkerSymbolTriangleRightOpen ScattergeoMarkerSymbol = "triangle-right-open" + ScattergeoMarkerSymbolNumber208 ScattergeoMarkerSymbol = 208 + ScattergeoMarkerSymbol208 ScattergeoMarkerSymbol = "208" + ScattergeoMarkerSymbolTriangleRightDot ScattergeoMarkerSymbol = "triangle-right-dot" + ScattergeoMarkerSymbolNumber308 ScattergeoMarkerSymbol = 308 + ScattergeoMarkerSymbol308 ScattergeoMarkerSymbol = "308" + ScattergeoMarkerSymbolTriangleRightOpenDot ScattergeoMarkerSymbol = "triangle-right-open-dot" + ScattergeoMarkerSymbolNumber9 ScattergeoMarkerSymbol = 9 + ScattergeoMarkerSymbol9 ScattergeoMarkerSymbol = "9" + ScattergeoMarkerSymbolTriangleNe ScattergeoMarkerSymbol = "triangle-ne" + ScattergeoMarkerSymbolNumber109 ScattergeoMarkerSymbol = 109 + ScattergeoMarkerSymbol109 ScattergeoMarkerSymbol = "109" + ScattergeoMarkerSymbolTriangleNeOpen ScattergeoMarkerSymbol = "triangle-ne-open" + ScattergeoMarkerSymbolNumber209 ScattergeoMarkerSymbol = 209 + ScattergeoMarkerSymbol209 ScattergeoMarkerSymbol = "209" + ScattergeoMarkerSymbolTriangleNeDot ScattergeoMarkerSymbol = "triangle-ne-dot" + ScattergeoMarkerSymbolNumber309 ScattergeoMarkerSymbol = 309 + ScattergeoMarkerSymbol309 ScattergeoMarkerSymbol = "309" + ScattergeoMarkerSymbolTriangleNeOpenDot ScattergeoMarkerSymbol = "triangle-ne-open-dot" + ScattergeoMarkerSymbolNumber10 ScattergeoMarkerSymbol = 10 + ScattergeoMarkerSymbol10 ScattergeoMarkerSymbol = "10" + ScattergeoMarkerSymbolTriangleSe ScattergeoMarkerSymbol = "triangle-se" + ScattergeoMarkerSymbolNumber110 ScattergeoMarkerSymbol = 110 + ScattergeoMarkerSymbol110 ScattergeoMarkerSymbol = "110" + ScattergeoMarkerSymbolTriangleSeOpen ScattergeoMarkerSymbol = "triangle-se-open" + ScattergeoMarkerSymbolNumber210 ScattergeoMarkerSymbol = 210 + ScattergeoMarkerSymbol210 ScattergeoMarkerSymbol = "210" + ScattergeoMarkerSymbolTriangleSeDot ScattergeoMarkerSymbol = "triangle-se-dot" + ScattergeoMarkerSymbolNumber310 ScattergeoMarkerSymbol = 310 + ScattergeoMarkerSymbol310 ScattergeoMarkerSymbol = "310" + ScattergeoMarkerSymbolTriangleSeOpenDot ScattergeoMarkerSymbol = "triangle-se-open-dot" + ScattergeoMarkerSymbolNumber11 ScattergeoMarkerSymbol = 11 + ScattergeoMarkerSymbol11 ScattergeoMarkerSymbol = "11" + ScattergeoMarkerSymbolTriangleSw ScattergeoMarkerSymbol = "triangle-sw" + ScattergeoMarkerSymbolNumber111 ScattergeoMarkerSymbol = 111 + ScattergeoMarkerSymbol111 ScattergeoMarkerSymbol = "111" + ScattergeoMarkerSymbolTriangleSwOpen ScattergeoMarkerSymbol = "triangle-sw-open" + ScattergeoMarkerSymbolNumber211 ScattergeoMarkerSymbol = 211 + ScattergeoMarkerSymbol211 ScattergeoMarkerSymbol = "211" + ScattergeoMarkerSymbolTriangleSwDot ScattergeoMarkerSymbol = "triangle-sw-dot" + ScattergeoMarkerSymbolNumber311 ScattergeoMarkerSymbol = 311 + ScattergeoMarkerSymbol311 ScattergeoMarkerSymbol = "311" + ScattergeoMarkerSymbolTriangleSwOpenDot ScattergeoMarkerSymbol = "triangle-sw-open-dot" + ScattergeoMarkerSymbolNumber12 ScattergeoMarkerSymbol = 12 + ScattergeoMarkerSymbol12 ScattergeoMarkerSymbol = "12" + ScattergeoMarkerSymbolTriangleNw ScattergeoMarkerSymbol = "triangle-nw" + ScattergeoMarkerSymbolNumber112 ScattergeoMarkerSymbol = 112 + ScattergeoMarkerSymbol112 ScattergeoMarkerSymbol = "112" + ScattergeoMarkerSymbolTriangleNwOpen ScattergeoMarkerSymbol = "triangle-nw-open" + ScattergeoMarkerSymbolNumber212 ScattergeoMarkerSymbol = 212 + ScattergeoMarkerSymbol212 ScattergeoMarkerSymbol = "212" + ScattergeoMarkerSymbolTriangleNwDot ScattergeoMarkerSymbol = "triangle-nw-dot" + ScattergeoMarkerSymbolNumber312 ScattergeoMarkerSymbol = 312 + ScattergeoMarkerSymbol312 ScattergeoMarkerSymbol = "312" + ScattergeoMarkerSymbolTriangleNwOpenDot ScattergeoMarkerSymbol = "triangle-nw-open-dot" + ScattergeoMarkerSymbolNumber13 ScattergeoMarkerSymbol = 13 + ScattergeoMarkerSymbol13 ScattergeoMarkerSymbol = "13" + ScattergeoMarkerSymbolPentagon ScattergeoMarkerSymbol = "pentagon" + ScattergeoMarkerSymbolNumber113 ScattergeoMarkerSymbol = 113 + ScattergeoMarkerSymbol113 ScattergeoMarkerSymbol = "113" + ScattergeoMarkerSymbolPentagonOpen ScattergeoMarkerSymbol = "pentagon-open" + ScattergeoMarkerSymbolNumber213 ScattergeoMarkerSymbol = 213 + ScattergeoMarkerSymbol213 ScattergeoMarkerSymbol = "213" + ScattergeoMarkerSymbolPentagonDot ScattergeoMarkerSymbol = "pentagon-dot" + ScattergeoMarkerSymbolNumber313 ScattergeoMarkerSymbol = 313 + ScattergeoMarkerSymbol313 ScattergeoMarkerSymbol = "313" + ScattergeoMarkerSymbolPentagonOpenDot ScattergeoMarkerSymbol = "pentagon-open-dot" + ScattergeoMarkerSymbolNumber14 ScattergeoMarkerSymbol = 14 + ScattergeoMarkerSymbol14 ScattergeoMarkerSymbol = "14" + ScattergeoMarkerSymbolHexagon ScattergeoMarkerSymbol = "hexagon" + ScattergeoMarkerSymbolNumber114 ScattergeoMarkerSymbol = 114 + ScattergeoMarkerSymbol114 ScattergeoMarkerSymbol = "114" + ScattergeoMarkerSymbolHexagonOpen ScattergeoMarkerSymbol = "hexagon-open" + ScattergeoMarkerSymbolNumber214 ScattergeoMarkerSymbol = 214 + ScattergeoMarkerSymbol214 ScattergeoMarkerSymbol = "214" + ScattergeoMarkerSymbolHexagonDot ScattergeoMarkerSymbol = "hexagon-dot" + ScattergeoMarkerSymbolNumber314 ScattergeoMarkerSymbol = 314 + ScattergeoMarkerSymbol314 ScattergeoMarkerSymbol = "314" + ScattergeoMarkerSymbolHexagonOpenDot ScattergeoMarkerSymbol = "hexagon-open-dot" + ScattergeoMarkerSymbolNumber15 ScattergeoMarkerSymbol = 15 + ScattergeoMarkerSymbol15 ScattergeoMarkerSymbol = "15" + ScattergeoMarkerSymbolHexagon2 ScattergeoMarkerSymbol = "hexagon2" + ScattergeoMarkerSymbolNumber115 ScattergeoMarkerSymbol = 115 + ScattergeoMarkerSymbol115 ScattergeoMarkerSymbol = "115" + ScattergeoMarkerSymbolHexagon2Open ScattergeoMarkerSymbol = "hexagon2-open" + ScattergeoMarkerSymbolNumber215 ScattergeoMarkerSymbol = 215 + ScattergeoMarkerSymbol215 ScattergeoMarkerSymbol = "215" + ScattergeoMarkerSymbolHexagon2Dot ScattergeoMarkerSymbol = "hexagon2-dot" + ScattergeoMarkerSymbolNumber315 ScattergeoMarkerSymbol = 315 + ScattergeoMarkerSymbol315 ScattergeoMarkerSymbol = "315" + ScattergeoMarkerSymbolHexagon2OpenDot ScattergeoMarkerSymbol = "hexagon2-open-dot" + ScattergeoMarkerSymbolNumber16 ScattergeoMarkerSymbol = 16 + ScattergeoMarkerSymbol16 ScattergeoMarkerSymbol = "16" + ScattergeoMarkerSymbolOctagon ScattergeoMarkerSymbol = "octagon" + ScattergeoMarkerSymbolNumber116 ScattergeoMarkerSymbol = 116 + ScattergeoMarkerSymbol116 ScattergeoMarkerSymbol = "116" + ScattergeoMarkerSymbolOctagonOpen ScattergeoMarkerSymbol = "octagon-open" + ScattergeoMarkerSymbolNumber216 ScattergeoMarkerSymbol = 216 + ScattergeoMarkerSymbol216 ScattergeoMarkerSymbol = "216" + ScattergeoMarkerSymbolOctagonDot ScattergeoMarkerSymbol = "octagon-dot" + ScattergeoMarkerSymbolNumber316 ScattergeoMarkerSymbol = 316 + ScattergeoMarkerSymbol316 ScattergeoMarkerSymbol = "316" + ScattergeoMarkerSymbolOctagonOpenDot ScattergeoMarkerSymbol = "octagon-open-dot" + ScattergeoMarkerSymbolNumber17 ScattergeoMarkerSymbol = 17 + ScattergeoMarkerSymbol17 ScattergeoMarkerSymbol = "17" + ScattergeoMarkerSymbolStar ScattergeoMarkerSymbol = "star" + ScattergeoMarkerSymbolNumber117 ScattergeoMarkerSymbol = 117 + ScattergeoMarkerSymbol117 ScattergeoMarkerSymbol = "117" + ScattergeoMarkerSymbolStarOpen ScattergeoMarkerSymbol = "star-open" + ScattergeoMarkerSymbolNumber217 ScattergeoMarkerSymbol = 217 + ScattergeoMarkerSymbol217 ScattergeoMarkerSymbol = "217" + ScattergeoMarkerSymbolStarDot ScattergeoMarkerSymbol = "star-dot" + ScattergeoMarkerSymbolNumber317 ScattergeoMarkerSymbol = 317 + ScattergeoMarkerSymbol317 ScattergeoMarkerSymbol = "317" + ScattergeoMarkerSymbolStarOpenDot ScattergeoMarkerSymbol = "star-open-dot" + ScattergeoMarkerSymbolNumber18 ScattergeoMarkerSymbol = 18 + ScattergeoMarkerSymbol18 ScattergeoMarkerSymbol = "18" + ScattergeoMarkerSymbolHexagram ScattergeoMarkerSymbol = "hexagram" + ScattergeoMarkerSymbolNumber118 ScattergeoMarkerSymbol = 118 + ScattergeoMarkerSymbol118 ScattergeoMarkerSymbol = "118" + ScattergeoMarkerSymbolHexagramOpen ScattergeoMarkerSymbol = "hexagram-open" + ScattergeoMarkerSymbolNumber218 ScattergeoMarkerSymbol = 218 + ScattergeoMarkerSymbol218 ScattergeoMarkerSymbol = "218" + ScattergeoMarkerSymbolHexagramDot ScattergeoMarkerSymbol = "hexagram-dot" + ScattergeoMarkerSymbolNumber318 ScattergeoMarkerSymbol = 318 + ScattergeoMarkerSymbol318 ScattergeoMarkerSymbol = "318" + ScattergeoMarkerSymbolHexagramOpenDot ScattergeoMarkerSymbol = "hexagram-open-dot" + ScattergeoMarkerSymbolNumber19 ScattergeoMarkerSymbol = 19 + ScattergeoMarkerSymbol19 ScattergeoMarkerSymbol = "19" + ScattergeoMarkerSymbolStarTriangleUp ScattergeoMarkerSymbol = "star-triangle-up" + ScattergeoMarkerSymbolNumber119 ScattergeoMarkerSymbol = 119 + ScattergeoMarkerSymbol119 ScattergeoMarkerSymbol = "119" + ScattergeoMarkerSymbolStarTriangleUpOpen ScattergeoMarkerSymbol = "star-triangle-up-open" + ScattergeoMarkerSymbolNumber219 ScattergeoMarkerSymbol = 219 + ScattergeoMarkerSymbol219 ScattergeoMarkerSymbol = "219" + ScattergeoMarkerSymbolStarTriangleUpDot ScattergeoMarkerSymbol = "star-triangle-up-dot" + ScattergeoMarkerSymbolNumber319 ScattergeoMarkerSymbol = 319 + ScattergeoMarkerSymbol319 ScattergeoMarkerSymbol = "319" + ScattergeoMarkerSymbolStarTriangleUpOpenDot ScattergeoMarkerSymbol = "star-triangle-up-open-dot" + ScattergeoMarkerSymbolNumber20 ScattergeoMarkerSymbol = 20 + ScattergeoMarkerSymbol20 ScattergeoMarkerSymbol = "20" + ScattergeoMarkerSymbolStarTriangleDown ScattergeoMarkerSymbol = "star-triangle-down" + ScattergeoMarkerSymbolNumber120 ScattergeoMarkerSymbol = 120 + ScattergeoMarkerSymbol120 ScattergeoMarkerSymbol = "120" + ScattergeoMarkerSymbolStarTriangleDownOpen ScattergeoMarkerSymbol = "star-triangle-down-open" + ScattergeoMarkerSymbolNumber220 ScattergeoMarkerSymbol = 220 + ScattergeoMarkerSymbol220 ScattergeoMarkerSymbol = "220" + ScattergeoMarkerSymbolStarTriangleDownDot ScattergeoMarkerSymbol = "star-triangle-down-dot" + ScattergeoMarkerSymbolNumber320 ScattergeoMarkerSymbol = 320 + ScattergeoMarkerSymbol320 ScattergeoMarkerSymbol = "320" + ScattergeoMarkerSymbolStarTriangleDownOpenDot ScattergeoMarkerSymbol = "star-triangle-down-open-dot" + ScattergeoMarkerSymbolNumber21 ScattergeoMarkerSymbol = 21 + ScattergeoMarkerSymbol21 ScattergeoMarkerSymbol = "21" + ScattergeoMarkerSymbolStarSquare ScattergeoMarkerSymbol = "star-square" + ScattergeoMarkerSymbolNumber121 ScattergeoMarkerSymbol = 121 + ScattergeoMarkerSymbol121 ScattergeoMarkerSymbol = "121" + ScattergeoMarkerSymbolStarSquareOpen ScattergeoMarkerSymbol = "star-square-open" + ScattergeoMarkerSymbolNumber221 ScattergeoMarkerSymbol = 221 + ScattergeoMarkerSymbol221 ScattergeoMarkerSymbol = "221" + ScattergeoMarkerSymbolStarSquareDot ScattergeoMarkerSymbol = "star-square-dot" + ScattergeoMarkerSymbolNumber321 ScattergeoMarkerSymbol = 321 + ScattergeoMarkerSymbol321 ScattergeoMarkerSymbol = "321" + ScattergeoMarkerSymbolStarSquareOpenDot ScattergeoMarkerSymbol = "star-square-open-dot" + ScattergeoMarkerSymbolNumber22 ScattergeoMarkerSymbol = 22 + ScattergeoMarkerSymbol22 ScattergeoMarkerSymbol = "22" + ScattergeoMarkerSymbolStarDiamond ScattergeoMarkerSymbol = "star-diamond" + ScattergeoMarkerSymbolNumber122 ScattergeoMarkerSymbol = 122 + ScattergeoMarkerSymbol122 ScattergeoMarkerSymbol = "122" + ScattergeoMarkerSymbolStarDiamondOpen ScattergeoMarkerSymbol = "star-diamond-open" + ScattergeoMarkerSymbolNumber222 ScattergeoMarkerSymbol = 222 + ScattergeoMarkerSymbol222 ScattergeoMarkerSymbol = "222" + ScattergeoMarkerSymbolStarDiamondDot ScattergeoMarkerSymbol = "star-diamond-dot" + ScattergeoMarkerSymbolNumber322 ScattergeoMarkerSymbol = 322 + ScattergeoMarkerSymbol322 ScattergeoMarkerSymbol = "322" + ScattergeoMarkerSymbolStarDiamondOpenDot ScattergeoMarkerSymbol = "star-diamond-open-dot" + ScattergeoMarkerSymbolNumber23 ScattergeoMarkerSymbol = 23 + ScattergeoMarkerSymbol23 ScattergeoMarkerSymbol = "23" + ScattergeoMarkerSymbolDiamondTall ScattergeoMarkerSymbol = "diamond-tall" + ScattergeoMarkerSymbolNumber123 ScattergeoMarkerSymbol = 123 + ScattergeoMarkerSymbol123 ScattergeoMarkerSymbol = "123" + ScattergeoMarkerSymbolDiamondTallOpen ScattergeoMarkerSymbol = "diamond-tall-open" + ScattergeoMarkerSymbolNumber223 ScattergeoMarkerSymbol = 223 + ScattergeoMarkerSymbol223 ScattergeoMarkerSymbol = "223" + ScattergeoMarkerSymbolDiamondTallDot ScattergeoMarkerSymbol = "diamond-tall-dot" + ScattergeoMarkerSymbolNumber323 ScattergeoMarkerSymbol = 323 + ScattergeoMarkerSymbol323 ScattergeoMarkerSymbol = "323" + ScattergeoMarkerSymbolDiamondTallOpenDot ScattergeoMarkerSymbol = "diamond-tall-open-dot" + ScattergeoMarkerSymbolNumber24 ScattergeoMarkerSymbol = 24 + ScattergeoMarkerSymbol24 ScattergeoMarkerSymbol = "24" + ScattergeoMarkerSymbolDiamondWide ScattergeoMarkerSymbol = "diamond-wide" + ScattergeoMarkerSymbolNumber124 ScattergeoMarkerSymbol = 124 + ScattergeoMarkerSymbol124 ScattergeoMarkerSymbol = "124" + ScattergeoMarkerSymbolDiamondWideOpen ScattergeoMarkerSymbol = "diamond-wide-open" + ScattergeoMarkerSymbolNumber224 ScattergeoMarkerSymbol = 224 + ScattergeoMarkerSymbol224 ScattergeoMarkerSymbol = "224" + ScattergeoMarkerSymbolDiamondWideDot ScattergeoMarkerSymbol = "diamond-wide-dot" + ScattergeoMarkerSymbolNumber324 ScattergeoMarkerSymbol = 324 + ScattergeoMarkerSymbol324 ScattergeoMarkerSymbol = "324" + ScattergeoMarkerSymbolDiamondWideOpenDot ScattergeoMarkerSymbol = "diamond-wide-open-dot" + ScattergeoMarkerSymbolNumber25 ScattergeoMarkerSymbol = 25 + ScattergeoMarkerSymbol25 ScattergeoMarkerSymbol = "25" + ScattergeoMarkerSymbolHourglass ScattergeoMarkerSymbol = "hourglass" + ScattergeoMarkerSymbolNumber125 ScattergeoMarkerSymbol = 125 + ScattergeoMarkerSymbol125 ScattergeoMarkerSymbol = "125" + ScattergeoMarkerSymbolHourglassOpen ScattergeoMarkerSymbol = "hourglass-open" + ScattergeoMarkerSymbolNumber26 ScattergeoMarkerSymbol = 26 + ScattergeoMarkerSymbol26 ScattergeoMarkerSymbol = "26" + ScattergeoMarkerSymbolBowtie ScattergeoMarkerSymbol = "bowtie" + ScattergeoMarkerSymbolNumber126 ScattergeoMarkerSymbol = 126 + ScattergeoMarkerSymbol126 ScattergeoMarkerSymbol = "126" + ScattergeoMarkerSymbolBowtieOpen ScattergeoMarkerSymbol = "bowtie-open" + ScattergeoMarkerSymbolNumber27 ScattergeoMarkerSymbol = 27 + ScattergeoMarkerSymbol27 ScattergeoMarkerSymbol = "27" + ScattergeoMarkerSymbolCircleCross ScattergeoMarkerSymbol = "circle-cross" + ScattergeoMarkerSymbolNumber127 ScattergeoMarkerSymbol = 127 + ScattergeoMarkerSymbol127 ScattergeoMarkerSymbol = "127" + ScattergeoMarkerSymbolCircleCrossOpen ScattergeoMarkerSymbol = "circle-cross-open" + ScattergeoMarkerSymbolNumber28 ScattergeoMarkerSymbol = 28 + ScattergeoMarkerSymbol28 ScattergeoMarkerSymbol = "28" + ScattergeoMarkerSymbolCircleX ScattergeoMarkerSymbol = "circle-x" + ScattergeoMarkerSymbolNumber128 ScattergeoMarkerSymbol = 128 + ScattergeoMarkerSymbol128 ScattergeoMarkerSymbol = "128" + ScattergeoMarkerSymbolCircleXOpen ScattergeoMarkerSymbol = "circle-x-open" + ScattergeoMarkerSymbolNumber29 ScattergeoMarkerSymbol = 29 + ScattergeoMarkerSymbol29 ScattergeoMarkerSymbol = "29" + ScattergeoMarkerSymbolSquareCross ScattergeoMarkerSymbol = "square-cross" + ScattergeoMarkerSymbolNumber129 ScattergeoMarkerSymbol = 129 + ScattergeoMarkerSymbol129 ScattergeoMarkerSymbol = "129" + ScattergeoMarkerSymbolSquareCrossOpen ScattergeoMarkerSymbol = "square-cross-open" + ScattergeoMarkerSymbolNumber30 ScattergeoMarkerSymbol = 30 + ScattergeoMarkerSymbol30 ScattergeoMarkerSymbol = "30" + ScattergeoMarkerSymbolSquareX ScattergeoMarkerSymbol = "square-x" + ScattergeoMarkerSymbolNumber130 ScattergeoMarkerSymbol = 130 + ScattergeoMarkerSymbol130 ScattergeoMarkerSymbol = "130" + ScattergeoMarkerSymbolSquareXOpen ScattergeoMarkerSymbol = "square-x-open" + ScattergeoMarkerSymbolNumber31 ScattergeoMarkerSymbol = 31 + ScattergeoMarkerSymbol31 ScattergeoMarkerSymbol = "31" + ScattergeoMarkerSymbolDiamondCross ScattergeoMarkerSymbol = "diamond-cross" + ScattergeoMarkerSymbolNumber131 ScattergeoMarkerSymbol = 131 + ScattergeoMarkerSymbol131 ScattergeoMarkerSymbol = "131" + ScattergeoMarkerSymbolDiamondCrossOpen ScattergeoMarkerSymbol = "diamond-cross-open" + ScattergeoMarkerSymbolNumber32 ScattergeoMarkerSymbol = 32 + ScattergeoMarkerSymbol32 ScattergeoMarkerSymbol = "32" + ScattergeoMarkerSymbolDiamondX ScattergeoMarkerSymbol = "diamond-x" + ScattergeoMarkerSymbolNumber132 ScattergeoMarkerSymbol = 132 + ScattergeoMarkerSymbol132 ScattergeoMarkerSymbol = "132" + ScattergeoMarkerSymbolDiamondXOpen ScattergeoMarkerSymbol = "diamond-x-open" + ScattergeoMarkerSymbolNumber33 ScattergeoMarkerSymbol = 33 + ScattergeoMarkerSymbol33 ScattergeoMarkerSymbol = "33" + ScattergeoMarkerSymbolCrossThin ScattergeoMarkerSymbol = "cross-thin" + ScattergeoMarkerSymbolNumber133 ScattergeoMarkerSymbol = 133 + ScattergeoMarkerSymbol133 ScattergeoMarkerSymbol = "133" + ScattergeoMarkerSymbolCrossThinOpen ScattergeoMarkerSymbol = "cross-thin-open" + ScattergeoMarkerSymbolNumber34 ScattergeoMarkerSymbol = 34 + ScattergeoMarkerSymbol34 ScattergeoMarkerSymbol = "34" + ScattergeoMarkerSymbolXThin ScattergeoMarkerSymbol = "x-thin" + ScattergeoMarkerSymbolNumber134 ScattergeoMarkerSymbol = 134 + ScattergeoMarkerSymbol134 ScattergeoMarkerSymbol = "134" + ScattergeoMarkerSymbolXThinOpen ScattergeoMarkerSymbol = "x-thin-open" + ScattergeoMarkerSymbolNumber35 ScattergeoMarkerSymbol = 35 + ScattergeoMarkerSymbol35 ScattergeoMarkerSymbol = "35" + ScattergeoMarkerSymbolAsterisk ScattergeoMarkerSymbol = "asterisk" + ScattergeoMarkerSymbolNumber135 ScattergeoMarkerSymbol = 135 + ScattergeoMarkerSymbol135 ScattergeoMarkerSymbol = "135" + ScattergeoMarkerSymbolAsteriskOpen ScattergeoMarkerSymbol = "asterisk-open" + ScattergeoMarkerSymbolNumber36 ScattergeoMarkerSymbol = 36 + ScattergeoMarkerSymbol36 ScattergeoMarkerSymbol = "36" + ScattergeoMarkerSymbolHash ScattergeoMarkerSymbol = "hash" + ScattergeoMarkerSymbolNumber136 ScattergeoMarkerSymbol = 136 + ScattergeoMarkerSymbol136 ScattergeoMarkerSymbol = "136" + ScattergeoMarkerSymbolHashOpen ScattergeoMarkerSymbol = "hash-open" + ScattergeoMarkerSymbolNumber236 ScattergeoMarkerSymbol = 236 + ScattergeoMarkerSymbol236 ScattergeoMarkerSymbol = "236" + ScattergeoMarkerSymbolHashDot ScattergeoMarkerSymbol = "hash-dot" + ScattergeoMarkerSymbolNumber336 ScattergeoMarkerSymbol = 336 + ScattergeoMarkerSymbol336 ScattergeoMarkerSymbol = "336" + ScattergeoMarkerSymbolHashOpenDot ScattergeoMarkerSymbol = "hash-open-dot" + ScattergeoMarkerSymbolNumber37 ScattergeoMarkerSymbol = 37 + ScattergeoMarkerSymbol37 ScattergeoMarkerSymbol = "37" + ScattergeoMarkerSymbolYUp ScattergeoMarkerSymbol = "y-up" + ScattergeoMarkerSymbolNumber137 ScattergeoMarkerSymbol = 137 + ScattergeoMarkerSymbol137 ScattergeoMarkerSymbol = "137" + ScattergeoMarkerSymbolYUpOpen ScattergeoMarkerSymbol = "y-up-open" + ScattergeoMarkerSymbolNumber38 ScattergeoMarkerSymbol = 38 + ScattergeoMarkerSymbol38 ScattergeoMarkerSymbol = "38" + ScattergeoMarkerSymbolYDown ScattergeoMarkerSymbol = "y-down" + ScattergeoMarkerSymbolNumber138 ScattergeoMarkerSymbol = 138 + ScattergeoMarkerSymbol138 ScattergeoMarkerSymbol = "138" + ScattergeoMarkerSymbolYDownOpen ScattergeoMarkerSymbol = "y-down-open" + ScattergeoMarkerSymbolNumber39 ScattergeoMarkerSymbol = 39 + ScattergeoMarkerSymbol39 ScattergeoMarkerSymbol = "39" + ScattergeoMarkerSymbolYLeft ScattergeoMarkerSymbol = "y-left" + ScattergeoMarkerSymbolNumber139 ScattergeoMarkerSymbol = 139 + ScattergeoMarkerSymbol139 ScattergeoMarkerSymbol = "139" + ScattergeoMarkerSymbolYLeftOpen ScattergeoMarkerSymbol = "y-left-open" + ScattergeoMarkerSymbolNumber40 ScattergeoMarkerSymbol = 40 + ScattergeoMarkerSymbol40 ScattergeoMarkerSymbol = "40" + ScattergeoMarkerSymbolYRight ScattergeoMarkerSymbol = "y-right" + ScattergeoMarkerSymbolNumber140 ScattergeoMarkerSymbol = 140 + ScattergeoMarkerSymbol140 ScattergeoMarkerSymbol = "140" + ScattergeoMarkerSymbolYRightOpen ScattergeoMarkerSymbol = "y-right-open" + ScattergeoMarkerSymbolNumber41 ScattergeoMarkerSymbol = 41 + ScattergeoMarkerSymbol41 ScattergeoMarkerSymbol = "41" + ScattergeoMarkerSymbolLineEw ScattergeoMarkerSymbol = "line-ew" + ScattergeoMarkerSymbolNumber141 ScattergeoMarkerSymbol = 141 + ScattergeoMarkerSymbol141 ScattergeoMarkerSymbol = "141" + ScattergeoMarkerSymbolLineEwOpen ScattergeoMarkerSymbol = "line-ew-open" + ScattergeoMarkerSymbolNumber42 ScattergeoMarkerSymbol = 42 + ScattergeoMarkerSymbol42 ScattergeoMarkerSymbol = "42" + ScattergeoMarkerSymbolLineNs ScattergeoMarkerSymbol = "line-ns" + ScattergeoMarkerSymbolNumber142 ScattergeoMarkerSymbol = 142 + ScattergeoMarkerSymbol142 ScattergeoMarkerSymbol = "142" + ScattergeoMarkerSymbolLineNsOpen ScattergeoMarkerSymbol = "line-ns-open" + ScattergeoMarkerSymbolNumber43 ScattergeoMarkerSymbol = 43 + ScattergeoMarkerSymbol43 ScattergeoMarkerSymbol = "43" + ScattergeoMarkerSymbolLineNe ScattergeoMarkerSymbol = "line-ne" + ScattergeoMarkerSymbolNumber143 ScattergeoMarkerSymbol = 143 + ScattergeoMarkerSymbol143 ScattergeoMarkerSymbol = "143" + ScattergeoMarkerSymbolLineNeOpen ScattergeoMarkerSymbol = "line-ne-open" + ScattergeoMarkerSymbolNumber44 ScattergeoMarkerSymbol = 44 + ScattergeoMarkerSymbol44 ScattergeoMarkerSymbol = "44" + ScattergeoMarkerSymbolLineNw ScattergeoMarkerSymbol = "line-nw" + ScattergeoMarkerSymbolNumber144 ScattergeoMarkerSymbol = 144 + ScattergeoMarkerSymbol144 ScattergeoMarkerSymbol = "144" + ScattergeoMarkerSymbolLineNwOpen ScattergeoMarkerSymbol = "line-nw-open" + ScattergeoMarkerSymbolNumber45 ScattergeoMarkerSymbol = 45 + ScattergeoMarkerSymbol45 ScattergeoMarkerSymbol = "45" + ScattergeoMarkerSymbolArrowUp ScattergeoMarkerSymbol = "arrow-up" + ScattergeoMarkerSymbolNumber145 ScattergeoMarkerSymbol = 145 + ScattergeoMarkerSymbol145 ScattergeoMarkerSymbol = "145" + ScattergeoMarkerSymbolArrowUpOpen ScattergeoMarkerSymbol = "arrow-up-open" + ScattergeoMarkerSymbolNumber46 ScattergeoMarkerSymbol = 46 + ScattergeoMarkerSymbol46 ScattergeoMarkerSymbol = "46" + ScattergeoMarkerSymbolArrowDown ScattergeoMarkerSymbol = "arrow-down" + ScattergeoMarkerSymbolNumber146 ScattergeoMarkerSymbol = 146 + ScattergeoMarkerSymbol146 ScattergeoMarkerSymbol = "146" + ScattergeoMarkerSymbolArrowDownOpen ScattergeoMarkerSymbol = "arrow-down-open" + ScattergeoMarkerSymbolNumber47 ScattergeoMarkerSymbol = 47 + ScattergeoMarkerSymbol47 ScattergeoMarkerSymbol = "47" + ScattergeoMarkerSymbolArrowLeft ScattergeoMarkerSymbol = "arrow-left" + ScattergeoMarkerSymbolNumber147 ScattergeoMarkerSymbol = 147 + ScattergeoMarkerSymbol147 ScattergeoMarkerSymbol = "147" + ScattergeoMarkerSymbolArrowLeftOpen ScattergeoMarkerSymbol = "arrow-left-open" + ScattergeoMarkerSymbolNumber48 ScattergeoMarkerSymbol = 48 + ScattergeoMarkerSymbol48 ScattergeoMarkerSymbol = "48" + ScattergeoMarkerSymbolArrowRight ScattergeoMarkerSymbol = "arrow-right" + ScattergeoMarkerSymbolNumber148 ScattergeoMarkerSymbol = 148 + ScattergeoMarkerSymbol148 ScattergeoMarkerSymbol = "148" + ScattergeoMarkerSymbolArrowRightOpen ScattergeoMarkerSymbol = "arrow-right-open" + ScattergeoMarkerSymbolNumber49 ScattergeoMarkerSymbol = 49 + ScattergeoMarkerSymbol49 ScattergeoMarkerSymbol = "49" + ScattergeoMarkerSymbolArrowBarUp ScattergeoMarkerSymbol = "arrow-bar-up" + ScattergeoMarkerSymbolNumber149 ScattergeoMarkerSymbol = 149 + ScattergeoMarkerSymbol149 ScattergeoMarkerSymbol = "149" + ScattergeoMarkerSymbolArrowBarUpOpen ScattergeoMarkerSymbol = "arrow-bar-up-open" + ScattergeoMarkerSymbolNumber50 ScattergeoMarkerSymbol = 50 + ScattergeoMarkerSymbol50 ScattergeoMarkerSymbol = "50" + ScattergeoMarkerSymbolArrowBarDown ScattergeoMarkerSymbol = "arrow-bar-down" + ScattergeoMarkerSymbolNumber150 ScattergeoMarkerSymbol = 150 + ScattergeoMarkerSymbol150 ScattergeoMarkerSymbol = "150" + ScattergeoMarkerSymbolArrowBarDownOpen ScattergeoMarkerSymbol = "arrow-bar-down-open" + ScattergeoMarkerSymbolNumber51 ScattergeoMarkerSymbol = 51 + ScattergeoMarkerSymbol51 ScattergeoMarkerSymbol = "51" + ScattergeoMarkerSymbolArrowBarLeft ScattergeoMarkerSymbol = "arrow-bar-left" + ScattergeoMarkerSymbolNumber151 ScattergeoMarkerSymbol = 151 + ScattergeoMarkerSymbol151 ScattergeoMarkerSymbol = "151" + ScattergeoMarkerSymbolArrowBarLeftOpen ScattergeoMarkerSymbol = "arrow-bar-left-open" + ScattergeoMarkerSymbolNumber52 ScattergeoMarkerSymbol = 52 + ScattergeoMarkerSymbol52 ScattergeoMarkerSymbol = "52" + ScattergeoMarkerSymbolArrowBarRight ScattergeoMarkerSymbol = "arrow-bar-right" + ScattergeoMarkerSymbolNumber152 ScattergeoMarkerSymbol = 152 + ScattergeoMarkerSymbol152 ScattergeoMarkerSymbol = "152" + ScattergeoMarkerSymbolArrowBarRightOpen ScattergeoMarkerSymbol = "arrow-bar-right-open" + ScattergeoMarkerSymbolNumber53 ScattergeoMarkerSymbol = 53 + ScattergeoMarkerSymbol53 ScattergeoMarkerSymbol = "53" + ScattergeoMarkerSymbolArrow ScattergeoMarkerSymbol = "arrow" + ScattergeoMarkerSymbolNumber153 ScattergeoMarkerSymbol = 153 + ScattergeoMarkerSymbol153 ScattergeoMarkerSymbol = "153" + ScattergeoMarkerSymbolArrowOpen ScattergeoMarkerSymbol = "arrow-open" + ScattergeoMarkerSymbolNumber54 ScattergeoMarkerSymbol = 54 + ScattergeoMarkerSymbol54 ScattergeoMarkerSymbol = "54" + ScattergeoMarkerSymbolArrowWide ScattergeoMarkerSymbol = "arrow-wide" + ScattergeoMarkerSymbolNumber154 ScattergeoMarkerSymbol = 154 + ScattergeoMarkerSymbol154 ScattergeoMarkerSymbol = "154" + ScattergeoMarkerSymbolArrowWideOpen ScattergeoMarkerSymbol = "arrow-wide-open" +) + +// ScattergeoTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. +type ScattergeoTextposition string + +const ( + ScattergeoTextpositionTopLeft ScattergeoTextposition = "top left" + ScattergeoTextpositionTopCenter ScattergeoTextposition = "top center" + ScattergeoTextpositionTopRight ScattergeoTextposition = "top right" + ScattergeoTextpositionMiddleLeft ScattergeoTextposition = "middle left" + ScattergeoTextpositionMiddleCenter ScattergeoTextposition = "middle center" + ScattergeoTextpositionMiddleRight ScattergeoTextposition = "middle right" + ScattergeoTextpositionBottomLeft ScattergeoTextposition = "bottom left" + ScattergeoTextpositionBottomCenter ScattergeoTextposition = "bottom center" + ScattergeoTextpositionBottomRight ScattergeoTextposition = "bottom right" +) + +// ScattergeoVisible 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). +type ScattergeoVisible interface{} + +var ( + ScattergeoVisibleTrue ScattergeoVisible = true + ScattergeoVisibleFalse ScattergeoVisible = false + ScattergeoVisibleLegendonly ScattergeoVisible = "legendonly" +) + +// ScattergeoHoverinfo 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. +type ScattergeoHoverinfo string + +const ( + // Flags + ScattergeoHoverinfoLon ScattergeoHoverinfo = "lon" + ScattergeoHoverinfoLat ScattergeoHoverinfo = "lat" + ScattergeoHoverinfoLocation ScattergeoHoverinfo = "location" + ScattergeoHoverinfoText ScattergeoHoverinfo = "text" + ScattergeoHoverinfoName ScattergeoHoverinfo = "name" + + // Extra + ScattergeoHoverinfoAll ScattergeoHoverinfo = "all" + ScattergeoHoverinfoNone ScattergeoHoverinfo = "none" + ScattergeoHoverinfoSkip ScattergeoHoverinfo = "skip" +) + +// ScattergeoMode 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*. +type ScattergeoMode string + +const ( + // Flags + ScattergeoModeLines ScattergeoMode = "lines" + ScattergeoModeMarkers ScattergeoMode = "markers" + ScattergeoModeText ScattergeoMode = "text" + + // Extra + ScattergeoModeNone ScattergeoMode = "none" +) diff --git a/generated/v2.31.1/graph_objects/scattergl_gen.go b/generated/v2.31.1/graph_objects/scattergl_gen.go new file mode 100644 index 0000000..4dfa5ef --- /dev/null +++ b/generated/v2.31.1/graph_objects/scattergl_gen.go @@ -0,0 +1,2272 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeScattergl TraceType = "scattergl" + +func (trace *Scattergl) GetType() TraceType { + return TraceTypeScattergl +} + +// Scattergl 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. +type Scattergl struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Connectgaps + // arrayOK: false + // type: boolean + // Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected. + Connectgaps Bool `json:"connectgaps,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Dx + // arrayOK: false + // type: number + // Sets the x coordinate step. See `x0` for more info. + Dx float64 `json:"dx,omitempty"` + + // Dy + // arrayOK: false + // type: number + // Sets the y coordinate step. See `y0` for more info. + Dy float64 `json:"dy,omitempty"` + + // ErrorX + // role: Object + ErrorX *ScatterglErrorX `json:"error_x,omitempty"` + + // ErrorY + // role: Object + ErrorY *ScatterglErrorY `json:"error_y,omitempty"` + + // Fill + // default: none + // type: enumerated + // 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. + Fill ScatterglFill `json:"fill,omitempty"` + + // Fillcolor + // arrayOK: false + // 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. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo ScatterglHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *ScatterglHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *ScatterglLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *ScatterglLine `json:"line,omitempty"` + + // Marker + // role: Object + Marker *ScatterglMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Mode + // default: %!s() + // type: flaglist + // Determines the drawing mode for this scatter trace. + Mode ScatterglMode `json:"mode,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Selected + // role: Object + Selected *ScatterglSelected `json:"selected,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Stream + // role: Object + Stream *ScatterglStream `json:"stream,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textfont + // role: Object + Textfont *ScatterglTextfont `json:"textfont,omitempty"` + + // Textposition + // default: middle center + // type: enumerated + // Sets the positions of the `text` elements with respects to the (x,y) coordinates. + Textposition ScatterglTextposition `json:"textposition,omitempty"` + + // Textpositionsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `textposition`. + Textpositionsrc String `json:"textpositionsrc,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: true + // 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. + Texttemplate String `json:"texttemplate,omitempty"` + + // Texttemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `texttemplate`. + Texttemplatesrc String `json:"texttemplatesrc,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Unselected + // role: Object + Unselected *ScatterglUnselected `json:"unselected,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible ScatterglVisible `json:"visible,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the x coordinates. + X interface{} `json:"x,omitempty"` + + // X0 + // arrayOK: false + // type: any + // Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step. + X0 interface{} `json:"x0,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Xcalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `x` date data. + Xcalendar ScatterglXcalendar `json:"xcalendar,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xperiod + // arrayOK: false + // type: any + // Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer. + Xperiod interface{} `json:"xperiod,omitempty"` + + // Xperiod0 + // arrayOK: false + // type: any + // 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. + Xperiod0 interface{} `json:"xperiod0,omitempty"` + + // Xperiodalignment + // default: middle + // type: enumerated + // Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. + Xperiodalignment ScatterglXperiodalignment `json:"xperiodalignment,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the y coordinates. + Y interface{} `json:"y,omitempty"` + + // Y0 + // arrayOK: false + // type: any + // Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step. + Y0 interface{} `json:"y0,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` + + // Ycalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `y` date data. + Ycalendar ScatterglYcalendar `json:"ycalendar,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Yperiod + // arrayOK: false + // type: any + // Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the y axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer. + Yperiod interface{} `json:"yperiod,omitempty"` + + // Yperiod0 + // arrayOK: false + // type: any + // 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. + Yperiod0 interface{} `json:"yperiod0,omitempty"` + + // Yperiodalignment + // default: middle + // type: enumerated + // Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis. + Yperiodalignment ScatterglYperiodalignment `json:"yperiodalignment,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` +} + +// ScatterglErrorX +type ScatterglErrorX struct { + + // Array + // arrayOK: false + // type: data_array + // Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data. + Array interface{} `json:"array,omitempty"` + + // Arrayminus + // arrayOK: false + // 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. + Arrayminus interface{} `json:"arrayminus,omitempty"` + + // Arrayminussrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `arrayminus`. + Arrayminussrc String `json:"arrayminussrc,omitempty"` + + // Arraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `array`. + Arraysrc String `json:"arraysrc,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the stoke color of the error bars. + Color Color `json:"color,omitempty"` + + // CopyYstyle + // arrayOK: false + // type: boolean + // + CopyYstyle Bool `json:"copy_ystyle,omitempty"` + + // Symmetric + // arrayOK: false + // 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. + Symmetric Bool `json:"symmetric,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness (in px) of the error bars. + Thickness float64 `json:"thickness,omitempty"` + + // Traceref + // arrayOK: false + // type: integer + // + Traceref int64 `json:"traceref,omitempty"` + + // Tracerefminus + // arrayOK: false + // type: integer + // + Tracerefminus int64 `json:"tracerefminus,omitempty"` + + // Type + // default: %!s() + // type: enumerated + // 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`. + Type ScatterglErrorXType `json:"type,omitempty"` + + // Value + // arrayOK: false + // type: number + // 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. + Value float64 `json:"value,omitempty"` + + // Valueminus + // arrayOK: false + // type: number + // 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 + Valueminus float64 `json:"valueminus,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Determines whether or not this set of error bars is visible. + Visible Bool `json:"visible,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of the cross-bar at both ends of the error bars. + Width float64 `json:"width,omitempty"` +} + +// ScatterglErrorY +type ScatterglErrorY struct { + + // Array + // arrayOK: false + // type: data_array + // Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data. + Array interface{} `json:"array,omitempty"` + + // Arrayminus + // arrayOK: false + // 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. + Arrayminus interface{} `json:"arrayminus,omitempty"` + + // Arrayminussrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `arrayminus`. + Arrayminussrc String `json:"arrayminussrc,omitempty"` + + // Arraysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `array`. + Arraysrc String `json:"arraysrc,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the stoke color of the error bars. + Color Color `json:"color,omitempty"` + + // Symmetric + // arrayOK: false + // 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. + Symmetric Bool `json:"symmetric,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness (in px) of the error bars. + Thickness float64 `json:"thickness,omitempty"` + + // Traceref + // arrayOK: false + // type: integer + // + Traceref int64 `json:"traceref,omitempty"` + + // Tracerefminus + // arrayOK: false + // type: integer + // + Tracerefminus int64 `json:"tracerefminus,omitempty"` + + // Type + // default: %!s() + // type: enumerated + // 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`. + Type ScatterglErrorYType `json:"type,omitempty"` + + // Value + // arrayOK: false + // type: number + // 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. + Value float64 `json:"value,omitempty"` + + // Valueminus + // arrayOK: false + // type: number + // 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 + Valueminus float64 `json:"valueminus,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Determines whether or not this set of error bars is visible. + Visible Bool `json:"visible,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of the cross-bar at both ends of the error bars. + Width float64 `json:"width,omitempty"` +} + +// ScatterglHoverlabelFont Sets the font used in hover labels. +type ScatterglHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ScatterglHoverlabel +type ScatterglHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align ScatterglHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *ScatterglHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// ScatterglLegendgrouptitleFont Sets this legend group's title font. +type ScatterglLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScatterglLegendgrouptitle +type ScatterglLegendgrouptitle struct { + + // Font + // role: Object + Font *ScatterglLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// ScatterglLine +type ScatterglLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the line color. + Color Color `json:"color,omitempty"` + + // Dash + // default: solid + // type: enumerated + // Sets the style of the lines. + Dash ScatterglLineDash `json:"dash,omitempty"` + + // Shape + // default: linear + // type: enumerated + // Determines the line shape. The values correspond to step-wise line shapes. + Shape ScatterglLineShape `json:"shape,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width (in px). + Width float64 `json:"width,omitempty"` +} + +// ScatterglMarkerColorbarTickfont Sets the color bar's tick label font +type ScatterglMarkerColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScatterglMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type ScatterglMarkerColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScatterglMarkerColorbarTitle +type ScatterglMarkerColorbarTitle struct { + + // Font + // role: Object + Font *ScatterglMarkerColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side ScatterglMarkerColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// ScatterglMarkerColorbar +type ScatterglMarkerColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat ScatterglMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode ScatterglMarkerColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ScatterglMarkerColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent ScatterglMarkerColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix ScatterglMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix ScatterglMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode ScatterglMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *ScatterglMarkerColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ScatterglMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition ScatterglMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode ScatterglMarkerColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks ScatterglMarkerColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *ScatterglMarkerColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor ScatterglMarkerColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref ScatterglMarkerColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor ScatterglMarkerColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref ScatterglMarkerColorbarYref `json:"yref,omitempty"` +} + +// ScatterglMarkerLine +type ScatterglMarkerLine struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the lines bounding the marker points. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// ScatterglMarker +type ScatterglMarker struct { + + // Angle + // arrayOK: true + // type: angle + // Sets the marker angle in respect to `angleref`. + Angle float64 `json:"angle,omitempty"` + + // Anglesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `angle`. + Anglesrc String `json:"anglesrc,omitempty"` + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *ScatterglMarkerColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Line + // role: Object + Line *ScatterglMarkerLine `json:"line,omitempty"` + + // Opacity + // arrayOK: true + // type: number + // Sets the marker opacity. + Opacity float64 `json:"opacity,omitempty"` + + // Opacitysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `opacity`. + Opacitysrc String `json:"opacitysrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the marker size (in px). + Size float64 `json:"size,omitempty"` + + // Sizemin + // arrayOK: false + // 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. + Sizemin float64 `json:"sizemin,omitempty"` + + // Sizemode + // default: diameter + // type: enumerated + // 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. + Sizemode ScatterglMarkerSizemode `json:"sizemode,omitempty"` + + // Sizeref + // arrayOK: false + // type: number + // 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`. + Sizeref float64 `json:"sizeref,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Symbol + // default: circle + // type: enumerated + // 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. + Symbol ScatterglMarkerSymbol `json:"symbol,omitempty"` + + // Symbolsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `symbol`. + Symbolsrc String `json:"symbolsrc,omitempty"` +} + +// ScatterglSelectedMarker +type ScatterglSelectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of selected points. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of selected points. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of selected points. + Size float64 `json:"size,omitempty"` +} + +// ScatterglSelectedTextfont +type ScatterglSelectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of selected points. + Color Color `json:"color,omitempty"` +} + +// ScatterglSelected +type ScatterglSelected struct { + + // Marker + // role: Object + Marker *ScatterglSelectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *ScatterglSelectedTextfont `json:"textfont,omitempty"` +} + +// ScatterglStream +type ScatterglStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// ScatterglTextfont Sets the text font. +type ScatterglTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ScatterglUnselectedMarker +type ScatterglUnselectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of unselected points, applied only when a selection exists. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of unselected points, applied only when a selection exists. + Size float64 `json:"size,omitempty"` +} + +// ScatterglUnselectedTextfont +type ScatterglUnselectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` +} + +// ScatterglUnselected +type ScatterglUnselected struct { + + // Marker + // role: Object + Marker *ScatterglUnselectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *ScatterglUnselectedTextfont `json:"textfont,omitempty"` +} + +// ScatterglErrorXType 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`. +type ScatterglErrorXType string + +const ( + ScatterglErrorXTypePercent ScatterglErrorXType = "percent" + ScatterglErrorXTypeConstant ScatterglErrorXType = "constant" + ScatterglErrorXTypeSqrt ScatterglErrorXType = "sqrt" + ScatterglErrorXTypeData ScatterglErrorXType = "data" +) + +// ScatterglErrorYType 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`. +type ScatterglErrorYType string + +const ( + ScatterglErrorYTypePercent ScatterglErrorYType = "percent" + ScatterglErrorYTypeConstant ScatterglErrorYType = "constant" + ScatterglErrorYTypeSqrt ScatterglErrorYType = "sqrt" + ScatterglErrorYTypeData ScatterglErrorYType = "data" +) + +// ScatterglFill 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. +type ScatterglFill string + +const ( + ScatterglFillNone ScatterglFill = "none" + ScatterglFillTozeroy ScatterglFill = "tozeroy" + ScatterglFillTozerox ScatterglFill = "tozerox" + ScatterglFillTonexty ScatterglFill = "tonexty" + ScatterglFillTonextx ScatterglFill = "tonextx" + ScatterglFillToself ScatterglFill = "toself" + ScatterglFillTonext ScatterglFill = "tonext" +) + +// ScatterglHoverlabelAlign 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 +type ScatterglHoverlabelAlign string + +const ( + ScatterglHoverlabelAlignLeft ScatterglHoverlabelAlign = "left" + ScatterglHoverlabelAlignRight ScatterglHoverlabelAlign = "right" + ScatterglHoverlabelAlignAuto ScatterglHoverlabelAlign = "auto" +) + +// ScatterglLineDash Sets the style of the lines. +type ScatterglLineDash string + +const ( + ScatterglLineDashDash ScatterglLineDash = "dash" + ScatterglLineDashDashdot ScatterglLineDash = "dashdot" + ScatterglLineDashDot ScatterglLineDash = "dot" + ScatterglLineDashLongdash ScatterglLineDash = "longdash" + ScatterglLineDashLongdashdot ScatterglLineDash = "longdashdot" + ScatterglLineDashSolid ScatterglLineDash = "solid" +) + +// ScatterglLineShape Determines the line shape. The values correspond to step-wise line shapes. +type ScatterglLineShape string + +const ( + ScatterglLineShapeLinear ScatterglLineShape = "linear" + ScatterglLineShapeHv ScatterglLineShape = "hv" + ScatterglLineShapeVh ScatterglLineShape = "vh" + ScatterglLineShapeHvh ScatterglLineShape = "hvh" + ScatterglLineShapeVhv ScatterglLineShape = "vhv" +) + +// ScatterglMarkerColorbarExponentformat 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. +type ScatterglMarkerColorbarExponentformat string + +const ( + ScatterglMarkerColorbarExponentformatNone ScatterglMarkerColorbarExponentformat = "none" + ScatterglMarkerColorbarExponentformatE1 ScatterglMarkerColorbarExponentformat = "e" + ScatterglMarkerColorbarExponentformatE2 ScatterglMarkerColorbarExponentformat = "E" + ScatterglMarkerColorbarExponentformatPower ScatterglMarkerColorbarExponentformat = "power" + ScatterglMarkerColorbarExponentformatSI ScatterglMarkerColorbarExponentformat = "SI" + ScatterglMarkerColorbarExponentformatB ScatterglMarkerColorbarExponentformat = "B" +) + +// ScatterglMarkerColorbarLenmode 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. +type ScatterglMarkerColorbarLenmode string + +const ( + ScatterglMarkerColorbarLenmodeFraction ScatterglMarkerColorbarLenmode = "fraction" + ScatterglMarkerColorbarLenmodePixels ScatterglMarkerColorbarLenmode = "pixels" +) + +// ScatterglMarkerColorbarOrientation Sets the orientation of the colorbar. +type ScatterglMarkerColorbarOrientation string + +const ( + ScatterglMarkerColorbarOrientationH ScatterglMarkerColorbarOrientation = "h" + ScatterglMarkerColorbarOrientationV ScatterglMarkerColorbarOrientation = "v" +) + +// ScatterglMarkerColorbarShowexponent 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. +type ScatterglMarkerColorbarShowexponent string + +const ( + ScatterglMarkerColorbarShowexponentAll ScatterglMarkerColorbarShowexponent = "all" + ScatterglMarkerColorbarShowexponentFirst ScatterglMarkerColorbarShowexponent = "first" + ScatterglMarkerColorbarShowexponentLast ScatterglMarkerColorbarShowexponent = "last" + ScatterglMarkerColorbarShowexponentNone ScatterglMarkerColorbarShowexponent = "none" +) + +// ScatterglMarkerColorbarShowtickprefix 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. +type ScatterglMarkerColorbarShowtickprefix string + +const ( + ScatterglMarkerColorbarShowtickprefixAll ScatterglMarkerColorbarShowtickprefix = "all" + ScatterglMarkerColorbarShowtickprefixFirst ScatterglMarkerColorbarShowtickprefix = "first" + ScatterglMarkerColorbarShowtickprefixLast ScatterglMarkerColorbarShowtickprefix = "last" + ScatterglMarkerColorbarShowtickprefixNone ScatterglMarkerColorbarShowtickprefix = "none" +) + +// ScatterglMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type ScatterglMarkerColorbarShowticksuffix string + +const ( + ScatterglMarkerColorbarShowticksuffixAll ScatterglMarkerColorbarShowticksuffix = "all" + ScatterglMarkerColorbarShowticksuffixFirst ScatterglMarkerColorbarShowticksuffix = "first" + ScatterglMarkerColorbarShowticksuffixLast ScatterglMarkerColorbarShowticksuffix = "last" + ScatterglMarkerColorbarShowticksuffixNone ScatterglMarkerColorbarShowticksuffix = "none" +) + +// ScatterglMarkerColorbarThicknessmode 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. +type ScatterglMarkerColorbarThicknessmode string + +const ( + ScatterglMarkerColorbarThicknessmodeFraction ScatterglMarkerColorbarThicknessmode = "fraction" + ScatterglMarkerColorbarThicknessmodePixels ScatterglMarkerColorbarThicknessmode = "pixels" +) + +// ScatterglMarkerColorbarTicklabeloverflow 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*. +type ScatterglMarkerColorbarTicklabeloverflow string + +const ( + ScatterglMarkerColorbarTicklabeloverflowAllow ScatterglMarkerColorbarTicklabeloverflow = "allow" + ScatterglMarkerColorbarTicklabeloverflowHidePastDiv ScatterglMarkerColorbarTicklabeloverflow = "hide past div" + ScatterglMarkerColorbarTicklabeloverflowHidePastDomain ScatterglMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// ScatterglMarkerColorbarTicklabelposition 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*. +type ScatterglMarkerColorbarTicklabelposition string + +const ( + ScatterglMarkerColorbarTicklabelpositionOutside ScatterglMarkerColorbarTicklabelposition = "outside" + ScatterglMarkerColorbarTicklabelpositionInside ScatterglMarkerColorbarTicklabelposition = "inside" + ScatterglMarkerColorbarTicklabelpositionOutsideTop ScatterglMarkerColorbarTicklabelposition = "outside top" + ScatterglMarkerColorbarTicklabelpositionInsideTop ScatterglMarkerColorbarTicklabelposition = "inside top" + ScatterglMarkerColorbarTicklabelpositionOutsideLeft ScatterglMarkerColorbarTicklabelposition = "outside left" + ScatterglMarkerColorbarTicklabelpositionInsideLeft ScatterglMarkerColorbarTicklabelposition = "inside left" + ScatterglMarkerColorbarTicklabelpositionOutsideRight ScatterglMarkerColorbarTicklabelposition = "outside right" + ScatterglMarkerColorbarTicklabelpositionInsideRight ScatterglMarkerColorbarTicklabelposition = "inside right" + ScatterglMarkerColorbarTicklabelpositionOutsideBottom ScatterglMarkerColorbarTicklabelposition = "outside bottom" + ScatterglMarkerColorbarTicklabelpositionInsideBottom ScatterglMarkerColorbarTicklabelposition = "inside bottom" +) + +// ScatterglMarkerColorbarTickmode 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). +type ScatterglMarkerColorbarTickmode string + +const ( + ScatterglMarkerColorbarTickmodeAuto ScatterglMarkerColorbarTickmode = "auto" + ScatterglMarkerColorbarTickmodeLinear ScatterglMarkerColorbarTickmode = "linear" + ScatterglMarkerColorbarTickmodeArray ScatterglMarkerColorbarTickmode = "array" +) + +// ScatterglMarkerColorbarTicks 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. +type ScatterglMarkerColorbarTicks string + +const ( + ScatterglMarkerColorbarTicksOutside ScatterglMarkerColorbarTicks = "outside" + ScatterglMarkerColorbarTicksInside ScatterglMarkerColorbarTicks = "inside" + ScatterglMarkerColorbarTicksEmpty ScatterglMarkerColorbarTicks = "" +) + +// ScatterglMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type ScatterglMarkerColorbarTitleSide string + +const ( + ScatterglMarkerColorbarTitleSideRight ScatterglMarkerColorbarTitleSide = "right" + ScatterglMarkerColorbarTitleSideTop ScatterglMarkerColorbarTitleSide = "top" + ScatterglMarkerColorbarTitleSideBottom ScatterglMarkerColorbarTitleSide = "bottom" +) + +// ScatterglMarkerColorbarXanchor 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*. +type ScatterglMarkerColorbarXanchor string + +const ( + ScatterglMarkerColorbarXanchorLeft ScatterglMarkerColorbarXanchor = "left" + ScatterglMarkerColorbarXanchorCenter ScatterglMarkerColorbarXanchor = "center" + ScatterglMarkerColorbarXanchorRight ScatterglMarkerColorbarXanchor = "right" +) + +// ScatterglMarkerColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type ScatterglMarkerColorbarXref string + +const ( + ScatterglMarkerColorbarXrefContainer ScatterglMarkerColorbarXref = "container" + ScatterglMarkerColorbarXrefPaper ScatterglMarkerColorbarXref = "paper" +) + +// ScatterglMarkerColorbarYanchor 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*. +type ScatterglMarkerColorbarYanchor string + +const ( + ScatterglMarkerColorbarYanchorTop ScatterglMarkerColorbarYanchor = "top" + ScatterglMarkerColorbarYanchorMiddle ScatterglMarkerColorbarYanchor = "middle" + ScatterglMarkerColorbarYanchorBottom ScatterglMarkerColorbarYanchor = "bottom" +) + +// ScatterglMarkerColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type ScatterglMarkerColorbarYref string + +const ( + ScatterglMarkerColorbarYrefContainer ScatterglMarkerColorbarYref = "container" + ScatterglMarkerColorbarYrefPaper ScatterglMarkerColorbarYref = "paper" +) + +// ScatterglMarkerSizemode 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. +type ScatterglMarkerSizemode string + +const ( + ScatterglMarkerSizemodeDiameter ScatterglMarkerSizemode = "diameter" + ScatterglMarkerSizemodeArea ScatterglMarkerSizemode = "area" +) + +// ScatterglMarkerSymbol 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. +type ScatterglMarkerSymbol interface{} + +var ( + ScatterglMarkerSymbolNumber0 ScatterglMarkerSymbol = 0 + ScatterglMarkerSymbol0 ScatterglMarkerSymbol = "0" + ScatterglMarkerSymbolCircle ScatterglMarkerSymbol = "circle" + ScatterglMarkerSymbolNumber100 ScatterglMarkerSymbol = 100 + ScatterglMarkerSymbol100 ScatterglMarkerSymbol = "100" + ScatterglMarkerSymbolCircleOpen ScatterglMarkerSymbol = "circle-open" + ScatterglMarkerSymbolNumber200 ScatterglMarkerSymbol = 200 + ScatterglMarkerSymbol200 ScatterglMarkerSymbol = "200" + ScatterglMarkerSymbolCircleDot ScatterglMarkerSymbol = "circle-dot" + ScatterglMarkerSymbolNumber300 ScatterglMarkerSymbol = 300 + ScatterglMarkerSymbol300 ScatterglMarkerSymbol = "300" + ScatterglMarkerSymbolCircleOpenDot ScatterglMarkerSymbol = "circle-open-dot" + ScatterglMarkerSymbolNumber1 ScatterglMarkerSymbol = 1 + ScatterglMarkerSymbol1 ScatterglMarkerSymbol = "1" + ScatterglMarkerSymbolSquare ScatterglMarkerSymbol = "square" + ScatterglMarkerSymbolNumber101 ScatterglMarkerSymbol = 101 + ScatterglMarkerSymbol101 ScatterglMarkerSymbol = "101" + ScatterglMarkerSymbolSquareOpen ScatterglMarkerSymbol = "square-open" + ScatterglMarkerSymbolNumber201 ScatterglMarkerSymbol = 201 + ScatterglMarkerSymbol201 ScatterglMarkerSymbol = "201" + ScatterglMarkerSymbolSquareDot ScatterglMarkerSymbol = "square-dot" + ScatterglMarkerSymbolNumber301 ScatterglMarkerSymbol = 301 + ScatterglMarkerSymbol301 ScatterglMarkerSymbol = "301" + ScatterglMarkerSymbolSquareOpenDot ScatterglMarkerSymbol = "square-open-dot" + ScatterglMarkerSymbolNumber2 ScatterglMarkerSymbol = 2 + ScatterglMarkerSymbol2 ScatterglMarkerSymbol = "2" + ScatterglMarkerSymbolDiamond ScatterglMarkerSymbol = "diamond" + ScatterglMarkerSymbolNumber102 ScatterglMarkerSymbol = 102 + ScatterglMarkerSymbol102 ScatterglMarkerSymbol = "102" + ScatterglMarkerSymbolDiamondOpen ScatterglMarkerSymbol = "diamond-open" + ScatterglMarkerSymbolNumber202 ScatterglMarkerSymbol = 202 + ScatterglMarkerSymbol202 ScatterglMarkerSymbol = "202" + ScatterglMarkerSymbolDiamondDot ScatterglMarkerSymbol = "diamond-dot" + ScatterglMarkerSymbolNumber302 ScatterglMarkerSymbol = 302 + ScatterglMarkerSymbol302 ScatterglMarkerSymbol = "302" + ScatterglMarkerSymbolDiamondOpenDot ScatterglMarkerSymbol = "diamond-open-dot" + ScatterglMarkerSymbolNumber3 ScatterglMarkerSymbol = 3 + ScatterglMarkerSymbol3 ScatterglMarkerSymbol = "3" + ScatterglMarkerSymbolCross ScatterglMarkerSymbol = "cross" + ScatterglMarkerSymbolNumber103 ScatterglMarkerSymbol = 103 + ScatterglMarkerSymbol103 ScatterglMarkerSymbol = "103" + ScatterglMarkerSymbolCrossOpen ScatterglMarkerSymbol = "cross-open" + ScatterglMarkerSymbolNumber203 ScatterglMarkerSymbol = 203 + ScatterglMarkerSymbol203 ScatterglMarkerSymbol = "203" + ScatterglMarkerSymbolCrossDot ScatterglMarkerSymbol = "cross-dot" + ScatterglMarkerSymbolNumber303 ScatterglMarkerSymbol = 303 + ScatterglMarkerSymbol303 ScatterglMarkerSymbol = "303" + ScatterglMarkerSymbolCrossOpenDot ScatterglMarkerSymbol = "cross-open-dot" + ScatterglMarkerSymbolNumber4 ScatterglMarkerSymbol = 4 + ScatterglMarkerSymbol4 ScatterglMarkerSymbol = "4" + ScatterglMarkerSymbolX ScatterglMarkerSymbol = "x" + ScatterglMarkerSymbolNumber104 ScatterglMarkerSymbol = 104 + ScatterglMarkerSymbol104 ScatterglMarkerSymbol = "104" + ScatterglMarkerSymbolXOpen ScatterglMarkerSymbol = "x-open" + ScatterglMarkerSymbolNumber204 ScatterglMarkerSymbol = 204 + ScatterglMarkerSymbol204 ScatterglMarkerSymbol = "204" + ScatterglMarkerSymbolXDot ScatterglMarkerSymbol = "x-dot" + ScatterglMarkerSymbolNumber304 ScatterglMarkerSymbol = 304 + ScatterglMarkerSymbol304 ScatterglMarkerSymbol = "304" + ScatterglMarkerSymbolXOpenDot ScatterglMarkerSymbol = "x-open-dot" + ScatterglMarkerSymbolNumber5 ScatterglMarkerSymbol = 5 + ScatterglMarkerSymbol5 ScatterglMarkerSymbol = "5" + ScatterglMarkerSymbolTriangleUp ScatterglMarkerSymbol = "triangle-up" + ScatterglMarkerSymbolNumber105 ScatterglMarkerSymbol = 105 + ScatterglMarkerSymbol105 ScatterglMarkerSymbol = "105" + ScatterglMarkerSymbolTriangleUpOpen ScatterglMarkerSymbol = "triangle-up-open" + ScatterglMarkerSymbolNumber205 ScatterglMarkerSymbol = 205 + ScatterglMarkerSymbol205 ScatterglMarkerSymbol = "205" + ScatterglMarkerSymbolTriangleUpDot ScatterglMarkerSymbol = "triangle-up-dot" + ScatterglMarkerSymbolNumber305 ScatterglMarkerSymbol = 305 + ScatterglMarkerSymbol305 ScatterglMarkerSymbol = "305" + ScatterglMarkerSymbolTriangleUpOpenDot ScatterglMarkerSymbol = "triangle-up-open-dot" + ScatterglMarkerSymbolNumber6 ScatterglMarkerSymbol = 6 + ScatterglMarkerSymbol6 ScatterglMarkerSymbol = "6" + ScatterglMarkerSymbolTriangleDown ScatterglMarkerSymbol = "triangle-down" + ScatterglMarkerSymbolNumber106 ScatterglMarkerSymbol = 106 + ScatterglMarkerSymbol106 ScatterglMarkerSymbol = "106" + ScatterglMarkerSymbolTriangleDownOpen ScatterglMarkerSymbol = "triangle-down-open" + ScatterglMarkerSymbolNumber206 ScatterglMarkerSymbol = 206 + ScatterglMarkerSymbol206 ScatterglMarkerSymbol = "206" + ScatterglMarkerSymbolTriangleDownDot ScatterglMarkerSymbol = "triangle-down-dot" + ScatterglMarkerSymbolNumber306 ScatterglMarkerSymbol = 306 + ScatterglMarkerSymbol306 ScatterglMarkerSymbol = "306" + ScatterglMarkerSymbolTriangleDownOpenDot ScatterglMarkerSymbol = "triangle-down-open-dot" + ScatterglMarkerSymbolNumber7 ScatterglMarkerSymbol = 7 + ScatterglMarkerSymbol7 ScatterglMarkerSymbol = "7" + ScatterglMarkerSymbolTriangleLeft ScatterglMarkerSymbol = "triangle-left" + ScatterglMarkerSymbolNumber107 ScatterglMarkerSymbol = 107 + ScatterglMarkerSymbol107 ScatterglMarkerSymbol = "107" + ScatterglMarkerSymbolTriangleLeftOpen ScatterglMarkerSymbol = "triangle-left-open" + ScatterglMarkerSymbolNumber207 ScatterglMarkerSymbol = 207 + ScatterglMarkerSymbol207 ScatterglMarkerSymbol = "207" + ScatterglMarkerSymbolTriangleLeftDot ScatterglMarkerSymbol = "triangle-left-dot" + ScatterglMarkerSymbolNumber307 ScatterglMarkerSymbol = 307 + ScatterglMarkerSymbol307 ScatterglMarkerSymbol = "307" + ScatterglMarkerSymbolTriangleLeftOpenDot ScatterglMarkerSymbol = "triangle-left-open-dot" + ScatterglMarkerSymbolNumber8 ScatterglMarkerSymbol = 8 + ScatterglMarkerSymbol8 ScatterglMarkerSymbol = "8" + ScatterglMarkerSymbolTriangleRight ScatterglMarkerSymbol = "triangle-right" + ScatterglMarkerSymbolNumber108 ScatterglMarkerSymbol = 108 + ScatterglMarkerSymbol108 ScatterglMarkerSymbol = "108" + ScatterglMarkerSymbolTriangleRightOpen ScatterglMarkerSymbol = "triangle-right-open" + ScatterglMarkerSymbolNumber208 ScatterglMarkerSymbol = 208 + ScatterglMarkerSymbol208 ScatterglMarkerSymbol = "208" + ScatterglMarkerSymbolTriangleRightDot ScatterglMarkerSymbol = "triangle-right-dot" + ScatterglMarkerSymbolNumber308 ScatterglMarkerSymbol = 308 + ScatterglMarkerSymbol308 ScatterglMarkerSymbol = "308" + ScatterglMarkerSymbolTriangleRightOpenDot ScatterglMarkerSymbol = "triangle-right-open-dot" + ScatterglMarkerSymbolNumber9 ScatterglMarkerSymbol = 9 + ScatterglMarkerSymbol9 ScatterglMarkerSymbol = "9" + ScatterglMarkerSymbolTriangleNe ScatterglMarkerSymbol = "triangle-ne" + ScatterglMarkerSymbolNumber109 ScatterglMarkerSymbol = 109 + ScatterglMarkerSymbol109 ScatterglMarkerSymbol = "109" + ScatterglMarkerSymbolTriangleNeOpen ScatterglMarkerSymbol = "triangle-ne-open" + ScatterglMarkerSymbolNumber209 ScatterglMarkerSymbol = 209 + ScatterglMarkerSymbol209 ScatterglMarkerSymbol = "209" + ScatterglMarkerSymbolTriangleNeDot ScatterglMarkerSymbol = "triangle-ne-dot" + ScatterglMarkerSymbolNumber309 ScatterglMarkerSymbol = 309 + ScatterglMarkerSymbol309 ScatterglMarkerSymbol = "309" + ScatterglMarkerSymbolTriangleNeOpenDot ScatterglMarkerSymbol = "triangle-ne-open-dot" + ScatterglMarkerSymbolNumber10 ScatterglMarkerSymbol = 10 + ScatterglMarkerSymbol10 ScatterglMarkerSymbol = "10" + ScatterglMarkerSymbolTriangleSe ScatterglMarkerSymbol = "triangle-se" + ScatterglMarkerSymbolNumber110 ScatterglMarkerSymbol = 110 + ScatterglMarkerSymbol110 ScatterglMarkerSymbol = "110" + ScatterglMarkerSymbolTriangleSeOpen ScatterglMarkerSymbol = "triangle-se-open" + ScatterglMarkerSymbolNumber210 ScatterglMarkerSymbol = 210 + ScatterglMarkerSymbol210 ScatterglMarkerSymbol = "210" + ScatterglMarkerSymbolTriangleSeDot ScatterglMarkerSymbol = "triangle-se-dot" + ScatterglMarkerSymbolNumber310 ScatterglMarkerSymbol = 310 + ScatterglMarkerSymbol310 ScatterglMarkerSymbol = "310" + ScatterglMarkerSymbolTriangleSeOpenDot ScatterglMarkerSymbol = "triangle-se-open-dot" + ScatterglMarkerSymbolNumber11 ScatterglMarkerSymbol = 11 + ScatterglMarkerSymbol11 ScatterglMarkerSymbol = "11" + ScatterglMarkerSymbolTriangleSw ScatterglMarkerSymbol = "triangle-sw" + ScatterglMarkerSymbolNumber111 ScatterglMarkerSymbol = 111 + ScatterglMarkerSymbol111 ScatterglMarkerSymbol = "111" + ScatterglMarkerSymbolTriangleSwOpen ScatterglMarkerSymbol = "triangle-sw-open" + ScatterglMarkerSymbolNumber211 ScatterglMarkerSymbol = 211 + ScatterglMarkerSymbol211 ScatterglMarkerSymbol = "211" + ScatterglMarkerSymbolTriangleSwDot ScatterglMarkerSymbol = "triangle-sw-dot" + ScatterglMarkerSymbolNumber311 ScatterglMarkerSymbol = 311 + ScatterglMarkerSymbol311 ScatterglMarkerSymbol = "311" + ScatterglMarkerSymbolTriangleSwOpenDot ScatterglMarkerSymbol = "triangle-sw-open-dot" + ScatterglMarkerSymbolNumber12 ScatterglMarkerSymbol = 12 + ScatterglMarkerSymbol12 ScatterglMarkerSymbol = "12" + ScatterglMarkerSymbolTriangleNw ScatterglMarkerSymbol = "triangle-nw" + ScatterglMarkerSymbolNumber112 ScatterglMarkerSymbol = 112 + ScatterglMarkerSymbol112 ScatterglMarkerSymbol = "112" + ScatterglMarkerSymbolTriangleNwOpen ScatterglMarkerSymbol = "triangle-nw-open" + ScatterglMarkerSymbolNumber212 ScatterglMarkerSymbol = 212 + ScatterglMarkerSymbol212 ScatterglMarkerSymbol = "212" + ScatterglMarkerSymbolTriangleNwDot ScatterglMarkerSymbol = "triangle-nw-dot" + ScatterglMarkerSymbolNumber312 ScatterglMarkerSymbol = 312 + ScatterglMarkerSymbol312 ScatterglMarkerSymbol = "312" + ScatterglMarkerSymbolTriangleNwOpenDot ScatterglMarkerSymbol = "triangle-nw-open-dot" + ScatterglMarkerSymbolNumber13 ScatterglMarkerSymbol = 13 + ScatterglMarkerSymbol13 ScatterglMarkerSymbol = "13" + ScatterglMarkerSymbolPentagon ScatterglMarkerSymbol = "pentagon" + ScatterglMarkerSymbolNumber113 ScatterglMarkerSymbol = 113 + ScatterglMarkerSymbol113 ScatterglMarkerSymbol = "113" + ScatterglMarkerSymbolPentagonOpen ScatterglMarkerSymbol = "pentagon-open" + ScatterglMarkerSymbolNumber213 ScatterglMarkerSymbol = 213 + ScatterglMarkerSymbol213 ScatterglMarkerSymbol = "213" + ScatterglMarkerSymbolPentagonDot ScatterglMarkerSymbol = "pentagon-dot" + ScatterglMarkerSymbolNumber313 ScatterglMarkerSymbol = 313 + ScatterglMarkerSymbol313 ScatterglMarkerSymbol = "313" + ScatterglMarkerSymbolPentagonOpenDot ScatterglMarkerSymbol = "pentagon-open-dot" + ScatterglMarkerSymbolNumber14 ScatterglMarkerSymbol = 14 + ScatterglMarkerSymbol14 ScatterglMarkerSymbol = "14" + ScatterglMarkerSymbolHexagon ScatterglMarkerSymbol = "hexagon" + ScatterglMarkerSymbolNumber114 ScatterglMarkerSymbol = 114 + ScatterglMarkerSymbol114 ScatterglMarkerSymbol = "114" + ScatterglMarkerSymbolHexagonOpen ScatterglMarkerSymbol = "hexagon-open" + ScatterglMarkerSymbolNumber214 ScatterglMarkerSymbol = 214 + ScatterglMarkerSymbol214 ScatterglMarkerSymbol = "214" + ScatterglMarkerSymbolHexagonDot ScatterglMarkerSymbol = "hexagon-dot" + ScatterglMarkerSymbolNumber314 ScatterglMarkerSymbol = 314 + ScatterglMarkerSymbol314 ScatterglMarkerSymbol = "314" + ScatterglMarkerSymbolHexagonOpenDot ScatterglMarkerSymbol = "hexagon-open-dot" + ScatterglMarkerSymbolNumber15 ScatterglMarkerSymbol = 15 + ScatterglMarkerSymbol15 ScatterglMarkerSymbol = "15" + ScatterglMarkerSymbolHexagon2 ScatterglMarkerSymbol = "hexagon2" + ScatterglMarkerSymbolNumber115 ScatterglMarkerSymbol = 115 + ScatterglMarkerSymbol115 ScatterglMarkerSymbol = "115" + ScatterglMarkerSymbolHexagon2Open ScatterglMarkerSymbol = "hexagon2-open" + ScatterglMarkerSymbolNumber215 ScatterglMarkerSymbol = 215 + ScatterglMarkerSymbol215 ScatterglMarkerSymbol = "215" + ScatterglMarkerSymbolHexagon2Dot ScatterglMarkerSymbol = "hexagon2-dot" + ScatterglMarkerSymbolNumber315 ScatterglMarkerSymbol = 315 + ScatterglMarkerSymbol315 ScatterglMarkerSymbol = "315" + ScatterglMarkerSymbolHexagon2OpenDot ScatterglMarkerSymbol = "hexagon2-open-dot" + ScatterglMarkerSymbolNumber16 ScatterglMarkerSymbol = 16 + ScatterglMarkerSymbol16 ScatterglMarkerSymbol = "16" + ScatterglMarkerSymbolOctagon ScatterglMarkerSymbol = "octagon" + ScatterglMarkerSymbolNumber116 ScatterglMarkerSymbol = 116 + ScatterglMarkerSymbol116 ScatterglMarkerSymbol = "116" + ScatterglMarkerSymbolOctagonOpen ScatterglMarkerSymbol = "octagon-open" + ScatterglMarkerSymbolNumber216 ScatterglMarkerSymbol = 216 + ScatterglMarkerSymbol216 ScatterglMarkerSymbol = "216" + ScatterglMarkerSymbolOctagonDot ScatterglMarkerSymbol = "octagon-dot" + ScatterglMarkerSymbolNumber316 ScatterglMarkerSymbol = 316 + ScatterglMarkerSymbol316 ScatterglMarkerSymbol = "316" + ScatterglMarkerSymbolOctagonOpenDot ScatterglMarkerSymbol = "octagon-open-dot" + ScatterglMarkerSymbolNumber17 ScatterglMarkerSymbol = 17 + ScatterglMarkerSymbol17 ScatterglMarkerSymbol = "17" + ScatterglMarkerSymbolStar ScatterglMarkerSymbol = "star" + ScatterglMarkerSymbolNumber117 ScatterglMarkerSymbol = 117 + ScatterglMarkerSymbol117 ScatterglMarkerSymbol = "117" + ScatterglMarkerSymbolStarOpen ScatterglMarkerSymbol = "star-open" + ScatterglMarkerSymbolNumber217 ScatterglMarkerSymbol = 217 + ScatterglMarkerSymbol217 ScatterglMarkerSymbol = "217" + ScatterglMarkerSymbolStarDot ScatterglMarkerSymbol = "star-dot" + ScatterglMarkerSymbolNumber317 ScatterglMarkerSymbol = 317 + ScatterglMarkerSymbol317 ScatterglMarkerSymbol = "317" + ScatterglMarkerSymbolStarOpenDot ScatterglMarkerSymbol = "star-open-dot" + ScatterglMarkerSymbolNumber18 ScatterglMarkerSymbol = 18 + ScatterglMarkerSymbol18 ScatterglMarkerSymbol = "18" + ScatterglMarkerSymbolHexagram ScatterglMarkerSymbol = "hexagram" + ScatterglMarkerSymbolNumber118 ScatterglMarkerSymbol = 118 + ScatterglMarkerSymbol118 ScatterglMarkerSymbol = "118" + ScatterglMarkerSymbolHexagramOpen ScatterglMarkerSymbol = "hexagram-open" + ScatterglMarkerSymbolNumber218 ScatterglMarkerSymbol = 218 + ScatterglMarkerSymbol218 ScatterglMarkerSymbol = "218" + ScatterglMarkerSymbolHexagramDot ScatterglMarkerSymbol = "hexagram-dot" + ScatterglMarkerSymbolNumber318 ScatterglMarkerSymbol = 318 + ScatterglMarkerSymbol318 ScatterglMarkerSymbol = "318" + ScatterglMarkerSymbolHexagramOpenDot ScatterglMarkerSymbol = "hexagram-open-dot" + ScatterglMarkerSymbolNumber19 ScatterglMarkerSymbol = 19 + ScatterglMarkerSymbol19 ScatterglMarkerSymbol = "19" + ScatterglMarkerSymbolStarTriangleUp ScatterglMarkerSymbol = "star-triangle-up" + ScatterglMarkerSymbolNumber119 ScatterglMarkerSymbol = 119 + ScatterglMarkerSymbol119 ScatterglMarkerSymbol = "119" + ScatterglMarkerSymbolStarTriangleUpOpen ScatterglMarkerSymbol = "star-triangle-up-open" + ScatterglMarkerSymbolNumber219 ScatterglMarkerSymbol = 219 + ScatterglMarkerSymbol219 ScatterglMarkerSymbol = "219" + ScatterglMarkerSymbolStarTriangleUpDot ScatterglMarkerSymbol = "star-triangle-up-dot" + ScatterglMarkerSymbolNumber319 ScatterglMarkerSymbol = 319 + ScatterglMarkerSymbol319 ScatterglMarkerSymbol = "319" + ScatterglMarkerSymbolStarTriangleUpOpenDot ScatterglMarkerSymbol = "star-triangle-up-open-dot" + ScatterglMarkerSymbolNumber20 ScatterglMarkerSymbol = 20 + ScatterglMarkerSymbol20 ScatterglMarkerSymbol = "20" + ScatterglMarkerSymbolStarTriangleDown ScatterglMarkerSymbol = "star-triangle-down" + ScatterglMarkerSymbolNumber120 ScatterglMarkerSymbol = 120 + ScatterglMarkerSymbol120 ScatterglMarkerSymbol = "120" + ScatterglMarkerSymbolStarTriangleDownOpen ScatterglMarkerSymbol = "star-triangle-down-open" + ScatterglMarkerSymbolNumber220 ScatterglMarkerSymbol = 220 + ScatterglMarkerSymbol220 ScatterglMarkerSymbol = "220" + ScatterglMarkerSymbolStarTriangleDownDot ScatterglMarkerSymbol = "star-triangle-down-dot" + ScatterglMarkerSymbolNumber320 ScatterglMarkerSymbol = 320 + ScatterglMarkerSymbol320 ScatterglMarkerSymbol = "320" + ScatterglMarkerSymbolStarTriangleDownOpenDot ScatterglMarkerSymbol = "star-triangle-down-open-dot" + ScatterglMarkerSymbolNumber21 ScatterglMarkerSymbol = 21 + ScatterglMarkerSymbol21 ScatterglMarkerSymbol = "21" + ScatterglMarkerSymbolStarSquare ScatterglMarkerSymbol = "star-square" + ScatterglMarkerSymbolNumber121 ScatterglMarkerSymbol = 121 + ScatterglMarkerSymbol121 ScatterglMarkerSymbol = "121" + ScatterglMarkerSymbolStarSquareOpen ScatterglMarkerSymbol = "star-square-open" + ScatterglMarkerSymbolNumber221 ScatterglMarkerSymbol = 221 + ScatterglMarkerSymbol221 ScatterglMarkerSymbol = "221" + ScatterglMarkerSymbolStarSquareDot ScatterglMarkerSymbol = "star-square-dot" + ScatterglMarkerSymbolNumber321 ScatterglMarkerSymbol = 321 + ScatterglMarkerSymbol321 ScatterglMarkerSymbol = "321" + ScatterglMarkerSymbolStarSquareOpenDot ScatterglMarkerSymbol = "star-square-open-dot" + ScatterglMarkerSymbolNumber22 ScatterglMarkerSymbol = 22 + ScatterglMarkerSymbol22 ScatterglMarkerSymbol = "22" + ScatterglMarkerSymbolStarDiamond ScatterglMarkerSymbol = "star-diamond" + ScatterglMarkerSymbolNumber122 ScatterglMarkerSymbol = 122 + ScatterglMarkerSymbol122 ScatterglMarkerSymbol = "122" + ScatterglMarkerSymbolStarDiamondOpen ScatterglMarkerSymbol = "star-diamond-open" + ScatterglMarkerSymbolNumber222 ScatterglMarkerSymbol = 222 + ScatterglMarkerSymbol222 ScatterglMarkerSymbol = "222" + ScatterglMarkerSymbolStarDiamondDot ScatterglMarkerSymbol = "star-diamond-dot" + ScatterglMarkerSymbolNumber322 ScatterglMarkerSymbol = 322 + ScatterglMarkerSymbol322 ScatterglMarkerSymbol = "322" + ScatterglMarkerSymbolStarDiamondOpenDot ScatterglMarkerSymbol = "star-diamond-open-dot" + ScatterglMarkerSymbolNumber23 ScatterglMarkerSymbol = 23 + ScatterglMarkerSymbol23 ScatterglMarkerSymbol = "23" + ScatterglMarkerSymbolDiamondTall ScatterglMarkerSymbol = "diamond-tall" + ScatterglMarkerSymbolNumber123 ScatterglMarkerSymbol = 123 + ScatterglMarkerSymbol123 ScatterglMarkerSymbol = "123" + ScatterglMarkerSymbolDiamondTallOpen ScatterglMarkerSymbol = "diamond-tall-open" + ScatterglMarkerSymbolNumber223 ScatterglMarkerSymbol = 223 + ScatterglMarkerSymbol223 ScatterglMarkerSymbol = "223" + ScatterglMarkerSymbolDiamondTallDot ScatterglMarkerSymbol = "diamond-tall-dot" + ScatterglMarkerSymbolNumber323 ScatterglMarkerSymbol = 323 + ScatterglMarkerSymbol323 ScatterglMarkerSymbol = "323" + ScatterglMarkerSymbolDiamondTallOpenDot ScatterglMarkerSymbol = "diamond-tall-open-dot" + ScatterglMarkerSymbolNumber24 ScatterglMarkerSymbol = 24 + ScatterglMarkerSymbol24 ScatterglMarkerSymbol = "24" + ScatterglMarkerSymbolDiamondWide ScatterglMarkerSymbol = "diamond-wide" + ScatterglMarkerSymbolNumber124 ScatterglMarkerSymbol = 124 + ScatterglMarkerSymbol124 ScatterglMarkerSymbol = "124" + ScatterglMarkerSymbolDiamondWideOpen ScatterglMarkerSymbol = "diamond-wide-open" + ScatterglMarkerSymbolNumber224 ScatterglMarkerSymbol = 224 + ScatterglMarkerSymbol224 ScatterglMarkerSymbol = "224" + ScatterglMarkerSymbolDiamondWideDot ScatterglMarkerSymbol = "diamond-wide-dot" + ScatterglMarkerSymbolNumber324 ScatterglMarkerSymbol = 324 + ScatterglMarkerSymbol324 ScatterglMarkerSymbol = "324" + ScatterglMarkerSymbolDiamondWideOpenDot ScatterglMarkerSymbol = "diamond-wide-open-dot" + ScatterglMarkerSymbolNumber25 ScatterglMarkerSymbol = 25 + ScatterglMarkerSymbol25 ScatterglMarkerSymbol = "25" + ScatterglMarkerSymbolHourglass ScatterglMarkerSymbol = "hourglass" + ScatterglMarkerSymbolNumber125 ScatterglMarkerSymbol = 125 + ScatterglMarkerSymbol125 ScatterglMarkerSymbol = "125" + ScatterglMarkerSymbolHourglassOpen ScatterglMarkerSymbol = "hourglass-open" + ScatterglMarkerSymbolNumber26 ScatterglMarkerSymbol = 26 + ScatterglMarkerSymbol26 ScatterglMarkerSymbol = "26" + ScatterglMarkerSymbolBowtie ScatterglMarkerSymbol = "bowtie" + ScatterglMarkerSymbolNumber126 ScatterglMarkerSymbol = 126 + ScatterglMarkerSymbol126 ScatterglMarkerSymbol = "126" + ScatterglMarkerSymbolBowtieOpen ScatterglMarkerSymbol = "bowtie-open" + ScatterglMarkerSymbolNumber27 ScatterglMarkerSymbol = 27 + ScatterglMarkerSymbol27 ScatterglMarkerSymbol = "27" + ScatterglMarkerSymbolCircleCross ScatterglMarkerSymbol = "circle-cross" + ScatterglMarkerSymbolNumber127 ScatterglMarkerSymbol = 127 + ScatterglMarkerSymbol127 ScatterglMarkerSymbol = "127" + ScatterglMarkerSymbolCircleCrossOpen ScatterglMarkerSymbol = "circle-cross-open" + ScatterglMarkerSymbolNumber28 ScatterglMarkerSymbol = 28 + ScatterglMarkerSymbol28 ScatterglMarkerSymbol = "28" + ScatterglMarkerSymbolCircleX ScatterglMarkerSymbol = "circle-x" + ScatterglMarkerSymbolNumber128 ScatterglMarkerSymbol = 128 + ScatterglMarkerSymbol128 ScatterglMarkerSymbol = "128" + ScatterglMarkerSymbolCircleXOpen ScatterglMarkerSymbol = "circle-x-open" + ScatterglMarkerSymbolNumber29 ScatterglMarkerSymbol = 29 + ScatterglMarkerSymbol29 ScatterglMarkerSymbol = "29" + ScatterglMarkerSymbolSquareCross ScatterglMarkerSymbol = "square-cross" + ScatterglMarkerSymbolNumber129 ScatterglMarkerSymbol = 129 + ScatterglMarkerSymbol129 ScatterglMarkerSymbol = "129" + ScatterglMarkerSymbolSquareCrossOpen ScatterglMarkerSymbol = "square-cross-open" + ScatterglMarkerSymbolNumber30 ScatterglMarkerSymbol = 30 + ScatterglMarkerSymbol30 ScatterglMarkerSymbol = "30" + ScatterglMarkerSymbolSquareX ScatterglMarkerSymbol = "square-x" + ScatterglMarkerSymbolNumber130 ScatterglMarkerSymbol = 130 + ScatterglMarkerSymbol130 ScatterglMarkerSymbol = "130" + ScatterglMarkerSymbolSquareXOpen ScatterglMarkerSymbol = "square-x-open" + ScatterglMarkerSymbolNumber31 ScatterglMarkerSymbol = 31 + ScatterglMarkerSymbol31 ScatterglMarkerSymbol = "31" + ScatterglMarkerSymbolDiamondCross ScatterglMarkerSymbol = "diamond-cross" + ScatterglMarkerSymbolNumber131 ScatterglMarkerSymbol = 131 + ScatterglMarkerSymbol131 ScatterglMarkerSymbol = "131" + ScatterglMarkerSymbolDiamondCrossOpen ScatterglMarkerSymbol = "diamond-cross-open" + ScatterglMarkerSymbolNumber32 ScatterglMarkerSymbol = 32 + ScatterglMarkerSymbol32 ScatterglMarkerSymbol = "32" + ScatterglMarkerSymbolDiamondX ScatterglMarkerSymbol = "diamond-x" + ScatterglMarkerSymbolNumber132 ScatterglMarkerSymbol = 132 + ScatterglMarkerSymbol132 ScatterglMarkerSymbol = "132" + ScatterglMarkerSymbolDiamondXOpen ScatterglMarkerSymbol = "diamond-x-open" + ScatterglMarkerSymbolNumber33 ScatterglMarkerSymbol = 33 + ScatterglMarkerSymbol33 ScatterglMarkerSymbol = "33" + ScatterglMarkerSymbolCrossThin ScatterglMarkerSymbol = "cross-thin" + ScatterglMarkerSymbolNumber133 ScatterglMarkerSymbol = 133 + ScatterglMarkerSymbol133 ScatterglMarkerSymbol = "133" + ScatterglMarkerSymbolCrossThinOpen ScatterglMarkerSymbol = "cross-thin-open" + ScatterglMarkerSymbolNumber34 ScatterglMarkerSymbol = 34 + ScatterglMarkerSymbol34 ScatterglMarkerSymbol = "34" + ScatterglMarkerSymbolXThin ScatterglMarkerSymbol = "x-thin" + ScatterglMarkerSymbolNumber134 ScatterglMarkerSymbol = 134 + ScatterglMarkerSymbol134 ScatterglMarkerSymbol = "134" + ScatterglMarkerSymbolXThinOpen ScatterglMarkerSymbol = "x-thin-open" + ScatterglMarkerSymbolNumber35 ScatterglMarkerSymbol = 35 + ScatterglMarkerSymbol35 ScatterglMarkerSymbol = "35" + ScatterglMarkerSymbolAsterisk ScatterglMarkerSymbol = "asterisk" + ScatterglMarkerSymbolNumber135 ScatterglMarkerSymbol = 135 + ScatterglMarkerSymbol135 ScatterglMarkerSymbol = "135" + ScatterglMarkerSymbolAsteriskOpen ScatterglMarkerSymbol = "asterisk-open" + ScatterglMarkerSymbolNumber36 ScatterglMarkerSymbol = 36 + ScatterglMarkerSymbol36 ScatterglMarkerSymbol = "36" + ScatterglMarkerSymbolHash ScatterglMarkerSymbol = "hash" + ScatterglMarkerSymbolNumber136 ScatterglMarkerSymbol = 136 + ScatterglMarkerSymbol136 ScatterglMarkerSymbol = "136" + ScatterglMarkerSymbolHashOpen ScatterglMarkerSymbol = "hash-open" + ScatterglMarkerSymbolNumber236 ScatterglMarkerSymbol = 236 + ScatterglMarkerSymbol236 ScatterglMarkerSymbol = "236" + ScatterglMarkerSymbolHashDot ScatterglMarkerSymbol = "hash-dot" + ScatterglMarkerSymbolNumber336 ScatterglMarkerSymbol = 336 + ScatterglMarkerSymbol336 ScatterglMarkerSymbol = "336" + ScatterglMarkerSymbolHashOpenDot ScatterglMarkerSymbol = "hash-open-dot" + ScatterglMarkerSymbolNumber37 ScatterglMarkerSymbol = 37 + ScatterglMarkerSymbol37 ScatterglMarkerSymbol = "37" + ScatterglMarkerSymbolYUp ScatterglMarkerSymbol = "y-up" + ScatterglMarkerSymbolNumber137 ScatterglMarkerSymbol = 137 + ScatterglMarkerSymbol137 ScatterglMarkerSymbol = "137" + ScatterglMarkerSymbolYUpOpen ScatterglMarkerSymbol = "y-up-open" + ScatterglMarkerSymbolNumber38 ScatterglMarkerSymbol = 38 + ScatterglMarkerSymbol38 ScatterglMarkerSymbol = "38" + ScatterglMarkerSymbolYDown ScatterglMarkerSymbol = "y-down" + ScatterglMarkerSymbolNumber138 ScatterglMarkerSymbol = 138 + ScatterglMarkerSymbol138 ScatterglMarkerSymbol = "138" + ScatterglMarkerSymbolYDownOpen ScatterglMarkerSymbol = "y-down-open" + ScatterglMarkerSymbolNumber39 ScatterglMarkerSymbol = 39 + ScatterglMarkerSymbol39 ScatterglMarkerSymbol = "39" + ScatterglMarkerSymbolYLeft ScatterglMarkerSymbol = "y-left" + ScatterglMarkerSymbolNumber139 ScatterglMarkerSymbol = 139 + ScatterglMarkerSymbol139 ScatterglMarkerSymbol = "139" + ScatterglMarkerSymbolYLeftOpen ScatterglMarkerSymbol = "y-left-open" + ScatterglMarkerSymbolNumber40 ScatterglMarkerSymbol = 40 + ScatterglMarkerSymbol40 ScatterglMarkerSymbol = "40" + ScatterglMarkerSymbolYRight ScatterglMarkerSymbol = "y-right" + ScatterglMarkerSymbolNumber140 ScatterglMarkerSymbol = 140 + ScatterglMarkerSymbol140 ScatterglMarkerSymbol = "140" + ScatterglMarkerSymbolYRightOpen ScatterglMarkerSymbol = "y-right-open" + ScatterglMarkerSymbolNumber41 ScatterglMarkerSymbol = 41 + ScatterglMarkerSymbol41 ScatterglMarkerSymbol = "41" + ScatterglMarkerSymbolLineEw ScatterglMarkerSymbol = "line-ew" + ScatterglMarkerSymbolNumber141 ScatterglMarkerSymbol = 141 + ScatterglMarkerSymbol141 ScatterglMarkerSymbol = "141" + ScatterglMarkerSymbolLineEwOpen ScatterglMarkerSymbol = "line-ew-open" + ScatterglMarkerSymbolNumber42 ScatterglMarkerSymbol = 42 + ScatterglMarkerSymbol42 ScatterglMarkerSymbol = "42" + ScatterglMarkerSymbolLineNs ScatterglMarkerSymbol = "line-ns" + ScatterglMarkerSymbolNumber142 ScatterglMarkerSymbol = 142 + ScatterglMarkerSymbol142 ScatterglMarkerSymbol = "142" + ScatterglMarkerSymbolLineNsOpen ScatterglMarkerSymbol = "line-ns-open" + ScatterglMarkerSymbolNumber43 ScatterglMarkerSymbol = 43 + ScatterglMarkerSymbol43 ScatterglMarkerSymbol = "43" + ScatterglMarkerSymbolLineNe ScatterglMarkerSymbol = "line-ne" + ScatterglMarkerSymbolNumber143 ScatterglMarkerSymbol = 143 + ScatterglMarkerSymbol143 ScatterglMarkerSymbol = "143" + ScatterglMarkerSymbolLineNeOpen ScatterglMarkerSymbol = "line-ne-open" + ScatterglMarkerSymbolNumber44 ScatterglMarkerSymbol = 44 + ScatterglMarkerSymbol44 ScatterglMarkerSymbol = "44" + ScatterglMarkerSymbolLineNw ScatterglMarkerSymbol = "line-nw" + ScatterglMarkerSymbolNumber144 ScatterglMarkerSymbol = 144 + ScatterglMarkerSymbol144 ScatterglMarkerSymbol = "144" + ScatterglMarkerSymbolLineNwOpen ScatterglMarkerSymbol = "line-nw-open" + ScatterglMarkerSymbolNumber45 ScatterglMarkerSymbol = 45 + ScatterglMarkerSymbol45 ScatterglMarkerSymbol = "45" + ScatterglMarkerSymbolArrowUp ScatterglMarkerSymbol = "arrow-up" + ScatterglMarkerSymbolNumber145 ScatterglMarkerSymbol = 145 + ScatterglMarkerSymbol145 ScatterglMarkerSymbol = "145" + ScatterglMarkerSymbolArrowUpOpen ScatterglMarkerSymbol = "arrow-up-open" + ScatterglMarkerSymbolNumber46 ScatterglMarkerSymbol = 46 + ScatterglMarkerSymbol46 ScatterglMarkerSymbol = "46" + ScatterglMarkerSymbolArrowDown ScatterglMarkerSymbol = "arrow-down" + ScatterglMarkerSymbolNumber146 ScatterglMarkerSymbol = 146 + ScatterglMarkerSymbol146 ScatterglMarkerSymbol = "146" + ScatterglMarkerSymbolArrowDownOpen ScatterglMarkerSymbol = "arrow-down-open" + ScatterglMarkerSymbolNumber47 ScatterglMarkerSymbol = 47 + ScatterglMarkerSymbol47 ScatterglMarkerSymbol = "47" + ScatterglMarkerSymbolArrowLeft ScatterglMarkerSymbol = "arrow-left" + ScatterglMarkerSymbolNumber147 ScatterglMarkerSymbol = 147 + ScatterglMarkerSymbol147 ScatterglMarkerSymbol = "147" + ScatterglMarkerSymbolArrowLeftOpen ScatterglMarkerSymbol = "arrow-left-open" + ScatterglMarkerSymbolNumber48 ScatterglMarkerSymbol = 48 + ScatterglMarkerSymbol48 ScatterglMarkerSymbol = "48" + ScatterglMarkerSymbolArrowRight ScatterglMarkerSymbol = "arrow-right" + ScatterglMarkerSymbolNumber148 ScatterglMarkerSymbol = 148 + ScatterglMarkerSymbol148 ScatterglMarkerSymbol = "148" + ScatterglMarkerSymbolArrowRightOpen ScatterglMarkerSymbol = "arrow-right-open" + ScatterglMarkerSymbolNumber49 ScatterglMarkerSymbol = 49 + ScatterglMarkerSymbol49 ScatterglMarkerSymbol = "49" + ScatterglMarkerSymbolArrowBarUp ScatterglMarkerSymbol = "arrow-bar-up" + ScatterglMarkerSymbolNumber149 ScatterglMarkerSymbol = 149 + ScatterglMarkerSymbol149 ScatterglMarkerSymbol = "149" + ScatterglMarkerSymbolArrowBarUpOpen ScatterglMarkerSymbol = "arrow-bar-up-open" + ScatterglMarkerSymbolNumber50 ScatterglMarkerSymbol = 50 + ScatterglMarkerSymbol50 ScatterglMarkerSymbol = "50" + ScatterglMarkerSymbolArrowBarDown ScatterglMarkerSymbol = "arrow-bar-down" + ScatterglMarkerSymbolNumber150 ScatterglMarkerSymbol = 150 + ScatterglMarkerSymbol150 ScatterglMarkerSymbol = "150" + ScatterglMarkerSymbolArrowBarDownOpen ScatterglMarkerSymbol = "arrow-bar-down-open" + ScatterglMarkerSymbolNumber51 ScatterglMarkerSymbol = 51 + ScatterglMarkerSymbol51 ScatterglMarkerSymbol = "51" + ScatterglMarkerSymbolArrowBarLeft ScatterglMarkerSymbol = "arrow-bar-left" + ScatterglMarkerSymbolNumber151 ScatterglMarkerSymbol = 151 + ScatterglMarkerSymbol151 ScatterglMarkerSymbol = "151" + ScatterglMarkerSymbolArrowBarLeftOpen ScatterglMarkerSymbol = "arrow-bar-left-open" + ScatterglMarkerSymbolNumber52 ScatterglMarkerSymbol = 52 + ScatterglMarkerSymbol52 ScatterglMarkerSymbol = "52" + ScatterglMarkerSymbolArrowBarRight ScatterglMarkerSymbol = "arrow-bar-right" + ScatterglMarkerSymbolNumber152 ScatterglMarkerSymbol = 152 + ScatterglMarkerSymbol152 ScatterglMarkerSymbol = "152" + ScatterglMarkerSymbolArrowBarRightOpen ScatterglMarkerSymbol = "arrow-bar-right-open" + ScatterglMarkerSymbolNumber53 ScatterglMarkerSymbol = 53 + ScatterglMarkerSymbol53 ScatterglMarkerSymbol = "53" + ScatterglMarkerSymbolArrow ScatterglMarkerSymbol = "arrow" + ScatterglMarkerSymbolNumber153 ScatterglMarkerSymbol = 153 + ScatterglMarkerSymbol153 ScatterglMarkerSymbol = "153" + ScatterglMarkerSymbolArrowOpen ScatterglMarkerSymbol = "arrow-open" + ScatterglMarkerSymbolNumber54 ScatterglMarkerSymbol = 54 + ScatterglMarkerSymbol54 ScatterglMarkerSymbol = "54" + ScatterglMarkerSymbolArrowWide ScatterglMarkerSymbol = "arrow-wide" + ScatterglMarkerSymbolNumber154 ScatterglMarkerSymbol = 154 + ScatterglMarkerSymbol154 ScatterglMarkerSymbol = "154" + ScatterglMarkerSymbolArrowWideOpen ScatterglMarkerSymbol = "arrow-wide-open" +) + +// ScatterglTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. +type ScatterglTextposition string + +const ( + ScatterglTextpositionTopLeft ScatterglTextposition = "top left" + ScatterglTextpositionTopCenter ScatterglTextposition = "top center" + ScatterglTextpositionTopRight ScatterglTextposition = "top right" + ScatterglTextpositionMiddleLeft ScatterglTextposition = "middle left" + ScatterglTextpositionMiddleCenter ScatterglTextposition = "middle center" + ScatterglTextpositionMiddleRight ScatterglTextposition = "middle right" + ScatterglTextpositionBottomLeft ScatterglTextposition = "bottom left" + ScatterglTextpositionBottomCenter ScatterglTextposition = "bottom center" + ScatterglTextpositionBottomRight ScatterglTextposition = "bottom right" +) + +// ScatterglVisible 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). +type ScatterglVisible interface{} + +var ( + ScatterglVisibleTrue ScatterglVisible = true + ScatterglVisibleFalse ScatterglVisible = false + ScatterglVisibleLegendonly ScatterglVisible = "legendonly" +) + +// ScatterglXcalendar Sets the calendar system to use with `x` date data. +type ScatterglXcalendar string + +const ( + ScatterglXcalendarChinese ScatterglXcalendar = "chinese" + ScatterglXcalendarCoptic ScatterglXcalendar = "coptic" + ScatterglXcalendarDiscworld ScatterglXcalendar = "discworld" + ScatterglXcalendarEthiopian ScatterglXcalendar = "ethiopian" + ScatterglXcalendarGregorian ScatterglXcalendar = "gregorian" + ScatterglXcalendarHebrew ScatterglXcalendar = "hebrew" + ScatterglXcalendarIslamic ScatterglXcalendar = "islamic" + ScatterglXcalendarJalali ScatterglXcalendar = "jalali" + ScatterglXcalendarJulian ScatterglXcalendar = "julian" + ScatterglXcalendarMayan ScatterglXcalendar = "mayan" + ScatterglXcalendarNanakshahi ScatterglXcalendar = "nanakshahi" + ScatterglXcalendarNepali ScatterglXcalendar = "nepali" + ScatterglXcalendarPersian ScatterglXcalendar = "persian" + ScatterglXcalendarTaiwan ScatterglXcalendar = "taiwan" + ScatterglXcalendarThai ScatterglXcalendar = "thai" + ScatterglXcalendarUmmalqura ScatterglXcalendar = "ummalqura" +) + +// ScatterglXperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. +type ScatterglXperiodalignment string + +const ( + ScatterglXperiodalignmentStart ScatterglXperiodalignment = "start" + ScatterglXperiodalignmentMiddle ScatterglXperiodalignment = "middle" + ScatterglXperiodalignmentEnd ScatterglXperiodalignment = "end" +) + +// ScatterglYcalendar Sets the calendar system to use with `y` date data. +type ScatterglYcalendar string + +const ( + ScatterglYcalendarChinese ScatterglYcalendar = "chinese" + ScatterglYcalendarCoptic ScatterglYcalendar = "coptic" + ScatterglYcalendarDiscworld ScatterglYcalendar = "discworld" + ScatterglYcalendarEthiopian ScatterglYcalendar = "ethiopian" + ScatterglYcalendarGregorian ScatterglYcalendar = "gregorian" + ScatterglYcalendarHebrew ScatterglYcalendar = "hebrew" + ScatterglYcalendarIslamic ScatterglYcalendar = "islamic" + ScatterglYcalendarJalali ScatterglYcalendar = "jalali" + ScatterglYcalendarJulian ScatterglYcalendar = "julian" + ScatterglYcalendarMayan ScatterglYcalendar = "mayan" + ScatterglYcalendarNanakshahi ScatterglYcalendar = "nanakshahi" + ScatterglYcalendarNepali ScatterglYcalendar = "nepali" + ScatterglYcalendarPersian ScatterglYcalendar = "persian" + ScatterglYcalendarTaiwan ScatterglYcalendar = "taiwan" + ScatterglYcalendarThai ScatterglYcalendar = "thai" + ScatterglYcalendarUmmalqura ScatterglYcalendar = "ummalqura" +) + +// ScatterglYperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis. +type ScatterglYperiodalignment string + +const ( + ScatterglYperiodalignmentStart ScatterglYperiodalignment = "start" + ScatterglYperiodalignmentMiddle ScatterglYperiodalignment = "middle" + ScatterglYperiodalignmentEnd ScatterglYperiodalignment = "end" +) + +// ScatterglHoverinfo 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. +type ScatterglHoverinfo string + +const ( + // Flags + ScatterglHoverinfoX ScatterglHoverinfo = "x" + ScatterglHoverinfoY ScatterglHoverinfo = "y" + ScatterglHoverinfoZ ScatterglHoverinfo = "z" + ScatterglHoverinfoText ScatterglHoverinfo = "text" + ScatterglHoverinfoName ScatterglHoverinfo = "name" + + // Extra + ScatterglHoverinfoAll ScatterglHoverinfo = "all" + ScatterglHoverinfoNone ScatterglHoverinfo = "none" + ScatterglHoverinfoSkip ScatterglHoverinfo = "skip" +) + +// ScatterglMode Determines the drawing mode for this scatter trace. +type ScatterglMode string + +const ( + // Flags + ScatterglModeLines ScatterglMode = "lines" + ScatterglModeMarkers ScatterglMode = "markers" + ScatterglModeText ScatterglMode = "text" + + // Extra + ScatterglModeNone ScatterglMode = "none" +) diff --git a/generated/v2.31.1/graph_objects/scattermapbox_gen.go b/generated/v2.31.1/graph_objects/scattermapbox_gen.go new file mode 100644 index 0000000..4afd742 --- /dev/null +++ b/generated/v2.31.1/graph_objects/scattermapbox_gen.go @@ -0,0 +1,1325 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeScattermapbox TraceType = "scattermapbox" + +func (trace *Scattermapbox) GetType() TraceType { + return TraceTypeScattermapbox +} + +// Scattermapbox 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`. +type Scattermapbox struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Below + // arrayOK: false + // 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 *''*. + Below String `json:"below,omitempty"` + + // Cluster + // role: Object + Cluster *ScattermapboxCluster `json:"cluster,omitempty"` + + // Connectgaps + // arrayOK: false + // type: boolean + // Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected. + Connectgaps Bool `json:"connectgaps,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Fill + // default: none + // type: enumerated + // 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. + Fill ScattermapboxFill `json:"fill,omitempty"` + + // Fillcolor + // arrayOK: false + // 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. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo ScattermapboxHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *ScattermapboxHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Lat + // arrayOK: false + // type: data_array + // Sets the latitude coordinates (in degrees North). + Lat interface{} `json:"lat,omitempty"` + + // Latsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `lat`. + Latsrc String `json:"latsrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *ScattermapboxLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *ScattermapboxLine `json:"line,omitempty"` + + // Lon + // arrayOK: false + // type: data_array + // Sets the longitude coordinates (in degrees East). + Lon interface{} `json:"lon,omitempty"` + + // Lonsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `lon`. + Lonsrc String `json:"lonsrc,omitempty"` + + // Marker + // role: Object + Marker *ScattermapboxMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Mode + // default: markers + // type: flaglist + // 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. + Mode ScattermapboxMode `json:"mode,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Selected + // role: Object + Selected *ScattermapboxSelected `json:"selected,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Stream + // role: Object + Stream *ScattermapboxStream `json:"stream,omitempty"` + + // Subplot + // arrayOK: false + // type: subplotid + // 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. + Subplot String `json:"subplot,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textfont + // role: Object + Textfont *ScattermapboxTextfont `json:"textfont,omitempty"` + + // Textposition + // default: middle center + // type: enumerated + // Sets the positions of the `text` elements with respects to the (x,y) coordinates. + Textposition ScattermapboxTextposition `json:"textposition,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: true + // 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 `lat`, `lon` and `text`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Texttemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `texttemplate`. + Texttemplatesrc String `json:"texttemplatesrc,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Unselected + // role: Object + Unselected *ScattermapboxUnselected `json:"unselected,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible ScattermapboxVisible `json:"visible,omitempty"` +} + +// ScattermapboxCluster +type ScattermapboxCluster struct { + + // Color + // arrayOK: true + // type: color + // Sets the color for each cluster step. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Enabled + // arrayOK: false + // type: boolean + // Determines whether clustering is enabled or disabled. + Enabled Bool `json:"enabled,omitempty"` + + // Maxzoom + // arrayOK: false + // type: number + // Sets the maximum zoom level. At zoom levels equal to or greater than this, points will never be clustered. + Maxzoom float64 `json:"maxzoom,omitempty"` + + // Opacity + // arrayOK: true + // type: number + // Sets the marker opacity. + Opacity float64 `json:"opacity,omitempty"` + + // Opacitysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `opacity`. + Opacitysrc String `json:"opacitysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the size for each cluster step. + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Step + // arrayOK: true + // type: number + // 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. + Step float64 `json:"step,omitempty"` + + // Stepsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `step`. + Stepsrc String `json:"stepsrc,omitempty"` +} + +// ScattermapboxHoverlabelFont Sets the font used in hover labels. +type ScattermapboxHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ScattermapboxHoverlabel +type ScattermapboxHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align ScattermapboxHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *ScattermapboxHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// ScattermapboxLegendgrouptitleFont Sets this legend group's title font. +type ScattermapboxLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScattermapboxLegendgrouptitle +type ScattermapboxLegendgrouptitle struct { + + // Font + // role: Object + Font *ScattermapboxLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// ScattermapboxLine +type ScattermapboxLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the line color. + Color Color `json:"color,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width (in px). + Width float64 `json:"width,omitempty"` +} + +// ScattermapboxMarkerColorbarTickfont Sets the color bar's tick label font +type ScattermapboxMarkerColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScattermapboxMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type ScattermapboxMarkerColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScattermapboxMarkerColorbarTitle +type ScattermapboxMarkerColorbarTitle struct { + + // Font + // role: Object + Font *ScattermapboxMarkerColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side ScattermapboxMarkerColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// ScattermapboxMarkerColorbar +type ScattermapboxMarkerColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat ScattermapboxMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode ScattermapboxMarkerColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ScattermapboxMarkerColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent ScattermapboxMarkerColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix ScattermapboxMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix ScattermapboxMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode ScattermapboxMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *ScattermapboxMarkerColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ScattermapboxMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition ScattermapboxMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode ScattermapboxMarkerColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks ScattermapboxMarkerColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *ScattermapboxMarkerColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor ScattermapboxMarkerColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref ScattermapboxMarkerColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor ScattermapboxMarkerColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref ScattermapboxMarkerColorbarYref `json:"yref,omitempty"` +} + +// ScattermapboxMarker +type ScattermapboxMarker struct { + + // Allowoverlap + // arrayOK: false + // type: boolean + // Flag to draw all symbols, even if they overlap. + Allowoverlap Bool `json:"allowoverlap,omitempty"` + + // Angle + // arrayOK: true + // type: number + // 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. + Angle float64 `json:"angle,omitempty"` + + // Anglesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `angle`. + Anglesrc String `json:"anglesrc,omitempty"` + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *ScattermapboxMarkerColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Opacity + // arrayOK: true + // type: number + // Sets the marker opacity. + Opacity float64 `json:"opacity,omitempty"` + + // Opacitysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `opacity`. + Opacitysrc String `json:"opacitysrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the marker size (in px). + Size float64 `json:"size,omitempty"` + + // Sizemin + // arrayOK: false + // 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. + Sizemin float64 `json:"sizemin,omitempty"` + + // Sizemode + // default: diameter + // type: enumerated + // 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. + Sizemode ScattermapboxMarkerSizemode `json:"sizemode,omitempty"` + + // Sizeref + // arrayOK: false + // type: number + // 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`. + Sizeref float64 `json:"sizeref,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Symbol + // arrayOK: true + // type: string + // 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. + Symbol String `json:"symbol,omitempty"` + + // Symbolsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `symbol`. + Symbolsrc String `json:"symbolsrc,omitempty"` +} + +// ScattermapboxSelectedMarker +type ScattermapboxSelectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of selected points. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of selected points. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of selected points. + Size float64 `json:"size,omitempty"` +} + +// ScattermapboxSelected +type ScattermapboxSelected struct { + + // Marker + // role: Object + Marker *ScattermapboxSelectedMarker `json:"marker,omitempty"` +} + +// ScattermapboxStream +type ScattermapboxStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// ScattermapboxTextfont 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*. +type ScattermapboxTextfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScattermapboxUnselectedMarker +type ScattermapboxUnselectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of unselected points, applied only when a selection exists. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of unselected points, applied only when a selection exists. + Size float64 `json:"size,omitempty"` +} + +// ScattermapboxUnselected +type ScattermapboxUnselected struct { + + // Marker + // role: Object + Marker *ScattermapboxUnselectedMarker `json:"marker,omitempty"` +} + +// ScattermapboxFill 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. +type ScattermapboxFill string + +const ( + ScattermapboxFillNone ScattermapboxFill = "none" + ScattermapboxFillToself ScattermapboxFill = "toself" +) + +// ScattermapboxHoverlabelAlign 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 +type ScattermapboxHoverlabelAlign string + +const ( + ScattermapboxHoverlabelAlignLeft ScattermapboxHoverlabelAlign = "left" + ScattermapboxHoverlabelAlignRight ScattermapboxHoverlabelAlign = "right" + ScattermapboxHoverlabelAlignAuto ScattermapboxHoverlabelAlign = "auto" +) + +// ScattermapboxMarkerColorbarExponentformat 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. +type ScattermapboxMarkerColorbarExponentformat string + +const ( + ScattermapboxMarkerColorbarExponentformatNone ScattermapboxMarkerColorbarExponentformat = "none" + ScattermapboxMarkerColorbarExponentformatE1 ScattermapboxMarkerColorbarExponentformat = "e" + ScattermapboxMarkerColorbarExponentformatE2 ScattermapboxMarkerColorbarExponentformat = "E" + ScattermapboxMarkerColorbarExponentformatPower ScattermapboxMarkerColorbarExponentformat = "power" + ScattermapboxMarkerColorbarExponentformatSI ScattermapboxMarkerColorbarExponentformat = "SI" + ScattermapboxMarkerColorbarExponentformatB ScattermapboxMarkerColorbarExponentformat = "B" +) + +// ScattermapboxMarkerColorbarLenmode 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. +type ScattermapboxMarkerColorbarLenmode string + +const ( + ScattermapboxMarkerColorbarLenmodeFraction ScattermapboxMarkerColorbarLenmode = "fraction" + ScattermapboxMarkerColorbarLenmodePixels ScattermapboxMarkerColorbarLenmode = "pixels" +) + +// ScattermapboxMarkerColorbarOrientation Sets the orientation of the colorbar. +type ScattermapboxMarkerColorbarOrientation string + +const ( + ScattermapboxMarkerColorbarOrientationH ScattermapboxMarkerColorbarOrientation = "h" + ScattermapboxMarkerColorbarOrientationV ScattermapboxMarkerColorbarOrientation = "v" +) + +// ScattermapboxMarkerColorbarShowexponent 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. +type ScattermapboxMarkerColorbarShowexponent string + +const ( + ScattermapboxMarkerColorbarShowexponentAll ScattermapboxMarkerColorbarShowexponent = "all" + ScattermapboxMarkerColorbarShowexponentFirst ScattermapboxMarkerColorbarShowexponent = "first" + ScattermapboxMarkerColorbarShowexponentLast ScattermapboxMarkerColorbarShowexponent = "last" + ScattermapboxMarkerColorbarShowexponentNone ScattermapboxMarkerColorbarShowexponent = "none" +) + +// ScattermapboxMarkerColorbarShowtickprefix 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. +type ScattermapboxMarkerColorbarShowtickprefix string + +const ( + ScattermapboxMarkerColorbarShowtickprefixAll ScattermapboxMarkerColorbarShowtickprefix = "all" + ScattermapboxMarkerColorbarShowtickprefixFirst ScattermapboxMarkerColorbarShowtickprefix = "first" + ScattermapboxMarkerColorbarShowtickprefixLast ScattermapboxMarkerColorbarShowtickprefix = "last" + ScattermapboxMarkerColorbarShowtickprefixNone ScattermapboxMarkerColorbarShowtickprefix = "none" +) + +// ScattermapboxMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type ScattermapboxMarkerColorbarShowticksuffix string + +const ( + ScattermapboxMarkerColorbarShowticksuffixAll ScattermapboxMarkerColorbarShowticksuffix = "all" + ScattermapboxMarkerColorbarShowticksuffixFirst ScattermapboxMarkerColorbarShowticksuffix = "first" + ScattermapboxMarkerColorbarShowticksuffixLast ScattermapboxMarkerColorbarShowticksuffix = "last" + ScattermapboxMarkerColorbarShowticksuffixNone ScattermapboxMarkerColorbarShowticksuffix = "none" +) + +// ScattermapboxMarkerColorbarThicknessmode 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. +type ScattermapboxMarkerColorbarThicknessmode string + +const ( + ScattermapboxMarkerColorbarThicknessmodeFraction ScattermapboxMarkerColorbarThicknessmode = "fraction" + ScattermapboxMarkerColorbarThicknessmodePixels ScattermapboxMarkerColorbarThicknessmode = "pixels" +) + +// ScattermapboxMarkerColorbarTicklabeloverflow 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*. +type ScattermapboxMarkerColorbarTicklabeloverflow string + +const ( + ScattermapboxMarkerColorbarTicklabeloverflowAllow ScattermapboxMarkerColorbarTicklabeloverflow = "allow" + ScattermapboxMarkerColorbarTicklabeloverflowHidePastDiv ScattermapboxMarkerColorbarTicklabeloverflow = "hide past div" + ScattermapboxMarkerColorbarTicklabeloverflowHidePastDomain ScattermapboxMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// ScattermapboxMarkerColorbarTicklabelposition 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*. +type ScattermapboxMarkerColorbarTicklabelposition string + +const ( + ScattermapboxMarkerColorbarTicklabelpositionOutside ScattermapboxMarkerColorbarTicklabelposition = "outside" + ScattermapboxMarkerColorbarTicklabelpositionInside ScattermapboxMarkerColorbarTicklabelposition = "inside" + ScattermapboxMarkerColorbarTicklabelpositionOutsideTop ScattermapboxMarkerColorbarTicklabelposition = "outside top" + ScattermapboxMarkerColorbarTicklabelpositionInsideTop ScattermapboxMarkerColorbarTicklabelposition = "inside top" + ScattermapboxMarkerColorbarTicklabelpositionOutsideLeft ScattermapboxMarkerColorbarTicklabelposition = "outside left" + ScattermapboxMarkerColorbarTicklabelpositionInsideLeft ScattermapboxMarkerColorbarTicklabelposition = "inside left" + ScattermapboxMarkerColorbarTicklabelpositionOutsideRight ScattermapboxMarkerColorbarTicklabelposition = "outside right" + ScattermapboxMarkerColorbarTicklabelpositionInsideRight ScattermapboxMarkerColorbarTicklabelposition = "inside right" + ScattermapboxMarkerColorbarTicklabelpositionOutsideBottom ScattermapboxMarkerColorbarTicklabelposition = "outside bottom" + ScattermapboxMarkerColorbarTicklabelpositionInsideBottom ScattermapboxMarkerColorbarTicklabelposition = "inside bottom" +) + +// ScattermapboxMarkerColorbarTickmode 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). +type ScattermapboxMarkerColorbarTickmode string + +const ( + ScattermapboxMarkerColorbarTickmodeAuto ScattermapboxMarkerColorbarTickmode = "auto" + ScattermapboxMarkerColorbarTickmodeLinear ScattermapboxMarkerColorbarTickmode = "linear" + ScattermapboxMarkerColorbarTickmodeArray ScattermapboxMarkerColorbarTickmode = "array" +) + +// ScattermapboxMarkerColorbarTicks 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. +type ScattermapboxMarkerColorbarTicks string + +const ( + ScattermapboxMarkerColorbarTicksOutside ScattermapboxMarkerColorbarTicks = "outside" + ScattermapboxMarkerColorbarTicksInside ScattermapboxMarkerColorbarTicks = "inside" + ScattermapboxMarkerColorbarTicksEmpty ScattermapboxMarkerColorbarTicks = "" +) + +// ScattermapboxMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type ScattermapboxMarkerColorbarTitleSide string + +const ( + ScattermapboxMarkerColorbarTitleSideRight ScattermapboxMarkerColorbarTitleSide = "right" + ScattermapboxMarkerColorbarTitleSideTop ScattermapboxMarkerColorbarTitleSide = "top" + ScattermapboxMarkerColorbarTitleSideBottom ScattermapboxMarkerColorbarTitleSide = "bottom" +) + +// ScattermapboxMarkerColorbarXanchor 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*. +type ScattermapboxMarkerColorbarXanchor string + +const ( + ScattermapboxMarkerColorbarXanchorLeft ScattermapboxMarkerColorbarXanchor = "left" + ScattermapboxMarkerColorbarXanchorCenter ScattermapboxMarkerColorbarXanchor = "center" + ScattermapboxMarkerColorbarXanchorRight ScattermapboxMarkerColorbarXanchor = "right" +) + +// ScattermapboxMarkerColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type ScattermapboxMarkerColorbarXref string + +const ( + ScattermapboxMarkerColorbarXrefContainer ScattermapboxMarkerColorbarXref = "container" + ScattermapboxMarkerColorbarXrefPaper ScattermapboxMarkerColorbarXref = "paper" +) + +// ScattermapboxMarkerColorbarYanchor 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*. +type ScattermapboxMarkerColorbarYanchor string + +const ( + ScattermapboxMarkerColorbarYanchorTop ScattermapboxMarkerColorbarYanchor = "top" + ScattermapboxMarkerColorbarYanchorMiddle ScattermapboxMarkerColorbarYanchor = "middle" + ScattermapboxMarkerColorbarYanchorBottom ScattermapboxMarkerColorbarYanchor = "bottom" +) + +// ScattermapboxMarkerColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type ScattermapboxMarkerColorbarYref string + +const ( + ScattermapboxMarkerColorbarYrefContainer ScattermapboxMarkerColorbarYref = "container" + ScattermapboxMarkerColorbarYrefPaper ScattermapboxMarkerColorbarYref = "paper" +) + +// ScattermapboxMarkerSizemode 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. +type ScattermapboxMarkerSizemode string + +const ( + ScattermapboxMarkerSizemodeDiameter ScattermapboxMarkerSizemode = "diameter" + ScattermapboxMarkerSizemodeArea ScattermapboxMarkerSizemode = "area" +) + +// ScattermapboxTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. +type ScattermapboxTextposition string + +const ( + ScattermapboxTextpositionTopLeft ScattermapboxTextposition = "top left" + ScattermapboxTextpositionTopCenter ScattermapboxTextposition = "top center" + ScattermapboxTextpositionTopRight ScattermapboxTextposition = "top right" + ScattermapboxTextpositionMiddleLeft ScattermapboxTextposition = "middle left" + ScattermapboxTextpositionMiddleCenter ScattermapboxTextposition = "middle center" + ScattermapboxTextpositionMiddleRight ScattermapboxTextposition = "middle right" + ScattermapboxTextpositionBottomLeft ScattermapboxTextposition = "bottom left" + ScattermapboxTextpositionBottomCenter ScattermapboxTextposition = "bottom center" + ScattermapboxTextpositionBottomRight ScattermapboxTextposition = "bottom right" +) + +// ScattermapboxVisible 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). +type ScattermapboxVisible interface{} + +var ( + ScattermapboxVisibleTrue ScattermapboxVisible = true + ScattermapboxVisibleFalse ScattermapboxVisible = false + ScattermapboxVisibleLegendonly ScattermapboxVisible = "legendonly" +) + +// ScattermapboxHoverinfo 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. +type ScattermapboxHoverinfo string + +const ( + // Flags + ScattermapboxHoverinfoLon ScattermapboxHoverinfo = "lon" + ScattermapboxHoverinfoLat ScattermapboxHoverinfo = "lat" + ScattermapboxHoverinfoText ScattermapboxHoverinfo = "text" + ScattermapboxHoverinfoName ScattermapboxHoverinfo = "name" + + // Extra + ScattermapboxHoverinfoAll ScattermapboxHoverinfo = "all" + ScattermapboxHoverinfoNone ScattermapboxHoverinfo = "none" + ScattermapboxHoverinfoSkip ScattermapboxHoverinfo = "skip" +) + +// ScattermapboxMode 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. +type ScattermapboxMode string + +const ( + // Flags + ScattermapboxModeLines ScattermapboxMode = "lines" + ScattermapboxModeMarkers ScattermapboxMode = "markers" + ScattermapboxModeText ScattermapboxMode = "text" + + // Extra + ScattermapboxModeNone ScattermapboxMode = "none" +) diff --git a/generated/v2.31.1/graph_objects/scatterpolar_gen.go b/generated/v2.31.1/graph_objects/scatterpolar_gen.go new file mode 100644 index 0000000..4f47ab3 --- /dev/null +++ b/generated/v2.31.1/graph_objects/scatterpolar_gen.go @@ -0,0 +1,2045 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeScatterpolar TraceType = "scatterpolar" + +func (trace *Scatterpolar) GetType() TraceType { + return TraceTypeScatterpolar +} + +// Scatterpolar 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. +type Scatterpolar struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Cliponaxis + // arrayOK: false + // 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*. + Cliponaxis Bool `json:"cliponaxis,omitempty"` + + // Connectgaps + // arrayOK: false + // type: boolean + // Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected. + Connectgaps Bool `json:"connectgaps,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Dr + // arrayOK: false + // type: number + // Sets the r coordinate step. + Dr float64 `json:"dr,omitempty"` + + // Dtheta + // arrayOK: false + // 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. + Dtheta float64 `json:"dtheta,omitempty"` + + // Fill + // default: none + // type: enumerated + // 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. + Fill ScatterpolarFill `json:"fill,omitempty"` + + // Fillcolor + // arrayOK: false + // 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. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo ScatterpolarHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *ScatterpolarHoverlabel `json:"hoverlabel,omitempty"` + + // Hoveron + // default: %!s() + // type: flaglist + // 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*. + Hoveron ScatterpolarHoveron `json:"hoveron,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *ScatterpolarLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *ScatterpolarLine `json:"line,omitempty"` + + // Marker + // role: Object + Marker *ScatterpolarMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Mode + // default: %!s() + // type: flaglist + // 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*. + Mode ScatterpolarMode `json:"mode,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // R + // arrayOK: false + // type: data_array + // Sets the radial coordinates + R interface{} `json:"r,omitempty"` + + // R0 + // arrayOK: false + // type: any + // Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step. + R0 interface{} `json:"r0,omitempty"` + + // Rsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `r`. + Rsrc String `json:"rsrc,omitempty"` + + // Selected + // role: Object + Selected *ScatterpolarSelected `json:"selected,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Stream + // role: Object + Stream *ScatterpolarStream `json:"stream,omitempty"` + + // Subplot + // arrayOK: false + // type: subplotid + // 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. + Subplot String `json:"subplot,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textfont + // role: Object + Textfont *ScatterpolarTextfont `json:"textfont,omitempty"` + + // Textposition + // default: middle center + // type: enumerated + // Sets the positions of the `text` elements with respects to the (x,y) coordinates. + Textposition ScatterpolarTextposition `json:"textposition,omitempty"` + + // Textpositionsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `textposition`. + Textpositionsrc String `json:"textpositionsrc,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: true + // 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 `r`, `theta` and `text`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Texttemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `texttemplate`. + Texttemplatesrc String `json:"texttemplatesrc,omitempty"` + + // Theta + // arrayOK: false + // type: data_array + // Sets the angular coordinates + Theta interface{} `json:"theta,omitempty"` + + // Theta0 + // arrayOK: false + // type: any + // Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step. + Theta0 interface{} `json:"theta0,omitempty"` + + // Thetasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `theta`. + Thetasrc String `json:"thetasrc,omitempty"` + + // Thetaunit + // default: degrees + // type: enumerated + // Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes. + Thetaunit ScatterpolarThetaunit `json:"thetaunit,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Unselected + // role: Object + Unselected *ScatterpolarUnselected `json:"unselected,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible ScatterpolarVisible `json:"visible,omitempty"` +} + +// ScatterpolarHoverlabelFont Sets the font used in hover labels. +type ScatterpolarHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ScatterpolarHoverlabel +type ScatterpolarHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align ScatterpolarHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *ScatterpolarHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// ScatterpolarLegendgrouptitleFont Sets this legend group's title font. +type ScatterpolarLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScatterpolarLegendgrouptitle +type ScatterpolarLegendgrouptitle struct { + + // Font + // role: Object + Font *ScatterpolarLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// ScatterpolarLine +type ScatterpolarLine struct { + + // Backoff + // arrayOK: true + // type: number + // 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*. + Backoff float64 `json:"backoff,omitempty"` + + // Backoffsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `backoff`. + Backoffsrc String `json:"backoffsrc,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the line color. + Color Color `json:"color,omitempty"` + + // Dash + // arrayOK: false + // type: string + // 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*). + Dash String `json:"dash,omitempty"` + + // Shape + // default: linear + // type: enumerated + // Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes. + Shape ScatterpolarLineShape `json:"shape,omitempty"` + + // Smoothing + // arrayOK: false + // type: number + // 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). + Smoothing float64 `json:"smoothing,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width (in px). + Width float64 `json:"width,omitempty"` +} + +// ScatterpolarMarkerColorbarTickfont Sets the color bar's tick label font +type ScatterpolarMarkerColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScatterpolarMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type ScatterpolarMarkerColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScatterpolarMarkerColorbarTitle +type ScatterpolarMarkerColorbarTitle struct { + + // Font + // role: Object + Font *ScatterpolarMarkerColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side ScatterpolarMarkerColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// ScatterpolarMarkerColorbar +type ScatterpolarMarkerColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat ScatterpolarMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode ScatterpolarMarkerColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ScatterpolarMarkerColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent ScatterpolarMarkerColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix ScatterpolarMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix ScatterpolarMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode ScatterpolarMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *ScatterpolarMarkerColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ScatterpolarMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition ScatterpolarMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode ScatterpolarMarkerColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks ScatterpolarMarkerColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *ScatterpolarMarkerColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor ScatterpolarMarkerColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref ScatterpolarMarkerColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor ScatterpolarMarkerColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref ScatterpolarMarkerColorbarYref `json:"yref,omitempty"` +} + +// ScatterpolarMarkerGradient +type ScatterpolarMarkerGradient struct { + + // Color + // arrayOK: true + // type: color + // Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Type + // default: none + // type: enumerated + // Sets the type of gradient used to fill the markers + Type ScatterpolarMarkerGradientType `json:"type,omitempty"` + + // Typesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `type`. + Typesrc String `json:"typesrc,omitempty"` +} + +// ScatterpolarMarkerLine +type ScatterpolarMarkerLine struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the lines bounding the marker points. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// ScatterpolarMarker +type ScatterpolarMarker struct { + + // Angle + // arrayOK: true + // type: angle + // Sets the marker angle in respect to `angleref`. + Angle float64 `json:"angle,omitempty"` + + // Angleref + // default: up + // type: enumerated + // 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. + Angleref ScatterpolarMarkerAngleref `json:"angleref,omitempty"` + + // Anglesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `angle`. + Anglesrc String `json:"anglesrc,omitempty"` + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *ScatterpolarMarkerColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Gradient + // role: Object + Gradient *ScatterpolarMarkerGradient `json:"gradient,omitempty"` + + // Line + // role: Object + Line *ScatterpolarMarkerLine `json:"line,omitempty"` + + // Maxdisplayed + // arrayOK: false + // type: number + // Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit. + Maxdisplayed float64 `json:"maxdisplayed,omitempty"` + + // Opacity + // arrayOK: true + // type: number + // Sets the marker opacity. + Opacity float64 `json:"opacity,omitempty"` + + // Opacitysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `opacity`. + Opacitysrc String `json:"opacitysrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the marker size (in px). + Size float64 `json:"size,omitempty"` + + // Sizemin + // arrayOK: false + // 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. + Sizemin float64 `json:"sizemin,omitempty"` + + // Sizemode + // default: diameter + // type: enumerated + // 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. + Sizemode ScatterpolarMarkerSizemode `json:"sizemode,omitempty"` + + // Sizeref + // arrayOK: false + // type: number + // 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`. + Sizeref float64 `json:"sizeref,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Standoff + // arrayOK: true + // type: number + // 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. + Standoff float64 `json:"standoff,omitempty"` + + // Standoffsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `standoff`. + Standoffsrc String `json:"standoffsrc,omitempty"` + + // Symbol + // default: circle + // type: enumerated + // 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. + Symbol ScatterpolarMarkerSymbol `json:"symbol,omitempty"` + + // Symbolsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `symbol`. + Symbolsrc String `json:"symbolsrc,omitempty"` +} + +// ScatterpolarSelectedMarker +type ScatterpolarSelectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of selected points. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of selected points. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of selected points. + Size float64 `json:"size,omitempty"` +} + +// ScatterpolarSelectedTextfont +type ScatterpolarSelectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of selected points. + Color Color `json:"color,omitempty"` +} + +// ScatterpolarSelected +type ScatterpolarSelected struct { + + // Marker + // role: Object + Marker *ScatterpolarSelectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *ScatterpolarSelectedTextfont `json:"textfont,omitempty"` +} + +// ScatterpolarStream +type ScatterpolarStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// ScatterpolarTextfont Sets the text font. +type ScatterpolarTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ScatterpolarUnselectedMarker +type ScatterpolarUnselectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of unselected points, applied only when a selection exists. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of unselected points, applied only when a selection exists. + Size float64 `json:"size,omitempty"` +} + +// ScatterpolarUnselectedTextfont +type ScatterpolarUnselectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` +} + +// ScatterpolarUnselected +type ScatterpolarUnselected struct { + + // Marker + // role: Object + Marker *ScatterpolarUnselectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *ScatterpolarUnselectedTextfont `json:"textfont,omitempty"` +} + +// ScatterpolarFill 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. +type ScatterpolarFill string + +const ( + ScatterpolarFillNone ScatterpolarFill = "none" + ScatterpolarFillToself ScatterpolarFill = "toself" + ScatterpolarFillTonext ScatterpolarFill = "tonext" +) + +// ScatterpolarHoverlabelAlign 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 +type ScatterpolarHoverlabelAlign string + +const ( + ScatterpolarHoverlabelAlignLeft ScatterpolarHoverlabelAlign = "left" + ScatterpolarHoverlabelAlignRight ScatterpolarHoverlabelAlign = "right" + ScatterpolarHoverlabelAlignAuto ScatterpolarHoverlabelAlign = "auto" +) + +// ScatterpolarLineShape Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes. +type ScatterpolarLineShape string + +const ( + ScatterpolarLineShapeLinear ScatterpolarLineShape = "linear" + ScatterpolarLineShapeSpline ScatterpolarLineShape = "spline" +) + +// ScatterpolarMarkerAngleref 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. +type ScatterpolarMarkerAngleref string + +const ( + ScatterpolarMarkerAnglerefPrevious ScatterpolarMarkerAngleref = "previous" + ScatterpolarMarkerAnglerefUp ScatterpolarMarkerAngleref = "up" +) + +// ScatterpolarMarkerColorbarExponentformat 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. +type ScatterpolarMarkerColorbarExponentformat string + +const ( + ScatterpolarMarkerColorbarExponentformatNone ScatterpolarMarkerColorbarExponentformat = "none" + ScatterpolarMarkerColorbarExponentformatE1 ScatterpolarMarkerColorbarExponentformat = "e" + ScatterpolarMarkerColorbarExponentformatE2 ScatterpolarMarkerColorbarExponentformat = "E" + ScatterpolarMarkerColorbarExponentformatPower ScatterpolarMarkerColorbarExponentformat = "power" + ScatterpolarMarkerColorbarExponentformatSI ScatterpolarMarkerColorbarExponentformat = "SI" + ScatterpolarMarkerColorbarExponentformatB ScatterpolarMarkerColorbarExponentformat = "B" +) + +// ScatterpolarMarkerColorbarLenmode 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. +type ScatterpolarMarkerColorbarLenmode string + +const ( + ScatterpolarMarkerColorbarLenmodeFraction ScatterpolarMarkerColorbarLenmode = "fraction" + ScatterpolarMarkerColorbarLenmodePixels ScatterpolarMarkerColorbarLenmode = "pixels" +) + +// ScatterpolarMarkerColorbarOrientation Sets the orientation of the colorbar. +type ScatterpolarMarkerColorbarOrientation string + +const ( + ScatterpolarMarkerColorbarOrientationH ScatterpolarMarkerColorbarOrientation = "h" + ScatterpolarMarkerColorbarOrientationV ScatterpolarMarkerColorbarOrientation = "v" +) + +// ScatterpolarMarkerColorbarShowexponent 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. +type ScatterpolarMarkerColorbarShowexponent string + +const ( + ScatterpolarMarkerColorbarShowexponentAll ScatterpolarMarkerColorbarShowexponent = "all" + ScatterpolarMarkerColorbarShowexponentFirst ScatterpolarMarkerColorbarShowexponent = "first" + ScatterpolarMarkerColorbarShowexponentLast ScatterpolarMarkerColorbarShowexponent = "last" + ScatterpolarMarkerColorbarShowexponentNone ScatterpolarMarkerColorbarShowexponent = "none" +) + +// ScatterpolarMarkerColorbarShowtickprefix 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. +type ScatterpolarMarkerColorbarShowtickprefix string + +const ( + ScatterpolarMarkerColorbarShowtickprefixAll ScatterpolarMarkerColorbarShowtickprefix = "all" + ScatterpolarMarkerColorbarShowtickprefixFirst ScatterpolarMarkerColorbarShowtickprefix = "first" + ScatterpolarMarkerColorbarShowtickprefixLast ScatterpolarMarkerColorbarShowtickprefix = "last" + ScatterpolarMarkerColorbarShowtickprefixNone ScatterpolarMarkerColorbarShowtickprefix = "none" +) + +// ScatterpolarMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type ScatterpolarMarkerColorbarShowticksuffix string + +const ( + ScatterpolarMarkerColorbarShowticksuffixAll ScatterpolarMarkerColorbarShowticksuffix = "all" + ScatterpolarMarkerColorbarShowticksuffixFirst ScatterpolarMarkerColorbarShowticksuffix = "first" + ScatterpolarMarkerColorbarShowticksuffixLast ScatterpolarMarkerColorbarShowticksuffix = "last" + ScatterpolarMarkerColorbarShowticksuffixNone ScatterpolarMarkerColorbarShowticksuffix = "none" +) + +// ScatterpolarMarkerColorbarThicknessmode 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. +type ScatterpolarMarkerColorbarThicknessmode string + +const ( + ScatterpolarMarkerColorbarThicknessmodeFraction ScatterpolarMarkerColorbarThicknessmode = "fraction" + ScatterpolarMarkerColorbarThicknessmodePixels ScatterpolarMarkerColorbarThicknessmode = "pixels" +) + +// ScatterpolarMarkerColorbarTicklabeloverflow 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*. +type ScatterpolarMarkerColorbarTicklabeloverflow string + +const ( + ScatterpolarMarkerColorbarTicklabeloverflowAllow ScatterpolarMarkerColorbarTicklabeloverflow = "allow" + ScatterpolarMarkerColorbarTicklabeloverflowHidePastDiv ScatterpolarMarkerColorbarTicklabeloverflow = "hide past div" + ScatterpolarMarkerColorbarTicklabeloverflowHidePastDomain ScatterpolarMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// ScatterpolarMarkerColorbarTicklabelposition 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*. +type ScatterpolarMarkerColorbarTicklabelposition string + +const ( + ScatterpolarMarkerColorbarTicklabelpositionOutside ScatterpolarMarkerColorbarTicklabelposition = "outside" + ScatterpolarMarkerColorbarTicklabelpositionInside ScatterpolarMarkerColorbarTicklabelposition = "inside" + ScatterpolarMarkerColorbarTicklabelpositionOutsideTop ScatterpolarMarkerColorbarTicklabelposition = "outside top" + ScatterpolarMarkerColorbarTicklabelpositionInsideTop ScatterpolarMarkerColorbarTicklabelposition = "inside top" + ScatterpolarMarkerColorbarTicklabelpositionOutsideLeft ScatterpolarMarkerColorbarTicklabelposition = "outside left" + ScatterpolarMarkerColorbarTicklabelpositionInsideLeft ScatterpolarMarkerColorbarTicklabelposition = "inside left" + ScatterpolarMarkerColorbarTicklabelpositionOutsideRight ScatterpolarMarkerColorbarTicklabelposition = "outside right" + ScatterpolarMarkerColorbarTicklabelpositionInsideRight ScatterpolarMarkerColorbarTicklabelposition = "inside right" + ScatterpolarMarkerColorbarTicklabelpositionOutsideBottom ScatterpolarMarkerColorbarTicklabelposition = "outside bottom" + ScatterpolarMarkerColorbarTicklabelpositionInsideBottom ScatterpolarMarkerColorbarTicklabelposition = "inside bottom" +) + +// ScatterpolarMarkerColorbarTickmode 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). +type ScatterpolarMarkerColorbarTickmode string + +const ( + ScatterpolarMarkerColorbarTickmodeAuto ScatterpolarMarkerColorbarTickmode = "auto" + ScatterpolarMarkerColorbarTickmodeLinear ScatterpolarMarkerColorbarTickmode = "linear" + ScatterpolarMarkerColorbarTickmodeArray ScatterpolarMarkerColorbarTickmode = "array" +) + +// ScatterpolarMarkerColorbarTicks 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. +type ScatterpolarMarkerColorbarTicks string + +const ( + ScatterpolarMarkerColorbarTicksOutside ScatterpolarMarkerColorbarTicks = "outside" + ScatterpolarMarkerColorbarTicksInside ScatterpolarMarkerColorbarTicks = "inside" + ScatterpolarMarkerColorbarTicksEmpty ScatterpolarMarkerColorbarTicks = "" +) + +// ScatterpolarMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type ScatterpolarMarkerColorbarTitleSide string + +const ( + ScatterpolarMarkerColorbarTitleSideRight ScatterpolarMarkerColorbarTitleSide = "right" + ScatterpolarMarkerColorbarTitleSideTop ScatterpolarMarkerColorbarTitleSide = "top" + ScatterpolarMarkerColorbarTitleSideBottom ScatterpolarMarkerColorbarTitleSide = "bottom" +) + +// ScatterpolarMarkerColorbarXanchor 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*. +type ScatterpolarMarkerColorbarXanchor string + +const ( + ScatterpolarMarkerColorbarXanchorLeft ScatterpolarMarkerColorbarXanchor = "left" + ScatterpolarMarkerColorbarXanchorCenter ScatterpolarMarkerColorbarXanchor = "center" + ScatterpolarMarkerColorbarXanchorRight ScatterpolarMarkerColorbarXanchor = "right" +) + +// ScatterpolarMarkerColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type ScatterpolarMarkerColorbarXref string + +const ( + ScatterpolarMarkerColorbarXrefContainer ScatterpolarMarkerColorbarXref = "container" + ScatterpolarMarkerColorbarXrefPaper ScatterpolarMarkerColorbarXref = "paper" +) + +// ScatterpolarMarkerColorbarYanchor 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*. +type ScatterpolarMarkerColorbarYanchor string + +const ( + ScatterpolarMarkerColorbarYanchorTop ScatterpolarMarkerColorbarYanchor = "top" + ScatterpolarMarkerColorbarYanchorMiddle ScatterpolarMarkerColorbarYanchor = "middle" + ScatterpolarMarkerColorbarYanchorBottom ScatterpolarMarkerColorbarYanchor = "bottom" +) + +// ScatterpolarMarkerColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type ScatterpolarMarkerColorbarYref string + +const ( + ScatterpolarMarkerColorbarYrefContainer ScatterpolarMarkerColorbarYref = "container" + ScatterpolarMarkerColorbarYrefPaper ScatterpolarMarkerColorbarYref = "paper" +) + +// ScatterpolarMarkerGradientType Sets the type of gradient used to fill the markers +type ScatterpolarMarkerGradientType string + +const ( + ScatterpolarMarkerGradientTypeRadial ScatterpolarMarkerGradientType = "radial" + ScatterpolarMarkerGradientTypeHorizontal ScatterpolarMarkerGradientType = "horizontal" + ScatterpolarMarkerGradientTypeVertical ScatterpolarMarkerGradientType = "vertical" + ScatterpolarMarkerGradientTypeNone ScatterpolarMarkerGradientType = "none" +) + +// ScatterpolarMarkerSizemode 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. +type ScatterpolarMarkerSizemode string + +const ( + ScatterpolarMarkerSizemodeDiameter ScatterpolarMarkerSizemode = "diameter" + ScatterpolarMarkerSizemodeArea ScatterpolarMarkerSizemode = "area" +) + +// ScatterpolarMarkerSymbol 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. +type ScatterpolarMarkerSymbol interface{} + +var ( + ScatterpolarMarkerSymbolNumber0 ScatterpolarMarkerSymbol = 0 + ScatterpolarMarkerSymbol0 ScatterpolarMarkerSymbol = "0" + ScatterpolarMarkerSymbolCircle ScatterpolarMarkerSymbol = "circle" + ScatterpolarMarkerSymbolNumber100 ScatterpolarMarkerSymbol = 100 + ScatterpolarMarkerSymbol100 ScatterpolarMarkerSymbol = "100" + ScatterpolarMarkerSymbolCircleOpen ScatterpolarMarkerSymbol = "circle-open" + ScatterpolarMarkerSymbolNumber200 ScatterpolarMarkerSymbol = 200 + ScatterpolarMarkerSymbol200 ScatterpolarMarkerSymbol = "200" + ScatterpolarMarkerSymbolCircleDot ScatterpolarMarkerSymbol = "circle-dot" + ScatterpolarMarkerSymbolNumber300 ScatterpolarMarkerSymbol = 300 + ScatterpolarMarkerSymbol300 ScatterpolarMarkerSymbol = "300" + ScatterpolarMarkerSymbolCircleOpenDot ScatterpolarMarkerSymbol = "circle-open-dot" + ScatterpolarMarkerSymbolNumber1 ScatterpolarMarkerSymbol = 1 + ScatterpolarMarkerSymbol1 ScatterpolarMarkerSymbol = "1" + ScatterpolarMarkerSymbolSquare ScatterpolarMarkerSymbol = "square" + ScatterpolarMarkerSymbolNumber101 ScatterpolarMarkerSymbol = 101 + ScatterpolarMarkerSymbol101 ScatterpolarMarkerSymbol = "101" + ScatterpolarMarkerSymbolSquareOpen ScatterpolarMarkerSymbol = "square-open" + ScatterpolarMarkerSymbolNumber201 ScatterpolarMarkerSymbol = 201 + ScatterpolarMarkerSymbol201 ScatterpolarMarkerSymbol = "201" + ScatterpolarMarkerSymbolSquareDot ScatterpolarMarkerSymbol = "square-dot" + ScatterpolarMarkerSymbolNumber301 ScatterpolarMarkerSymbol = 301 + ScatterpolarMarkerSymbol301 ScatterpolarMarkerSymbol = "301" + ScatterpolarMarkerSymbolSquareOpenDot ScatterpolarMarkerSymbol = "square-open-dot" + ScatterpolarMarkerSymbolNumber2 ScatterpolarMarkerSymbol = 2 + ScatterpolarMarkerSymbol2 ScatterpolarMarkerSymbol = "2" + ScatterpolarMarkerSymbolDiamond ScatterpolarMarkerSymbol = "diamond" + ScatterpolarMarkerSymbolNumber102 ScatterpolarMarkerSymbol = 102 + ScatterpolarMarkerSymbol102 ScatterpolarMarkerSymbol = "102" + ScatterpolarMarkerSymbolDiamondOpen ScatterpolarMarkerSymbol = "diamond-open" + ScatterpolarMarkerSymbolNumber202 ScatterpolarMarkerSymbol = 202 + ScatterpolarMarkerSymbol202 ScatterpolarMarkerSymbol = "202" + ScatterpolarMarkerSymbolDiamondDot ScatterpolarMarkerSymbol = "diamond-dot" + ScatterpolarMarkerSymbolNumber302 ScatterpolarMarkerSymbol = 302 + ScatterpolarMarkerSymbol302 ScatterpolarMarkerSymbol = "302" + ScatterpolarMarkerSymbolDiamondOpenDot ScatterpolarMarkerSymbol = "diamond-open-dot" + ScatterpolarMarkerSymbolNumber3 ScatterpolarMarkerSymbol = 3 + ScatterpolarMarkerSymbol3 ScatterpolarMarkerSymbol = "3" + ScatterpolarMarkerSymbolCross ScatterpolarMarkerSymbol = "cross" + ScatterpolarMarkerSymbolNumber103 ScatterpolarMarkerSymbol = 103 + ScatterpolarMarkerSymbol103 ScatterpolarMarkerSymbol = "103" + ScatterpolarMarkerSymbolCrossOpen ScatterpolarMarkerSymbol = "cross-open" + ScatterpolarMarkerSymbolNumber203 ScatterpolarMarkerSymbol = 203 + ScatterpolarMarkerSymbol203 ScatterpolarMarkerSymbol = "203" + ScatterpolarMarkerSymbolCrossDot ScatterpolarMarkerSymbol = "cross-dot" + ScatterpolarMarkerSymbolNumber303 ScatterpolarMarkerSymbol = 303 + ScatterpolarMarkerSymbol303 ScatterpolarMarkerSymbol = "303" + ScatterpolarMarkerSymbolCrossOpenDot ScatterpolarMarkerSymbol = "cross-open-dot" + ScatterpolarMarkerSymbolNumber4 ScatterpolarMarkerSymbol = 4 + ScatterpolarMarkerSymbol4 ScatterpolarMarkerSymbol = "4" + ScatterpolarMarkerSymbolX ScatterpolarMarkerSymbol = "x" + ScatterpolarMarkerSymbolNumber104 ScatterpolarMarkerSymbol = 104 + ScatterpolarMarkerSymbol104 ScatterpolarMarkerSymbol = "104" + ScatterpolarMarkerSymbolXOpen ScatterpolarMarkerSymbol = "x-open" + ScatterpolarMarkerSymbolNumber204 ScatterpolarMarkerSymbol = 204 + ScatterpolarMarkerSymbol204 ScatterpolarMarkerSymbol = "204" + ScatterpolarMarkerSymbolXDot ScatterpolarMarkerSymbol = "x-dot" + ScatterpolarMarkerSymbolNumber304 ScatterpolarMarkerSymbol = 304 + ScatterpolarMarkerSymbol304 ScatterpolarMarkerSymbol = "304" + ScatterpolarMarkerSymbolXOpenDot ScatterpolarMarkerSymbol = "x-open-dot" + ScatterpolarMarkerSymbolNumber5 ScatterpolarMarkerSymbol = 5 + ScatterpolarMarkerSymbol5 ScatterpolarMarkerSymbol = "5" + ScatterpolarMarkerSymbolTriangleUp ScatterpolarMarkerSymbol = "triangle-up" + ScatterpolarMarkerSymbolNumber105 ScatterpolarMarkerSymbol = 105 + ScatterpolarMarkerSymbol105 ScatterpolarMarkerSymbol = "105" + ScatterpolarMarkerSymbolTriangleUpOpen ScatterpolarMarkerSymbol = "triangle-up-open" + ScatterpolarMarkerSymbolNumber205 ScatterpolarMarkerSymbol = 205 + ScatterpolarMarkerSymbol205 ScatterpolarMarkerSymbol = "205" + ScatterpolarMarkerSymbolTriangleUpDot ScatterpolarMarkerSymbol = "triangle-up-dot" + ScatterpolarMarkerSymbolNumber305 ScatterpolarMarkerSymbol = 305 + ScatterpolarMarkerSymbol305 ScatterpolarMarkerSymbol = "305" + ScatterpolarMarkerSymbolTriangleUpOpenDot ScatterpolarMarkerSymbol = "triangle-up-open-dot" + ScatterpolarMarkerSymbolNumber6 ScatterpolarMarkerSymbol = 6 + ScatterpolarMarkerSymbol6 ScatterpolarMarkerSymbol = "6" + ScatterpolarMarkerSymbolTriangleDown ScatterpolarMarkerSymbol = "triangle-down" + ScatterpolarMarkerSymbolNumber106 ScatterpolarMarkerSymbol = 106 + ScatterpolarMarkerSymbol106 ScatterpolarMarkerSymbol = "106" + ScatterpolarMarkerSymbolTriangleDownOpen ScatterpolarMarkerSymbol = "triangle-down-open" + ScatterpolarMarkerSymbolNumber206 ScatterpolarMarkerSymbol = 206 + ScatterpolarMarkerSymbol206 ScatterpolarMarkerSymbol = "206" + ScatterpolarMarkerSymbolTriangleDownDot ScatterpolarMarkerSymbol = "triangle-down-dot" + ScatterpolarMarkerSymbolNumber306 ScatterpolarMarkerSymbol = 306 + ScatterpolarMarkerSymbol306 ScatterpolarMarkerSymbol = "306" + ScatterpolarMarkerSymbolTriangleDownOpenDot ScatterpolarMarkerSymbol = "triangle-down-open-dot" + ScatterpolarMarkerSymbolNumber7 ScatterpolarMarkerSymbol = 7 + ScatterpolarMarkerSymbol7 ScatterpolarMarkerSymbol = "7" + ScatterpolarMarkerSymbolTriangleLeft ScatterpolarMarkerSymbol = "triangle-left" + ScatterpolarMarkerSymbolNumber107 ScatterpolarMarkerSymbol = 107 + ScatterpolarMarkerSymbol107 ScatterpolarMarkerSymbol = "107" + ScatterpolarMarkerSymbolTriangleLeftOpen ScatterpolarMarkerSymbol = "triangle-left-open" + ScatterpolarMarkerSymbolNumber207 ScatterpolarMarkerSymbol = 207 + ScatterpolarMarkerSymbol207 ScatterpolarMarkerSymbol = "207" + ScatterpolarMarkerSymbolTriangleLeftDot ScatterpolarMarkerSymbol = "triangle-left-dot" + ScatterpolarMarkerSymbolNumber307 ScatterpolarMarkerSymbol = 307 + ScatterpolarMarkerSymbol307 ScatterpolarMarkerSymbol = "307" + ScatterpolarMarkerSymbolTriangleLeftOpenDot ScatterpolarMarkerSymbol = "triangle-left-open-dot" + ScatterpolarMarkerSymbolNumber8 ScatterpolarMarkerSymbol = 8 + ScatterpolarMarkerSymbol8 ScatterpolarMarkerSymbol = "8" + ScatterpolarMarkerSymbolTriangleRight ScatterpolarMarkerSymbol = "triangle-right" + ScatterpolarMarkerSymbolNumber108 ScatterpolarMarkerSymbol = 108 + ScatterpolarMarkerSymbol108 ScatterpolarMarkerSymbol = "108" + ScatterpolarMarkerSymbolTriangleRightOpen ScatterpolarMarkerSymbol = "triangle-right-open" + ScatterpolarMarkerSymbolNumber208 ScatterpolarMarkerSymbol = 208 + ScatterpolarMarkerSymbol208 ScatterpolarMarkerSymbol = "208" + ScatterpolarMarkerSymbolTriangleRightDot ScatterpolarMarkerSymbol = "triangle-right-dot" + ScatterpolarMarkerSymbolNumber308 ScatterpolarMarkerSymbol = 308 + ScatterpolarMarkerSymbol308 ScatterpolarMarkerSymbol = "308" + ScatterpolarMarkerSymbolTriangleRightOpenDot ScatterpolarMarkerSymbol = "triangle-right-open-dot" + ScatterpolarMarkerSymbolNumber9 ScatterpolarMarkerSymbol = 9 + ScatterpolarMarkerSymbol9 ScatterpolarMarkerSymbol = "9" + ScatterpolarMarkerSymbolTriangleNe ScatterpolarMarkerSymbol = "triangle-ne" + ScatterpolarMarkerSymbolNumber109 ScatterpolarMarkerSymbol = 109 + ScatterpolarMarkerSymbol109 ScatterpolarMarkerSymbol = "109" + ScatterpolarMarkerSymbolTriangleNeOpen ScatterpolarMarkerSymbol = "triangle-ne-open" + ScatterpolarMarkerSymbolNumber209 ScatterpolarMarkerSymbol = 209 + ScatterpolarMarkerSymbol209 ScatterpolarMarkerSymbol = "209" + ScatterpolarMarkerSymbolTriangleNeDot ScatterpolarMarkerSymbol = "triangle-ne-dot" + ScatterpolarMarkerSymbolNumber309 ScatterpolarMarkerSymbol = 309 + ScatterpolarMarkerSymbol309 ScatterpolarMarkerSymbol = "309" + ScatterpolarMarkerSymbolTriangleNeOpenDot ScatterpolarMarkerSymbol = "triangle-ne-open-dot" + ScatterpolarMarkerSymbolNumber10 ScatterpolarMarkerSymbol = 10 + ScatterpolarMarkerSymbol10 ScatterpolarMarkerSymbol = "10" + ScatterpolarMarkerSymbolTriangleSe ScatterpolarMarkerSymbol = "triangle-se" + ScatterpolarMarkerSymbolNumber110 ScatterpolarMarkerSymbol = 110 + ScatterpolarMarkerSymbol110 ScatterpolarMarkerSymbol = "110" + ScatterpolarMarkerSymbolTriangleSeOpen ScatterpolarMarkerSymbol = "triangle-se-open" + ScatterpolarMarkerSymbolNumber210 ScatterpolarMarkerSymbol = 210 + ScatterpolarMarkerSymbol210 ScatterpolarMarkerSymbol = "210" + ScatterpolarMarkerSymbolTriangleSeDot ScatterpolarMarkerSymbol = "triangle-se-dot" + ScatterpolarMarkerSymbolNumber310 ScatterpolarMarkerSymbol = 310 + ScatterpolarMarkerSymbol310 ScatterpolarMarkerSymbol = "310" + ScatterpolarMarkerSymbolTriangleSeOpenDot ScatterpolarMarkerSymbol = "triangle-se-open-dot" + ScatterpolarMarkerSymbolNumber11 ScatterpolarMarkerSymbol = 11 + ScatterpolarMarkerSymbol11 ScatterpolarMarkerSymbol = "11" + ScatterpolarMarkerSymbolTriangleSw ScatterpolarMarkerSymbol = "triangle-sw" + ScatterpolarMarkerSymbolNumber111 ScatterpolarMarkerSymbol = 111 + ScatterpolarMarkerSymbol111 ScatterpolarMarkerSymbol = "111" + ScatterpolarMarkerSymbolTriangleSwOpen ScatterpolarMarkerSymbol = "triangle-sw-open" + ScatterpolarMarkerSymbolNumber211 ScatterpolarMarkerSymbol = 211 + ScatterpolarMarkerSymbol211 ScatterpolarMarkerSymbol = "211" + ScatterpolarMarkerSymbolTriangleSwDot ScatterpolarMarkerSymbol = "triangle-sw-dot" + ScatterpolarMarkerSymbolNumber311 ScatterpolarMarkerSymbol = 311 + ScatterpolarMarkerSymbol311 ScatterpolarMarkerSymbol = "311" + ScatterpolarMarkerSymbolTriangleSwOpenDot ScatterpolarMarkerSymbol = "triangle-sw-open-dot" + ScatterpolarMarkerSymbolNumber12 ScatterpolarMarkerSymbol = 12 + ScatterpolarMarkerSymbol12 ScatterpolarMarkerSymbol = "12" + ScatterpolarMarkerSymbolTriangleNw ScatterpolarMarkerSymbol = "triangle-nw" + ScatterpolarMarkerSymbolNumber112 ScatterpolarMarkerSymbol = 112 + ScatterpolarMarkerSymbol112 ScatterpolarMarkerSymbol = "112" + ScatterpolarMarkerSymbolTriangleNwOpen ScatterpolarMarkerSymbol = "triangle-nw-open" + ScatterpolarMarkerSymbolNumber212 ScatterpolarMarkerSymbol = 212 + ScatterpolarMarkerSymbol212 ScatterpolarMarkerSymbol = "212" + ScatterpolarMarkerSymbolTriangleNwDot ScatterpolarMarkerSymbol = "triangle-nw-dot" + ScatterpolarMarkerSymbolNumber312 ScatterpolarMarkerSymbol = 312 + ScatterpolarMarkerSymbol312 ScatterpolarMarkerSymbol = "312" + ScatterpolarMarkerSymbolTriangleNwOpenDot ScatterpolarMarkerSymbol = "triangle-nw-open-dot" + ScatterpolarMarkerSymbolNumber13 ScatterpolarMarkerSymbol = 13 + ScatterpolarMarkerSymbol13 ScatterpolarMarkerSymbol = "13" + ScatterpolarMarkerSymbolPentagon ScatterpolarMarkerSymbol = "pentagon" + ScatterpolarMarkerSymbolNumber113 ScatterpolarMarkerSymbol = 113 + ScatterpolarMarkerSymbol113 ScatterpolarMarkerSymbol = "113" + ScatterpolarMarkerSymbolPentagonOpen ScatterpolarMarkerSymbol = "pentagon-open" + ScatterpolarMarkerSymbolNumber213 ScatterpolarMarkerSymbol = 213 + ScatterpolarMarkerSymbol213 ScatterpolarMarkerSymbol = "213" + ScatterpolarMarkerSymbolPentagonDot ScatterpolarMarkerSymbol = "pentagon-dot" + ScatterpolarMarkerSymbolNumber313 ScatterpolarMarkerSymbol = 313 + ScatterpolarMarkerSymbol313 ScatterpolarMarkerSymbol = "313" + ScatterpolarMarkerSymbolPentagonOpenDot ScatterpolarMarkerSymbol = "pentagon-open-dot" + ScatterpolarMarkerSymbolNumber14 ScatterpolarMarkerSymbol = 14 + ScatterpolarMarkerSymbol14 ScatterpolarMarkerSymbol = "14" + ScatterpolarMarkerSymbolHexagon ScatterpolarMarkerSymbol = "hexagon" + ScatterpolarMarkerSymbolNumber114 ScatterpolarMarkerSymbol = 114 + ScatterpolarMarkerSymbol114 ScatterpolarMarkerSymbol = "114" + ScatterpolarMarkerSymbolHexagonOpen ScatterpolarMarkerSymbol = "hexagon-open" + ScatterpolarMarkerSymbolNumber214 ScatterpolarMarkerSymbol = 214 + ScatterpolarMarkerSymbol214 ScatterpolarMarkerSymbol = "214" + ScatterpolarMarkerSymbolHexagonDot ScatterpolarMarkerSymbol = "hexagon-dot" + ScatterpolarMarkerSymbolNumber314 ScatterpolarMarkerSymbol = 314 + ScatterpolarMarkerSymbol314 ScatterpolarMarkerSymbol = "314" + ScatterpolarMarkerSymbolHexagonOpenDot ScatterpolarMarkerSymbol = "hexagon-open-dot" + ScatterpolarMarkerSymbolNumber15 ScatterpolarMarkerSymbol = 15 + ScatterpolarMarkerSymbol15 ScatterpolarMarkerSymbol = "15" + ScatterpolarMarkerSymbolHexagon2 ScatterpolarMarkerSymbol = "hexagon2" + ScatterpolarMarkerSymbolNumber115 ScatterpolarMarkerSymbol = 115 + ScatterpolarMarkerSymbol115 ScatterpolarMarkerSymbol = "115" + ScatterpolarMarkerSymbolHexagon2Open ScatterpolarMarkerSymbol = "hexagon2-open" + ScatterpolarMarkerSymbolNumber215 ScatterpolarMarkerSymbol = 215 + ScatterpolarMarkerSymbol215 ScatterpolarMarkerSymbol = "215" + ScatterpolarMarkerSymbolHexagon2Dot ScatterpolarMarkerSymbol = "hexagon2-dot" + ScatterpolarMarkerSymbolNumber315 ScatterpolarMarkerSymbol = 315 + ScatterpolarMarkerSymbol315 ScatterpolarMarkerSymbol = "315" + ScatterpolarMarkerSymbolHexagon2OpenDot ScatterpolarMarkerSymbol = "hexagon2-open-dot" + ScatterpolarMarkerSymbolNumber16 ScatterpolarMarkerSymbol = 16 + ScatterpolarMarkerSymbol16 ScatterpolarMarkerSymbol = "16" + ScatterpolarMarkerSymbolOctagon ScatterpolarMarkerSymbol = "octagon" + ScatterpolarMarkerSymbolNumber116 ScatterpolarMarkerSymbol = 116 + ScatterpolarMarkerSymbol116 ScatterpolarMarkerSymbol = "116" + ScatterpolarMarkerSymbolOctagonOpen ScatterpolarMarkerSymbol = "octagon-open" + ScatterpolarMarkerSymbolNumber216 ScatterpolarMarkerSymbol = 216 + ScatterpolarMarkerSymbol216 ScatterpolarMarkerSymbol = "216" + ScatterpolarMarkerSymbolOctagonDot ScatterpolarMarkerSymbol = "octagon-dot" + ScatterpolarMarkerSymbolNumber316 ScatterpolarMarkerSymbol = 316 + ScatterpolarMarkerSymbol316 ScatterpolarMarkerSymbol = "316" + ScatterpolarMarkerSymbolOctagonOpenDot ScatterpolarMarkerSymbol = "octagon-open-dot" + ScatterpolarMarkerSymbolNumber17 ScatterpolarMarkerSymbol = 17 + ScatterpolarMarkerSymbol17 ScatterpolarMarkerSymbol = "17" + ScatterpolarMarkerSymbolStar ScatterpolarMarkerSymbol = "star" + ScatterpolarMarkerSymbolNumber117 ScatterpolarMarkerSymbol = 117 + ScatterpolarMarkerSymbol117 ScatterpolarMarkerSymbol = "117" + ScatterpolarMarkerSymbolStarOpen ScatterpolarMarkerSymbol = "star-open" + ScatterpolarMarkerSymbolNumber217 ScatterpolarMarkerSymbol = 217 + ScatterpolarMarkerSymbol217 ScatterpolarMarkerSymbol = "217" + ScatterpolarMarkerSymbolStarDot ScatterpolarMarkerSymbol = "star-dot" + ScatterpolarMarkerSymbolNumber317 ScatterpolarMarkerSymbol = 317 + ScatterpolarMarkerSymbol317 ScatterpolarMarkerSymbol = "317" + ScatterpolarMarkerSymbolStarOpenDot ScatterpolarMarkerSymbol = "star-open-dot" + ScatterpolarMarkerSymbolNumber18 ScatterpolarMarkerSymbol = 18 + ScatterpolarMarkerSymbol18 ScatterpolarMarkerSymbol = "18" + ScatterpolarMarkerSymbolHexagram ScatterpolarMarkerSymbol = "hexagram" + ScatterpolarMarkerSymbolNumber118 ScatterpolarMarkerSymbol = 118 + ScatterpolarMarkerSymbol118 ScatterpolarMarkerSymbol = "118" + ScatterpolarMarkerSymbolHexagramOpen ScatterpolarMarkerSymbol = "hexagram-open" + ScatterpolarMarkerSymbolNumber218 ScatterpolarMarkerSymbol = 218 + ScatterpolarMarkerSymbol218 ScatterpolarMarkerSymbol = "218" + ScatterpolarMarkerSymbolHexagramDot ScatterpolarMarkerSymbol = "hexagram-dot" + ScatterpolarMarkerSymbolNumber318 ScatterpolarMarkerSymbol = 318 + ScatterpolarMarkerSymbol318 ScatterpolarMarkerSymbol = "318" + ScatterpolarMarkerSymbolHexagramOpenDot ScatterpolarMarkerSymbol = "hexagram-open-dot" + ScatterpolarMarkerSymbolNumber19 ScatterpolarMarkerSymbol = 19 + ScatterpolarMarkerSymbol19 ScatterpolarMarkerSymbol = "19" + ScatterpolarMarkerSymbolStarTriangleUp ScatterpolarMarkerSymbol = "star-triangle-up" + ScatterpolarMarkerSymbolNumber119 ScatterpolarMarkerSymbol = 119 + ScatterpolarMarkerSymbol119 ScatterpolarMarkerSymbol = "119" + ScatterpolarMarkerSymbolStarTriangleUpOpen ScatterpolarMarkerSymbol = "star-triangle-up-open" + ScatterpolarMarkerSymbolNumber219 ScatterpolarMarkerSymbol = 219 + ScatterpolarMarkerSymbol219 ScatterpolarMarkerSymbol = "219" + ScatterpolarMarkerSymbolStarTriangleUpDot ScatterpolarMarkerSymbol = "star-triangle-up-dot" + ScatterpolarMarkerSymbolNumber319 ScatterpolarMarkerSymbol = 319 + ScatterpolarMarkerSymbol319 ScatterpolarMarkerSymbol = "319" + ScatterpolarMarkerSymbolStarTriangleUpOpenDot ScatterpolarMarkerSymbol = "star-triangle-up-open-dot" + ScatterpolarMarkerSymbolNumber20 ScatterpolarMarkerSymbol = 20 + ScatterpolarMarkerSymbol20 ScatterpolarMarkerSymbol = "20" + ScatterpolarMarkerSymbolStarTriangleDown ScatterpolarMarkerSymbol = "star-triangle-down" + ScatterpolarMarkerSymbolNumber120 ScatterpolarMarkerSymbol = 120 + ScatterpolarMarkerSymbol120 ScatterpolarMarkerSymbol = "120" + ScatterpolarMarkerSymbolStarTriangleDownOpen ScatterpolarMarkerSymbol = "star-triangle-down-open" + ScatterpolarMarkerSymbolNumber220 ScatterpolarMarkerSymbol = 220 + ScatterpolarMarkerSymbol220 ScatterpolarMarkerSymbol = "220" + ScatterpolarMarkerSymbolStarTriangleDownDot ScatterpolarMarkerSymbol = "star-triangle-down-dot" + ScatterpolarMarkerSymbolNumber320 ScatterpolarMarkerSymbol = 320 + ScatterpolarMarkerSymbol320 ScatterpolarMarkerSymbol = "320" + ScatterpolarMarkerSymbolStarTriangleDownOpenDot ScatterpolarMarkerSymbol = "star-triangle-down-open-dot" + ScatterpolarMarkerSymbolNumber21 ScatterpolarMarkerSymbol = 21 + ScatterpolarMarkerSymbol21 ScatterpolarMarkerSymbol = "21" + ScatterpolarMarkerSymbolStarSquare ScatterpolarMarkerSymbol = "star-square" + ScatterpolarMarkerSymbolNumber121 ScatterpolarMarkerSymbol = 121 + ScatterpolarMarkerSymbol121 ScatterpolarMarkerSymbol = "121" + ScatterpolarMarkerSymbolStarSquareOpen ScatterpolarMarkerSymbol = "star-square-open" + ScatterpolarMarkerSymbolNumber221 ScatterpolarMarkerSymbol = 221 + ScatterpolarMarkerSymbol221 ScatterpolarMarkerSymbol = "221" + ScatterpolarMarkerSymbolStarSquareDot ScatterpolarMarkerSymbol = "star-square-dot" + ScatterpolarMarkerSymbolNumber321 ScatterpolarMarkerSymbol = 321 + ScatterpolarMarkerSymbol321 ScatterpolarMarkerSymbol = "321" + ScatterpolarMarkerSymbolStarSquareOpenDot ScatterpolarMarkerSymbol = "star-square-open-dot" + ScatterpolarMarkerSymbolNumber22 ScatterpolarMarkerSymbol = 22 + ScatterpolarMarkerSymbol22 ScatterpolarMarkerSymbol = "22" + ScatterpolarMarkerSymbolStarDiamond ScatterpolarMarkerSymbol = "star-diamond" + ScatterpolarMarkerSymbolNumber122 ScatterpolarMarkerSymbol = 122 + ScatterpolarMarkerSymbol122 ScatterpolarMarkerSymbol = "122" + ScatterpolarMarkerSymbolStarDiamondOpen ScatterpolarMarkerSymbol = "star-diamond-open" + ScatterpolarMarkerSymbolNumber222 ScatterpolarMarkerSymbol = 222 + ScatterpolarMarkerSymbol222 ScatterpolarMarkerSymbol = "222" + ScatterpolarMarkerSymbolStarDiamondDot ScatterpolarMarkerSymbol = "star-diamond-dot" + ScatterpolarMarkerSymbolNumber322 ScatterpolarMarkerSymbol = 322 + ScatterpolarMarkerSymbol322 ScatterpolarMarkerSymbol = "322" + ScatterpolarMarkerSymbolStarDiamondOpenDot ScatterpolarMarkerSymbol = "star-diamond-open-dot" + ScatterpolarMarkerSymbolNumber23 ScatterpolarMarkerSymbol = 23 + ScatterpolarMarkerSymbol23 ScatterpolarMarkerSymbol = "23" + ScatterpolarMarkerSymbolDiamondTall ScatterpolarMarkerSymbol = "diamond-tall" + ScatterpolarMarkerSymbolNumber123 ScatterpolarMarkerSymbol = 123 + ScatterpolarMarkerSymbol123 ScatterpolarMarkerSymbol = "123" + ScatterpolarMarkerSymbolDiamondTallOpen ScatterpolarMarkerSymbol = "diamond-tall-open" + ScatterpolarMarkerSymbolNumber223 ScatterpolarMarkerSymbol = 223 + ScatterpolarMarkerSymbol223 ScatterpolarMarkerSymbol = "223" + ScatterpolarMarkerSymbolDiamondTallDot ScatterpolarMarkerSymbol = "diamond-tall-dot" + ScatterpolarMarkerSymbolNumber323 ScatterpolarMarkerSymbol = 323 + ScatterpolarMarkerSymbol323 ScatterpolarMarkerSymbol = "323" + ScatterpolarMarkerSymbolDiamondTallOpenDot ScatterpolarMarkerSymbol = "diamond-tall-open-dot" + ScatterpolarMarkerSymbolNumber24 ScatterpolarMarkerSymbol = 24 + ScatterpolarMarkerSymbol24 ScatterpolarMarkerSymbol = "24" + ScatterpolarMarkerSymbolDiamondWide ScatterpolarMarkerSymbol = "diamond-wide" + ScatterpolarMarkerSymbolNumber124 ScatterpolarMarkerSymbol = 124 + ScatterpolarMarkerSymbol124 ScatterpolarMarkerSymbol = "124" + ScatterpolarMarkerSymbolDiamondWideOpen ScatterpolarMarkerSymbol = "diamond-wide-open" + ScatterpolarMarkerSymbolNumber224 ScatterpolarMarkerSymbol = 224 + ScatterpolarMarkerSymbol224 ScatterpolarMarkerSymbol = "224" + ScatterpolarMarkerSymbolDiamondWideDot ScatterpolarMarkerSymbol = "diamond-wide-dot" + ScatterpolarMarkerSymbolNumber324 ScatterpolarMarkerSymbol = 324 + ScatterpolarMarkerSymbol324 ScatterpolarMarkerSymbol = "324" + ScatterpolarMarkerSymbolDiamondWideOpenDot ScatterpolarMarkerSymbol = "diamond-wide-open-dot" + ScatterpolarMarkerSymbolNumber25 ScatterpolarMarkerSymbol = 25 + ScatterpolarMarkerSymbol25 ScatterpolarMarkerSymbol = "25" + ScatterpolarMarkerSymbolHourglass ScatterpolarMarkerSymbol = "hourglass" + ScatterpolarMarkerSymbolNumber125 ScatterpolarMarkerSymbol = 125 + ScatterpolarMarkerSymbol125 ScatterpolarMarkerSymbol = "125" + ScatterpolarMarkerSymbolHourglassOpen ScatterpolarMarkerSymbol = "hourglass-open" + ScatterpolarMarkerSymbolNumber26 ScatterpolarMarkerSymbol = 26 + ScatterpolarMarkerSymbol26 ScatterpolarMarkerSymbol = "26" + ScatterpolarMarkerSymbolBowtie ScatterpolarMarkerSymbol = "bowtie" + ScatterpolarMarkerSymbolNumber126 ScatterpolarMarkerSymbol = 126 + ScatterpolarMarkerSymbol126 ScatterpolarMarkerSymbol = "126" + ScatterpolarMarkerSymbolBowtieOpen ScatterpolarMarkerSymbol = "bowtie-open" + ScatterpolarMarkerSymbolNumber27 ScatterpolarMarkerSymbol = 27 + ScatterpolarMarkerSymbol27 ScatterpolarMarkerSymbol = "27" + ScatterpolarMarkerSymbolCircleCross ScatterpolarMarkerSymbol = "circle-cross" + ScatterpolarMarkerSymbolNumber127 ScatterpolarMarkerSymbol = 127 + ScatterpolarMarkerSymbol127 ScatterpolarMarkerSymbol = "127" + ScatterpolarMarkerSymbolCircleCrossOpen ScatterpolarMarkerSymbol = "circle-cross-open" + ScatterpolarMarkerSymbolNumber28 ScatterpolarMarkerSymbol = 28 + ScatterpolarMarkerSymbol28 ScatterpolarMarkerSymbol = "28" + ScatterpolarMarkerSymbolCircleX ScatterpolarMarkerSymbol = "circle-x" + ScatterpolarMarkerSymbolNumber128 ScatterpolarMarkerSymbol = 128 + ScatterpolarMarkerSymbol128 ScatterpolarMarkerSymbol = "128" + ScatterpolarMarkerSymbolCircleXOpen ScatterpolarMarkerSymbol = "circle-x-open" + ScatterpolarMarkerSymbolNumber29 ScatterpolarMarkerSymbol = 29 + ScatterpolarMarkerSymbol29 ScatterpolarMarkerSymbol = "29" + ScatterpolarMarkerSymbolSquareCross ScatterpolarMarkerSymbol = "square-cross" + ScatterpolarMarkerSymbolNumber129 ScatterpolarMarkerSymbol = 129 + ScatterpolarMarkerSymbol129 ScatterpolarMarkerSymbol = "129" + ScatterpolarMarkerSymbolSquareCrossOpen ScatterpolarMarkerSymbol = "square-cross-open" + ScatterpolarMarkerSymbolNumber30 ScatterpolarMarkerSymbol = 30 + ScatterpolarMarkerSymbol30 ScatterpolarMarkerSymbol = "30" + ScatterpolarMarkerSymbolSquareX ScatterpolarMarkerSymbol = "square-x" + ScatterpolarMarkerSymbolNumber130 ScatterpolarMarkerSymbol = 130 + ScatterpolarMarkerSymbol130 ScatterpolarMarkerSymbol = "130" + ScatterpolarMarkerSymbolSquareXOpen ScatterpolarMarkerSymbol = "square-x-open" + ScatterpolarMarkerSymbolNumber31 ScatterpolarMarkerSymbol = 31 + ScatterpolarMarkerSymbol31 ScatterpolarMarkerSymbol = "31" + ScatterpolarMarkerSymbolDiamondCross ScatterpolarMarkerSymbol = "diamond-cross" + ScatterpolarMarkerSymbolNumber131 ScatterpolarMarkerSymbol = 131 + ScatterpolarMarkerSymbol131 ScatterpolarMarkerSymbol = "131" + ScatterpolarMarkerSymbolDiamondCrossOpen ScatterpolarMarkerSymbol = "diamond-cross-open" + ScatterpolarMarkerSymbolNumber32 ScatterpolarMarkerSymbol = 32 + ScatterpolarMarkerSymbol32 ScatterpolarMarkerSymbol = "32" + ScatterpolarMarkerSymbolDiamondX ScatterpolarMarkerSymbol = "diamond-x" + ScatterpolarMarkerSymbolNumber132 ScatterpolarMarkerSymbol = 132 + ScatterpolarMarkerSymbol132 ScatterpolarMarkerSymbol = "132" + ScatterpolarMarkerSymbolDiamondXOpen ScatterpolarMarkerSymbol = "diamond-x-open" + ScatterpolarMarkerSymbolNumber33 ScatterpolarMarkerSymbol = 33 + ScatterpolarMarkerSymbol33 ScatterpolarMarkerSymbol = "33" + ScatterpolarMarkerSymbolCrossThin ScatterpolarMarkerSymbol = "cross-thin" + ScatterpolarMarkerSymbolNumber133 ScatterpolarMarkerSymbol = 133 + ScatterpolarMarkerSymbol133 ScatterpolarMarkerSymbol = "133" + ScatterpolarMarkerSymbolCrossThinOpen ScatterpolarMarkerSymbol = "cross-thin-open" + ScatterpolarMarkerSymbolNumber34 ScatterpolarMarkerSymbol = 34 + ScatterpolarMarkerSymbol34 ScatterpolarMarkerSymbol = "34" + ScatterpolarMarkerSymbolXThin ScatterpolarMarkerSymbol = "x-thin" + ScatterpolarMarkerSymbolNumber134 ScatterpolarMarkerSymbol = 134 + ScatterpolarMarkerSymbol134 ScatterpolarMarkerSymbol = "134" + ScatterpolarMarkerSymbolXThinOpen ScatterpolarMarkerSymbol = "x-thin-open" + ScatterpolarMarkerSymbolNumber35 ScatterpolarMarkerSymbol = 35 + ScatterpolarMarkerSymbol35 ScatterpolarMarkerSymbol = "35" + ScatterpolarMarkerSymbolAsterisk ScatterpolarMarkerSymbol = "asterisk" + ScatterpolarMarkerSymbolNumber135 ScatterpolarMarkerSymbol = 135 + ScatterpolarMarkerSymbol135 ScatterpolarMarkerSymbol = "135" + ScatterpolarMarkerSymbolAsteriskOpen ScatterpolarMarkerSymbol = "asterisk-open" + ScatterpolarMarkerSymbolNumber36 ScatterpolarMarkerSymbol = 36 + ScatterpolarMarkerSymbol36 ScatterpolarMarkerSymbol = "36" + ScatterpolarMarkerSymbolHash ScatterpolarMarkerSymbol = "hash" + ScatterpolarMarkerSymbolNumber136 ScatterpolarMarkerSymbol = 136 + ScatterpolarMarkerSymbol136 ScatterpolarMarkerSymbol = "136" + ScatterpolarMarkerSymbolHashOpen ScatterpolarMarkerSymbol = "hash-open" + ScatterpolarMarkerSymbolNumber236 ScatterpolarMarkerSymbol = 236 + ScatterpolarMarkerSymbol236 ScatterpolarMarkerSymbol = "236" + ScatterpolarMarkerSymbolHashDot ScatterpolarMarkerSymbol = "hash-dot" + ScatterpolarMarkerSymbolNumber336 ScatterpolarMarkerSymbol = 336 + ScatterpolarMarkerSymbol336 ScatterpolarMarkerSymbol = "336" + ScatterpolarMarkerSymbolHashOpenDot ScatterpolarMarkerSymbol = "hash-open-dot" + ScatterpolarMarkerSymbolNumber37 ScatterpolarMarkerSymbol = 37 + ScatterpolarMarkerSymbol37 ScatterpolarMarkerSymbol = "37" + ScatterpolarMarkerSymbolYUp ScatterpolarMarkerSymbol = "y-up" + ScatterpolarMarkerSymbolNumber137 ScatterpolarMarkerSymbol = 137 + ScatterpolarMarkerSymbol137 ScatterpolarMarkerSymbol = "137" + ScatterpolarMarkerSymbolYUpOpen ScatterpolarMarkerSymbol = "y-up-open" + ScatterpolarMarkerSymbolNumber38 ScatterpolarMarkerSymbol = 38 + ScatterpolarMarkerSymbol38 ScatterpolarMarkerSymbol = "38" + ScatterpolarMarkerSymbolYDown ScatterpolarMarkerSymbol = "y-down" + ScatterpolarMarkerSymbolNumber138 ScatterpolarMarkerSymbol = 138 + ScatterpolarMarkerSymbol138 ScatterpolarMarkerSymbol = "138" + ScatterpolarMarkerSymbolYDownOpen ScatterpolarMarkerSymbol = "y-down-open" + ScatterpolarMarkerSymbolNumber39 ScatterpolarMarkerSymbol = 39 + ScatterpolarMarkerSymbol39 ScatterpolarMarkerSymbol = "39" + ScatterpolarMarkerSymbolYLeft ScatterpolarMarkerSymbol = "y-left" + ScatterpolarMarkerSymbolNumber139 ScatterpolarMarkerSymbol = 139 + ScatterpolarMarkerSymbol139 ScatterpolarMarkerSymbol = "139" + ScatterpolarMarkerSymbolYLeftOpen ScatterpolarMarkerSymbol = "y-left-open" + ScatterpolarMarkerSymbolNumber40 ScatterpolarMarkerSymbol = 40 + ScatterpolarMarkerSymbol40 ScatterpolarMarkerSymbol = "40" + ScatterpolarMarkerSymbolYRight ScatterpolarMarkerSymbol = "y-right" + ScatterpolarMarkerSymbolNumber140 ScatterpolarMarkerSymbol = 140 + ScatterpolarMarkerSymbol140 ScatterpolarMarkerSymbol = "140" + ScatterpolarMarkerSymbolYRightOpen ScatterpolarMarkerSymbol = "y-right-open" + ScatterpolarMarkerSymbolNumber41 ScatterpolarMarkerSymbol = 41 + ScatterpolarMarkerSymbol41 ScatterpolarMarkerSymbol = "41" + ScatterpolarMarkerSymbolLineEw ScatterpolarMarkerSymbol = "line-ew" + ScatterpolarMarkerSymbolNumber141 ScatterpolarMarkerSymbol = 141 + ScatterpolarMarkerSymbol141 ScatterpolarMarkerSymbol = "141" + ScatterpolarMarkerSymbolLineEwOpen ScatterpolarMarkerSymbol = "line-ew-open" + ScatterpolarMarkerSymbolNumber42 ScatterpolarMarkerSymbol = 42 + ScatterpolarMarkerSymbol42 ScatterpolarMarkerSymbol = "42" + ScatterpolarMarkerSymbolLineNs ScatterpolarMarkerSymbol = "line-ns" + ScatterpolarMarkerSymbolNumber142 ScatterpolarMarkerSymbol = 142 + ScatterpolarMarkerSymbol142 ScatterpolarMarkerSymbol = "142" + ScatterpolarMarkerSymbolLineNsOpen ScatterpolarMarkerSymbol = "line-ns-open" + ScatterpolarMarkerSymbolNumber43 ScatterpolarMarkerSymbol = 43 + ScatterpolarMarkerSymbol43 ScatterpolarMarkerSymbol = "43" + ScatterpolarMarkerSymbolLineNe ScatterpolarMarkerSymbol = "line-ne" + ScatterpolarMarkerSymbolNumber143 ScatterpolarMarkerSymbol = 143 + ScatterpolarMarkerSymbol143 ScatterpolarMarkerSymbol = "143" + ScatterpolarMarkerSymbolLineNeOpen ScatterpolarMarkerSymbol = "line-ne-open" + ScatterpolarMarkerSymbolNumber44 ScatterpolarMarkerSymbol = 44 + ScatterpolarMarkerSymbol44 ScatterpolarMarkerSymbol = "44" + ScatterpolarMarkerSymbolLineNw ScatterpolarMarkerSymbol = "line-nw" + ScatterpolarMarkerSymbolNumber144 ScatterpolarMarkerSymbol = 144 + ScatterpolarMarkerSymbol144 ScatterpolarMarkerSymbol = "144" + ScatterpolarMarkerSymbolLineNwOpen ScatterpolarMarkerSymbol = "line-nw-open" + ScatterpolarMarkerSymbolNumber45 ScatterpolarMarkerSymbol = 45 + ScatterpolarMarkerSymbol45 ScatterpolarMarkerSymbol = "45" + ScatterpolarMarkerSymbolArrowUp ScatterpolarMarkerSymbol = "arrow-up" + ScatterpolarMarkerSymbolNumber145 ScatterpolarMarkerSymbol = 145 + ScatterpolarMarkerSymbol145 ScatterpolarMarkerSymbol = "145" + ScatterpolarMarkerSymbolArrowUpOpen ScatterpolarMarkerSymbol = "arrow-up-open" + ScatterpolarMarkerSymbolNumber46 ScatterpolarMarkerSymbol = 46 + ScatterpolarMarkerSymbol46 ScatterpolarMarkerSymbol = "46" + ScatterpolarMarkerSymbolArrowDown ScatterpolarMarkerSymbol = "arrow-down" + ScatterpolarMarkerSymbolNumber146 ScatterpolarMarkerSymbol = 146 + ScatterpolarMarkerSymbol146 ScatterpolarMarkerSymbol = "146" + ScatterpolarMarkerSymbolArrowDownOpen ScatterpolarMarkerSymbol = "arrow-down-open" + ScatterpolarMarkerSymbolNumber47 ScatterpolarMarkerSymbol = 47 + ScatterpolarMarkerSymbol47 ScatterpolarMarkerSymbol = "47" + ScatterpolarMarkerSymbolArrowLeft ScatterpolarMarkerSymbol = "arrow-left" + ScatterpolarMarkerSymbolNumber147 ScatterpolarMarkerSymbol = 147 + ScatterpolarMarkerSymbol147 ScatterpolarMarkerSymbol = "147" + ScatterpolarMarkerSymbolArrowLeftOpen ScatterpolarMarkerSymbol = "arrow-left-open" + ScatterpolarMarkerSymbolNumber48 ScatterpolarMarkerSymbol = 48 + ScatterpolarMarkerSymbol48 ScatterpolarMarkerSymbol = "48" + ScatterpolarMarkerSymbolArrowRight ScatterpolarMarkerSymbol = "arrow-right" + ScatterpolarMarkerSymbolNumber148 ScatterpolarMarkerSymbol = 148 + ScatterpolarMarkerSymbol148 ScatterpolarMarkerSymbol = "148" + ScatterpolarMarkerSymbolArrowRightOpen ScatterpolarMarkerSymbol = "arrow-right-open" + ScatterpolarMarkerSymbolNumber49 ScatterpolarMarkerSymbol = 49 + ScatterpolarMarkerSymbol49 ScatterpolarMarkerSymbol = "49" + ScatterpolarMarkerSymbolArrowBarUp ScatterpolarMarkerSymbol = "arrow-bar-up" + ScatterpolarMarkerSymbolNumber149 ScatterpolarMarkerSymbol = 149 + ScatterpolarMarkerSymbol149 ScatterpolarMarkerSymbol = "149" + ScatterpolarMarkerSymbolArrowBarUpOpen ScatterpolarMarkerSymbol = "arrow-bar-up-open" + ScatterpolarMarkerSymbolNumber50 ScatterpolarMarkerSymbol = 50 + ScatterpolarMarkerSymbol50 ScatterpolarMarkerSymbol = "50" + ScatterpolarMarkerSymbolArrowBarDown ScatterpolarMarkerSymbol = "arrow-bar-down" + ScatterpolarMarkerSymbolNumber150 ScatterpolarMarkerSymbol = 150 + ScatterpolarMarkerSymbol150 ScatterpolarMarkerSymbol = "150" + ScatterpolarMarkerSymbolArrowBarDownOpen ScatterpolarMarkerSymbol = "arrow-bar-down-open" + ScatterpolarMarkerSymbolNumber51 ScatterpolarMarkerSymbol = 51 + ScatterpolarMarkerSymbol51 ScatterpolarMarkerSymbol = "51" + ScatterpolarMarkerSymbolArrowBarLeft ScatterpolarMarkerSymbol = "arrow-bar-left" + ScatterpolarMarkerSymbolNumber151 ScatterpolarMarkerSymbol = 151 + ScatterpolarMarkerSymbol151 ScatterpolarMarkerSymbol = "151" + ScatterpolarMarkerSymbolArrowBarLeftOpen ScatterpolarMarkerSymbol = "arrow-bar-left-open" + ScatterpolarMarkerSymbolNumber52 ScatterpolarMarkerSymbol = 52 + ScatterpolarMarkerSymbol52 ScatterpolarMarkerSymbol = "52" + ScatterpolarMarkerSymbolArrowBarRight ScatterpolarMarkerSymbol = "arrow-bar-right" + ScatterpolarMarkerSymbolNumber152 ScatterpolarMarkerSymbol = 152 + ScatterpolarMarkerSymbol152 ScatterpolarMarkerSymbol = "152" + ScatterpolarMarkerSymbolArrowBarRightOpen ScatterpolarMarkerSymbol = "arrow-bar-right-open" + ScatterpolarMarkerSymbolNumber53 ScatterpolarMarkerSymbol = 53 + ScatterpolarMarkerSymbol53 ScatterpolarMarkerSymbol = "53" + ScatterpolarMarkerSymbolArrow ScatterpolarMarkerSymbol = "arrow" + ScatterpolarMarkerSymbolNumber153 ScatterpolarMarkerSymbol = 153 + ScatterpolarMarkerSymbol153 ScatterpolarMarkerSymbol = "153" + ScatterpolarMarkerSymbolArrowOpen ScatterpolarMarkerSymbol = "arrow-open" + ScatterpolarMarkerSymbolNumber54 ScatterpolarMarkerSymbol = 54 + ScatterpolarMarkerSymbol54 ScatterpolarMarkerSymbol = "54" + ScatterpolarMarkerSymbolArrowWide ScatterpolarMarkerSymbol = "arrow-wide" + ScatterpolarMarkerSymbolNumber154 ScatterpolarMarkerSymbol = 154 + ScatterpolarMarkerSymbol154 ScatterpolarMarkerSymbol = "154" + ScatterpolarMarkerSymbolArrowWideOpen ScatterpolarMarkerSymbol = "arrow-wide-open" +) + +// ScatterpolarTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. +type ScatterpolarTextposition string + +const ( + ScatterpolarTextpositionTopLeft ScatterpolarTextposition = "top left" + ScatterpolarTextpositionTopCenter ScatterpolarTextposition = "top center" + ScatterpolarTextpositionTopRight ScatterpolarTextposition = "top right" + ScatterpolarTextpositionMiddleLeft ScatterpolarTextposition = "middle left" + ScatterpolarTextpositionMiddleCenter ScatterpolarTextposition = "middle center" + ScatterpolarTextpositionMiddleRight ScatterpolarTextposition = "middle right" + ScatterpolarTextpositionBottomLeft ScatterpolarTextposition = "bottom left" + ScatterpolarTextpositionBottomCenter ScatterpolarTextposition = "bottom center" + ScatterpolarTextpositionBottomRight ScatterpolarTextposition = "bottom right" +) + +// ScatterpolarThetaunit Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes. +type ScatterpolarThetaunit string + +const ( + ScatterpolarThetaunitRadians ScatterpolarThetaunit = "radians" + ScatterpolarThetaunitDegrees ScatterpolarThetaunit = "degrees" + ScatterpolarThetaunitGradians ScatterpolarThetaunit = "gradians" +) + +// ScatterpolarVisible 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). +type ScatterpolarVisible interface{} + +var ( + ScatterpolarVisibleTrue ScatterpolarVisible = true + ScatterpolarVisibleFalse ScatterpolarVisible = false + ScatterpolarVisibleLegendonly ScatterpolarVisible = "legendonly" +) + +// ScatterpolarHoverinfo 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. +type ScatterpolarHoverinfo string + +const ( + // Flags + ScatterpolarHoverinfoR ScatterpolarHoverinfo = "r" + ScatterpolarHoverinfoTheta ScatterpolarHoverinfo = "theta" + ScatterpolarHoverinfoText ScatterpolarHoverinfo = "text" + ScatterpolarHoverinfoName ScatterpolarHoverinfo = "name" + + // Extra + ScatterpolarHoverinfoAll ScatterpolarHoverinfo = "all" + ScatterpolarHoverinfoNone ScatterpolarHoverinfo = "none" + ScatterpolarHoverinfoSkip ScatterpolarHoverinfo = "skip" +) + +// ScatterpolarHoveron 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*. +type ScatterpolarHoveron string + +const ( + // Flags + ScatterpolarHoveronPoints ScatterpolarHoveron = "points" + ScatterpolarHoveronFills ScatterpolarHoveron = "fills" + + // Extra + +) + +// ScatterpolarMode 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*. +type ScatterpolarMode string + +const ( + // Flags + ScatterpolarModeLines ScatterpolarMode = "lines" + ScatterpolarModeMarkers ScatterpolarMode = "markers" + ScatterpolarModeText ScatterpolarMode = "text" + + // Extra + ScatterpolarModeNone ScatterpolarMode = "none" +) diff --git a/generated/v2.31.1/graph_objects/scatterpolargl_gen.go b/generated/v2.31.1/graph_objects/scatterpolargl_gen.go new file mode 100644 index 0000000..67d3515 --- /dev/null +++ b/generated/v2.31.1/graph_objects/scatterpolargl_gen.go @@ -0,0 +1,1931 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeScatterpolargl TraceType = "scatterpolargl" + +func (trace *Scatterpolargl) GetType() TraceType { + return TraceTypeScatterpolargl +} + +// Scatterpolargl 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. +type Scatterpolargl struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Connectgaps + // arrayOK: false + // type: boolean + // Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected. + Connectgaps Bool `json:"connectgaps,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Dr + // arrayOK: false + // type: number + // Sets the r coordinate step. + Dr float64 `json:"dr,omitempty"` + + // Dtheta + // arrayOK: false + // 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. + Dtheta float64 `json:"dtheta,omitempty"` + + // Fill + // default: none + // type: enumerated + // 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. + Fill ScatterpolarglFill `json:"fill,omitempty"` + + // Fillcolor + // arrayOK: false + // 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. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo ScatterpolarglHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *ScatterpolarglHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *ScatterpolarglLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *ScatterpolarglLine `json:"line,omitempty"` + + // Marker + // role: Object + Marker *ScatterpolarglMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Mode + // default: %!s() + // type: flaglist + // 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*. + Mode ScatterpolarglMode `json:"mode,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // R + // arrayOK: false + // type: data_array + // Sets the radial coordinates + R interface{} `json:"r,omitempty"` + + // R0 + // arrayOK: false + // type: any + // Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step. + R0 interface{} `json:"r0,omitempty"` + + // Rsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `r`. + Rsrc String `json:"rsrc,omitempty"` + + // Selected + // role: Object + Selected *ScatterpolarglSelected `json:"selected,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Stream + // role: Object + Stream *ScatterpolarglStream `json:"stream,omitempty"` + + // Subplot + // arrayOK: false + // type: subplotid + // 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. + Subplot String `json:"subplot,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textfont + // role: Object + Textfont *ScatterpolarglTextfont `json:"textfont,omitempty"` + + // Textposition + // default: middle center + // type: enumerated + // Sets the positions of the `text` elements with respects to the (x,y) coordinates. + Textposition ScatterpolarglTextposition `json:"textposition,omitempty"` + + // Textpositionsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `textposition`. + Textpositionsrc String `json:"textpositionsrc,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: true + // 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 `r`, `theta` and `text`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Texttemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `texttemplate`. + Texttemplatesrc String `json:"texttemplatesrc,omitempty"` + + // Theta + // arrayOK: false + // type: data_array + // Sets the angular coordinates + Theta interface{} `json:"theta,omitempty"` + + // Theta0 + // arrayOK: false + // type: any + // Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step. + Theta0 interface{} `json:"theta0,omitempty"` + + // Thetasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `theta`. + Thetasrc String `json:"thetasrc,omitempty"` + + // Thetaunit + // default: degrees + // type: enumerated + // Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes. + Thetaunit ScatterpolarglThetaunit `json:"thetaunit,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Unselected + // role: Object + Unselected *ScatterpolarglUnselected `json:"unselected,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible ScatterpolarglVisible `json:"visible,omitempty"` +} + +// ScatterpolarglHoverlabelFont Sets the font used in hover labels. +type ScatterpolarglHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ScatterpolarglHoverlabel +type ScatterpolarglHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align ScatterpolarglHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *ScatterpolarglHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// ScatterpolarglLegendgrouptitleFont Sets this legend group's title font. +type ScatterpolarglLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScatterpolarglLegendgrouptitle +type ScatterpolarglLegendgrouptitle struct { + + // Font + // role: Object + Font *ScatterpolarglLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// ScatterpolarglLine +type ScatterpolarglLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the line color. + Color Color `json:"color,omitempty"` + + // Dash + // default: solid + // type: enumerated + // Sets the style of the lines. + Dash ScatterpolarglLineDash `json:"dash,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width (in px). + Width float64 `json:"width,omitempty"` +} + +// ScatterpolarglMarkerColorbarTickfont Sets the color bar's tick label font +type ScatterpolarglMarkerColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScatterpolarglMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type ScatterpolarglMarkerColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScatterpolarglMarkerColorbarTitle +type ScatterpolarglMarkerColorbarTitle struct { + + // Font + // role: Object + Font *ScatterpolarglMarkerColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side ScatterpolarglMarkerColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// ScatterpolarglMarkerColorbar +type ScatterpolarglMarkerColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat ScatterpolarglMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode ScatterpolarglMarkerColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ScatterpolarglMarkerColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent ScatterpolarglMarkerColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix ScatterpolarglMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix ScatterpolarglMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode ScatterpolarglMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *ScatterpolarglMarkerColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ScatterpolarglMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition ScatterpolarglMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode ScatterpolarglMarkerColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks ScatterpolarglMarkerColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *ScatterpolarglMarkerColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor ScatterpolarglMarkerColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref ScatterpolarglMarkerColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor ScatterpolarglMarkerColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref ScatterpolarglMarkerColorbarYref `json:"yref,omitempty"` +} + +// ScatterpolarglMarkerLine +type ScatterpolarglMarkerLine struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the lines bounding the marker points. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// ScatterpolarglMarker +type ScatterpolarglMarker struct { + + // Angle + // arrayOK: true + // type: angle + // Sets the marker angle in respect to `angleref`. + Angle float64 `json:"angle,omitempty"` + + // Anglesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `angle`. + Anglesrc String `json:"anglesrc,omitempty"` + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *ScatterpolarglMarkerColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Line + // role: Object + Line *ScatterpolarglMarkerLine `json:"line,omitempty"` + + // Opacity + // arrayOK: true + // type: number + // Sets the marker opacity. + Opacity float64 `json:"opacity,omitempty"` + + // Opacitysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `opacity`. + Opacitysrc String `json:"opacitysrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the marker size (in px). + Size float64 `json:"size,omitempty"` + + // Sizemin + // arrayOK: false + // 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. + Sizemin float64 `json:"sizemin,omitempty"` + + // Sizemode + // default: diameter + // type: enumerated + // 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. + Sizemode ScatterpolarglMarkerSizemode `json:"sizemode,omitempty"` + + // Sizeref + // arrayOK: false + // type: number + // 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`. + Sizeref float64 `json:"sizeref,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Symbol + // default: circle + // type: enumerated + // 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. + Symbol ScatterpolarglMarkerSymbol `json:"symbol,omitempty"` + + // Symbolsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `symbol`. + Symbolsrc String `json:"symbolsrc,omitempty"` +} + +// ScatterpolarglSelectedMarker +type ScatterpolarglSelectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of selected points. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of selected points. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of selected points. + Size float64 `json:"size,omitempty"` +} + +// ScatterpolarglSelectedTextfont +type ScatterpolarglSelectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of selected points. + Color Color `json:"color,omitempty"` +} + +// ScatterpolarglSelected +type ScatterpolarglSelected struct { + + // Marker + // role: Object + Marker *ScatterpolarglSelectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *ScatterpolarglSelectedTextfont `json:"textfont,omitempty"` +} + +// ScatterpolarglStream +type ScatterpolarglStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// ScatterpolarglTextfont Sets the text font. +type ScatterpolarglTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ScatterpolarglUnselectedMarker +type ScatterpolarglUnselectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of unselected points, applied only when a selection exists. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of unselected points, applied only when a selection exists. + Size float64 `json:"size,omitempty"` +} + +// ScatterpolarglUnselectedTextfont +type ScatterpolarglUnselectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` +} + +// ScatterpolarglUnselected +type ScatterpolarglUnselected struct { + + // Marker + // role: Object + Marker *ScatterpolarglUnselectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *ScatterpolarglUnselectedTextfont `json:"textfont,omitempty"` +} + +// ScatterpolarglFill 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. +type ScatterpolarglFill string + +const ( + ScatterpolarglFillNone ScatterpolarglFill = "none" + ScatterpolarglFillTozeroy ScatterpolarglFill = "tozeroy" + ScatterpolarglFillTozerox ScatterpolarglFill = "tozerox" + ScatterpolarglFillTonexty ScatterpolarglFill = "tonexty" + ScatterpolarglFillTonextx ScatterpolarglFill = "tonextx" + ScatterpolarglFillToself ScatterpolarglFill = "toself" + ScatterpolarglFillTonext ScatterpolarglFill = "tonext" +) + +// ScatterpolarglHoverlabelAlign 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 +type ScatterpolarglHoverlabelAlign string + +const ( + ScatterpolarglHoverlabelAlignLeft ScatterpolarglHoverlabelAlign = "left" + ScatterpolarglHoverlabelAlignRight ScatterpolarglHoverlabelAlign = "right" + ScatterpolarglHoverlabelAlignAuto ScatterpolarglHoverlabelAlign = "auto" +) + +// ScatterpolarglLineDash Sets the style of the lines. +type ScatterpolarglLineDash string + +const ( + ScatterpolarglLineDashDash ScatterpolarglLineDash = "dash" + ScatterpolarglLineDashDashdot ScatterpolarglLineDash = "dashdot" + ScatterpolarglLineDashDot ScatterpolarglLineDash = "dot" + ScatterpolarglLineDashLongdash ScatterpolarglLineDash = "longdash" + ScatterpolarglLineDashLongdashdot ScatterpolarglLineDash = "longdashdot" + ScatterpolarglLineDashSolid ScatterpolarglLineDash = "solid" +) + +// ScatterpolarglMarkerColorbarExponentformat 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. +type ScatterpolarglMarkerColorbarExponentformat string + +const ( + ScatterpolarglMarkerColorbarExponentformatNone ScatterpolarglMarkerColorbarExponentformat = "none" + ScatterpolarglMarkerColorbarExponentformatE1 ScatterpolarglMarkerColorbarExponentformat = "e" + ScatterpolarglMarkerColorbarExponentformatE2 ScatterpolarglMarkerColorbarExponentformat = "E" + ScatterpolarglMarkerColorbarExponentformatPower ScatterpolarglMarkerColorbarExponentformat = "power" + ScatterpolarglMarkerColorbarExponentformatSI ScatterpolarglMarkerColorbarExponentformat = "SI" + ScatterpolarglMarkerColorbarExponentformatB ScatterpolarglMarkerColorbarExponentformat = "B" +) + +// ScatterpolarglMarkerColorbarLenmode 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. +type ScatterpolarglMarkerColorbarLenmode string + +const ( + ScatterpolarglMarkerColorbarLenmodeFraction ScatterpolarglMarkerColorbarLenmode = "fraction" + ScatterpolarglMarkerColorbarLenmodePixels ScatterpolarglMarkerColorbarLenmode = "pixels" +) + +// ScatterpolarglMarkerColorbarOrientation Sets the orientation of the colorbar. +type ScatterpolarglMarkerColorbarOrientation string + +const ( + ScatterpolarglMarkerColorbarOrientationH ScatterpolarglMarkerColorbarOrientation = "h" + ScatterpolarglMarkerColorbarOrientationV ScatterpolarglMarkerColorbarOrientation = "v" +) + +// ScatterpolarglMarkerColorbarShowexponent 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. +type ScatterpolarglMarkerColorbarShowexponent string + +const ( + ScatterpolarglMarkerColorbarShowexponentAll ScatterpolarglMarkerColorbarShowexponent = "all" + ScatterpolarglMarkerColorbarShowexponentFirst ScatterpolarglMarkerColorbarShowexponent = "first" + ScatterpolarglMarkerColorbarShowexponentLast ScatterpolarglMarkerColorbarShowexponent = "last" + ScatterpolarglMarkerColorbarShowexponentNone ScatterpolarglMarkerColorbarShowexponent = "none" +) + +// ScatterpolarglMarkerColorbarShowtickprefix 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. +type ScatterpolarglMarkerColorbarShowtickprefix string + +const ( + ScatterpolarglMarkerColorbarShowtickprefixAll ScatterpolarglMarkerColorbarShowtickprefix = "all" + ScatterpolarglMarkerColorbarShowtickprefixFirst ScatterpolarglMarkerColorbarShowtickprefix = "first" + ScatterpolarglMarkerColorbarShowtickprefixLast ScatterpolarglMarkerColorbarShowtickprefix = "last" + ScatterpolarglMarkerColorbarShowtickprefixNone ScatterpolarglMarkerColorbarShowtickprefix = "none" +) + +// ScatterpolarglMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type ScatterpolarglMarkerColorbarShowticksuffix string + +const ( + ScatterpolarglMarkerColorbarShowticksuffixAll ScatterpolarglMarkerColorbarShowticksuffix = "all" + ScatterpolarglMarkerColorbarShowticksuffixFirst ScatterpolarglMarkerColorbarShowticksuffix = "first" + ScatterpolarglMarkerColorbarShowticksuffixLast ScatterpolarglMarkerColorbarShowticksuffix = "last" + ScatterpolarglMarkerColorbarShowticksuffixNone ScatterpolarglMarkerColorbarShowticksuffix = "none" +) + +// ScatterpolarglMarkerColorbarThicknessmode 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. +type ScatterpolarglMarkerColorbarThicknessmode string + +const ( + ScatterpolarglMarkerColorbarThicknessmodeFraction ScatterpolarglMarkerColorbarThicknessmode = "fraction" + ScatterpolarglMarkerColorbarThicknessmodePixels ScatterpolarglMarkerColorbarThicknessmode = "pixels" +) + +// ScatterpolarglMarkerColorbarTicklabeloverflow 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*. +type ScatterpolarglMarkerColorbarTicklabeloverflow string + +const ( + ScatterpolarglMarkerColorbarTicklabeloverflowAllow ScatterpolarglMarkerColorbarTicklabeloverflow = "allow" + ScatterpolarglMarkerColorbarTicklabeloverflowHidePastDiv ScatterpolarglMarkerColorbarTicklabeloverflow = "hide past div" + ScatterpolarglMarkerColorbarTicklabeloverflowHidePastDomain ScatterpolarglMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// ScatterpolarglMarkerColorbarTicklabelposition 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*. +type ScatterpolarglMarkerColorbarTicklabelposition string + +const ( + ScatterpolarglMarkerColorbarTicklabelpositionOutside ScatterpolarglMarkerColorbarTicklabelposition = "outside" + ScatterpolarglMarkerColorbarTicklabelpositionInside ScatterpolarglMarkerColorbarTicklabelposition = "inside" + ScatterpolarglMarkerColorbarTicklabelpositionOutsideTop ScatterpolarglMarkerColorbarTicklabelposition = "outside top" + ScatterpolarglMarkerColorbarTicklabelpositionInsideTop ScatterpolarglMarkerColorbarTicklabelposition = "inside top" + ScatterpolarglMarkerColorbarTicklabelpositionOutsideLeft ScatterpolarglMarkerColorbarTicklabelposition = "outside left" + ScatterpolarglMarkerColorbarTicklabelpositionInsideLeft ScatterpolarglMarkerColorbarTicklabelposition = "inside left" + ScatterpolarglMarkerColorbarTicklabelpositionOutsideRight ScatterpolarglMarkerColorbarTicklabelposition = "outside right" + ScatterpolarglMarkerColorbarTicklabelpositionInsideRight ScatterpolarglMarkerColorbarTicklabelposition = "inside right" + ScatterpolarglMarkerColorbarTicklabelpositionOutsideBottom ScatterpolarglMarkerColorbarTicklabelposition = "outside bottom" + ScatterpolarglMarkerColorbarTicklabelpositionInsideBottom ScatterpolarglMarkerColorbarTicklabelposition = "inside bottom" +) + +// ScatterpolarglMarkerColorbarTickmode 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). +type ScatterpolarglMarkerColorbarTickmode string + +const ( + ScatterpolarglMarkerColorbarTickmodeAuto ScatterpolarglMarkerColorbarTickmode = "auto" + ScatterpolarglMarkerColorbarTickmodeLinear ScatterpolarglMarkerColorbarTickmode = "linear" + ScatterpolarglMarkerColorbarTickmodeArray ScatterpolarglMarkerColorbarTickmode = "array" +) + +// ScatterpolarglMarkerColorbarTicks 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. +type ScatterpolarglMarkerColorbarTicks string + +const ( + ScatterpolarglMarkerColorbarTicksOutside ScatterpolarglMarkerColorbarTicks = "outside" + ScatterpolarglMarkerColorbarTicksInside ScatterpolarglMarkerColorbarTicks = "inside" + ScatterpolarglMarkerColorbarTicksEmpty ScatterpolarglMarkerColorbarTicks = "" +) + +// ScatterpolarglMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type ScatterpolarglMarkerColorbarTitleSide string + +const ( + ScatterpolarglMarkerColorbarTitleSideRight ScatterpolarglMarkerColorbarTitleSide = "right" + ScatterpolarglMarkerColorbarTitleSideTop ScatterpolarglMarkerColorbarTitleSide = "top" + ScatterpolarglMarkerColorbarTitleSideBottom ScatterpolarglMarkerColorbarTitleSide = "bottom" +) + +// ScatterpolarglMarkerColorbarXanchor 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*. +type ScatterpolarglMarkerColorbarXanchor string + +const ( + ScatterpolarglMarkerColorbarXanchorLeft ScatterpolarglMarkerColorbarXanchor = "left" + ScatterpolarglMarkerColorbarXanchorCenter ScatterpolarglMarkerColorbarXanchor = "center" + ScatterpolarglMarkerColorbarXanchorRight ScatterpolarglMarkerColorbarXanchor = "right" +) + +// ScatterpolarglMarkerColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type ScatterpolarglMarkerColorbarXref string + +const ( + ScatterpolarglMarkerColorbarXrefContainer ScatterpolarglMarkerColorbarXref = "container" + ScatterpolarglMarkerColorbarXrefPaper ScatterpolarglMarkerColorbarXref = "paper" +) + +// ScatterpolarglMarkerColorbarYanchor 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*. +type ScatterpolarglMarkerColorbarYanchor string + +const ( + ScatterpolarglMarkerColorbarYanchorTop ScatterpolarglMarkerColorbarYanchor = "top" + ScatterpolarglMarkerColorbarYanchorMiddle ScatterpolarglMarkerColorbarYanchor = "middle" + ScatterpolarglMarkerColorbarYanchorBottom ScatterpolarglMarkerColorbarYanchor = "bottom" +) + +// ScatterpolarglMarkerColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type ScatterpolarglMarkerColorbarYref string + +const ( + ScatterpolarglMarkerColorbarYrefContainer ScatterpolarglMarkerColorbarYref = "container" + ScatterpolarglMarkerColorbarYrefPaper ScatterpolarglMarkerColorbarYref = "paper" +) + +// ScatterpolarglMarkerSizemode 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. +type ScatterpolarglMarkerSizemode string + +const ( + ScatterpolarglMarkerSizemodeDiameter ScatterpolarglMarkerSizemode = "diameter" + ScatterpolarglMarkerSizemodeArea ScatterpolarglMarkerSizemode = "area" +) + +// ScatterpolarglMarkerSymbol 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. +type ScatterpolarglMarkerSymbol interface{} + +var ( + ScatterpolarglMarkerSymbolNumber0 ScatterpolarglMarkerSymbol = 0 + ScatterpolarglMarkerSymbol0 ScatterpolarglMarkerSymbol = "0" + ScatterpolarglMarkerSymbolCircle ScatterpolarglMarkerSymbol = "circle" + ScatterpolarglMarkerSymbolNumber100 ScatterpolarglMarkerSymbol = 100 + ScatterpolarglMarkerSymbol100 ScatterpolarglMarkerSymbol = "100" + ScatterpolarglMarkerSymbolCircleOpen ScatterpolarglMarkerSymbol = "circle-open" + ScatterpolarglMarkerSymbolNumber200 ScatterpolarglMarkerSymbol = 200 + ScatterpolarglMarkerSymbol200 ScatterpolarglMarkerSymbol = "200" + ScatterpolarglMarkerSymbolCircleDot ScatterpolarglMarkerSymbol = "circle-dot" + ScatterpolarglMarkerSymbolNumber300 ScatterpolarglMarkerSymbol = 300 + ScatterpolarglMarkerSymbol300 ScatterpolarglMarkerSymbol = "300" + ScatterpolarglMarkerSymbolCircleOpenDot ScatterpolarglMarkerSymbol = "circle-open-dot" + ScatterpolarglMarkerSymbolNumber1 ScatterpolarglMarkerSymbol = 1 + ScatterpolarglMarkerSymbol1 ScatterpolarglMarkerSymbol = "1" + ScatterpolarglMarkerSymbolSquare ScatterpolarglMarkerSymbol = "square" + ScatterpolarglMarkerSymbolNumber101 ScatterpolarglMarkerSymbol = 101 + ScatterpolarglMarkerSymbol101 ScatterpolarglMarkerSymbol = "101" + ScatterpolarglMarkerSymbolSquareOpen ScatterpolarglMarkerSymbol = "square-open" + ScatterpolarglMarkerSymbolNumber201 ScatterpolarglMarkerSymbol = 201 + ScatterpolarglMarkerSymbol201 ScatterpolarglMarkerSymbol = "201" + ScatterpolarglMarkerSymbolSquareDot ScatterpolarglMarkerSymbol = "square-dot" + ScatterpolarglMarkerSymbolNumber301 ScatterpolarglMarkerSymbol = 301 + ScatterpolarglMarkerSymbol301 ScatterpolarglMarkerSymbol = "301" + ScatterpolarglMarkerSymbolSquareOpenDot ScatterpolarglMarkerSymbol = "square-open-dot" + ScatterpolarglMarkerSymbolNumber2 ScatterpolarglMarkerSymbol = 2 + ScatterpolarglMarkerSymbol2 ScatterpolarglMarkerSymbol = "2" + ScatterpolarglMarkerSymbolDiamond ScatterpolarglMarkerSymbol = "diamond" + ScatterpolarglMarkerSymbolNumber102 ScatterpolarglMarkerSymbol = 102 + ScatterpolarglMarkerSymbol102 ScatterpolarglMarkerSymbol = "102" + ScatterpolarglMarkerSymbolDiamondOpen ScatterpolarglMarkerSymbol = "diamond-open" + ScatterpolarglMarkerSymbolNumber202 ScatterpolarglMarkerSymbol = 202 + ScatterpolarglMarkerSymbol202 ScatterpolarglMarkerSymbol = "202" + ScatterpolarglMarkerSymbolDiamondDot ScatterpolarglMarkerSymbol = "diamond-dot" + ScatterpolarglMarkerSymbolNumber302 ScatterpolarglMarkerSymbol = 302 + ScatterpolarglMarkerSymbol302 ScatterpolarglMarkerSymbol = "302" + ScatterpolarglMarkerSymbolDiamondOpenDot ScatterpolarglMarkerSymbol = "diamond-open-dot" + ScatterpolarglMarkerSymbolNumber3 ScatterpolarglMarkerSymbol = 3 + ScatterpolarglMarkerSymbol3 ScatterpolarglMarkerSymbol = "3" + ScatterpolarglMarkerSymbolCross ScatterpolarglMarkerSymbol = "cross" + ScatterpolarglMarkerSymbolNumber103 ScatterpolarglMarkerSymbol = 103 + ScatterpolarglMarkerSymbol103 ScatterpolarglMarkerSymbol = "103" + ScatterpolarglMarkerSymbolCrossOpen ScatterpolarglMarkerSymbol = "cross-open" + ScatterpolarglMarkerSymbolNumber203 ScatterpolarglMarkerSymbol = 203 + ScatterpolarglMarkerSymbol203 ScatterpolarglMarkerSymbol = "203" + ScatterpolarglMarkerSymbolCrossDot ScatterpolarglMarkerSymbol = "cross-dot" + ScatterpolarglMarkerSymbolNumber303 ScatterpolarglMarkerSymbol = 303 + ScatterpolarglMarkerSymbol303 ScatterpolarglMarkerSymbol = "303" + ScatterpolarglMarkerSymbolCrossOpenDot ScatterpolarglMarkerSymbol = "cross-open-dot" + ScatterpolarglMarkerSymbolNumber4 ScatterpolarglMarkerSymbol = 4 + ScatterpolarglMarkerSymbol4 ScatterpolarglMarkerSymbol = "4" + ScatterpolarglMarkerSymbolX ScatterpolarglMarkerSymbol = "x" + ScatterpolarglMarkerSymbolNumber104 ScatterpolarglMarkerSymbol = 104 + ScatterpolarglMarkerSymbol104 ScatterpolarglMarkerSymbol = "104" + ScatterpolarglMarkerSymbolXOpen ScatterpolarglMarkerSymbol = "x-open" + ScatterpolarglMarkerSymbolNumber204 ScatterpolarglMarkerSymbol = 204 + ScatterpolarglMarkerSymbol204 ScatterpolarglMarkerSymbol = "204" + ScatterpolarglMarkerSymbolXDot ScatterpolarglMarkerSymbol = "x-dot" + ScatterpolarglMarkerSymbolNumber304 ScatterpolarglMarkerSymbol = 304 + ScatterpolarglMarkerSymbol304 ScatterpolarglMarkerSymbol = "304" + ScatterpolarglMarkerSymbolXOpenDot ScatterpolarglMarkerSymbol = "x-open-dot" + ScatterpolarglMarkerSymbolNumber5 ScatterpolarglMarkerSymbol = 5 + ScatterpolarglMarkerSymbol5 ScatterpolarglMarkerSymbol = "5" + ScatterpolarglMarkerSymbolTriangleUp ScatterpolarglMarkerSymbol = "triangle-up" + ScatterpolarglMarkerSymbolNumber105 ScatterpolarglMarkerSymbol = 105 + ScatterpolarglMarkerSymbol105 ScatterpolarglMarkerSymbol = "105" + ScatterpolarglMarkerSymbolTriangleUpOpen ScatterpolarglMarkerSymbol = "triangle-up-open" + ScatterpolarglMarkerSymbolNumber205 ScatterpolarglMarkerSymbol = 205 + ScatterpolarglMarkerSymbol205 ScatterpolarglMarkerSymbol = "205" + ScatterpolarglMarkerSymbolTriangleUpDot ScatterpolarglMarkerSymbol = "triangle-up-dot" + ScatterpolarglMarkerSymbolNumber305 ScatterpolarglMarkerSymbol = 305 + ScatterpolarglMarkerSymbol305 ScatterpolarglMarkerSymbol = "305" + ScatterpolarglMarkerSymbolTriangleUpOpenDot ScatterpolarglMarkerSymbol = "triangle-up-open-dot" + ScatterpolarglMarkerSymbolNumber6 ScatterpolarglMarkerSymbol = 6 + ScatterpolarglMarkerSymbol6 ScatterpolarglMarkerSymbol = "6" + ScatterpolarglMarkerSymbolTriangleDown ScatterpolarglMarkerSymbol = "triangle-down" + ScatterpolarglMarkerSymbolNumber106 ScatterpolarglMarkerSymbol = 106 + ScatterpolarglMarkerSymbol106 ScatterpolarglMarkerSymbol = "106" + ScatterpolarglMarkerSymbolTriangleDownOpen ScatterpolarglMarkerSymbol = "triangle-down-open" + ScatterpolarglMarkerSymbolNumber206 ScatterpolarglMarkerSymbol = 206 + ScatterpolarglMarkerSymbol206 ScatterpolarglMarkerSymbol = "206" + ScatterpolarglMarkerSymbolTriangleDownDot ScatterpolarglMarkerSymbol = "triangle-down-dot" + ScatterpolarglMarkerSymbolNumber306 ScatterpolarglMarkerSymbol = 306 + ScatterpolarglMarkerSymbol306 ScatterpolarglMarkerSymbol = "306" + ScatterpolarglMarkerSymbolTriangleDownOpenDot ScatterpolarglMarkerSymbol = "triangle-down-open-dot" + ScatterpolarglMarkerSymbolNumber7 ScatterpolarglMarkerSymbol = 7 + ScatterpolarglMarkerSymbol7 ScatterpolarglMarkerSymbol = "7" + ScatterpolarglMarkerSymbolTriangleLeft ScatterpolarglMarkerSymbol = "triangle-left" + ScatterpolarglMarkerSymbolNumber107 ScatterpolarglMarkerSymbol = 107 + ScatterpolarglMarkerSymbol107 ScatterpolarglMarkerSymbol = "107" + ScatterpolarglMarkerSymbolTriangleLeftOpen ScatterpolarglMarkerSymbol = "triangle-left-open" + ScatterpolarglMarkerSymbolNumber207 ScatterpolarglMarkerSymbol = 207 + ScatterpolarglMarkerSymbol207 ScatterpolarglMarkerSymbol = "207" + ScatterpolarglMarkerSymbolTriangleLeftDot ScatterpolarglMarkerSymbol = "triangle-left-dot" + ScatterpolarglMarkerSymbolNumber307 ScatterpolarglMarkerSymbol = 307 + ScatterpolarglMarkerSymbol307 ScatterpolarglMarkerSymbol = "307" + ScatterpolarglMarkerSymbolTriangleLeftOpenDot ScatterpolarglMarkerSymbol = "triangle-left-open-dot" + ScatterpolarglMarkerSymbolNumber8 ScatterpolarglMarkerSymbol = 8 + ScatterpolarglMarkerSymbol8 ScatterpolarglMarkerSymbol = "8" + ScatterpolarglMarkerSymbolTriangleRight ScatterpolarglMarkerSymbol = "triangle-right" + ScatterpolarglMarkerSymbolNumber108 ScatterpolarglMarkerSymbol = 108 + ScatterpolarglMarkerSymbol108 ScatterpolarglMarkerSymbol = "108" + ScatterpolarglMarkerSymbolTriangleRightOpen ScatterpolarglMarkerSymbol = "triangle-right-open" + ScatterpolarglMarkerSymbolNumber208 ScatterpolarglMarkerSymbol = 208 + ScatterpolarglMarkerSymbol208 ScatterpolarglMarkerSymbol = "208" + ScatterpolarglMarkerSymbolTriangleRightDot ScatterpolarglMarkerSymbol = "triangle-right-dot" + ScatterpolarglMarkerSymbolNumber308 ScatterpolarglMarkerSymbol = 308 + ScatterpolarglMarkerSymbol308 ScatterpolarglMarkerSymbol = "308" + ScatterpolarglMarkerSymbolTriangleRightOpenDot ScatterpolarglMarkerSymbol = "triangle-right-open-dot" + ScatterpolarglMarkerSymbolNumber9 ScatterpolarglMarkerSymbol = 9 + ScatterpolarglMarkerSymbol9 ScatterpolarglMarkerSymbol = "9" + ScatterpolarglMarkerSymbolTriangleNe ScatterpolarglMarkerSymbol = "triangle-ne" + ScatterpolarglMarkerSymbolNumber109 ScatterpolarglMarkerSymbol = 109 + ScatterpolarglMarkerSymbol109 ScatterpolarglMarkerSymbol = "109" + ScatterpolarglMarkerSymbolTriangleNeOpen ScatterpolarglMarkerSymbol = "triangle-ne-open" + ScatterpolarglMarkerSymbolNumber209 ScatterpolarglMarkerSymbol = 209 + ScatterpolarglMarkerSymbol209 ScatterpolarglMarkerSymbol = "209" + ScatterpolarglMarkerSymbolTriangleNeDot ScatterpolarglMarkerSymbol = "triangle-ne-dot" + ScatterpolarglMarkerSymbolNumber309 ScatterpolarglMarkerSymbol = 309 + ScatterpolarglMarkerSymbol309 ScatterpolarglMarkerSymbol = "309" + ScatterpolarglMarkerSymbolTriangleNeOpenDot ScatterpolarglMarkerSymbol = "triangle-ne-open-dot" + ScatterpolarglMarkerSymbolNumber10 ScatterpolarglMarkerSymbol = 10 + ScatterpolarglMarkerSymbol10 ScatterpolarglMarkerSymbol = "10" + ScatterpolarglMarkerSymbolTriangleSe ScatterpolarglMarkerSymbol = "triangle-se" + ScatterpolarglMarkerSymbolNumber110 ScatterpolarglMarkerSymbol = 110 + ScatterpolarglMarkerSymbol110 ScatterpolarglMarkerSymbol = "110" + ScatterpolarglMarkerSymbolTriangleSeOpen ScatterpolarglMarkerSymbol = "triangle-se-open" + ScatterpolarglMarkerSymbolNumber210 ScatterpolarglMarkerSymbol = 210 + ScatterpolarglMarkerSymbol210 ScatterpolarglMarkerSymbol = "210" + ScatterpolarglMarkerSymbolTriangleSeDot ScatterpolarglMarkerSymbol = "triangle-se-dot" + ScatterpolarglMarkerSymbolNumber310 ScatterpolarglMarkerSymbol = 310 + ScatterpolarglMarkerSymbol310 ScatterpolarglMarkerSymbol = "310" + ScatterpolarglMarkerSymbolTriangleSeOpenDot ScatterpolarglMarkerSymbol = "triangle-se-open-dot" + ScatterpolarglMarkerSymbolNumber11 ScatterpolarglMarkerSymbol = 11 + ScatterpolarglMarkerSymbol11 ScatterpolarglMarkerSymbol = "11" + ScatterpolarglMarkerSymbolTriangleSw ScatterpolarglMarkerSymbol = "triangle-sw" + ScatterpolarglMarkerSymbolNumber111 ScatterpolarglMarkerSymbol = 111 + ScatterpolarglMarkerSymbol111 ScatterpolarglMarkerSymbol = "111" + ScatterpolarglMarkerSymbolTriangleSwOpen ScatterpolarglMarkerSymbol = "triangle-sw-open" + ScatterpolarglMarkerSymbolNumber211 ScatterpolarglMarkerSymbol = 211 + ScatterpolarglMarkerSymbol211 ScatterpolarglMarkerSymbol = "211" + ScatterpolarglMarkerSymbolTriangleSwDot ScatterpolarglMarkerSymbol = "triangle-sw-dot" + ScatterpolarglMarkerSymbolNumber311 ScatterpolarglMarkerSymbol = 311 + ScatterpolarglMarkerSymbol311 ScatterpolarglMarkerSymbol = "311" + ScatterpolarglMarkerSymbolTriangleSwOpenDot ScatterpolarglMarkerSymbol = "triangle-sw-open-dot" + ScatterpolarglMarkerSymbolNumber12 ScatterpolarglMarkerSymbol = 12 + ScatterpolarglMarkerSymbol12 ScatterpolarglMarkerSymbol = "12" + ScatterpolarglMarkerSymbolTriangleNw ScatterpolarglMarkerSymbol = "triangle-nw" + ScatterpolarglMarkerSymbolNumber112 ScatterpolarglMarkerSymbol = 112 + ScatterpolarglMarkerSymbol112 ScatterpolarglMarkerSymbol = "112" + ScatterpolarglMarkerSymbolTriangleNwOpen ScatterpolarglMarkerSymbol = "triangle-nw-open" + ScatterpolarglMarkerSymbolNumber212 ScatterpolarglMarkerSymbol = 212 + ScatterpolarglMarkerSymbol212 ScatterpolarglMarkerSymbol = "212" + ScatterpolarglMarkerSymbolTriangleNwDot ScatterpolarglMarkerSymbol = "triangle-nw-dot" + ScatterpolarglMarkerSymbolNumber312 ScatterpolarglMarkerSymbol = 312 + ScatterpolarglMarkerSymbol312 ScatterpolarglMarkerSymbol = "312" + ScatterpolarglMarkerSymbolTriangleNwOpenDot ScatterpolarglMarkerSymbol = "triangle-nw-open-dot" + ScatterpolarglMarkerSymbolNumber13 ScatterpolarglMarkerSymbol = 13 + ScatterpolarglMarkerSymbol13 ScatterpolarglMarkerSymbol = "13" + ScatterpolarglMarkerSymbolPentagon ScatterpolarglMarkerSymbol = "pentagon" + ScatterpolarglMarkerSymbolNumber113 ScatterpolarglMarkerSymbol = 113 + ScatterpolarglMarkerSymbol113 ScatterpolarglMarkerSymbol = "113" + ScatterpolarglMarkerSymbolPentagonOpen ScatterpolarglMarkerSymbol = "pentagon-open" + ScatterpolarglMarkerSymbolNumber213 ScatterpolarglMarkerSymbol = 213 + ScatterpolarglMarkerSymbol213 ScatterpolarglMarkerSymbol = "213" + ScatterpolarglMarkerSymbolPentagonDot ScatterpolarglMarkerSymbol = "pentagon-dot" + ScatterpolarglMarkerSymbolNumber313 ScatterpolarglMarkerSymbol = 313 + ScatterpolarglMarkerSymbol313 ScatterpolarglMarkerSymbol = "313" + ScatterpolarglMarkerSymbolPentagonOpenDot ScatterpolarglMarkerSymbol = "pentagon-open-dot" + ScatterpolarglMarkerSymbolNumber14 ScatterpolarglMarkerSymbol = 14 + ScatterpolarglMarkerSymbol14 ScatterpolarglMarkerSymbol = "14" + ScatterpolarglMarkerSymbolHexagon ScatterpolarglMarkerSymbol = "hexagon" + ScatterpolarglMarkerSymbolNumber114 ScatterpolarglMarkerSymbol = 114 + ScatterpolarglMarkerSymbol114 ScatterpolarglMarkerSymbol = "114" + ScatterpolarglMarkerSymbolHexagonOpen ScatterpolarglMarkerSymbol = "hexagon-open" + ScatterpolarglMarkerSymbolNumber214 ScatterpolarglMarkerSymbol = 214 + ScatterpolarglMarkerSymbol214 ScatterpolarglMarkerSymbol = "214" + ScatterpolarglMarkerSymbolHexagonDot ScatterpolarglMarkerSymbol = "hexagon-dot" + ScatterpolarglMarkerSymbolNumber314 ScatterpolarglMarkerSymbol = 314 + ScatterpolarglMarkerSymbol314 ScatterpolarglMarkerSymbol = "314" + ScatterpolarglMarkerSymbolHexagonOpenDot ScatterpolarglMarkerSymbol = "hexagon-open-dot" + ScatterpolarglMarkerSymbolNumber15 ScatterpolarglMarkerSymbol = 15 + ScatterpolarglMarkerSymbol15 ScatterpolarglMarkerSymbol = "15" + ScatterpolarglMarkerSymbolHexagon2 ScatterpolarglMarkerSymbol = "hexagon2" + ScatterpolarglMarkerSymbolNumber115 ScatterpolarglMarkerSymbol = 115 + ScatterpolarglMarkerSymbol115 ScatterpolarglMarkerSymbol = "115" + ScatterpolarglMarkerSymbolHexagon2Open ScatterpolarglMarkerSymbol = "hexagon2-open" + ScatterpolarglMarkerSymbolNumber215 ScatterpolarglMarkerSymbol = 215 + ScatterpolarglMarkerSymbol215 ScatterpolarglMarkerSymbol = "215" + ScatterpolarglMarkerSymbolHexagon2Dot ScatterpolarglMarkerSymbol = "hexagon2-dot" + ScatterpolarglMarkerSymbolNumber315 ScatterpolarglMarkerSymbol = 315 + ScatterpolarglMarkerSymbol315 ScatterpolarglMarkerSymbol = "315" + ScatterpolarglMarkerSymbolHexagon2OpenDot ScatterpolarglMarkerSymbol = "hexagon2-open-dot" + ScatterpolarglMarkerSymbolNumber16 ScatterpolarglMarkerSymbol = 16 + ScatterpolarglMarkerSymbol16 ScatterpolarglMarkerSymbol = "16" + ScatterpolarglMarkerSymbolOctagon ScatterpolarglMarkerSymbol = "octagon" + ScatterpolarglMarkerSymbolNumber116 ScatterpolarglMarkerSymbol = 116 + ScatterpolarglMarkerSymbol116 ScatterpolarglMarkerSymbol = "116" + ScatterpolarglMarkerSymbolOctagonOpen ScatterpolarglMarkerSymbol = "octagon-open" + ScatterpolarglMarkerSymbolNumber216 ScatterpolarglMarkerSymbol = 216 + ScatterpolarglMarkerSymbol216 ScatterpolarglMarkerSymbol = "216" + ScatterpolarglMarkerSymbolOctagonDot ScatterpolarglMarkerSymbol = "octagon-dot" + ScatterpolarglMarkerSymbolNumber316 ScatterpolarglMarkerSymbol = 316 + ScatterpolarglMarkerSymbol316 ScatterpolarglMarkerSymbol = "316" + ScatterpolarglMarkerSymbolOctagonOpenDot ScatterpolarglMarkerSymbol = "octagon-open-dot" + ScatterpolarglMarkerSymbolNumber17 ScatterpolarglMarkerSymbol = 17 + ScatterpolarglMarkerSymbol17 ScatterpolarglMarkerSymbol = "17" + ScatterpolarglMarkerSymbolStar ScatterpolarglMarkerSymbol = "star" + ScatterpolarglMarkerSymbolNumber117 ScatterpolarglMarkerSymbol = 117 + ScatterpolarglMarkerSymbol117 ScatterpolarglMarkerSymbol = "117" + ScatterpolarglMarkerSymbolStarOpen ScatterpolarglMarkerSymbol = "star-open" + ScatterpolarglMarkerSymbolNumber217 ScatterpolarglMarkerSymbol = 217 + ScatterpolarglMarkerSymbol217 ScatterpolarglMarkerSymbol = "217" + ScatterpolarglMarkerSymbolStarDot ScatterpolarglMarkerSymbol = "star-dot" + ScatterpolarglMarkerSymbolNumber317 ScatterpolarglMarkerSymbol = 317 + ScatterpolarglMarkerSymbol317 ScatterpolarglMarkerSymbol = "317" + ScatterpolarglMarkerSymbolStarOpenDot ScatterpolarglMarkerSymbol = "star-open-dot" + ScatterpolarglMarkerSymbolNumber18 ScatterpolarglMarkerSymbol = 18 + ScatterpolarglMarkerSymbol18 ScatterpolarglMarkerSymbol = "18" + ScatterpolarglMarkerSymbolHexagram ScatterpolarglMarkerSymbol = "hexagram" + ScatterpolarglMarkerSymbolNumber118 ScatterpolarglMarkerSymbol = 118 + ScatterpolarglMarkerSymbol118 ScatterpolarglMarkerSymbol = "118" + ScatterpolarglMarkerSymbolHexagramOpen ScatterpolarglMarkerSymbol = "hexagram-open" + ScatterpolarglMarkerSymbolNumber218 ScatterpolarglMarkerSymbol = 218 + ScatterpolarglMarkerSymbol218 ScatterpolarglMarkerSymbol = "218" + ScatterpolarglMarkerSymbolHexagramDot ScatterpolarglMarkerSymbol = "hexagram-dot" + ScatterpolarglMarkerSymbolNumber318 ScatterpolarglMarkerSymbol = 318 + ScatterpolarglMarkerSymbol318 ScatterpolarglMarkerSymbol = "318" + ScatterpolarglMarkerSymbolHexagramOpenDot ScatterpolarglMarkerSymbol = "hexagram-open-dot" + ScatterpolarglMarkerSymbolNumber19 ScatterpolarglMarkerSymbol = 19 + ScatterpolarglMarkerSymbol19 ScatterpolarglMarkerSymbol = "19" + ScatterpolarglMarkerSymbolStarTriangleUp ScatterpolarglMarkerSymbol = "star-triangle-up" + ScatterpolarglMarkerSymbolNumber119 ScatterpolarglMarkerSymbol = 119 + ScatterpolarglMarkerSymbol119 ScatterpolarglMarkerSymbol = "119" + ScatterpolarglMarkerSymbolStarTriangleUpOpen ScatterpolarglMarkerSymbol = "star-triangle-up-open" + ScatterpolarglMarkerSymbolNumber219 ScatterpolarglMarkerSymbol = 219 + ScatterpolarglMarkerSymbol219 ScatterpolarglMarkerSymbol = "219" + ScatterpolarglMarkerSymbolStarTriangleUpDot ScatterpolarglMarkerSymbol = "star-triangle-up-dot" + ScatterpolarglMarkerSymbolNumber319 ScatterpolarglMarkerSymbol = 319 + ScatterpolarglMarkerSymbol319 ScatterpolarglMarkerSymbol = "319" + ScatterpolarglMarkerSymbolStarTriangleUpOpenDot ScatterpolarglMarkerSymbol = "star-triangle-up-open-dot" + ScatterpolarglMarkerSymbolNumber20 ScatterpolarglMarkerSymbol = 20 + ScatterpolarglMarkerSymbol20 ScatterpolarglMarkerSymbol = "20" + ScatterpolarglMarkerSymbolStarTriangleDown ScatterpolarglMarkerSymbol = "star-triangle-down" + ScatterpolarglMarkerSymbolNumber120 ScatterpolarglMarkerSymbol = 120 + ScatterpolarglMarkerSymbol120 ScatterpolarglMarkerSymbol = "120" + ScatterpolarglMarkerSymbolStarTriangleDownOpen ScatterpolarglMarkerSymbol = "star-triangle-down-open" + ScatterpolarglMarkerSymbolNumber220 ScatterpolarglMarkerSymbol = 220 + ScatterpolarglMarkerSymbol220 ScatterpolarglMarkerSymbol = "220" + ScatterpolarglMarkerSymbolStarTriangleDownDot ScatterpolarglMarkerSymbol = "star-triangle-down-dot" + ScatterpolarglMarkerSymbolNumber320 ScatterpolarglMarkerSymbol = 320 + ScatterpolarglMarkerSymbol320 ScatterpolarglMarkerSymbol = "320" + ScatterpolarglMarkerSymbolStarTriangleDownOpenDot ScatterpolarglMarkerSymbol = "star-triangle-down-open-dot" + ScatterpolarglMarkerSymbolNumber21 ScatterpolarglMarkerSymbol = 21 + ScatterpolarglMarkerSymbol21 ScatterpolarglMarkerSymbol = "21" + ScatterpolarglMarkerSymbolStarSquare ScatterpolarglMarkerSymbol = "star-square" + ScatterpolarglMarkerSymbolNumber121 ScatterpolarglMarkerSymbol = 121 + ScatterpolarglMarkerSymbol121 ScatterpolarglMarkerSymbol = "121" + ScatterpolarglMarkerSymbolStarSquareOpen ScatterpolarglMarkerSymbol = "star-square-open" + ScatterpolarglMarkerSymbolNumber221 ScatterpolarglMarkerSymbol = 221 + ScatterpolarglMarkerSymbol221 ScatterpolarglMarkerSymbol = "221" + ScatterpolarglMarkerSymbolStarSquareDot ScatterpolarglMarkerSymbol = "star-square-dot" + ScatterpolarglMarkerSymbolNumber321 ScatterpolarglMarkerSymbol = 321 + ScatterpolarglMarkerSymbol321 ScatterpolarglMarkerSymbol = "321" + ScatterpolarglMarkerSymbolStarSquareOpenDot ScatterpolarglMarkerSymbol = "star-square-open-dot" + ScatterpolarglMarkerSymbolNumber22 ScatterpolarglMarkerSymbol = 22 + ScatterpolarglMarkerSymbol22 ScatterpolarglMarkerSymbol = "22" + ScatterpolarglMarkerSymbolStarDiamond ScatterpolarglMarkerSymbol = "star-diamond" + ScatterpolarglMarkerSymbolNumber122 ScatterpolarglMarkerSymbol = 122 + ScatterpolarglMarkerSymbol122 ScatterpolarglMarkerSymbol = "122" + ScatterpolarglMarkerSymbolStarDiamondOpen ScatterpolarglMarkerSymbol = "star-diamond-open" + ScatterpolarglMarkerSymbolNumber222 ScatterpolarglMarkerSymbol = 222 + ScatterpolarglMarkerSymbol222 ScatterpolarglMarkerSymbol = "222" + ScatterpolarglMarkerSymbolStarDiamondDot ScatterpolarglMarkerSymbol = "star-diamond-dot" + ScatterpolarglMarkerSymbolNumber322 ScatterpolarglMarkerSymbol = 322 + ScatterpolarglMarkerSymbol322 ScatterpolarglMarkerSymbol = "322" + ScatterpolarglMarkerSymbolStarDiamondOpenDot ScatterpolarglMarkerSymbol = "star-diamond-open-dot" + ScatterpolarglMarkerSymbolNumber23 ScatterpolarglMarkerSymbol = 23 + ScatterpolarglMarkerSymbol23 ScatterpolarglMarkerSymbol = "23" + ScatterpolarglMarkerSymbolDiamondTall ScatterpolarglMarkerSymbol = "diamond-tall" + ScatterpolarglMarkerSymbolNumber123 ScatterpolarglMarkerSymbol = 123 + ScatterpolarglMarkerSymbol123 ScatterpolarglMarkerSymbol = "123" + ScatterpolarglMarkerSymbolDiamondTallOpen ScatterpolarglMarkerSymbol = "diamond-tall-open" + ScatterpolarglMarkerSymbolNumber223 ScatterpolarglMarkerSymbol = 223 + ScatterpolarglMarkerSymbol223 ScatterpolarglMarkerSymbol = "223" + ScatterpolarglMarkerSymbolDiamondTallDot ScatterpolarglMarkerSymbol = "diamond-tall-dot" + ScatterpolarglMarkerSymbolNumber323 ScatterpolarglMarkerSymbol = 323 + ScatterpolarglMarkerSymbol323 ScatterpolarglMarkerSymbol = "323" + ScatterpolarglMarkerSymbolDiamondTallOpenDot ScatterpolarglMarkerSymbol = "diamond-tall-open-dot" + ScatterpolarglMarkerSymbolNumber24 ScatterpolarglMarkerSymbol = 24 + ScatterpolarglMarkerSymbol24 ScatterpolarglMarkerSymbol = "24" + ScatterpolarglMarkerSymbolDiamondWide ScatterpolarglMarkerSymbol = "diamond-wide" + ScatterpolarglMarkerSymbolNumber124 ScatterpolarglMarkerSymbol = 124 + ScatterpolarglMarkerSymbol124 ScatterpolarglMarkerSymbol = "124" + ScatterpolarglMarkerSymbolDiamondWideOpen ScatterpolarglMarkerSymbol = "diamond-wide-open" + ScatterpolarglMarkerSymbolNumber224 ScatterpolarglMarkerSymbol = 224 + ScatterpolarglMarkerSymbol224 ScatterpolarglMarkerSymbol = "224" + ScatterpolarglMarkerSymbolDiamondWideDot ScatterpolarglMarkerSymbol = "diamond-wide-dot" + ScatterpolarglMarkerSymbolNumber324 ScatterpolarglMarkerSymbol = 324 + ScatterpolarglMarkerSymbol324 ScatterpolarglMarkerSymbol = "324" + ScatterpolarglMarkerSymbolDiamondWideOpenDot ScatterpolarglMarkerSymbol = "diamond-wide-open-dot" + ScatterpolarglMarkerSymbolNumber25 ScatterpolarglMarkerSymbol = 25 + ScatterpolarglMarkerSymbol25 ScatterpolarglMarkerSymbol = "25" + ScatterpolarglMarkerSymbolHourglass ScatterpolarglMarkerSymbol = "hourglass" + ScatterpolarglMarkerSymbolNumber125 ScatterpolarglMarkerSymbol = 125 + ScatterpolarglMarkerSymbol125 ScatterpolarglMarkerSymbol = "125" + ScatterpolarglMarkerSymbolHourglassOpen ScatterpolarglMarkerSymbol = "hourglass-open" + ScatterpolarglMarkerSymbolNumber26 ScatterpolarglMarkerSymbol = 26 + ScatterpolarglMarkerSymbol26 ScatterpolarglMarkerSymbol = "26" + ScatterpolarglMarkerSymbolBowtie ScatterpolarglMarkerSymbol = "bowtie" + ScatterpolarglMarkerSymbolNumber126 ScatterpolarglMarkerSymbol = 126 + ScatterpolarglMarkerSymbol126 ScatterpolarglMarkerSymbol = "126" + ScatterpolarglMarkerSymbolBowtieOpen ScatterpolarglMarkerSymbol = "bowtie-open" + ScatterpolarglMarkerSymbolNumber27 ScatterpolarglMarkerSymbol = 27 + ScatterpolarglMarkerSymbol27 ScatterpolarglMarkerSymbol = "27" + ScatterpolarglMarkerSymbolCircleCross ScatterpolarglMarkerSymbol = "circle-cross" + ScatterpolarglMarkerSymbolNumber127 ScatterpolarglMarkerSymbol = 127 + ScatterpolarglMarkerSymbol127 ScatterpolarglMarkerSymbol = "127" + ScatterpolarglMarkerSymbolCircleCrossOpen ScatterpolarglMarkerSymbol = "circle-cross-open" + ScatterpolarglMarkerSymbolNumber28 ScatterpolarglMarkerSymbol = 28 + ScatterpolarglMarkerSymbol28 ScatterpolarglMarkerSymbol = "28" + ScatterpolarglMarkerSymbolCircleX ScatterpolarglMarkerSymbol = "circle-x" + ScatterpolarglMarkerSymbolNumber128 ScatterpolarglMarkerSymbol = 128 + ScatterpolarglMarkerSymbol128 ScatterpolarglMarkerSymbol = "128" + ScatterpolarglMarkerSymbolCircleXOpen ScatterpolarglMarkerSymbol = "circle-x-open" + ScatterpolarglMarkerSymbolNumber29 ScatterpolarglMarkerSymbol = 29 + ScatterpolarglMarkerSymbol29 ScatterpolarglMarkerSymbol = "29" + ScatterpolarglMarkerSymbolSquareCross ScatterpolarglMarkerSymbol = "square-cross" + ScatterpolarglMarkerSymbolNumber129 ScatterpolarglMarkerSymbol = 129 + ScatterpolarglMarkerSymbol129 ScatterpolarglMarkerSymbol = "129" + ScatterpolarglMarkerSymbolSquareCrossOpen ScatterpolarglMarkerSymbol = "square-cross-open" + ScatterpolarglMarkerSymbolNumber30 ScatterpolarglMarkerSymbol = 30 + ScatterpolarglMarkerSymbol30 ScatterpolarglMarkerSymbol = "30" + ScatterpolarglMarkerSymbolSquareX ScatterpolarglMarkerSymbol = "square-x" + ScatterpolarglMarkerSymbolNumber130 ScatterpolarglMarkerSymbol = 130 + ScatterpolarglMarkerSymbol130 ScatterpolarglMarkerSymbol = "130" + ScatterpolarglMarkerSymbolSquareXOpen ScatterpolarglMarkerSymbol = "square-x-open" + ScatterpolarglMarkerSymbolNumber31 ScatterpolarglMarkerSymbol = 31 + ScatterpolarglMarkerSymbol31 ScatterpolarglMarkerSymbol = "31" + ScatterpolarglMarkerSymbolDiamondCross ScatterpolarglMarkerSymbol = "diamond-cross" + ScatterpolarglMarkerSymbolNumber131 ScatterpolarglMarkerSymbol = 131 + ScatterpolarglMarkerSymbol131 ScatterpolarglMarkerSymbol = "131" + ScatterpolarglMarkerSymbolDiamondCrossOpen ScatterpolarglMarkerSymbol = "diamond-cross-open" + ScatterpolarglMarkerSymbolNumber32 ScatterpolarglMarkerSymbol = 32 + ScatterpolarglMarkerSymbol32 ScatterpolarglMarkerSymbol = "32" + ScatterpolarglMarkerSymbolDiamondX ScatterpolarglMarkerSymbol = "diamond-x" + ScatterpolarglMarkerSymbolNumber132 ScatterpolarglMarkerSymbol = 132 + ScatterpolarglMarkerSymbol132 ScatterpolarglMarkerSymbol = "132" + ScatterpolarglMarkerSymbolDiamondXOpen ScatterpolarglMarkerSymbol = "diamond-x-open" + ScatterpolarglMarkerSymbolNumber33 ScatterpolarglMarkerSymbol = 33 + ScatterpolarglMarkerSymbol33 ScatterpolarglMarkerSymbol = "33" + ScatterpolarglMarkerSymbolCrossThin ScatterpolarglMarkerSymbol = "cross-thin" + ScatterpolarglMarkerSymbolNumber133 ScatterpolarglMarkerSymbol = 133 + ScatterpolarglMarkerSymbol133 ScatterpolarglMarkerSymbol = "133" + ScatterpolarglMarkerSymbolCrossThinOpen ScatterpolarglMarkerSymbol = "cross-thin-open" + ScatterpolarglMarkerSymbolNumber34 ScatterpolarglMarkerSymbol = 34 + ScatterpolarglMarkerSymbol34 ScatterpolarglMarkerSymbol = "34" + ScatterpolarglMarkerSymbolXThin ScatterpolarglMarkerSymbol = "x-thin" + ScatterpolarglMarkerSymbolNumber134 ScatterpolarglMarkerSymbol = 134 + ScatterpolarglMarkerSymbol134 ScatterpolarglMarkerSymbol = "134" + ScatterpolarglMarkerSymbolXThinOpen ScatterpolarglMarkerSymbol = "x-thin-open" + ScatterpolarglMarkerSymbolNumber35 ScatterpolarglMarkerSymbol = 35 + ScatterpolarglMarkerSymbol35 ScatterpolarglMarkerSymbol = "35" + ScatterpolarglMarkerSymbolAsterisk ScatterpolarglMarkerSymbol = "asterisk" + ScatterpolarglMarkerSymbolNumber135 ScatterpolarglMarkerSymbol = 135 + ScatterpolarglMarkerSymbol135 ScatterpolarglMarkerSymbol = "135" + ScatterpolarglMarkerSymbolAsteriskOpen ScatterpolarglMarkerSymbol = "asterisk-open" + ScatterpolarglMarkerSymbolNumber36 ScatterpolarglMarkerSymbol = 36 + ScatterpolarglMarkerSymbol36 ScatterpolarglMarkerSymbol = "36" + ScatterpolarglMarkerSymbolHash ScatterpolarglMarkerSymbol = "hash" + ScatterpolarglMarkerSymbolNumber136 ScatterpolarglMarkerSymbol = 136 + ScatterpolarglMarkerSymbol136 ScatterpolarglMarkerSymbol = "136" + ScatterpolarglMarkerSymbolHashOpen ScatterpolarglMarkerSymbol = "hash-open" + ScatterpolarglMarkerSymbolNumber236 ScatterpolarglMarkerSymbol = 236 + ScatterpolarglMarkerSymbol236 ScatterpolarglMarkerSymbol = "236" + ScatterpolarglMarkerSymbolHashDot ScatterpolarglMarkerSymbol = "hash-dot" + ScatterpolarglMarkerSymbolNumber336 ScatterpolarglMarkerSymbol = 336 + ScatterpolarglMarkerSymbol336 ScatterpolarglMarkerSymbol = "336" + ScatterpolarglMarkerSymbolHashOpenDot ScatterpolarglMarkerSymbol = "hash-open-dot" + ScatterpolarglMarkerSymbolNumber37 ScatterpolarglMarkerSymbol = 37 + ScatterpolarglMarkerSymbol37 ScatterpolarglMarkerSymbol = "37" + ScatterpolarglMarkerSymbolYUp ScatterpolarglMarkerSymbol = "y-up" + ScatterpolarglMarkerSymbolNumber137 ScatterpolarglMarkerSymbol = 137 + ScatterpolarglMarkerSymbol137 ScatterpolarglMarkerSymbol = "137" + ScatterpolarglMarkerSymbolYUpOpen ScatterpolarglMarkerSymbol = "y-up-open" + ScatterpolarglMarkerSymbolNumber38 ScatterpolarglMarkerSymbol = 38 + ScatterpolarglMarkerSymbol38 ScatterpolarglMarkerSymbol = "38" + ScatterpolarglMarkerSymbolYDown ScatterpolarglMarkerSymbol = "y-down" + ScatterpolarglMarkerSymbolNumber138 ScatterpolarglMarkerSymbol = 138 + ScatterpolarglMarkerSymbol138 ScatterpolarglMarkerSymbol = "138" + ScatterpolarglMarkerSymbolYDownOpen ScatterpolarglMarkerSymbol = "y-down-open" + ScatterpolarglMarkerSymbolNumber39 ScatterpolarglMarkerSymbol = 39 + ScatterpolarglMarkerSymbol39 ScatterpolarglMarkerSymbol = "39" + ScatterpolarglMarkerSymbolYLeft ScatterpolarglMarkerSymbol = "y-left" + ScatterpolarglMarkerSymbolNumber139 ScatterpolarglMarkerSymbol = 139 + ScatterpolarglMarkerSymbol139 ScatterpolarglMarkerSymbol = "139" + ScatterpolarglMarkerSymbolYLeftOpen ScatterpolarglMarkerSymbol = "y-left-open" + ScatterpolarglMarkerSymbolNumber40 ScatterpolarglMarkerSymbol = 40 + ScatterpolarglMarkerSymbol40 ScatterpolarglMarkerSymbol = "40" + ScatterpolarglMarkerSymbolYRight ScatterpolarglMarkerSymbol = "y-right" + ScatterpolarglMarkerSymbolNumber140 ScatterpolarglMarkerSymbol = 140 + ScatterpolarglMarkerSymbol140 ScatterpolarglMarkerSymbol = "140" + ScatterpolarglMarkerSymbolYRightOpen ScatterpolarglMarkerSymbol = "y-right-open" + ScatterpolarglMarkerSymbolNumber41 ScatterpolarglMarkerSymbol = 41 + ScatterpolarglMarkerSymbol41 ScatterpolarglMarkerSymbol = "41" + ScatterpolarglMarkerSymbolLineEw ScatterpolarglMarkerSymbol = "line-ew" + ScatterpolarglMarkerSymbolNumber141 ScatterpolarglMarkerSymbol = 141 + ScatterpolarglMarkerSymbol141 ScatterpolarglMarkerSymbol = "141" + ScatterpolarglMarkerSymbolLineEwOpen ScatterpolarglMarkerSymbol = "line-ew-open" + ScatterpolarglMarkerSymbolNumber42 ScatterpolarglMarkerSymbol = 42 + ScatterpolarglMarkerSymbol42 ScatterpolarglMarkerSymbol = "42" + ScatterpolarglMarkerSymbolLineNs ScatterpolarglMarkerSymbol = "line-ns" + ScatterpolarglMarkerSymbolNumber142 ScatterpolarglMarkerSymbol = 142 + ScatterpolarglMarkerSymbol142 ScatterpolarglMarkerSymbol = "142" + ScatterpolarglMarkerSymbolLineNsOpen ScatterpolarglMarkerSymbol = "line-ns-open" + ScatterpolarglMarkerSymbolNumber43 ScatterpolarglMarkerSymbol = 43 + ScatterpolarglMarkerSymbol43 ScatterpolarglMarkerSymbol = "43" + ScatterpolarglMarkerSymbolLineNe ScatterpolarglMarkerSymbol = "line-ne" + ScatterpolarglMarkerSymbolNumber143 ScatterpolarglMarkerSymbol = 143 + ScatterpolarglMarkerSymbol143 ScatterpolarglMarkerSymbol = "143" + ScatterpolarglMarkerSymbolLineNeOpen ScatterpolarglMarkerSymbol = "line-ne-open" + ScatterpolarglMarkerSymbolNumber44 ScatterpolarglMarkerSymbol = 44 + ScatterpolarglMarkerSymbol44 ScatterpolarglMarkerSymbol = "44" + ScatterpolarglMarkerSymbolLineNw ScatterpolarglMarkerSymbol = "line-nw" + ScatterpolarglMarkerSymbolNumber144 ScatterpolarglMarkerSymbol = 144 + ScatterpolarglMarkerSymbol144 ScatterpolarglMarkerSymbol = "144" + ScatterpolarglMarkerSymbolLineNwOpen ScatterpolarglMarkerSymbol = "line-nw-open" + ScatterpolarglMarkerSymbolNumber45 ScatterpolarglMarkerSymbol = 45 + ScatterpolarglMarkerSymbol45 ScatterpolarglMarkerSymbol = "45" + ScatterpolarglMarkerSymbolArrowUp ScatterpolarglMarkerSymbol = "arrow-up" + ScatterpolarglMarkerSymbolNumber145 ScatterpolarglMarkerSymbol = 145 + ScatterpolarglMarkerSymbol145 ScatterpolarglMarkerSymbol = "145" + ScatterpolarglMarkerSymbolArrowUpOpen ScatterpolarglMarkerSymbol = "arrow-up-open" + ScatterpolarglMarkerSymbolNumber46 ScatterpolarglMarkerSymbol = 46 + ScatterpolarglMarkerSymbol46 ScatterpolarglMarkerSymbol = "46" + ScatterpolarglMarkerSymbolArrowDown ScatterpolarglMarkerSymbol = "arrow-down" + ScatterpolarglMarkerSymbolNumber146 ScatterpolarglMarkerSymbol = 146 + ScatterpolarglMarkerSymbol146 ScatterpolarglMarkerSymbol = "146" + ScatterpolarglMarkerSymbolArrowDownOpen ScatterpolarglMarkerSymbol = "arrow-down-open" + ScatterpolarglMarkerSymbolNumber47 ScatterpolarglMarkerSymbol = 47 + ScatterpolarglMarkerSymbol47 ScatterpolarglMarkerSymbol = "47" + ScatterpolarglMarkerSymbolArrowLeft ScatterpolarglMarkerSymbol = "arrow-left" + ScatterpolarglMarkerSymbolNumber147 ScatterpolarglMarkerSymbol = 147 + ScatterpolarglMarkerSymbol147 ScatterpolarglMarkerSymbol = "147" + ScatterpolarglMarkerSymbolArrowLeftOpen ScatterpolarglMarkerSymbol = "arrow-left-open" + ScatterpolarglMarkerSymbolNumber48 ScatterpolarglMarkerSymbol = 48 + ScatterpolarglMarkerSymbol48 ScatterpolarglMarkerSymbol = "48" + ScatterpolarglMarkerSymbolArrowRight ScatterpolarglMarkerSymbol = "arrow-right" + ScatterpolarglMarkerSymbolNumber148 ScatterpolarglMarkerSymbol = 148 + ScatterpolarglMarkerSymbol148 ScatterpolarglMarkerSymbol = "148" + ScatterpolarglMarkerSymbolArrowRightOpen ScatterpolarglMarkerSymbol = "arrow-right-open" + ScatterpolarglMarkerSymbolNumber49 ScatterpolarglMarkerSymbol = 49 + ScatterpolarglMarkerSymbol49 ScatterpolarglMarkerSymbol = "49" + ScatterpolarglMarkerSymbolArrowBarUp ScatterpolarglMarkerSymbol = "arrow-bar-up" + ScatterpolarglMarkerSymbolNumber149 ScatterpolarglMarkerSymbol = 149 + ScatterpolarglMarkerSymbol149 ScatterpolarglMarkerSymbol = "149" + ScatterpolarglMarkerSymbolArrowBarUpOpen ScatterpolarglMarkerSymbol = "arrow-bar-up-open" + ScatterpolarglMarkerSymbolNumber50 ScatterpolarglMarkerSymbol = 50 + ScatterpolarglMarkerSymbol50 ScatterpolarglMarkerSymbol = "50" + ScatterpolarglMarkerSymbolArrowBarDown ScatterpolarglMarkerSymbol = "arrow-bar-down" + ScatterpolarglMarkerSymbolNumber150 ScatterpolarglMarkerSymbol = 150 + ScatterpolarglMarkerSymbol150 ScatterpolarglMarkerSymbol = "150" + ScatterpolarglMarkerSymbolArrowBarDownOpen ScatterpolarglMarkerSymbol = "arrow-bar-down-open" + ScatterpolarglMarkerSymbolNumber51 ScatterpolarglMarkerSymbol = 51 + ScatterpolarglMarkerSymbol51 ScatterpolarglMarkerSymbol = "51" + ScatterpolarglMarkerSymbolArrowBarLeft ScatterpolarglMarkerSymbol = "arrow-bar-left" + ScatterpolarglMarkerSymbolNumber151 ScatterpolarglMarkerSymbol = 151 + ScatterpolarglMarkerSymbol151 ScatterpolarglMarkerSymbol = "151" + ScatterpolarglMarkerSymbolArrowBarLeftOpen ScatterpolarglMarkerSymbol = "arrow-bar-left-open" + ScatterpolarglMarkerSymbolNumber52 ScatterpolarglMarkerSymbol = 52 + ScatterpolarglMarkerSymbol52 ScatterpolarglMarkerSymbol = "52" + ScatterpolarglMarkerSymbolArrowBarRight ScatterpolarglMarkerSymbol = "arrow-bar-right" + ScatterpolarglMarkerSymbolNumber152 ScatterpolarglMarkerSymbol = 152 + ScatterpolarglMarkerSymbol152 ScatterpolarglMarkerSymbol = "152" + ScatterpolarglMarkerSymbolArrowBarRightOpen ScatterpolarglMarkerSymbol = "arrow-bar-right-open" + ScatterpolarglMarkerSymbolNumber53 ScatterpolarglMarkerSymbol = 53 + ScatterpolarglMarkerSymbol53 ScatterpolarglMarkerSymbol = "53" + ScatterpolarglMarkerSymbolArrow ScatterpolarglMarkerSymbol = "arrow" + ScatterpolarglMarkerSymbolNumber153 ScatterpolarglMarkerSymbol = 153 + ScatterpolarglMarkerSymbol153 ScatterpolarglMarkerSymbol = "153" + ScatterpolarglMarkerSymbolArrowOpen ScatterpolarglMarkerSymbol = "arrow-open" + ScatterpolarglMarkerSymbolNumber54 ScatterpolarglMarkerSymbol = 54 + ScatterpolarglMarkerSymbol54 ScatterpolarglMarkerSymbol = "54" + ScatterpolarglMarkerSymbolArrowWide ScatterpolarglMarkerSymbol = "arrow-wide" + ScatterpolarglMarkerSymbolNumber154 ScatterpolarglMarkerSymbol = 154 + ScatterpolarglMarkerSymbol154 ScatterpolarglMarkerSymbol = "154" + ScatterpolarglMarkerSymbolArrowWideOpen ScatterpolarglMarkerSymbol = "arrow-wide-open" +) + +// ScatterpolarglTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. +type ScatterpolarglTextposition string + +const ( + ScatterpolarglTextpositionTopLeft ScatterpolarglTextposition = "top left" + ScatterpolarglTextpositionTopCenter ScatterpolarglTextposition = "top center" + ScatterpolarglTextpositionTopRight ScatterpolarglTextposition = "top right" + ScatterpolarglTextpositionMiddleLeft ScatterpolarglTextposition = "middle left" + ScatterpolarglTextpositionMiddleCenter ScatterpolarglTextposition = "middle center" + ScatterpolarglTextpositionMiddleRight ScatterpolarglTextposition = "middle right" + ScatterpolarglTextpositionBottomLeft ScatterpolarglTextposition = "bottom left" + ScatterpolarglTextpositionBottomCenter ScatterpolarglTextposition = "bottom center" + ScatterpolarglTextpositionBottomRight ScatterpolarglTextposition = "bottom right" +) + +// ScatterpolarglThetaunit Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes. +type ScatterpolarglThetaunit string + +const ( + ScatterpolarglThetaunitRadians ScatterpolarglThetaunit = "radians" + ScatterpolarglThetaunitDegrees ScatterpolarglThetaunit = "degrees" + ScatterpolarglThetaunitGradians ScatterpolarglThetaunit = "gradians" +) + +// ScatterpolarglVisible 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). +type ScatterpolarglVisible interface{} + +var ( + ScatterpolarglVisibleTrue ScatterpolarglVisible = true + ScatterpolarglVisibleFalse ScatterpolarglVisible = false + ScatterpolarglVisibleLegendonly ScatterpolarglVisible = "legendonly" +) + +// ScatterpolarglHoverinfo 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. +type ScatterpolarglHoverinfo string + +const ( + // Flags + ScatterpolarglHoverinfoR ScatterpolarglHoverinfo = "r" + ScatterpolarglHoverinfoTheta ScatterpolarglHoverinfo = "theta" + ScatterpolarglHoverinfoText ScatterpolarglHoverinfo = "text" + ScatterpolarglHoverinfoName ScatterpolarglHoverinfo = "name" + + // Extra + ScatterpolarglHoverinfoAll ScatterpolarglHoverinfo = "all" + ScatterpolarglHoverinfoNone ScatterpolarglHoverinfo = "none" + ScatterpolarglHoverinfoSkip ScatterpolarglHoverinfo = "skip" +) + +// ScatterpolarglMode 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*. +type ScatterpolarglMode string + +const ( + // Flags + ScatterpolarglModeLines ScatterpolarglMode = "lines" + ScatterpolarglModeMarkers ScatterpolarglMode = "markers" + ScatterpolarglModeText ScatterpolarglMode = "text" + + // Extra + ScatterpolarglModeNone ScatterpolarglMode = "none" +) diff --git a/generated/v2.31.1/graph_objects/scattersmith_gen.go b/generated/v2.31.1/graph_objects/scattersmith_gen.go new file mode 100644 index 0000000..1d98f00 --- /dev/null +++ b/generated/v2.31.1/graph_objects/scattersmith_gen.go @@ -0,0 +1,2006 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeScattersmith TraceType = "scattersmith" + +func (trace *Scattersmith) GetType() TraceType { + return TraceTypeScattersmith +} + +// Scattersmith 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. +type Scattersmith struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Cliponaxis + // arrayOK: false + // 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*. + Cliponaxis Bool `json:"cliponaxis,omitempty"` + + // Connectgaps + // arrayOK: false + // type: boolean + // Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected. + Connectgaps Bool `json:"connectgaps,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Fill + // default: none + // type: enumerated + // 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. + Fill ScattersmithFill `json:"fill,omitempty"` + + // Fillcolor + // arrayOK: false + // 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. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo ScattersmithHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *ScattersmithHoverlabel `json:"hoverlabel,omitempty"` + + // Hoveron + // default: %!s() + // type: flaglist + // 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*. + Hoveron ScattersmithHoveron `json:"hoveron,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Imag + // arrayOK: false + // 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. + Imag interface{} `json:"imag,omitempty"` + + // Imagsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `imag`. + Imagsrc String `json:"imagsrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *ScattersmithLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *ScattersmithLine `json:"line,omitempty"` + + // Marker + // role: Object + Marker *ScattersmithMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Mode + // default: %!s() + // type: flaglist + // 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*. + Mode ScattersmithMode `json:"mode,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Real + // arrayOK: false + // 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. + Real interface{} `json:"real,omitempty"` + + // Realsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `real`. + Realsrc String `json:"realsrc,omitempty"` + + // Selected + // role: Object + Selected *ScattersmithSelected `json:"selected,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Stream + // role: Object + Stream *ScattersmithStream `json:"stream,omitempty"` + + // Subplot + // arrayOK: false + // type: subplotid + // 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. + Subplot String `json:"subplot,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textfont + // role: Object + Textfont *ScattersmithTextfont `json:"textfont,omitempty"` + + // Textposition + // default: middle center + // type: enumerated + // Sets the positions of the `text` elements with respects to the (x,y) coordinates. + Textposition ScattersmithTextposition `json:"textposition,omitempty"` + + // Textpositionsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `textposition`. + Textpositionsrc String `json:"textpositionsrc,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: true + // 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 `real`, `imag` and `text`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Texttemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `texttemplate`. + Texttemplatesrc String `json:"texttemplatesrc,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Unselected + // role: Object + Unselected *ScattersmithUnselected `json:"unselected,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible ScattersmithVisible `json:"visible,omitempty"` +} + +// ScattersmithHoverlabelFont Sets the font used in hover labels. +type ScattersmithHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ScattersmithHoverlabel +type ScattersmithHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align ScattersmithHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *ScattersmithHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// ScattersmithLegendgrouptitleFont Sets this legend group's title font. +type ScattersmithLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScattersmithLegendgrouptitle +type ScattersmithLegendgrouptitle struct { + + // Font + // role: Object + Font *ScattersmithLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// ScattersmithLine +type ScattersmithLine struct { + + // Backoff + // arrayOK: true + // type: number + // 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*. + Backoff float64 `json:"backoff,omitempty"` + + // Backoffsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `backoff`. + Backoffsrc String `json:"backoffsrc,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the line color. + Color Color `json:"color,omitempty"` + + // Dash + // arrayOK: false + // type: string + // 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*). + Dash String `json:"dash,omitempty"` + + // Shape + // default: linear + // type: enumerated + // Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes. + Shape ScattersmithLineShape `json:"shape,omitempty"` + + // Smoothing + // arrayOK: false + // type: number + // 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). + Smoothing float64 `json:"smoothing,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width (in px). + Width float64 `json:"width,omitempty"` +} + +// ScattersmithMarkerColorbarTickfont Sets the color bar's tick label font +type ScattersmithMarkerColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScattersmithMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type ScattersmithMarkerColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScattersmithMarkerColorbarTitle +type ScattersmithMarkerColorbarTitle struct { + + // Font + // role: Object + Font *ScattersmithMarkerColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side ScattersmithMarkerColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// ScattersmithMarkerColorbar +type ScattersmithMarkerColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat ScattersmithMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode ScattersmithMarkerColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ScattersmithMarkerColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent ScattersmithMarkerColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix ScattersmithMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix ScattersmithMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode ScattersmithMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *ScattersmithMarkerColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ScattersmithMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition ScattersmithMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode ScattersmithMarkerColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks ScattersmithMarkerColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *ScattersmithMarkerColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor ScattersmithMarkerColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref ScattersmithMarkerColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor ScattersmithMarkerColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref ScattersmithMarkerColorbarYref `json:"yref,omitempty"` +} + +// ScattersmithMarkerGradient +type ScattersmithMarkerGradient struct { + + // Color + // arrayOK: true + // type: color + // Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Type + // default: none + // type: enumerated + // Sets the type of gradient used to fill the markers + Type ScattersmithMarkerGradientType `json:"type,omitempty"` + + // Typesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `type`. + Typesrc String `json:"typesrc,omitempty"` +} + +// ScattersmithMarkerLine +type ScattersmithMarkerLine struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the lines bounding the marker points. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// ScattersmithMarker +type ScattersmithMarker struct { + + // Angle + // arrayOK: true + // type: angle + // Sets the marker angle in respect to `angleref`. + Angle float64 `json:"angle,omitempty"` + + // Angleref + // default: up + // type: enumerated + // 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. + Angleref ScattersmithMarkerAngleref `json:"angleref,omitempty"` + + // Anglesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `angle`. + Anglesrc String `json:"anglesrc,omitempty"` + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *ScattersmithMarkerColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Gradient + // role: Object + Gradient *ScattersmithMarkerGradient `json:"gradient,omitempty"` + + // Line + // role: Object + Line *ScattersmithMarkerLine `json:"line,omitempty"` + + // Maxdisplayed + // arrayOK: false + // type: number + // Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit. + Maxdisplayed float64 `json:"maxdisplayed,omitempty"` + + // Opacity + // arrayOK: true + // type: number + // Sets the marker opacity. + Opacity float64 `json:"opacity,omitempty"` + + // Opacitysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `opacity`. + Opacitysrc String `json:"opacitysrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the marker size (in px). + Size float64 `json:"size,omitempty"` + + // Sizemin + // arrayOK: false + // 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. + Sizemin float64 `json:"sizemin,omitempty"` + + // Sizemode + // default: diameter + // type: enumerated + // 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. + Sizemode ScattersmithMarkerSizemode `json:"sizemode,omitempty"` + + // Sizeref + // arrayOK: false + // type: number + // 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`. + Sizeref float64 `json:"sizeref,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Standoff + // arrayOK: true + // type: number + // 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. + Standoff float64 `json:"standoff,omitempty"` + + // Standoffsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `standoff`. + Standoffsrc String `json:"standoffsrc,omitempty"` + + // Symbol + // default: circle + // type: enumerated + // 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. + Symbol ScattersmithMarkerSymbol `json:"symbol,omitempty"` + + // Symbolsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `symbol`. + Symbolsrc String `json:"symbolsrc,omitempty"` +} + +// ScattersmithSelectedMarker +type ScattersmithSelectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of selected points. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of selected points. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of selected points. + Size float64 `json:"size,omitempty"` +} + +// ScattersmithSelectedTextfont +type ScattersmithSelectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of selected points. + Color Color `json:"color,omitempty"` +} + +// ScattersmithSelected +type ScattersmithSelected struct { + + // Marker + // role: Object + Marker *ScattersmithSelectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *ScattersmithSelectedTextfont `json:"textfont,omitempty"` +} + +// ScattersmithStream +type ScattersmithStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// ScattersmithTextfont Sets the text font. +type ScattersmithTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ScattersmithUnselectedMarker +type ScattersmithUnselectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of unselected points, applied only when a selection exists. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of unselected points, applied only when a selection exists. + Size float64 `json:"size,omitempty"` +} + +// ScattersmithUnselectedTextfont +type ScattersmithUnselectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` +} + +// ScattersmithUnselected +type ScattersmithUnselected struct { + + // Marker + // role: Object + Marker *ScattersmithUnselectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *ScattersmithUnselectedTextfont `json:"textfont,omitempty"` +} + +// ScattersmithFill 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. +type ScattersmithFill string + +const ( + ScattersmithFillNone ScattersmithFill = "none" + ScattersmithFillToself ScattersmithFill = "toself" + ScattersmithFillTonext ScattersmithFill = "tonext" +) + +// ScattersmithHoverlabelAlign 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 +type ScattersmithHoverlabelAlign string + +const ( + ScattersmithHoverlabelAlignLeft ScattersmithHoverlabelAlign = "left" + ScattersmithHoverlabelAlignRight ScattersmithHoverlabelAlign = "right" + ScattersmithHoverlabelAlignAuto ScattersmithHoverlabelAlign = "auto" +) + +// ScattersmithLineShape Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes. +type ScattersmithLineShape string + +const ( + ScattersmithLineShapeLinear ScattersmithLineShape = "linear" + ScattersmithLineShapeSpline ScattersmithLineShape = "spline" +) + +// ScattersmithMarkerAngleref 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. +type ScattersmithMarkerAngleref string + +const ( + ScattersmithMarkerAnglerefPrevious ScattersmithMarkerAngleref = "previous" + ScattersmithMarkerAnglerefUp ScattersmithMarkerAngleref = "up" +) + +// ScattersmithMarkerColorbarExponentformat 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. +type ScattersmithMarkerColorbarExponentformat string + +const ( + ScattersmithMarkerColorbarExponentformatNone ScattersmithMarkerColorbarExponentformat = "none" + ScattersmithMarkerColorbarExponentformatE1 ScattersmithMarkerColorbarExponentformat = "e" + ScattersmithMarkerColorbarExponentformatE2 ScattersmithMarkerColorbarExponentformat = "E" + ScattersmithMarkerColorbarExponentformatPower ScattersmithMarkerColorbarExponentformat = "power" + ScattersmithMarkerColorbarExponentformatSI ScattersmithMarkerColorbarExponentformat = "SI" + ScattersmithMarkerColorbarExponentformatB ScattersmithMarkerColorbarExponentformat = "B" +) + +// ScattersmithMarkerColorbarLenmode 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. +type ScattersmithMarkerColorbarLenmode string + +const ( + ScattersmithMarkerColorbarLenmodeFraction ScattersmithMarkerColorbarLenmode = "fraction" + ScattersmithMarkerColorbarLenmodePixels ScattersmithMarkerColorbarLenmode = "pixels" +) + +// ScattersmithMarkerColorbarOrientation Sets the orientation of the colorbar. +type ScattersmithMarkerColorbarOrientation string + +const ( + ScattersmithMarkerColorbarOrientationH ScattersmithMarkerColorbarOrientation = "h" + ScattersmithMarkerColorbarOrientationV ScattersmithMarkerColorbarOrientation = "v" +) + +// ScattersmithMarkerColorbarShowexponent 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. +type ScattersmithMarkerColorbarShowexponent string + +const ( + ScattersmithMarkerColorbarShowexponentAll ScattersmithMarkerColorbarShowexponent = "all" + ScattersmithMarkerColorbarShowexponentFirst ScattersmithMarkerColorbarShowexponent = "first" + ScattersmithMarkerColorbarShowexponentLast ScattersmithMarkerColorbarShowexponent = "last" + ScattersmithMarkerColorbarShowexponentNone ScattersmithMarkerColorbarShowexponent = "none" +) + +// ScattersmithMarkerColorbarShowtickprefix 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. +type ScattersmithMarkerColorbarShowtickprefix string + +const ( + ScattersmithMarkerColorbarShowtickprefixAll ScattersmithMarkerColorbarShowtickprefix = "all" + ScattersmithMarkerColorbarShowtickprefixFirst ScattersmithMarkerColorbarShowtickprefix = "first" + ScattersmithMarkerColorbarShowtickprefixLast ScattersmithMarkerColorbarShowtickprefix = "last" + ScattersmithMarkerColorbarShowtickprefixNone ScattersmithMarkerColorbarShowtickprefix = "none" +) + +// ScattersmithMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type ScattersmithMarkerColorbarShowticksuffix string + +const ( + ScattersmithMarkerColorbarShowticksuffixAll ScattersmithMarkerColorbarShowticksuffix = "all" + ScattersmithMarkerColorbarShowticksuffixFirst ScattersmithMarkerColorbarShowticksuffix = "first" + ScattersmithMarkerColorbarShowticksuffixLast ScattersmithMarkerColorbarShowticksuffix = "last" + ScattersmithMarkerColorbarShowticksuffixNone ScattersmithMarkerColorbarShowticksuffix = "none" +) + +// ScattersmithMarkerColorbarThicknessmode 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. +type ScattersmithMarkerColorbarThicknessmode string + +const ( + ScattersmithMarkerColorbarThicknessmodeFraction ScattersmithMarkerColorbarThicknessmode = "fraction" + ScattersmithMarkerColorbarThicknessmodePixels ScattersmithMarkerColorbarThicknessmode = "pixels" +) + +// ScattersmithMarkerColorbarTicklabeloverflow 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*. +type ScattersmithMarkerColorbarTicklabeloverflow string + +const ( + ScattersmithMarkerColorbarTicklabeloverflowAllow ScattersmithMarkerColorbarTicklabeloverflow = "allow" + ScattersmithMarkerColorbarTicklabeloverflowHidePastDiv ScattersmithMarkerColorbarTicklabeloverflow = "hide past div" + ScattersmithMarkerColorbarTicklabeloverflowHidePastDomain ScattersmithMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// ScattersmithMarkerColorbarTicklabelposition 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*. +type ScattersmithMarkerColorbarTicklabelposition string + +const ( + ScattersmithMarkerColorbarTicklabelpositionOutside ScattersmithMarkerColorbarTicklabelposition = "outside" + ScattersmithMarkerColorbarTicklabelpositionInside ScattersmithMarkerColorbarTicklabelposition = "inside" + ScattersmithMarkerColorbarTicklabelpositionOutsideTop ScattersmithMarkerColorbarTicklabelposition = "outside top" + ScattersmithMarkerColorbarTicklabelpositionInsideTop ScattersmithMarkerColorbarTicklabelposition = "inside top" + ScattersmithMarkerColorbarTicklabelpositionOutsideLeft ScattersmithMarkerColorbarTicklabelposition = "outside left" + ScattersmithMarkerColorbarTicklabelpositionInsideLeft ScattersmithMarkerColorbarTicklabelposition = "inside left" + ScattersmithMarkerColorbarTicklabelpositionOutsideRight ScattersmithMarkerColorbarTicklabelposition = "outside right" + ScattersmithMarkerColorbarTicklabelpositionInsideRight ScattersmithMarkerColorbarTicklabelposition = "inside right" + ScattersmithMarkerColorbarTicklabelpositionOutsideBottom ScattersmithMarkerColorbarTicklabelposition = "outside bottom" + ScattersmithMarkerColorbarTicklabelpositionInsideBottom ScattersmithMarkerColorbarTicklabelposition = "inside bottom" +) + +// ScattersmithMarkerColorbarTickmode 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). +type ScattersmithMarkerColorbarTickmode string + +const ( + ScattersmithMarkerColorbarTickmodeAuto ScattersmithMarkerColorbarTickmode = "auto" + ScattersmithMarkerColorbarTickmodeLinear ScattersmithMarkerColorbarTickmode = "linear" + ScattersmithMarkerColorbarTickmodeArray ScattersmithMarkerColorbarTickmode = "array" +) + +// ScattersmithMarkerColorbarTicks 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. +type ScattersmithMarkerColorbarTicks string + +const ( + ScattersmithMarkerColorbarTicksOutside ScattersmithMarkerColorbarTicks = "outside" + ScattersmithMarkerColorbarTicksInside ScattersmithMarkerColorbarTicks = "inside" + ScattersmithMarkerColorbarTicksEmpty ScattersmithMarkerColorbarTicks = "" +) + +// ScattersmithMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type ScattersmithMarkerColorbarTitleSide string + +const ( + ScattersmithMarkerColorbarTitleSideRight ScattersmithMarkerColorbarTitleSide = "right" + ScattersmithMarkerColorbarTitleSideTop ScattersmithMarkerColorbarTitleSide = "top" + ScattersmithMarkerColorbarTitleSideBottom ScattersmithMarkerColorbarTitleSide = "bottom" +) + +// ScattersmithMarkerColorbarXanchor 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*. +type ScattersmithMarkerColorbarXanchor string + +const ( + ScattersmithMarkerColorbarXanchorLeft ScattersmithMarkerColorbarXanchor = "left" + ScattersmithMarkerColorbarXanchorCenter ScattersmithMarkerColorbarXanchor = "center" + ScattersmithMarkerColorbarXanchorRight ScattersmithMarkerColorbarXanchor = "right" +) + +// ScattersmithMarkerColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type ScattersmithMarkerColorbarXref string + +const ( + ScattersmithMarkerColorbarXrefContainer ScattersmithMarkerColorbarXref = "container" + ScattersmithMarkerColorbarXrefPaper ScattersmithMarkerColorbarXref = "paper" +) + +// ScattersmithMarkerColorbarYanchor 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*. +type ScattersmithMarkerColorbarYanchor string + +const ( + ScattersmithMarkerColorbarYanchorTop ScattersmithMarkerColorbarYanchor = "top" + ScattersmithMarkerColorbarYanchorMiddle ScattersmithMarkerColorbarYanchor = "middle" + ScattersmithMarkerColorbarYanchorBottom ScattersmithMarkerColorbarYanchor = "bottom" +) + +// ScattersmithMarkerColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type ScattersmithMarkerColorbarYref string + +const ( + ScattersmithMarkerColorbarYrefContainer ScattersmithMarkerColorbarYref = "container" + ScattersmithMarkerColorbarYrefPaper ScattersmithMarkerColorbarYref = "paper" +) + +// ScattersmithMarkerGradientType Sets the type of gradient used to fill the markers +type ScattersmithMarkerGradientType string + +const ( + ScattersmithMarkerGradientTypeRadial ScattersmithMarkerGradientType = "radial" + ScattersmithMarkerGradientTypeHorizontal ScattersmithMarkerGradientType = "horizontal" + ScattersmithMarkerGradientTypeVertical ScattersmithMarkerGradientType = "vertical" + ScattersmithMarkerGradientTypeNone ScattersmithMarkerGradientType = "none" +) + +// ScattersmithMarkerSizemode 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. +type ScattersmithMarkerSizemode string + +const ( + ScattersmithMarkerSizemodeDiameter ScattersmithMarkerSizemode = "diameter" + ScattersmithMarkerSizemodeArea ScattersmithMarkerSizemode = "area" +) + +// ScattersmithMarkerSymbol 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. +type ScattersmithMarkerSymbol interface{} + +var ( + ScattersmithMarkerSymbolNumber0 ScattersmithMarkerSymbol = 0 + ScattersmithMarkerSymbol0 ScattersmithMarkerSymbol = "0" + ScattersmithMarkerSymbolCircle ScattersmithMarkerSymbol = "circle" + ScattersmithMarkerSymbolNumber100 ScattersmithMarkerSymbol = 100 + ScattersmithMarkerSymbol100 ScattersmithMarkerSymbol = "100" + ScattersmithMarkerSymbolCircleOpen ScattersmithMarkerSymbol = "circle-open" + ScattersmithMarkerSymbolNumber200 ScattersmithMarkerSymbol = 200 + ScattersmithMarkerSymbol200 ScattersmithMarkerSymbol = "200" + ScattersmithMarkerSymbolCircleDot ScattersmithMarkerSymbol = "circle-dot" + ScattersmithMarkerSymbolNumber300 ScattersmithMarkerSymbol = 300 + ScattersmithMarkerSymbol300 ScattersmithMarkerSymbol = "300" + ScattersmithMarkerSymbolCircleOpenDot ScattersmithMarkerSymbol = "circle-open-dot" + ScattersmithMarkerSymbolNumber1 ScattersmithMarkerSymbol = 1 + ScattersmithMarkerSymbol1 ScattersmithMarkerSymbol = "1" + ScattersmithMarkerSymbolSquare ScattersmithMarkerSymbol = "square" + ScattersmithMarkerSymbolNumber101 ScattersmithMarkerSymbol = 101 + ScattersmithMarkerSymbol101 ScattersmithMarkerSymbol = "101" + ScattersmithMarkerSymbolSquareOpen ScattersmithMarkerSymbol = "square-open" + ScattersmithMarkerSymbolNumber201 ScattersmithMarkerSymbol = 201 + ScattersmithMarkerSymbol201 ScattersmithMarkerSymbol = "201" + ScattersmithMarkerSymbolSquareDot ScattersmithMarkerSymbol = "square-dot" + ScattersmithMarkerSymbolNumber301 ScattersmithMarkerSymbol = 301 + ScattersmithMarkerSymbol301 ScattersmithMarkerSymbol = "301" + ScattersmithMarkerSymbolSquareOpenDot ScattersmithMarkerSymbol = "square-open-dot" + ScattersmithMarkerSymbolNumber2 ScattersmithMarkerSymbol = 2 + ScattersmithMarkerSymbol2 ScattersmithMarkerSymbol = "2" + ScattersmithMarkerSymbolDiamond ScattersmithMarkerSymbol = "diamond" + ScattersmithMarkerSymbolNumber102 ScattersmithMarkerSymbol = 102 + ScattersmithMarkerSymbol102 ScattersmithMarkerSymbol = "102" + ScattersmithMarkerSymbolDiamondOpen ScattersmithMarkerSymbol = "diamond-open" + ScattersmithMarkerSymbolNumber202 ScattersmithMarkerSymbol = 202 + ScattersmithMarkerSymbol202 ScattersmithMarkerSymbol = "202" + ScattersmithMarkerSymbolDiamondDot ScattersmithMarkerSymbol = "diamond-dot" + ScattersmithMarkerSymbolNumber302 ScattersmithMarkerSymbol = 302 + ScattersmithMarkerSymbol302 ScattersmithMarkerSymbol = "302" + ScattersmithMarkerSymbolDiamondOpenDot ScattersmithMarkerSymbol = "diamond-open-dot" + ScattersmithMarkerSymbolNumber3 ScattersmithMarkerSymbol = 3 + ScattersmithMarkerSymbol3 ScattersmithMarkerSymbol = "3" + ScattersmithMarkerSymbolCross ScattersmithMarkerSymbol = "cross" + ScattersmithMarkerSymbolNumber103 ScattersmithMarkerSymbol = 103 + ScattersmithMarkerSymbol103 ScattersmithMarkerSymbol = "103" + ScattersmithMarkerSymbolCrossOpen ScattersmithMarkerSymbol = "cross-open" + ScattersmithMarkerSymbolNumber203 ScattersmithMarkerSymbol = 203 + ScattersmithMarkerSymbol203 ScattersmithMarkerSymbol = "203" + ScattersmithMarkerSymbolCrossDot ScattersmithMarkerSymbol = "cross-dot" + ScattersmithMarkerSymbolNumber303 ScattersmithMarkerSymbol = 303 + ScattersmithMarkerSymbol303 ScattersmithMarkerSymbol = "303" + ScattersmithMarkerSymbolCrossOpenDot ScattersmithMarkerSymbol = "cross-open-dot" + ScattersmithMarkerSymbolNumber4 ScattersmithMarkerSymbol = 4 + ScattersmithMarkerSymbol4 ScattersmithMarkerSymbol = "4" + ScattersmithMarkerSymbolX ScattersmithMarkerSymbol = "x" + ScattersmithMarkerSymbolNumber104 ScattersmithMarkerSymbol = 104 + ScattersmithMarkerSymbol104 ScattersmithMarkerSymbol = "104" + ScattersmithMarkerSymbolXOpen ScattersmithMarkerSymbol = "x-open" + ScattersmithMarkerSymbolNumber204 ScattersmithMarkerSymbol = 204 + ScattersmithMarkerSymbol204 ScattersmithMarkerSymbol = "204" + ScattersmithMarkerSymbolXDot ScattersmithMarkerSymbol = "x-dot" + ScattersmithMarkerSymbolNumber304 ScattersmithMarkerSymbol = 304 + ScattersmithMarkerSymbol304 ScattersmithMarkerSymbol = "304" + ScattersmithMarkerSymbolXOpenDot ScattersmithMarkerSymbol = "x-open-dot" + ScattersmithMarkerSymbolNumber5 ScattersmithMarkerSymbol = 5 + ScattersmithMarkerSymbol5 ScattersmithMarkerSymbol = "5" + ScattersmithMarkerSymbolTriangleUp ScattersmithMarkerSymbol = "triangle-up" + ScattersmithMarkerSymbolNumber105 ScattersmithMarkerSymbol = 105 + ScattersmithMarkerSymbol105 ScattersmithMarkerSymbol = "105" + ScattersmithMarkerSymbolTriangleUpOpen ScattersmithMarkerSymbol = "triangle-up-open" + ScattersmithMarkerSymbolNumber205 ScattersmithMarkerSymbol = 205 + ScattersmithMarkerSymbol205 ScattersmithMarkerSymbol = "205" + ScattersmithMarkerSymbolTriangleUpDot ScattersmithMarkerSymbol = "triangle-up-dot" + ScattersmithMarkerSymbolNumber305 ScattersmithMarkerSymbol = 305 + ScattersmithMarkerSymbol305 ScattersmithMarkerSymbol = "305" + ScattersmithMarkerSymbolTriangleUpOpenDot ScattersmithMarkerSymbol = "triangle-up-open-dot" + ScattersmithMarkerSymbolNumber6 ScattersmithMarkerSymbol = 6 + ScattersmithMarkerSymbol6 ScattersmithMarkerSymbol = "6" + ScattersmithMarkerSymbolTriangleDown ScattersmithMarkerSymbol = "triangle-down" + ScattersmithMarkerSymbolNumber106 ScattersmithMarkerSymbol = 106 + ScattersmithMarkerSymbol106 ScattersmithMarkerSymbol = "106" + ScattersmithMarkerSymbolTriangleDownOpen ScattersmithMarkerSymbol = "triangle-down-open" + ScattersmithMarkerSymbolNumber206 ScattersmithMarkerSymbol = 206 + ScattersmithMarkerSymbol206 ScattersmithMarkerSymbol = "206" + ScattersmithMarkerSymbolTriangleDownDot ScattersmithMarkerSymbol = "triangle-down-dot" + ScattersmithMarkerSymbolNumber306 ScattersmithMarkerSymbol = 306 + ScattersmithMarkerSymbol306 ScattersmithMarkerSymbol = "306" + ScattersmithMarkerSymbolTriangleDownOpenDot ScattersmithMarkerSymbol = "triangle-down-open-dot" + ScattersmithMarkerSymbolNumber7 ScattersmithMarkerSymbol = 7 + ScattersmithMarkerSymbol7 ScattersmithMarkerSymbol = "7" + ScattersmithMarkerSymbolTriangleLeft ScattersmithMarkerSymbol = "triangle-left" + ScattersmithMarkerSymbolNumber107 ScattersmithMarkerSymbol = 107 + ScattersmithMarkerSymbol107 ScattersmithMarkerSymbol = "107" + ScattersmithMarkerSymbolTriangleLeftOpen ScattersmithMarkerSymbol = "triangle-left-open" + ScattersmithMarkerSymbolNumber207 ScattersmithMarkerSymbol = 207 + ScattersmithMarkerSymbol207 ScattersmithMarkerSymbol = "207" + ScattersmithMarkerSymbolTriangleLeftDot ScattersmithMarkerSymbol = "triangle-left-dot" + ScattersmithMarkerSymbolNumber307 ScattersmithMarkerSymbol = 307 + ScattersmithMarkerSymbol307 ScattersmithMarkerSymbol = "307" + ScattersmithMarkerSymbolTriangleLeftOpenDot ScattersmithMarkerSymbol = "triangle-left-open-dot" + ScattersmithMarkerSymbolNumber8 ScattersmithMarkerSymbol = 8 + ScattersmithMarkerSymbol8 ScattersmithMarkerSymbol = "8" + ScattersmithMarkerSymbolTriangleRight ScattersmithMarkerSymbol = "triangle-right" + ScattersmithMarkerSymbolNumber108 ScattersmithMarkerSymbol = 108 + ScattersmithMarkerSymbol108 ScattersmithMarkerSymbol = "108" + ScattersmithMarkerSymbolTriangleRightOpen ScattersmithMarkerSymbol = "triangle-right-open" + ScattersmithMarkerSymbolNumber208 ScattersmithMarkerSymbol = 208 + ScattersmithMarkerSymbol208 ScattersmithMarkerSymbol = "208" + ScattersmithMarkerSymbolTriangleRightDot ScattersmithMarkerSymbol = "triangle-right-dot" + ScattersmithMarkerSymbolNumber308 ScattersmithMarkerSymbol = 308 + ScattersmithMarkerSymbol308 ScattersmithMarkerSymbol = "308" + ScattersmithMarkerSymbolTriangleRightOpenDot ScattersmithMarkerSymbol = "triangle-right-open-dot" + ScattersmithMarkerSymbolNumber9 ScattersmithMarkerSymbol = 9 + ScattersmithMarkerSymbol9 ScattersmithMarkerSymbol = "9" + ScattersmithMarkerSymbolTriangleNe ScattersmithMarkerSymbol = "triangle-ne" + ScattersmithMarkerSymbolNumber109 ScattersmithMarkerSymbol = 109 + ScattersmithMarkerSymbol109 ScattersmithMarkerSymbol = "109" + ScattersmithMarkerSymbolTriangleNeOpen ScattersmithMarkerSymbol = "triangle-ne-open" + ScattersmithMarkerSymbolNumber209 ScattersmithMarkerSymbol = 209 + ScattersmithMarkerSymbol209 ScattersmithMarkerSymbol = "209" + ScattersmithMarkerSymbolTriangleNeDot ScattersmithMarkerSymbol = "triangle-ne-dot" + ScattersmithMarkerSymbolNumber309 ScattersmithMarkerSymbol = 309 + ScattersmithMarkerSymbol309 ScattersmithMarkerSymbol = "309" + ScattersmithMarkerSymbolTriangleNeOpenDot ScattersmithMarkerSymbol = "triangle-ne-open-dot" + ScattersmithMarkerSymbolNumber10 ScattersmithMarkerSymbol = 10 + ScattersmithMarkerSymbol10 ScattersmithMarkerSymbol = "10" + ScattersmithMarkerSymbolTriangleSe ScattersmithMarkerSymbol = "triangle-se" + ScattersmithMarkerSymbolNumber110 ScattersmithMarkerSymbol = 110 + ScattersmithMarkerSymbol110 ScattersmithMarkerSymbol = "110" + ScattersmithMarkerSymbolTriangleSeOpen ScattersmithMarkerSymbol = "triangle-se-open" + ScattersmithMarkerSymbolNumber210 ScattersmithMarkerSymbol = 210 + ScattersmithMarkerSymbol210 ScattersmithMarkerSymbol = "210" + ScattersmithMarkerSymbolTriangleSeDot ScattersmithMarkerSymbol = "triangle-se-dot" + ScattersmithMarkerSymbolNumber310 ScattersmithMarkerSymbol = 310 + ScattersmithMarkerSymbol310 ScattersmithMarkerSymbol = "310" + ScattersmithMarkerSymbolTriangleSeOpenDot ScattersmithMarkerSymbol = "triangle-se-open-dot" + ScattersmithMarkerSymbolNumber11 ScattersmithMarkerSymbol = 11 + ScattersmithMarkerSymbol11 ScattersmithMarkerSymbol = "11" + ScattersmithMarkerSymbolTriangleSw ScattersmithMarkerSymbol = "triangle-sw" + ScattersmithMarkerSymbolNumber111 ScattersmithMarkerSymbol = 111 + ScattersmithMarkerSymbol111 ScattersmithMarkerSymbol = "111" + ScattersmithMarkerSymbolTriangleSwOpen ScattersmithMarkerSymbol = "triangle-sw-open" + ScattersmithMarkerSymbolNumber211 ScattersmithMarkerSymbol = 211 + ScattersmithMarkerSymbol211 ScattersmithMarkerSymbol = "211" + ScattersmithMarkerSymbolTriangleSwDot ScattersmithMarkerSymbol = "triangle-sw-dot" + ScattersmithMarkerSymbolNumber311 ScattersmithMarkerSymbol = 311 + ScattersmithMarkerSymbol311 ScattersmithMarkerSymbol = "311" + ScattersmithMarkerSymbolTriangleSwOpenDot ScattersmithMarkerSymbol = "triangle-sw-open-dot" + ScattersmithMarkerSymbolNumber12 ScattersmithMarkerSymbol = 12 + ScattersmithMarkerSymbol12 ScattersmithMarkerSymbol = "12" + ScattersmithMarkerSymbolTriangleNw ScattersmithMarkerSymbol = "triangle-nw" + ScattersmithMarkerSymbolNumber112 ScattersmithMarkerSymbol = 112 + ScattersmithMarkerSymbol112 ScattersmithMarkerSymbol = "112" + ScattersmithMarkerSymbolTriangleNwOpen ScattersmithMarkerSymbol = "triangle-nw-open" + ScattersmithMarkerSymbolNumber212 ScattersmithMarkerSymbol = 212 + ScattersmithMarkerSymbol212 ScattersmithMarkerSymbol = "212" + ScattersmithMarkerSymbolTriangleNwDot ScattersmithMarkerSymbol = "triangle-nw-dot" + ScattersmithMarkerSymbolNumber312 ScattersmithMarkerSymbol = 312 + ScattersmithMarkerSymbol312 ScattersmithMarkerSymbol = "312" + ScattersmithMarkerSymbolTriangleNwOpenDot ScattersmithMarkerSymbol = "triangle-nw-open-dot" + ScattersmithMarkerSymbolNumber13 ScattersmithMarkerSymbol = 13 + ScattersmithMarkerSymbol13 ScattersmithMarkerSymbol = "13" + ScattersmithMarkerSymbolPentagon ScattersmithMarkerSymbol = "pentagon" + ScattersmithMarkerSymbolNumber113 ScattersmithMarkerSymbol = 113 + ScattersmithMarkerSymbol113 ScattersmithMarkerSymbol = "113" + ScattersmithMarkerSymbolPentagonOpen ScattersmithMarkerSymbol = "pentagon-open" + ScattersmithMarkerSymbolNumber213 ScattersmithMarkerSymbol = 213 + ScattersmithMarkerSymbol213 ScattersmithMarkerSymbol = "213" + ScattersmithMarkerSymbolPentagonDot ScattersmithMarkerSymbol = "pentagon-dot" + ScattersmithMarkerSymbolNumber313 ScattersmithMarkerSymbol = 313 + ScattersmithMarkerSymbol313 ScattersmithMarkerSymbol = "313" + ScattersmithMarkerSymbolPentagonOpenDot ScattersmithMarkerSymbol = "pentagon-open-dot" + ScattersmithMarkerSymbolNumber14 ScattersmithMarkerSymbol = 14 + ScattersmithMarkerSymbol14 ScattersmithMarkerSymbol = "14" + ScattersmithMarkerSymbolHexagon ScattersmithMarkerSymbol = "hexagon" + ScattersmithMarkerSymbolNumber114 ScattersmithMarkerSymbol = 114 + ScattersmithMarkerSymbol114 ScattersmithMarkerSymbol = "114" + ScattersmithMarkerSymbolHexagonOpen ScattersmithMarkerSymbol = "hexagon-open" + ScattersmithMarkerSymbolNumber214 ScattersmithMarkerSymbol = 214 + ScattersmithMarkerSymbol214 ScattersmithMarkerSymbol = "214" + ScattersmithMarkerSymbolHexagonDot ScattersmithMarkerSymbol = "hexagon-dot" + ScattersmithMarkerSymbolNumber314 ScattersmithMarkerSymbol = 314 + ScattersmithMarkerSymbol314 ScattersmithMarkerSymbol = "314" + ScattersmithMarkerSymbolHexagonOpenDot ScattersmithMarkerSymbol = "hexagon-open-dot" + ScattersmithMarkerSymbolNumber15 ScattersmithMarkerSymbol = 15 + ScattersmithMarkerSymbol15 ScattersmithMarkerSymbol = "15" + ScattersmithMarkerSymbolHexagon2 ScattersmithMarkerSymbol = "hexagon2" + ScattersmithMarkerSymbolNumber115 ScattersmithMarkerSymbol = 115 + ScattersmithMarkerSymbol115 ScattersmithMarkerSymbol = "115" + ScattersmithMarkerSymbolHexagon2Open ScattersmithMarkerSymbol = "hexagon2-open" + ScattersmithMarkerSymbolNumber215 ScattersmithMarkerSymbol = 215 + ScattersmithMarkerSymbol215 ScattersmithMarkerSymbol = "215" + ScattersmithMarkerSymbolHexagon2Dot ScattersmithMarkerSymbol = "hexagon2-dot" + ScattersmithMarkerSymbolNumber315 ScattersmithMarkerSymbol = 315 + ScattersmithMarkerSymbol315 ScattersmithMarkerSymbol = "315" + ScattersmithMarkerSymbolHexagon2OpenDot ScattersmithMarkerSymbol = "hexagon2-open-dot" + ScattersmithMarkerSymbolNumber16 ScattersmithMarkerSymbol = 16 + ScattersmithMarkerSymbol16 ScattersmithMarkerSymbol = "16" + ScattersmithMarkerSymbolOctagon ScattersmithMarkerSymbol = "octagon" + ScattersmithMarkerSymbolNumber116 ScattersmithMarkerSymbol = 116 + ScattersmithMarkerSymbol116 ScattersmithMarkerSymbol = "116" + ScattersmithMarkerSymbolOctagonOpen ScattersmithMarkerSymbol = "octagon-open" + ScattersmithMarkerSymbolNumber216 ScattersmithMarkerSymbol = 216 + ScattersmithMarkerSymbol216 ScattersmithMarkerSymbol = "216" + ScattersmithMarkerSymbolOctagonDot ScattersmithMarkerSymbol = "octagon-dot" + ScattersmithMarkerSymbolNumber316 ScattersmithMarkerSymbol = 316 + ScattersmithMarkerSymbol316 ScattersmithMarkerSymbol = "316" + ScattersmithMarkerSymbolOctagonOpenDot ScattersmithMarkerSymbol = "octagon-open-dot" + ScattersmithMarkerSymbolNumber17 ScattersmithMarkerSymbol = 17 + ScattersmithMarkerSymbol17 ScattersmithMarkerSymbol = "17" + ScattersmithMarkerSymbolStar ScattersmithMarkerSymbol = "star" + ScattersmithMarkerSymbolNumber117 ScattersmithMarkerSymbol = 117 + ScattersmithMarkerSymbol117 ScattersmithMarkerSymbol = "117" + ScattersmithMarkerSymbolStarOpen ScattersmithMarkerSymbol = "star-open" + ScattersmithMarkerSymbolNumber217 ScattersmithMarkerSymbol = 217 + ScattersmithMarkerSymbol217 ScattersmithMarkerSymbol = "217" + ScattersmithMarkerSymbolStarDot ScattersmithMarkerSymbol = "star-dot" + ScattersmithMarkerSymbolNumber317 ScattersmithMarkerSymbol = 317 + ScattersmithMarkerSymbol317 ScattersmithMarkerSymbol = "317" + ScattersmithMarkerSymbolStarOpenDot ScattersmithMarkerSymbol = "star-open-dot" + ScattersmithMarkerSymbolNumber18 ScattersmithMarkerSymbol = 18 + ScattersmithMarkerSymbol18 ScattersmithMarkerSymbol = "18" + ScattersmithMarkerSymbolHexagram ScattersmithMarkerSymbol = "hexagram" + ScattersmithMarkerSymbolNumber118 ScattersmithMarkerSymbol = 118 + ScattersmithMarkerSymbol118 ScattersmithMarkerSymbol = "118" + ScattersmithMarkerSymbolHexagramOpen ScattersmithMarkerSymbol = "hexagram-open" + ScattersmithMarkerSymbolNumber218 ScattersmithMarkerSymbol = 218 + ScattersmithMarkerSymbol218 ScattersmithMarkerSymbol = "218" + ScattersmithMarkerSymbolHexagramDot ScattersmithMarkerSymbol = "hexagram-dot" + ScattersmithMarkerSymbolNumber318 ScattersmithMarkerSymbol = 318 + ScattersmithMarkerSymbol318 ScattersmithMarkerSymbol = "318" + ScattersmithMarkerSymbolHexagramOpenDot ScattersmithMarkerSymbol = "hexagram-open-dot" + ScattersmithMarkerSymbolNumber19 ScattersmithMarkerSymbol = 19 + ScattersmithMarkerSymbol19 ScattersmithMarkerSymbol = "19" + ScattersmithMarkerSymbolStarTriangleUp ScattersmithMarkerSymbol = "star-triangle-up" + ScattersmithMarkerSymbolNumber119 ScattersmithMarkerSymbol = 119 + ScattersmithMarkerSymbol119 ScattersmithMarkerSymbol = "119" + ScattersmithMarkerSymbolStarTriangleUpOpen ScattersmithMarkerSymbol = "star-triangle-up-open" + ScattersmithMarkerSymbolNumber219 ScattersmithMarkerSymbol = 219 + ScattersmithMarkerSymbol219 ScattersmithMarkerSymbol = "219" + ScattersmithMarkerSymbolStarTriangleUpDot ScattersmithMarkerSymbol = "star-triangle-up-dot" + ScattersmithMarkerSymbolNumber319 ScattersmithMarkerSymbol = 319 + ScattersmithMarkerSymbol319 ScattersmithMarkerSymbol = "319" + ScattersmithMarkerSymbolStarTriangleUpOpenDot ScattersmithMarkerSymbol = "star-triangle-up-open-dot" + ScattersmithMarkerSymbolNumber20 ScattersmithMarkerSymbol = 20 + ScattersmithMarkerSymbol20 ScattersmithMarkerSymbol = "20" + ScattersmithMarkerSymbolStarTriangleDown ScattersmithMarkerSymbol = "star-triangle-down" + ScattersmithMarkerSymbolNumber120 ScattersmithMarkerSymbol = 120 + ScattersmithMarkerSymbol120 ScattersmithMarkerSymbol = "120" + ScattersmithMarkerSymbolStarTriangleDownOpen ScattersmithMarkerSymbol = "star-triangle-down-open" + ScattersmithMarkerSymbolNumber220 ScattersmithMarkerSymbol = 220 + ScattersmithMarkerSymbol220 ScattersmithMarkerSymbol = "220" + ScattersmithMarkerSymbolStarTriangleDownDot ScattersmithMarkerSymbol = "star-triangle-down-dot" + ScattersmithMarkerSymbolNumber320 ScattersmithMarkerSymbol = 320 + ScattersmithMarkerSymbol320 ScattersmithMarkerSymbol = "320" + ScattersmithMarkerSymbolStarTriangleDownOpenDot ScattersmithMarkerSymbol = "star-triangle-down-open-dot" + ScattersmithMarkerSymbolNumber21 ScattersmithMarkerSymbol = 21 + ScattersmithMarkerSymbol21 ScattersmithMarkerSymbol = "21" + ScattersmithMarkerSymbolStarSquare ScattersmithMarkerSymbol = "star-square" + ScattersmithMarkerSymbolNumber121 ScattersmithMarkerSymbol = 121 + ScattersmithMarkerSymbol121 ScattersmithMarkerSymbol = "121" + ScattersmithMarkerSymbolStarSquareOpen ScattersmithMarkerSymbol = "star-square-open" + ScattersmithMarkerSymbolNumber221 ScattersmithMarkerSymbol = 221 + ScattersmithMarkerSymbol221 ScattersmithMarkerSymbol = "221" + ScattersmithMarkerSymbolStarSquareDot ScattersmithMarkerSymbol = "star-square-dot" + ScattersmithMarkerSymbolNumber321 ScattersmithMarkerSymbol = 321 + ScattersmithMarkerSymbol321 ScattersmithMarkerSymbol = "321" + ScattersmithMarkerSymbolStarSquareOpenDot ScattersmithMarkerSymbol = "star-square-open-dot" + ScattersmithMarkerSymbolNumber22 ScattersmithMarkerSymbol = 22 + ScattersmithMarkerSymbol22 ScattersmithMarkerSymbol = "22" + ScattersmithMarkerSymbolStarDiamond ScattersmithMarkerSymbol = "star-diamond" + ScattersmithMarkerSymbolNumber122 ScattersmithMarkerSymbol = 122 + ScattersmithMarkerSymbol122 ScattersmithMarkerSymbol = "122" + ScattersmithMarkerSymbolStarDiamondOpen ScattersmithMarkerSymbol = "star-diamond-open" + ScattersmithMarkerSymbolNumber222 ScattersmithMarkerSymbol = 222 + ScattersmithMarkerSymbol222 ScattersmithMarkerSymbol = "222" + ScattersmithMarkerSymbolStarDiamondDot ScattersmithMarkerSymbol = "star-diamond-dot" + ScattersmithMarkerSymbolNumber322 ScattersmithMarkerSymbol = 322 + ScattersmithMarkerSymbol322 ScattersmithMarkerSymbol = "322" + ScattersmithMarkerSymbolStarDiamondOpenDot ScattersmithMarkerSymbol = "star-diamond-open-dot" + ScattersmithMarkerSymbolNumber23 ScattersmithMarkerSymbol = 23 + ScattersmithMarkerSymbol23 ScattersmithMarkerSymbol = "23" + ScattersmithMarkerSymbolDiamondTall ScattersmithMarkerSymbol = "diamond-tall" + ScattersmithMarkerSymbolNumber123 ScattersmithMarkerSymbol = 123 + ScattersmithMarkerSymbol123 ScattersmithMarkerSymbol = "123" + ScattersmithMarkerSymbolDiamondTallOpen ScattersmithMarkerSymbol = "diamond-tall-open" + ScattersmithMarkerSymbolNumber223 ScattersmithMarkerSymbol = 223 + ScattersmithMarkerSymbol223 ScattersmithMarkerSymbol = "223" + ScattersmithMarkerSymbolDiamondTallDot ScattersmithMarkerSymbol = "diamond-tall-dot" + ScattersmithMarkerSymbolNumber323 ScattersmithMarkerSymbol = 323 + ScattersmithMarkerSymbol323 ScattersmithMarkerSymbol = "323" + ScattersmithMarkerSymbolDiamondTallOpenDot ScattersmithMarkerSymbol = "diamond-tall-open-dot" + ScattersmithMarkerSymbolNumber24 ScattersmithMarkerSymbol = 24 + ScattersmithMarkerSymbol24 ScattersmithMarkerSymbol = "24" + ScattersmithMarkerSymbolDiamondWide ScattersmithMarkerSymbol = "diamond-wide" + ScattersmithMarkerSymbolNumber124 ScattersmithMarkerSymbol = 124 + ScattersmithMarkerSymbol124 ScattersmithMarkerSymbol = "124" + ScattersmithMarkerSymbolDiamondWideOpen ScattersmithMarkerSymbol = "diamond-wide-open" + ScattersmithMarkerSymbolNumber224 ScattersmithMarkerSymbol = 224 + ScattersmithMarkerSymbol224 ScattersmithMarkerSymbol = "224" + ScattersmithMarkerSymbolDiamondWideDot ScattersmithMarkerSymbol = "diamond-wide-dot" + ScattersmithMarkerSymbolNumber324 ScattersmithMarkerSymbol = 324 + ScattersmithMarkerSymbol324 ScattersmithMarkerSymbol = "324" + ScattersmithMarkerSymbolDiamondWideOpenDot ScattersmithMarkerSymbol = "diamond-wide-open-dot" + ScattersmithMarkerSymbolNumber25 ScattersmithMarkerSymbol = 25 + ScattersmithMarkerSymbol25 ScattersmithMarkerSymbol = "25" + ScattersmithMarkerSymbolHourglass ScattersmithMarkerSymbol = "hourglass" + ScattersmithMarkerSymbolNumber125 ScattersmithMarkerSymbol = 125 + ScattersmithMarkerSymbol125 ScattersmithMarkerSymbol = "125" + ScattersmithMarkerSymbolHourglassOpen ScattersmithMarkerSymbol = "hourglass-open" + ScattersmithMarkerSymbolNumber26 ScattersmithMarkerSymbol = 26 + ScattersmithMarkerSymbol26 ScattersmithMarkerSymbol = "26" + ScattersmithMarkerSymbolBowtie ScattersmithMarkerSymbol = "bowtie" + ScattersmithMarkerSymbolNumber126 ScattersmithMarkerSymbol = 126 + ScattersmithMarkerSymbol126 ScattersmithMarkerSymbol = "126" + ScattersmithMarkerSymbolBowtieOpen ScattersmithMarkerSymbol = "bowtie-open" + ScattersmithMarkerSymbolNumber27 ScattersmithMarkerSymbol = 27 + ScattersmithMarkerSymbol27 ScattersmithMarkerSymbol = "27" + ScattersmithMarkerSymbolCircleCross ScattersmithMarkerSymbol = "circle-cross" + ScattersmithMarkerSymbolNumber127 ScattersmithMarkerSymbol = 127 + ScattersmithMarkerSymbol127 ScattersmithMarkerSymbol = "127" + ScattersmithMarkerSymbolCircleCrossOpen ScattersmithMarkerSymbol = "circle-cross-open" + ScattersmithMarkerSymbolNumber28 ScattersmithMarkerSymbol = 28 + ScattersmithMarkerSymbol28 ScattersmithMarkerSymbol = "28" + ScattersmithMarkerSymbolCircleX ScattersmithMarkerSymbol = "circle-x" + ScattersmithMarkerSymbolNumber128 ScattersmithMarkerSymbol = 128 + ScattersmithMarkerSymbol128 ScattersmithMarkerSymbol = "128" + ScattersmithMarkerSymbolCircleXOpen ScattersmithMarkerSymbol = "circle-x-open" + ScattersmithMarkerSymbolNumber29 ScattersmithMarkerSymbol = 29 + ScattersmithMarkerSymbol29 ScattersmithMarkerSymbol = "29" + ScattersmithMarkerSymbolSquareCross ScattersmithMarkerSymbol = "square-cross" + ScattersmithMarkerSymbolNumber129 ScattersmithMarkerSymbol = 129 + ScattersmithMarkerSymbol129 ScattersmithMarkerSymbol = "129" + ScattersmithMarkerSymbolSquareCrossOpen ScattersmithMarkerSymbol = "square-cross-open" + ScattersmithMarkerSymbolNumber30 ScattersmithMarkerSymbol = 30 + ScattersmithMarkerSymbol30 ScattersmithMarkerSymbol = "30" + ScattersmithMarkerSymbolSquareX ScattersmithMarkerSymbol = "square-x" + ScattersmithMarkerSymbolNumber130 ScattersmithMarkerSymbol = 130 + ScattersmithMarkerSymbol130 ScattersmithMarkerSymbol = "130" + ScattersmithMarkerSymbolSquareXOpen ScattersmithMarkerSymbol = "square-x-open" + ScattersmithMarkerSymbolNumber31 ScattersmithMarkerSymbol = 31 + ScattersmithMarkerSymbol31 ScattersmithMarkerSymbol = "31" + ScattersmithMarkerSymbolDiamondCross ScattersmithMarkerSymbol = "diamond-cross" + ScattersmithMarkerSymbolNumber131 ScattersmithMarkerSymbol = 131 + ScattersmithMarkerSymbol131 ScattersmithMarkerSymbol = "131" + ScattersmithMarkerSymbolDiamondCrossOpen ScattersmithMarkerSymbol = "diamond-cross-open" + ScattersmithMarkerSymbolNumber32 ScattersmithMarkerSymbol = 32 + ScattersmithMarkerSymbol32 ScattersmithMarkerSymbol = "32" + ScattersmithMarkerSymbolDiamondX ScattersmithMarkerSymbol = "diamond-x" + ScattersmithMarkerSymbolNumber132 ScattersmithMarkerSymbol = 132 + ScattersmithMarkerSymbol132 ScattersmithMarkerSymbol = "132" + ScattersmithMarkerSymbolDiamondXOpen ScattersmithMarkerSymbol = "diamond-x-open" + ScattersmithMarkerSymbolNumber33 ScattersmithMarkerSymbol = 33 + ScattersmithMarkerSymbol33 ScattersmithMarkerSymbol = "33" + ScattersmithMarkerSymbolCrossThin ScattersmithMarkerSymbol = "cross-thin" + ScattersmithMarkerSymbolNumber133 ScattersmithMarkerSymbol = 133 + ScattersmithMarkerSymbol133 ScattersmithMarkerSymbol = "133" + ScattersmithMarkerSymbolCrossThinOpen ScattersmithMarkerSymbol = "cross-thin-open" + ScattersmithMarkerSymbolNumber34 ScattersmithMarkerSymbol = 34 + ScattersmithMarkerSymbol34 ScattersmithMarkerSymbol = "34" + ScattersmithMarkerSymbolXThin ScattersmithMarkerSymbol = "x-thin" + ScattersmithMarkerSymbolNumber134 ScattersmithMarkerSymbol = 134 + ScattersmithMarkerSymbol134 ScattersmithMarkerSymbol = "134" + ScattersmithMarkerSymbolXThinOpen ScattersmithMarkerSymbol = "x-thin-open" + ScattersmithMarkerSymbolNumber35 ScattersmithMarkerSymbol = 35 + ScattersmithMarkerSymbol35 ScattersmithMarkerSymbol = "35" + ScattersmithMarkerSymbolAsterisk ScattersmithMarkerSymbol = "asterisk" + ScattersmithMarkerSymbolNumber135 ScattersmithMarkerSymbol = 135 + ScattersmithMarkerSymbol135 ScattersmithMarkerSymbol = "135" + ScattersmithMarkerSymbolAsteriskOpen ScattersmithMarkerSymbol = "asterisk-open" + ScattersmithMarkerSymbolNumber36 ScattersmithMarkerSymbol = 36 + ScattersmithMarkerSymbol36 ScattersmithMarkerSymbol = "36" + ScattersmithMarkerSymbolHash ScattersmithMarkerSymbol = "hash" + ScattersmithMarkerSymbolNumber136 ScattersmithMarkerSymbol = 136 + ScattersmithMarkerSymbol136 ScattersmithMarkerSymbol = "136" + ScattersmithMarkerSymbolHashOpen ScattersmithMarkerSymbol = "hash-open" + ScattersmithMarkerSymbolNumber236 ScattersmithMarkerSymbol = 236 + ScattersmithMarkerSymbol236 ScattersmithMarkerSymbol = "236" + ScattersmithMarkerSymbolHashDot ScattersmithMarkerSymbol = "hash-dot" + ScattersmithMarkerSymbolNumber336 ScattersmithMarkerSymbol = 336 + ScattersmithMarkerSymbol336 ScattersmithMarkerSymbol = "336" + ScattersmithMarkerSymbolHashOpenDot ScattersmithMarkerSymbol = "hash-open-dot" + ScattersmithMarkerSymbolNumber37 ScattersmithMarkerSymbol = 37 + ScattersmithMarkerSymbol37 ScattersmithMarkerSymbol = "37" + ScattersmithMarkerSymbolYUp ScattersmithMarkerSymbol = "y-up" + ScattersmithMarkerSymbolNumber137 ScattersmithMarkerSymbol = 137 + ScattersmithMarkerSymbol137 ScattersmithMarkerSymbol = "137" + ScattersmithMarkerSymbolYUpOpen ScattersmithMarkerSymbol = "y-up-open" + ScattersmithMarkerSymbolNumber38 ScattersmithMarkerSymbol = 38 + ScattersmithMarkerSymbol38 ScattersmithMarkerSymbol = "38" + ScattersmithMarkerSymbolYDown ScattersmithMarkerSymbol = "y-down" + ScattersmithMarkerSymbolNumber138 ScattersmithMarkerSymbol = 138 + ScattersmithMarkerSymbol138 ScattersmithMarkerSymbol = "138" + ScattersmithMarkerSymbolYDownOpen ScattersmithMarkerSymbol = "y-down-open" + ScattersmithMarkerSymbolNumber39 ScattersmithMarkerSymbol = 39 + ScattersmithMarkerSymbol39 ScattersmithMarkerSymbol = "39" + ScattersmithMarkerSymbolYLeft ScattersmithMarkerSymbol = "y-left" + ScattersmithMarkerSymbolNumber139 ScattersmithMarkerSymbol = 139 + ScattersmithMarkerSymbol139 ScattersmithMarkerSymbol = "139" + ScattersmithMarkerSymbolYLeftOpen ScattersmithMarkerSymbol = "y-left-open" + ScattersmithMarkerSymbolNumber40 ScattersmithMarkerSymbol = 40 + ScattersmithMarkerSymbol40 ScattersmithMarkerSymbol = "40" + ScattersmithMarkerSymbolYRight ScattersmithMarkerSymbol = "y-right" + ScattersmithMarkerSymbolNumber140 ScattersmithMarkerSymbol = 140 + ScattersmithMarkerSymbol140 ScattersmithMarkerSymbol = "140" + ScattersmithMarkerSymbolYRightOpen ScattersmithMarkerSymbol = "y-right-open" + ScattersmithMarkerSymbolNumber41 ScattersmithMarkerSymbol = 41 + ScattersmithMarkerSymbol41 ScattersmithMarkerSymbol = "41" + ScattersmithMarkerSymbolLineEw ScattersmithMarkerSymbol = "line-ew" + ScattersmithMarkerSymbolNumber141 ScattersmithMarkerSymbol = 141 + ScattersmithMarkerSymbol141 ScattersmithMarkerSymbol = "141" + ScattersmithMarkerSymbolLineEwOpen ScattersmithMarkerSymbol = "line-ew-open" + ScattersmithMarkerSymbolNumber42 ScattersmithMarkerSymbol = 42 + ScattersmithMarkerSymbol42 ScattersmithMarkerSymbol = "42" + ScattersmithMarkerSymbolLineNs ScattersmithMarkerSymbol = "line-ns" + ScattersmithMarkerSymbolNumber142 ScattersmithMarkerSymbol = 142 + ScattersmithMarkerSymbol142 ScattersmithMarkerSymbol = "142" + ScattersmithMarkerSymbolLineNsOpen ScattersmithMarkerSymbol = "line-ns-open" + ScattersmithMarkerSymbolNumber43 ScattersmithMarkerSymbol = 43 + ScattersmithMarkerSymbol43 ScattersmithMarkerSymbol = "43" + ScattersmithMarkerSymbolLineNe ScattersmithMarkerSymbol = "line-ne" + ScattersmithMarkerSymbolNumber143 ScattersmithMarkerSymbol = 143 + ScattersmithMarkerSymbol143 ScattersmithMarkerSymbol = "143" + ScattersmithMarkerSymbolLineNeOpen ScattersmithMarkerSymbol = "line-ne-open" + ScattersmithMarkerSymbolNumber44 ScattersmithMarkerSymbol = 44 + ScattersmithMarkerSymbol44 ScattersmithMarkerSymbol = "44" + ScattersmithMarkerSymbolLineNw ScattersmithMarkerSymbol = "line-nw" + ScattersmithMarkerSymbolNumber144 ScattersmithMarkerSymbol = 144 + ScattersmithMarkerSymbol144 ScattersmithMarkerSymbol = "144" + ScattersmithMarkerSymbolLineNwOpen ScattersmithMarkerSymbol = "line-nw-open" + ScattersmithMarkerSymbolNumber45 ScattersmithMarkerSymbol = 45 + ScattersmithMarkerSymbol45 ScattersmithMarkerSymbol = "45" + ScattersmithMarkerSymbolArrowUp ScattersmithMarkerSymbol = "arrow-up" + ScattersmithMarkerSymbolNumber145 ScattersmithMarkerSymbol = 145 + ScattersmithMarkerSymbol145 ScattersmithMarkerSymbol = "145" + ScattersmithMarkerSymbolArrowUpOpen ScattersmithMarkerSymbol = "arrow-up-open" + ScattersmithMarkerSymbolNumber46 ScattersmithMarkerSymbol = 46 + ScattersmithMarkerSymbol46 ScattersmithMarkerSymbol = "46" + ScattersmithMarkerSymbolArrowDown ScattersmithMarkerSymbol = "arrow-down" + ScattersmithMarkerSymbolNumber146 ScattersmithMarkerSymbol = 146 + ScattersmithMarkerSymbol146 ScattersmithMarkerSymbol = "146" + ScattersmithMarkerSymbolArrowDownOpen ScattersmithMarkerSymbol = "arrow-down-open" + ScattersmithMarkerSymbolNumber47 ScattersmithMarkerSymbol = 47 + ScattersmithMarkerSymbol47 ScattersmithMarkerSymbol = "47" + ScattersmithMarkerSymbolArrowLeft ScattersmithMarkerSymbol = "arrow-left" + ScattersmithMarkerSymbolNumber147 ScattersmithMarkerSymbol = 147 + ScattersmithMarkerSymbol147 ScattersmithMarkerSymbol = "147" + ScattersmithMarkerSymbolArrowLeftOpen ScattersmithMarkerSymbol = "arrow-left-open" + ScattersmithMarkerSymbolNumber48 ScattersmithMarkerSymbol = 48 + ScattersmithMarkerSymbol48 ScattersmithMarkerSymbol = "48" + ScattersmithMarkerSymbolArrowRight ScattersmithMarkerSymbol = "arrow-right" + ScattersmithMarkerSymbolNumber148 ScattersmithMarkerSymbol = 148 + ScattersmithMarkerSymbol148 ScattersmithMarkerSymbol = "148" + ScattersmithMarkerSymbolArrowRightOpen ScattersmithMarkerSymbol = "arrow-right-open" + ScattersmithMarkerSymbolNumber49 ScattersmithMarkerSymbol = 49 + ScattersmithMarkerSymbol49 ScattersmithMarkerSymbol = "49" + ScattersmithMarkerSymbolArrowBarUp ScattersmithMarkerSymbol = "arrow-bar-up" + ScattersmithMarkerSymbolNumber149 ScattersmithMarkerSymbol = 149 + ScattersmithMarkerSymbol149 ScattersmithMarkerSymbol = "149" + ScattersmithMarkerSymbolArrowBarUpOpen ScattersmithMarkerSymbol = "arrow-bar-up-open" + ScattersmithMarkerSymbolNumber50 ScattersmithMarkerSymbol = 50 + ScattersmithMarkerSymbol50 ScattersmithMarkerSymbol = "50" + ScattersmithMarkerSymbolArrowBarDown ScattersmithMarkerSymbol = "arrow-bar-down" + ScattersmithMarkerSymbolNumber150 ScattersmithMarkerSymbol = 150 + ScattersmithMarkerSymbol150 ScattersmithMarkerSymbol = "150" + ScattersmithMarkerSymbolArrowBarDownOpen ScattersmithMarkerSymbol = "arrow-bar-down-open" + ScattersmithMarkerSymbolNumber51 ScattersmithMarkerSymbol = 51 + ScattersmithMarkerSymbol51 ScattersmithMarkerSymbol = "51" + ScattersmithMarkerSymbolArrowBarLeft ScattersmithMarkerSymbol = "arrow-bar-left" + ScattersmithMarkerSymbolNumber151 ScattersmithMarkerSymbol = 151 + ScattersmithMarkerSymbol151 ScattersmithMarkerSymbol = "151" + ScattersmithMarkerSymbolArrowBarLeftOpen ScattersmithMarkerSymbol = "arrow-bar-left-open" + ScattersmithMarkerSymbolNumber52 ScattersmithMarkerSymbol = 52 + ScattersmithMarkerSymbol52 ScattersmithMarkerSymbol = "52" + ScattersmithMarkerSymbolArrowBarRight ScattersmithMarkerSymbol = "arrow-bar-right" + ScattersmithMarkerSymbolNumber152 ScattersmithMarkerSymbol = 152 + ScattersmithMarkerSymbol152 ScattersmithMarkerSymbol = "152" + ScattersmithMarkerSymbolArrowBarRightOpen ScattersmithMarkerSymbol = "arrow-bar-right-open" + ScattersmithMarkerSymbolNumber53 ScattersmithMarkerSymbol = 53 + ScattersmithMarkerSymbol53 ScattersmithMarkerSymbol = "53" + ScattersmithMarkerSymbolArrow ScattersmithMarkerSymbol = "arrow" + ScattersmithMarkerSymbolNumber153 ScattersmithMarkerSymbol = 153 + ScattersmithMarkerSymbol153 ScattersmithMarkerSymbol = "153" + ScattersmithMarkerSymbolArrowOpen ScattersmithMarkerSymbol = "arrow-open" + ScattersmithMarkerSymbolNumber54 ScattersmithMarkerSymbol = 54 + ScattersmithMarkerSymbol54 ScattersmithMarkerSymbol = "54" + ScattersmithMarkerSymbolArrowWide ScattersmithMarkerSymbol = "arrow-wide" + ScattersmithMarkerSymbolNumber154 ScattersmithMarkerSymbol = 154 + ScattersmithMarkerSymbol154 ScattersmithMarkerSymbol = "154" + ScattersmithMarkerSymbolArrowWideOpen ScattersmithMarkerSymbol = "arrow-wide-open" +) + +// ScattersmithTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. +type ScattersmithTextposition string + +const ( + ScattersmithTextpositionTopLeft ScattersmithTextposition = "top left" + ScattersmithTextpositionTopCenter ScattersmithTextposition = "top center" + ScattersmithTextpositionTopRight ScattersmithTextposition = "top right" + ScattersmithTextpositionMiddleLeft ScattersmithTextposition = "middle left" + ScattersmithTextpositionMiddleCenter ScattersmithTextposition = "middle center" + ScattersmithTextpositionMiddleRight ScattersmithTextposition = "middle right" + ScattersmithTextpositionBottomLeft ScattersmithTextposition = "bottom left" + ScattersmithTextpositionBottomCenter ScattersmithTextposition = "bottom center" + ScattersmithTextpositionBottomRight ScattersmithTextposition = "bottom right" +) + +// ScattersmithVisible 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). +type ScattersmithVisible interface{} + +var ( + ScattersmithVisibleTrue ScattersmithVisible = true + ScattersmithVisibleFalse ScattersmithVisible = false + ScattersmithVisibleLegendonly ScattersmithVisible = "legendonly" +) + +// ScattersmithHoverinfo 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. +type ScattersmithHoverinfo string + +const ( + // Flags + ScattersmithHoverinfoReal ScattersmithHoverinfo = "real" + ScattersmithHoverinfoImag ScattersmithHoverinfo = "imag" + ScattersmithHoverinfoText ScattersmithHoverinfo = "text" + ScattersmithHoverinfoName ScattersmithHoverinfo = "name" + + // Extra + ScattersmithHoverinfoAll ScattersmithHoverinfo = "all" + ScattersmithHoverinfoNone ScattersmithHoverinfo = "none" + ScattersmithHoverinfoSkip ScattersmithHoverinfo = "skip" +) + +// ScattersmithHoveron 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*. +type ScattersmithHoveron string + +const ( + // Flags + ScattersmithHoveronPoints ScattersmithHoveron = "points" + ScattersmithHoveronFills ScattersmithHoveron = "fills" + + // Extra + +) + +// ScattersmithMode 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*. +type ScattersmithMode string + +const ( + // Flags + ScattersmithModeLines ScattersmithMode = "lines" + ScattersmithModeMarkers ScattersmithMode = "markers" + ScattersmithModeText ScattersmithMode = "text" + + // Extra + ScattersmithModeNone ScattersmithMode = "none" +) diff --git a/generated/v2.31.1/graph_objects/scatterternary_gen.go b/generated/v2.31.1/graph_objects/scatterternary_gen.go new file mode 100644 index 0000000..51507ac --- /dev/null +++ b/generated/v2.31.1/graph_objects/scatterternary_gen.go @@ -0,0 +1,2025 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeScatterternary TraceType = "scatterternary" + +func (trace *Scatterternary) GetType() TraceType { + return TraceTypeScatterternary +} + +// Scatterternary 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. +type Scatterternary struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // A + // arrayOK: false + // 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.sum`. + A interface{} `json:"a,omitempty"` + + // Asrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `a`. + Asrc String `json:"asrc,omitempty"` + + // B + // arrayOK: false + // 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.sum`. + B interface{} `json:"b,omitempty"` + + // Bsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `b`. + Bsrc String `json:"bsrc,omitempty"` + + // C + // arrayOK: false + // 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.sum`. + C interface{} `json:"c,omitempty"` + + // Cliponaxis + // arrayOK: false + // 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*. + Cliponaxis Bool `json:"cliponaxis,omitempty"` + + // Connectgaps + // arrayOK: false + // type: boolean + // Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected. + Connectgaps Bool `json:"connectgaps,omitempty"` + + // Csrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `c`. + Csrc String `json:"csrc,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Fill + // default: none + // type: enumerated + // 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. + Fill ScatterternaryFill `json:"fill,omitempty"` + + // Fillcolor + // arrayOK: false + // 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. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo ScatterternaryHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *ScatterternaryHoverlabel `json:"hoverlabel,omitempty"` + + // Hoveron + // default: %!s() + // type: flaglist + // 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*. + Hoveron ScatterternaryHoveron `json:"hoveron,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *ScatterternaryLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *ScatterternaryLine `json:"line,omitempty"` + + // Marker + // role: Object + Marker *ScatterternaryMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Mode + // default: markers + // type: flaglist + // 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*. + Mode ScatterternaryMode `json:"mode,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Selected + // role: Object + Selected *ScatterternarySelected `json:"selected,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Stream + // role: Object + Stream *ScatterternaryStream `json:"stream,omitempty"` + + // Subplot + // arrayOK: false + // type: subplotid + // 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. + Subplot String `json:"subplot,omitempty"` + + // Sum + // arrayOK: false + // type: number + // The number each triplet should sum to, if only two of `a`, `b`, and `c` are provided. This overrides `ternary.sum` to normalize this specific trace, but does not affect the values displayed on the axes. 0 (or missing) means to use ternary.sum + Sum float64 `json:"sum,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textfont + // role: Object + Textfont *ScatterternaryTextfont `json:"textfont,omitempty"` + + // Textposition + // default: middle center + // type: enumerated + // Sets the positions of the `text` elements with respects to the (x,y) coordinates. + Textposition ScatterternaryTextposition `json:"textposition,omitempty"` + + // Textpositionsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `textposition`. + Textpositionsrc String `json:"textpositionsrc,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: true + // 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 `a`, `b`, `c` and `text`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Texttemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `texttemplate`. + Texttemplatesrc String `json:"texttemplatesrc,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Unselected + // role: Object + Unselected *ScatterternaryUnselected `json:"unselected,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible ScatterternaryVisible `json:"visible,omitempty"` +} + +// ScatterternaryHoverlabelFont Sets the font used in hover labels. +type ScatterternaryHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ScatterternaryHoverlabel +type ScatterternaryHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align ScatterternaryHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *ScatterternaryHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// ScatterternaryLegendgrouptitleFont Sets this legend group's title font. +type ScatterternaryLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScatterternaryLegendgrouptitle +type ScatterternaryLegendgrouptitle struct { + + // Font + // role: Object + Font *ScatterternaryLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// ScatterternaryLine +type ScatterternaryLine struct { + + // Backoff + // arrayOK: true + // type: number + // 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*. + Backoff float64 `json:"backoff,omitempty"` + + // Backoffsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `backoff`. + Backoffsrc String `json:"backoffsrc,omitempty"` + + // Color + // arrayOK: false + // type: color + // Sets the line color. + Color Color `json:"color,omitempty"` + + // Dash + // arrayOK: false + // type: string + // 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*). + Dash String `json:"dash,omitempty"` + + // Shape + // default: linear + // type: enumerated + // Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes. + Shape ScatterternaryLineShape `json:"shape,omitempty"` + + // Smoothing + // arrayOK: false + // type: number + // 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). + Smoothing float64 `json:"smoothing,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width (in px). + Width float64 `json:"width,omitempty"` +} + +// ScatterternaryMarkerColorbarTickfont Sets the color bar's tick label font +type ScatterternaryMarkerColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScatterternaryMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type ScatterternaryMarkerColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ScatterternaryMarkerColorbarTitle +type ScatterternaryMarkerColorbarTitle struct { + + // Font + // role: Object + Font *ScatterternaryMarkerColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side ScatterternaryMarkerColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// ScatterternaryMarkerColorbar +type ScatterternaryMarkerColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat ScatterternaryMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode ScatterternaryMarkerColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation ScatterternaryMarkerColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent ScatterternaryMarkerColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix ScatterternaryMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix ScatterternaryMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode ScatterternaryMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *ScatterternaryMarkerColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow ScatterternaryMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition ScatterternaryMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode ScatterternaryMarkerColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks ScatterternaryMarkerColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *ScatterternaryMarkerColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor ScatterternaryMarkerColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref ScatterternaryMarkerColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor ScatterternaryMarkerColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref ScatterternaryMarkerColorbarYref `json:"yref,omitempty"` +} + +// ScatterternaryMarkerGradient +type ScatterternaryMarkerGradient struct { + + // Color + // arrayOK: true + // type: color + // Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Type + // default: none + // type: enumerated + // Sets the type of gradient used to fill the markers + Type ScatterternaryMarkerGradientType `json:"type,omitempty"` + + // Typesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `type`. + Typesrc String `json:"typesrc,omitempty"` +} + +// ScatterternaryMarkerLine +type ScatterternaryMarkerLine struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the lines bounding the marker points. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// ScatterternaryMarker +type ScatterternaryMarker struct { + + // Angle + // arrayOK: true + // type: angle + // Sets the marker angle in respect to `angleref`. + Angle float64 `json:"angle,omitempty"` + + // Angleref + // default: up + // type: enumerated + // 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. + Angleref ScatterternaryMarkerAngleref `json:"angleref,omitempty"` + + // Anglesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `angle`. + Anglesrc String `json:"anglesrc,omitempty"` + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *ScatterternaryMarkerColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Gradient + // role: Object + Gradient *ScatterternaryMarkerGradient `json:"gradient,omitempty"` + + // Line + // role: Object + Line *ScatterternaryMarkerLine `json:"line,omitempty"` + + // Maxdisplayed + // arrayOK: false + // type: number + // Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit. + Maxdisplayed float64 `json:"maxdisplayed,omitempty"` + + // Opacity + // arrayOK: true + // type: number + // Sets the marker opacity. + Opacity float64 `json:"opacity,omitempty"` + + // Opacitysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `opacity`. + Opacitysrc String `json:"opacitysrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the marker size (in px). + Size float64 `json:"size,omitempty"` + + // Sizemin + // arrayOK: false + // 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. + Sizemin float64 `json:"sizemin,omitempty"` + + // Sizemode + // default: diameter + // type: enumerated + // 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. + Sizemode ScatterternaryMarkerSizemode `json:"sizemode,omitempty"` + + // Sizeref + // arrayOK: false + // type: number + // 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`. + Sizeref float64 `json:"sizeref,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Standoff + // arrayOK: true + // type: number + // 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. + Standoff float64 `json:"standoff,omitempty"` + + // Standoffsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `standoff`. + Standoffsrc String `json:"standoffsrc,omitempty"` + + // Symbol + // default: circle + // type: enumerated + // 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. + Symbol ScatterternaryMarkerSymbol `json:"symbol,omitempty"` + + // Symbolsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `symbol`. + Symbolsrc String `json:"symbolsrc,omitempty"` +} + +// ScatterternarySelectedMarker +type ScatterternarySelectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of selected points. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of selected points. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of selected points. + Size float64 `json:"size,omitempty"` +} + +// ScatterternarySelectedTextfont +type ScatterternarySelectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of selected points. + Color Color `json:"color,omitempty"` +} + +// ScatterternarySelected +type ScatterternarySelected struct { + + // Marker + // role: Object + Marker *ScatterternarySelectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *ScatterternarySelectedTextfont `json:"textfont,omitempty"` +} + +// ScatterternaryStream +type ScatterternaryStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// ScatterternaryTextfont Sets the text font. +type ScatterternaryTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ScatterternaryUnselectedMarker +type ScatterternaryUnselectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of unselected points, applied only when a selection exists. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of unselected points, applied only when a selection exists. + Size float64 `json:"size,omitempty"` +} + +// ScatterternaryUnselectedTextfont +type ScatterternaryUnselectedTextfont struct { + + // Color + // arrayOK: false + // type: color + // Sets the text font color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` +} + +// ScatterternaryUnselected +type ScatterternaryUnselected struct { + + // Marker + // role: Object + Marker *ScatterternaryUnselectedMarker `json:"marker,omitempty"` + + // Textfont + // role: Object + Textfont *ScatterternaryUnselectedTextfont `json:"textfont,omitempty"` +} + +// ScatterternaryFill 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. +type ScatterternaryFill string + +const ( + ScatterternaryFillNone ScatterternaryFill = "none" + ScatterternaryFillToself ScatterternaryFill = "toself" + ScatterternaryFillTonext ScatterternaryFill = "tonext" +) + +// ScatterternaryHoverlabelAlign 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 +type ScatterternaryHoverlabelAlign string + +const ( + ScatterternaryHoverlabelAlignLeft ScatterternaryHoverlabelAlign = "left" + ScatterternaryHoverlabelAlignRight ScatterternaryHoverlabelAlign = "right" + ScatterternaryHoverlabelAlignAuto ScatterternaryHoverlabelAlign = "auto" +) + +// ScatterternaryLineShape Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes. +type ScatterternaryLineShape string + +const ( + ScatterternaryLineShapeLinear ScatterternaryLineShape = "linear" + ScatterternaryLineShapeSpline ScatterternaryLineShape = "spline" +) + +// ScatterternaryMarkerAngleref 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. +type ScatterternaryMarkerAngleref string + +const ( + ScatterternaryMarkerAnglerefPrevious ScatterternaryMarkerAngleref = "previous" + ScatterternaryMarkerAnglerefUp ScatterternaryMarkerAngleref = "up" +) + +// ScatterternaryMarkerColorbarExponentformat 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. +type ScatterternaryMarkerColorbarExponentformat string + +const ( + ScatterternaryMarkerColorbarExponentformatNone ScatterternaryMarkerColorbarExponentformat = "none" + ScatterternaryMarkerColorbarExponentformatE1 ScatterternaryMarkerColorbarExponentformat = "e" + ScatterternaryMarkerColorbarExponentformatE2 ScatterternaryMarkerColorbarExponentformat = "E" + ScatterternaryMarkerColorbarExponentformatPower ScatterternaryMarkerColorbarExponentformat = "power" + ScatterternaryMarkerColorbarExponentformatSI ScatterternaryMarkerColorbarExponentformat = "SI" + ScatterternaryMarkerColorbarExponentformatB ScatterternaryMarkerColorbarExponentformat = "B" +) + +// ScatterternaryMarkerColorbarLenmode 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. +type ScatterternaryMarkerColorbarLenmode string + +const ( + ScatterternaryMarkerColorbarLenmodeFraction ScatterternaryMarkerColorbarLenmode = "fraction" + ScatterternaryMarkerColorbarLenmodePixels ScatterternaryMarkerColorbarLenmode = "pixels" +) + +// ScatterternaryMarkerColorbarOrientation Sets the orientation of the colorbar. +type ScatterternaryMarkerColorbarOrientation string + +const ( + ScatterternaryMarkerColorbarOrientationH ScatterternaryMarkerColorbarOrientation = "h" + ScatterternaryMarkerColorbarOrientationV ScatterternaryMarkerColorbarOrientation = "v" +) + +// ScatterternaryMarkerColorbarShowexponent 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. +type ScatterternaryMarkerColorbarShowexponent string + +const ( + ScatterternaryMarkerColorbarShowexponentAll ScatterternaryMarkerColorbarShowexponent = "all" + ScatterternaryMarkerColorbarShowexponentFirst ScatterternaryMarkerColorbarShowexponent = "first" + ScatterternaryMarkerColorbarShowexponentLast ScatterternaryMarkerColorbarShowexponent = "last" + ScatterternaryMarkerColorbarShowexponentNone ScatterternaryMarkerColorbarShowexponent = "none" +) + +// ScatterternaryMarkerColorbarShowtickprefix 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. +type ScatterternaryMarkerColorbarShowtickprefix string + +const ( + ScatterternaryMarkerColorbarShowtickprefixAll ScatterternaryMarkerColorbarShowtickprefix = "all" + ScatterternaryMarkerColorbarShowtickprefixFirst ScatterternaryMarkerColorbarShowtickprefix = "first" + ScatterternaryMarkerColorbarShowtickprefixLast ScatterternaryMarkerColorbarShowtickprefix = "last" + ScatterternaryMarkerColorbarShowtickprefixNone ScatterternaryMarkerColorbarShowtickprefix = "none" +) + +// ScatterternaryMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type ScatterternaryMarkerColorbarShowticksuffix string + +const ( + ScatterternaryMarkerColorbarShowticksuffixAll ScatterternaryMarkerColorbarShowticksuffix = "all" + ScatterternaryMarkerColorbarShowticksuffixFirst ScatterternaryMarkerColorbarShowticksuffix = "first" + ScatterternaryMarkerColorbarShowticksuffixLast ScatterternaryMarkerColorbarShowticksuffix = "last" + ScatterternaryMarkerColorbarShowticksuffixNone ScatterternaryMarkerColorbarShowticksuffix = "none" +) + +// ScatterternaryMarkerColorbarThicknessmode 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. +type ScatterternaryMarkerColorbarThicknessmode string + +const ( + ScatterternaryMarkerColorbarThicknessmodeFraction ScatterternaryMarkerColorbarThicknessmode = "fraction" + ScatterternaryMarkerColorbarThicknessmodePixels ScatterternaryMarkerColorbarThicknessmode = "pixels" +) + +// ScatterternaryMarkerColorbarTicklabeloverflow 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*. +type ScatterternaryMarkerColorbarTicklabeloverflow string + +const ( + ScatterternaryMarkerColorbarTicklabeloverflowAllow ScatterternaryMarkerColorbarTicklabeloverflow = "allow" + ScatterternaryMarkerColorbarTicklabeloverflowHidePastDiv ScatterternaryMarkerColorbarTicklabeloverflow = "hide past div" + ScatterternaryMarkerColorbarTicklabeloverflowHidePastDomain ScatterternaryMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// ScatterternaryMarkerColorbarTicklabelposition 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*. +type ScatterternaryMarkerColorbarTicklabelposition string + +const ( + ScatterternaryMarkerColorbarTicklabelpositionOutside ScatterternaryMarkerColorbarTicklabelposition = "outside" + ScatterternaryMarkerColorbarTicklabelpositionInside ScatterternaryMarkerColorbarTicklabelposition = "inside" + ScatterternaryMarkerColorbarTicklabelpositionOutsideTop ScatterternaryMarkerColorbarTicklabelposition = "outside top" + ScatterternaryMarkerColorbarTicklabelpositionInsideTop ScatterternaryMarkerColorbarTicklabelposition = "inside top" + ScatterternaryMarkerColorbarTicklabelpositionOutsideLeft ScatterternaryMarkerColorbarTicklabelposition = "outside left" + ScatterternaryMarkerColorbarTicklabelpositionInsideLeft ScatterternaryMarkerColorbarTicklabelposition = "inside left" + ScatterternaryMarkerColorbarTicklabelpositionOutsideRight ScatterternaryMarkerColorbarTicklabelposition = "outside right" + ScatterternaryMarkerColorbarTicklabelpositionInsideRight ScatterternaryMarkerColorbarTicklabelposition = "inside right" + ScatterternaryMarkerColorbarTicklabelpositionOutsideBottom ScatterternaryMarkerColorbarTicklabelposition = "outside bottom" + ScatterternaryMarkerColorbarTicklabelpositionInsideBottom ScatterternaryMarkerColorbarTicklabelposition = "inside bottom" +) + +// ScatterternaryMarkerColorbarTickmode 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). +type ScatterternaryMarkerColorbarTickmode string + +const ( + ScatterternaryMarkerColorbarTickmodeAuto ScatterternaryMarkerColorbarTickmode = "auto" + ScatterternaryMarkerColorbarTickmodeLinear ScatterternaryMarkerColorbarTickmode = "linear" + ScatterternaryMarkerColorbarTickmodeArray ScatterternaryMarkerColorbarTickmode = "array" +) + +// ScatterternaryMarkerColorbarTicks 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. +type ScatterternaryMarkerColorbarTicks string + +const ( + ScatterternaryMarkerColorbarTicksOutside ScatterternaryMarkerColorbarTicks = "outside" + ScatterternaryMarkerColorbarTicksInside ScatterternaryMarkerColorbarTicks = "inside" + ScatterternaryMarkerColorbarTicksEmpty ScatterternaryMarkerColorbarTicks = "" +) + +// ScatterternaryMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type ScatterternaryMarkerColorbarTitleSide string + +const ( + ScatterternaryMarkerColorbarTitleSideRight ScatterternaryMarkerColorbarTitleSide = "right" + ScatterternaryMarkerColorbarTitleSideTop ScatterternaryMarkerColorbarTitleSide = "top" + ScatterternaryMarkerColorbarTitleSideBottom ScatterternaryMarkerColorbarTitleSide = "bottom" +) + +// ScatterternaryMarkerColorbarXanchor 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*. +type ScatterternaryMarkerColorbarXanchor string + +const ( + ScatterternaryMarkerColorbarXanchorLeft ScatterternaryMarkerColorbarXanchor = "left" + ScatterternaryMarkerColorbarXanchorCenter ScatterternaryMarkerColorbarXanchor = "center" + ScatterternaryMarkerColorbarXanchorRight ScatterternaryMarkerColorbarXanchor = "right" +) + +// ScatterternaryMarkerColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type ScatterternaryMarkerColorbarXref string + +const ( + ScatterternaryMarkerColorbarXrefContainer ScatterternaryMarkerColorbarXref = "container" + ScatterternaryMarkerColorbarXrefPaper ScatterternaryMarkerColorbarXref = "paper" +) + +// ScatterternaryMarkerColorbarYanchor 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*. +type ScatterternaryMarkerColorbarYanchor string + +const ( + ScatterternaryMarkerColorbarYanchorTop ScatterternaryMarkerColorbarYanchor = "top" + ScatterternaryMarkerColorbarYanchorMiddle ScatterternaryMarkerColorbarYanchor = "middle" + ScatterternaryMarkerColorbarYanchorBottom ScatterternaryMarkerColorbarYanchor = "bottom" +) + +// ScatterternaryMarkerColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type ScatterternaryMarkerColorbarYref string + +const ( + ScatterternaryMarkerColorbarYrefContainer ScatterternaryMarkerColorbarYref = "container" + ScatterternaryMarkerColorbarYrefPaper ScatterternaryMarkerColorbarYref = "paper" +) + +// ScatterternaryMarkerGradientType Sets the type of gradient used to fill the markers +type ScatterternaryMarkerGradientType string + +const ( + ScatterternaryMarkerGradientTypeRadial ScatterternaryMarkerGradientType = "radial" + ScatterternaryMarkerGradientTypeHorizontal ScatterternaryMarkerGradientType = "horizontal" + ScatterternaryMarkerGradientTypeVertical ScatterternaryMarkerGradientType = "vertical" + ScatterternaryMarkerGradientTypeNone ScatterternaryMarkerGradientType = "none" +) + +// ScatterternaryMarkerSizemode 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. +type ScatterternaryMarkerSizemode string + +const ( + ScatterternaryMarkerSizemodeDiameter ScatterternaryMarkerSizemode = "diameter" + ScatterternaryMarkerSizemodeArea ScatterternaryMarkerSizemode = "area" +) + +// ScatterternaryMarkerSymbol 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. +type ScatterternaryMarkerSymbol interface{} + +var ( + ScatterternaryMarkerSymbolNumber0 ScatterternaryMarkerSymbol = 0 + ScatterternaryMarkerSymbol0 ScatterternaryMarkerSymbol = "0" + ScatterternaryMarkerSymbolCircle ScatterternaryMarkerSymbol = "circle" + ScatterternaryMarkerSymbolNumber100 ScatterternaryMarkerSymbol = 100 + ScatterternaryMarkerSymbol100 ScatterternaryMarkerSymbol = "100" + ScatterternaryMarkerSymbolCircleOpen ScatterternaryMarkerSymbol = "circle-open" + ScatterternaryMarkerSymbolNumber200 ScatterternaryMarkerSymbol = 200 + ScatterternaryMarkerSymbol200 ScatterternaryMarkerSymbol = "200" + ScatterternaryMarkerSymbolCircleDot ScatterternaryMarkerSymbol = "circle-dot" + ScatterternaryMarkerSymbolNumber300 ScatterternaryMarkerSymbol = 300 + ScatterternaryMarkerSymbol300 ScatterternaryMarkerSymbol = "300" + ScatterternaryMarkerSymbolCircleOpenDot ScatterternaryMarkerSymbol = "circle-open-dot" + ScatterternaryMarkerSymbolNumber1 ScatterternaryMarkerSymbol = 1 + ScatterternaryMarkerSymbol1 ScatterternaryMarkerSymbol = "1" + ScatterternaryMarkerSymbolSquare ScatterternaryMarkerSymbol = "square" + ScatterternaryMarkerSymbolNumber101 ScatterternaryMarkerSymbol = 101 + ScatterternaryMarkerSymbol101 ScatterternaryMarkerSymbol = "101" + ScatterternaryMarkerSymbolSquareOpen ScatterternaryMarkerSymbol = "square-open" + ScatterternaryMarkerSymbolNumber201 ScatterternaryMarkerSymbol = 201 + ScatterternaryMarkerSymbol201 ScatterternaryMarkerSymbol = "201" + ScatterternaryMarkerSymbolSquareDot ScatterternaryMarkerSymbol = "square-dot" + ScatterternaryMarkerSymbolNumber301 ScatterternaryMarkerSymbol = 301 + ScatterternaryMarkerSymbol301 ScatterternaryMarkerSymbol = "301" + ScatterternaryMarkerSymbolSquareOpenDot ScatterternaryMarkerSymbol = "square-open-dot" + ScatterternaryMarkerSymbolNumber2 ScatterternaryMarkerSymbol = 2 + ScatterternaryMarkerSymbol2 ScatterternaryMarkerSymbol = "2" + ScatterternaryMarkerSymbolDiamond ScatterternaryMarkerSymbol = "diamond" + ScatterternaryMarkerSymbolNumber102 ScatterternaryMarkerSymbol = 102 + ScatterternaryMarkerSymbol102 ScatterternaryMarkerSymbol = "102" + ScatterternaryMarkerSymbolDiamondOpen ScatterternaryMarkerSymbol = "diamond-open" + ScatterternaryMarkerSymbolNumber202 ScatterternaryMarkerSymbol = 202 + ScatterternaryMarkerSymbol202 ScatterternaryMarkerSymbol = "202" + ScatterternaryMarkerSymbolDiamondDot ScatterternaryMarkerSymbol = "diamond-dot" + ScatterternaryMarkerSymbolNumber302 ScatterternaryMarkerSymbol = 302 + ScatterternaryMarkerSymbol302 ScatterternaryMarkerSymbol = "302" + ScatterternaryMarkerSymbolDiamondOpenDot ScatterternaryMarkerSymbol = "diamond-open-dot" + ScatterternaryMarkerSymbolNumber3 ScatterternaryMarkerSymbol = 3 + ScatterternaryMarkerSymbol3 ScatterternaryMarkerSymbol = "3" + ScatterternaryMarkerSymbolCross ScatterternaryMarkerSymbol = "cross" + ScatterternaryMarkerSymbolNumber103 ScatterternaryMarkerSymbol = 103 + ScatterternaryMarkerSymbol103 ScatterternaryMarkerSymbol = "103" + ScatterternaryMarkerSymbolCrossOpen ScatterternaryMarkerSymbol = "cross-open" + ScatterternaryMarkerSymbolNumber203 ScatterternaryMarkerSymbol = 203 + ScatterternaryMarkerSymbol203 ScatterternaryMarkerSymbol = "203" + ScatterternaryMarkerSymbolCrossDot ScatterternaryMarkerSymbol = "cross-dot" + ScatterternaryMarkerSymbolNumber303 ScatterternaryMarkerSymbol = 303 + ScatterternaryMarkerSymbol303 ScatterternaryMarkerSymbol = "303" + ScatterternaryMarkerSymbolCrossOpenDot ScatterternaryMarkerSymbol = "cross-open-dot" + ScatterternaryMarkerSymbolNumber4 ScatterternaryMarkerSymbol = 4 + ScatterternaryMarkerSymbol4 ScatterternaryMarkerSymbol = "4" + ScatterternaryMarkerSymbolX ScatterternaryMarkerSymbol = "x" + ScatterternaryMarkerSymbolNumber104 ScatterternaryMarkerSymbol = 104 + ScatterternaryMarkerSymbol104 ScatterternaryMarkerSymbol = "104" + ScatterternaryMarkerSymbolXOpen ScatterternaryMarkerSymbol = "x-open" + ScatterternaryMarkerSymbolNumber204 ScatterternaryMarkerSymbol = 204 + ScatterternaryMarkerSymbol204 ScatterternaryMarkerSymbol = "204" + ScatterternaryMarkerSymbolXDot ScatterternaryMarkerSymbol = "x-dot" + ScatterternaryMarkerSymbolNumber304 ScatterternaryMarkerSymbol = 304 + ScatterternaryMarkerSymbol304 ScatterternaryMarkerSymbol = "304" + ScatterternaryMarkerSymbolXOpenDot ScatterternaryMarkerSymbol = "x-open-dot" + ScatterternaryMarkerSymbolNumber5 ScatterternaryMarkerSymbol = 5 + ScatterternaryMarkerSymbol5 ScatterternaryMarkerSymbol = "5" + ScatterternaryMarkerSymbolTriangleUp ScatterternaryMarkerSymbol = "triangle-up" + ScatterternaryMarkerSymbolNumber105 ScatterternaryMarkerSymbol = 105 + ScatterternaryMarkerSymbol105 ScatterternaryMarkerSymbol = "105" + ScatterternaryMarkerSymbolTriangleUpOpen ScatterternaryMarkerSymbol = "triangle-up-open" + ScatterternaryMarkerSymbolNumber205 ScatterternaryMarkerSymbol = 205 + ScatterternaryMarkerSymbol205 ScatterternaryMarkerSymbol = "205" + ScatterternaryMarkerSymbolTriangleUpDot ScatterternaryMarkerSymbol = "triangle-up-dot" + ScatterternaryMarkerSymbolNumber305 ScatterternaryMarkerSymbol = 305 + ScatterternaryMarkerSymbol305 ScatterternaryMarkerSymbol = "305" + ScatterternaryMarkerSymbolTriangleUpOpenDot ScatterternaryMarkerSymbol = "triangle-up-open-dot" + ScatterternaryMarkerSymbolNumber6 ScatterternaryMarkerSymbol = 6 + ScatterternaryMarkerSymbol6 ScatterternaryMarkerSymbol = "6" + ScatterternaryMarkerSymbolTriangleDown ScatterternaryMarkerSymbol = "triangle-down" + ScatterternaryMarkerSymbolNumber106 ScatterternaryMarkerSymbol = 106 + ScatterternaryMarkerSymbol106 ScatterternaryMarkerSymbol = "106" + ScatterternaryMarkerSymbolTriangleDownOpen ScatterternaryMarkerSymbol = "triangle-down-open" + ScatterternaryMarkerSymbolNumber206 ScatterternaryMarkerSymbol = 206 + ScatterternaryMarkerSymbol206 ScatterternaryMarkerSymbol = "206" + ScatterternaryMarkerSymbolTriangleDownDot ScatterternaryMarkerSymbol = "triangle-down-dot" + ScatterternaryMarkerSymbolNumber306 ScatterternaryMarkerSymbol = 306 + ScatterternaryMarkerSymbol306 ScatterternaryMarkerSymbol = "306" + ScatterternaryMarkerSymbolTriangleDownOpenDot ScatterternaryMarkerSymbol = "triangle-down-open-dot" + ScatterternaryMarkerSymbolNumber7 ScatterternaryMarkerSymbol = 7 + ScatterternaryMarkerSymbol7 ScatterternaryMarkerSymbol = "7" + ScatterternaryMarkerSymbolTriangleLeft ScatterternaryMarkerSymbol = "triangle-left" + ScatterternaryMarkerSymbolNumber107 ScatterternaryMarkerSymbol = 107 + ScatterternaryMarkerSymbol107 ScatterternaryMarkerSymbol = "107" + ScatterternaryMarkerSymbolTriangleLeftOpen ScatterternaryMarkerSymbol = "triangle-left-open" + ScatterternaryMarkerSymbolNumber207 ScatterternaryMarkerSymbol = 207 + ScatterternaryMarkerSymbol207 ScatterternaryMarkerSymbol = "207" + ScatterternaryMarkerSymbolTriangleLeftDot ScatterternaryMarkerSymbol = "triangle-left-dot" + ScatterternaryMarkerSymbolNumber307 ScatterternaryMarkerSymbol = 307 + ScatterternaryMarkerSymbol307 ScatterternaryMarkerSymbol = "307" + ScatterternaryMarkerSymbolTriangleLeftOpenDot ScatterternaryMarkerSymbol = "triangle-left-open-dot" + ScatterternaryMarkerSymbolNumber8 ScatterternaryMarkerSymbol = 8 + ScatterternaryMarkerSymbol8 ScatterternaryMarkerSymbol = "8" + ScatterternaryMarkerSymbolTriangleRight ScatterternaryMarkerSymbol = "triangle-right" + ScatterternaryMarkerSymbolNumber108 ScatterternaryMarkerSymbol = 108 + ScatterternaryMarkerSymbol108 ScatterternaryMarkerSymbol = "108" + ScatterternaryMarkerSymbolTriangleRightOpen ScatterternaryMarkerSymbol = "triangle-right-open" + ScatterternaryMarkerSymbolNumber208 ScatterternaryMarkerSymbol = 208 + ScatterternaryMarkerSymbol208 ScatterternaryMarkerSymbol = "208" + ScatterternaryMarkerSymbolTriangleRightDot ScatterternaryMarkerSymbol = "triangle-right-dot" + ScatterternaryMarkerSymbolNumber308 ScatterternaryMarkerSymbol = 308 + ScatterternaryMarkerSymbol308 ScatterternaryMarkerSymbol = "308" + ScatterternaryMarkerSymbolTriangleRightOpenDot ScatterternaryMarkerSymbol = "triangle-right-open-dot" + ScatterternaryMarkerSymbolNumber9 ScatterternaryMarkerSymbol = 9 + ScatterternaryMarkerSymbol9 ScatterternaryMarkerSymbol = "9" + ScatterternaryMarkerSymbolTriangleNe ScatterternaryMarkerSymbol = "triangle-ne" + ScatterternaryMarkerSymbolNumber109 ScatterternaryMarkerSymbol = 109 + ScatterternaryMarkerSymbol109 ScatterternaryMarkerSymbol = "109" + ScatterternaryMarkerSymbolTriangleNeOpen ScatterternaryMarkerSymbol = "triangle-ne-open" + ScatterternaryMarkerSymbolNumber209 ScatterternaryMarkerSymbol = 209 + ScatterternaryMarkerSymbol209 ScatterternaryMarkerSymbol = "209" + ScatterternaryMarkerSymbolTriangleNeDot ScatterternaryMarkerSymbol = "triangle-ne-dot" + ScatterternaryMarkerSymbolNumber309 ScatterternaryMarkerSymbol = 309 + ScatterternaryMarkerSymbol309 ScatterternaryMarkerSymbol = "309" + ScatterternaryMarkerSymbolTriangleNeOpenDot ScatterternaryMarkerSymbol = "triangle-ne-open-dot" + ScatterternaryMarkerSymbolNumber10 ScatterternaryMarkerSymbol = 10 + ScatterternaryMarkerSymbol10 ScatterternaryMarkerSymbol = "10" + ScatterternaryMarkerSymbolTriangleSe ScatterternaryMarkerSymbol = "triangle-se" + ScatterternaryMarkerSymbolNumber110 ScatterternaryMarkerSymbol = 110 + ScatterternaryMarkerSymbol110 ScatterternaryMarkerSymbol = "110" + ScatterternaryMarkerSymbolTriangleSeOpen ScatterternaryMarkerSymbol = "triangle-se-open" + ScatterternaryMarkerSymbolNumber210 ScatterternaryMarkerSymbol = 210 + ScatterternaryMarkerSymbol210 ScatterternaryMarkerSymbol = "210" + ScatterternaryMarkerSymbolTriangleSeDot ScatterternaryMarkerSymbol = "triangle-se-dot" + ScatterternaryMarkerSymbolNumber310 ScatterternaryMarkerSymbol = 310 + ScatterternaryMarkerSymbol310 ScatterternaryMarkerSymbol = "310" + ScatterternaryMarkerSymbolTriangleSeOpenDot ScatterternaryMarkerSymbol = "triangle-se-open-dot" + ScatterternaryMarkerSymbolNumber11 ScatterternaryMarkerSymbol = 11 + ScatterternaryMarkerSymbol11 ScatterternaryMarkerSymbol = "11" + ScatterternaryMarkerSymbolTriangleSw ScatterternaryMarkerSymbol = "triangle-sw" + ScatterternaryMarkerSymbolNumber111 ScatterternaryMarkerSymbol = 111 + ScatterternaryMarkerSymbol111 ScatterternaryMarkerSymbol = "111" + ScatterternaryMarkerSymbolTriangleSwOpen ScatterternaryMarkerSymbol = "triangle-sw-open" + ScatterternaryMarkerSymbolNumber211 ScatterternaryMarkerSymbol = 211 + ScatterternaryMarkerSymbol211 ScatterternaryMarkerSymbol = "211" + ScatterternaryMarkerSymbolTriangleSwDot ScatterternaryMarkerSymbol = "triangle-sw-dot" + ScatterternaryMarkerSymbolNumber311 ScatterternaryMarkerSymbol = 311 + ScatterternaryMarkerSymbol311 ScatterternaryMarkerSymbol = "311" + ScatterternaryMarkerSymbolTriangleSwOpenDot ScatterternaryMarkerSymbol = "triangle-sw-open-dot" + ScatterternaryMarkerSymbolNumber12 ScatterternaryMarkerSymbol = 12 + ScatterternaryMarkerSymbol12 ScatterternaryMarkerSymbol = "12" + ScatterternaryMarkerSymbolTriangleNw ScatterternaryMarkerSymbol = "triangle-nw" + ScatterternaryMarkerSymbolNumber112 ScatterternaryMarkerSymbol = 112 + ScatterternaryMarkerSymbol112 ScatterternaryMarkerSymbol = "112" + ScatterternaryMarkerSymbolTriangleNwOpen ScatterternaryMarkerSymbol = "triangle-nw-open" + ScatterternaryMarkerSymbolNumber212 ScatterternaryMarkerSymbol = 212 + ScatterternaryMarkerSymbol212 ScatterternaryMarkerSymbol = "212" + ScatterternaryMarkerSymbolTriangleNwDot ScatterternaryMarkerSymbol = "triangle-nw-dot" + ScatterternaryMarkerSymbolNumber312 ScatterternaryMarkerSymbol = 312 + ScatterternaryMarkerSymbol312 ScatterternaryMarkerSymbol = "312" + ScatterternaryMarkerSymbolTriangleNwOpenDot ScatterternaryMarkerSymbol = "triangle-nw-open-dot" + ScatterternaryMarkerSymbolNumber13 ScatterternaryMarkerSymbol = 13 + ScatterternaryMarkerSymbol13 ScatterternaryMarkerSymbol = "13" + ScatterternaryMarkerSymbolPentagon ScatterternaryMarkerSymbol = "pentagon" + ScatterternaryMarkerSymbolNumber113 ScatterternaryMarkerSymbol = 113 + ScatterternaryMarkerSymbol113 ScatterternaryMarkerSymbol = "113" + ScatterternaryMarkerSymbolPentagonOpen ScatterternaryMarkerSymbol = "pentagon-open" + ScatterternaryMarkerSymbolNumber213 ScatterternaryMarkerSymbol = 213 + ScatterternaryMarkerSymbol213 ScatterternaryMarkerSymbol = "213" + ScatterternaryMarkerSymbolPentagonDot ScatterternaryMarkerSymbol = "pentagon-dot" + ScatterternaryMarkerSymbolNumber313 ScatterternaryMarkerSymbol = 313 + ScatterternaryMarkerSymbol313 ScatterternaryMarkerSymbol = "313" + ScatterternaryMarkerSymbolPentagonOpenDot ScatterternaryMarkerSymbol = "pentagon-open-dot" + ScatterternaryMarkerSymbolNumber14 ScatterternaryMarkerSymbol = 14 + ScatterternaryMarkerSymbol14 ScatterternaryMarkerSymbol = "14" + ScatterternaryMarkerSymbolHexagon ScatterternaryMarkerSymbol = "hexagon" + ScatterternaryMarkerSymbolNumber114 ScatterternaryMarkerSymbol = 114 + ScatterternaryMarkerSymbol114 ScatterternaryMarkerSymbol = "114" + ScatterternaryMarkerSymbolHexagonOpen ScatterternaryMarkerSymbol = "hexagon-open" + ScatterternaryMarkerSymbolNumber214 ScatterternaryMarkerSymbol = 214 + ScatterternaryMarkerSymbol214 ScatterternaryMarkerSymbol = "214" + ScatterternaryMarkerSymbolHexagonDot ScatterternaryMarkerSymbol = "hexagon-dot" + ScatterternaryMarkerSymbolNumber314 ScatterternaryMarkerSymbol = 314 + ScatterternaryMarkerSymbol314 ScatterternaryMarkerSymbol = "314" + ScatterternaryMarkerSymbolHexagonOpenDot ScatterternaryMarkerSymbol = "hexagon-open-dot" + ScatterternaryMarkerSymbolNumber15 ScatterternaryMarkerSymbol = 15 + ScatterternaryMarkerSymbol15 ScatterternaryMarkerSymbol = "15" + ScatterternaryMarkerSymbolHexagon2 ScatterternaryMarkerSymbol = "hexagon2" + ScatterternaryMarkerSymbolNumber115 ScatterternaryMarkerSymbol = 115 + ScatterternaryMarkerSymbol115 ScatterternaryMarkerSymbol = "115" + ScatterternaryMarkerSymbolHexagon2Open ScatterternaryMarkerSymbol = "hexagon2-open" + ScatterternaryMarkerSymbolNumber215 ScatterternaryMarkerSymbol = 215 + ScatterternaryMarkerSymbol215 ScatterternaryMarkerSymbol = "215" + ScatterternaryMarkerSymbolHexagon2Dot ScatterternaryMarkerSymbol = "hexagon2-dot" + ScatterternaryMarkerSymbolNumber315 ScatterternaryMarkerSymbol = 315 + ScatterternaryMarkerSymbol315 ScatterternaryMarkerSymbol = "315" + ScatterternaryMarkerSymbolHexagon2OpenDot ScatterternaryMarkerSymbol = "hexagon2-open-dot" + ScatterternaryMarkerSymbolNumber16 ScatterternaryMarkerSymbol = 16 + ScatterternaryMarkerSymbol16 ScatterternaryMarkerSymbol = "16" + ScatterternaryMarkerSymbolOctagon ScatterternaryMarkerSymbol = "octagon" + ScatterternaryMarkerSymbolNumber116 ScatterternaryMarkerSymbol = 116 + ScatterternaryMarkerSymbol116 ScatterternaryMarkerSymbol = "116" + ScatterternaryMarkerSymbolOctagonOpen ScatterternaryMarkerSymbol = "octagon-open" + ScatterternaryMarkerSymbolNumber216 ScatterternaryMarkerSymbol = 216 + ScatterternaryMarkerSymbol216 ScatterternaryMarkerSymbol = "216" + ScatterternaryMarkerSymbolOctagonDot ScatterternaryMarkerSymbol = "octagon-dot" + ScatterternaryMarkerSymbolNumber316 ScatterternaryMarkerSymbol = 316 + ScatterternaryMarkerSymbol316 ScatterternaryMarkerSymbol = "316" + ScatterternaryMarkerSymbolOctagonOpenDot ScatterternaryMarkerSymbol = "octagon-open-dot" + ScatterternaryMarkerSymbolNumber17 ScatterternaryMarkerSymbol = 17 + ScatterternaryMarkerSymbol17 ScatterternaryMarkerSymbol = "17" + ScatterternaryMarkerSymbolStar ScatterternaryMarkerSymbol = "star" + ScatterternaryMarkerSymbolNumber117 ScatterternaryMarkerSymbol = 117 + ScatterternaryMarkerSymbol117 ScatterternaryMarkerSymbol = "117" + ScatterternaryMarkerSymbolStarOpen ScatterternaryMarkerSymbol = "star-open" + ScatterternaryMarkerSymbolNumber217 ScatterternaryMarkerSymbol = 217 + ScatterternaryMarkerSymbol217 ScatterternaryMarkerSymbol = "217" + ScatterternaryMarkerSymbolStarDot ScatterternaryMarkerSymbol = "star-dot" + ScatterternaryMarkerSymbolNumber317 ScatterternaryMarkerSymbol = 317 + ScatterternaryMarkerSymbol317 ScatterternaryMarkerSymbol = "317" + ScatterternaryMarkerSymbolStarOpenDot ScatterternaryMarkerSymbol = "star-open-dot" + ScatterternaryMarkerSymbolNumber18 ScatterternaryMarkerSymbol = 18 + ScatterternaryMarkerSymbol18 ScatterternaryMarkerSymbol = "18" + ScatterternaryMarkerSymbolHexagram ScatterternaryMarkerSymbol = "hexagram" + ScatterternaryMarkerSymbolNumber118 ScatterternaryMarkerSymbol = 118 + ScatterternaryMarkerSymbol118 ScatterternaryMarkerSymbol = "118" + ScatterternaryMarkerSymbolHexagramOpen ScatterternaryMarkerSymbol = "hexagram-open" + ScatterternaryMarkerSymbolNumber218 ScatterternaryMarkerSymbol = 218 + ScatterternaryMarkerSymbol218 ScatterternaryMarkerSymbol = "218" + ScatterternaryMarkerSymbolHexagramDot ScatterternaryMarkerSymbol = "hexagram-dot" + ScatterternaryMarkerSymbolNumber318 ScatterternaryMarkerSymbol = 318 + ScatterternaryMarkerSymbol318 ScatterternaryMarkerSymbol = "318" + ScatterternaryMarkerSymbolHexagramOpenDot ScatterternaryMarkerSymbol = "hexagram-open-dot" + ScatterternaryMarkerSymbolNumber19 ScatterternaryMarkerSymbol = 19 + ScatterternaryMarkerSymbol19 ScatterternaryMarkerSymbol = "19" + ScatterternaryMarkerSymbolStarTriangleUp ScatterternaryMarkerSymbol = "star-triangle-up" + ScatterternaryMarkerSymbolNumber119 ScatterternaryMarkerSymbol = 119 + ScatterternaryMarkerSymbol119 ScatterternaryMarkerSymbol = "119" + ScatterternaryMarkerSymbolStarTriangleUpOpen ScatterternaryMarkerSymbol = "star-triangle-up-open" + ScatterternaryMarkerSymbolNumber219 ScatterternaryMarkerSymbol = 219 + ScatterternaryMarkerSymbol219 ScatterternaryMarkerSymbol = "219" + ScatterternaryMarkerSymbolStarTriangleUpDot ScatterternaryMarkerSymbol = "star-triangle-up-dot" + ScatterternaryMarkerSymbolNumber319 ScatterternaryMarkerSymbol = 319 + ScatterternaryMarkerSymbol319 ScatterternaryMarkerSymbol = "319" + ScatterternaryMarkerSymbolStarTriangleUpOpenDot ScatterternaryMarkerSymbol = "star-triangle-up-open-dot" + ScatterternaryMarkerSymbolNumber20 ScatterternaryMarkerSymbol = 20 + ScatterternaryMarkerSymbol20 ScatterternaryMarkerSymbol = "20" + ScatterternaryMarkerSymbolStarTriangleDown ScatterternaryMarkerSymbol = "star-triangle-down" + ScatterternaryMarkerSymbolNumber120 ScatterternaryMarkerSymbol = 120 + ScatterternaryMarkerSymbol120 ScatterternaryMarkerSymbol = "120" + ScatterternaryMarkerSymbolStarTriangleDownOpen ScatterternaryMarkerSymbol = "star-triangle-down-open" + ScatterternaryMarkerSymbolNumber220 ScatterternaryMarkerSymbol = 220 + ScatterternaryMarkerSymbol220 ScatterternaryMarkerSymbol = "220" + ScatterternaryMarkerSymbolStarTriangleDownDot ScatterternaryMarkerSymbol = "star-triangle-down-dot" + ScatterternaryMarkerSymbolNumber320 ScatterternaryMarkerSymbol = 320 + ScatterternaryMarkerSymbol320 ScatterternaryMarkerSymbol = "320" + ScatterternaryMarkerSymbolStarTriangleDownOpenDot ScatterternaryMarkerSymbol = "star-triangle-down-open-dot" + ScatterternaryMarkerSymbolNumber21 ScatterternaryMarkerSymbol = 21 + ScatterternaryMarkerSymbol21 ScatterternaryMarkerSymbol = "21" + ScatterternaryMarkerSymbolStarSquare ScatterternaryMarkerSymbol = "star-square" + ScatterternaryMarkerSymbolNumber121 ScatterternaryMarkerSymbol = 121 + ScatterternaryMarkerSymbol121 ScatterternaryMarkerSymbol = "121" + ScatterternaryMarkerSymbolStarSquareOpen ScatterternaryMarkerSymbol = "star-square-open" + ScatterternaryMarkerSymbolNumber221 ScatterternaryMarkerSymbol = 221 + ScatterternaryMarkerSymbol221 ScatterternaryMarkerSymbol = "221" + ScatterternaryMarkerSymbolStarSquareDot ScatterternaryMarkerSymbol = "star-square-dot" + ScatterternaryMarkerSymbolNumber321 ScatterternaryMarkerSymbol = 321 + ScatterternaryMarkerSymbol321 ScatterternaryMarkerSymbol = "321" + ScatterternaryMarkerSymbolStarSquareOpenDot ScatterternaryMarkerSymbol = "star-square-open-dot" + ScatterternaryMarkerSymbolNumber22 ScatterternaryMarkerSymbol = 22 + ScatterternaryMarkerSymbol22 ScatterternaryMarkerSymbol = "22" + ScatterternaryMarkerSymbolStarDiamond ScatterternaryMarkerSymbol = "star-diamond" + ScatterternaryMarkerSymbolNumber122 ScatterternaryMarkerSymbol = 122 + ScatterternaryMarkerSymbol122 ScatterternaryMarkerSymbol = "122" + ScatterternaryMarkerSymbolStarDiamondOpen ScatterternaryMarkerSymbol = "star-diamond-open" + ScatterternaryMarkerSymbolNumber222 ScatterternaryMarkerSymbol = 222 + ScatterternaryMarkerSymbol222 ScatterternaryMarkerSymbol = "222" + ScatterternaryMarkerSymbolStarDiamondDot ScatterternaryMarkerSymbol = "star-diamond-dot" + ScatterternaryMarkerSymbolNumber322 ScatterternaryMarkerSymbol = 322 + ScatterternaryMarkerSymbol322 ScatterternaryMarkerSymbol = "322" + ScatterternaryMarkerSymbolStarDiamondOpenDot ScatterternaryMarkerSymbol = "star-diamond-open-dot" + ScatterternaryMarkerSymbolNumber23 ScatterternaryMarkerSymbol = 23 + ScatterternaryMarkerSymbol23 ScatterternaryMarkerSymbol = "23" + ScatterternaryMarkerSymbolDiamondTall ScatterternaryMarkerSymbol = "diamond-tall" + ScatterternaryMarkerSymbolNumber123 ScatterternaryMarkerSymbol = 123 + ScatterternaryMarkerSymbol123 ScatterternaryMarkerSymbol = "123" + ScatterternaryMarkerSymbolDiamondTallOpen ScatterternaryMarkerSymbol = "diamond-tall-open" + ScatterternaryMarkerSymbolNumber223 ScatterternaryMarkerSymbol = 223 + ScatterternaryMarkerSymbol223 ScatterternaryMarkerSymbol = "223" + ScatterternaryMarkerSymbolDiamondTallDot ScatterternaryMarkerSymbol = "diamond-tall-dot" + ScatterternaryMarkerSymbolNumber323 ScatterternaryMarkerSymbol = 323 + ScatterternaryMarkerSymbol323 ScatterternaryMarkerSymbol = "323" + ScatterternaryMarkerSymbolDiamondTallOpenDot ScatterternaryMarkerSymbol = "diamond-tall-open-dot" + ScatterternaryMarkerSymbolNumber24 ScatterternaryMarkerSymbol = 24 + ScatterternaryMarkerSymbol24 ScatterternaryMarkerSymbol = "24" + ScatterternaryMarkerSymbolDiamondWide ScatterternaryMarkerSymbol = "diamond-wide" + ScatterternaryMarkerSymbolNumber124 ScatterternaryMarkerSymbol = 124 + ScatterternaryMarkerSymbol124 ScatterternaryMarkerSymbol = "124" + ScatterternaryMarkerSymbolDiamondWideOpen ScatterternaryMarkerSymbol = "diamond-wide-open" + ScatterternaryMarkerSymbolNumber224 ScatterternaryMarkerSymbol = 224 + ScatterternaryMarkerSymbol224 ScatterternaryMarkerSymbol = "224" + ScatterternaryMarkerSymbolDiamondWideDot ScatterternaryMarkerSymbol = "diamond-wide-dot" + ScatterternaryMarkerSymbolNumber324 ScatterternaryMarkerSymbol = 324 + ScatterternaryMarkerSymbol324 ScatterternaryMarkerSymbol = "324" + ScatterternaryMarkerSymbolDiamondWideOpenDot ScatterternaryMarkerSymbol = "diamond-wide-open-dot" + ScatterternaryMarkerSymbolNumber25 ScatterternaryMarkerSymbol = 25 + ScatterternaryMarkerSymbol25 ScatterternaryMarkerSymbol = "25" + ScatterternaryMarkerSymbolHourglass ScatterternaryMarkerSymbol = "hourglass" + ScatterternaryMarkerSymbolNumber125 ScatterternaryMarkerSymbol = 125 + ScatterternaryMarkerSymbol125 ScatterternaryMarkerSymbol = "125" + ScatterternaryMarkerSymbolHourglassOpen ScatterternaryMarkerSymbol = "hourglass-open" + ScatterternaryMarkerSymbolNumber26 ScatterternaryMarkerSymbol = 26 + ScatterternaryMarkerSymbol26 ScatterternaryMarkerSymbol = "26" + ScatterternaryMarkerSymbolBowtie ScatterternaryMarkerSymbol = "bowtie" + ScatterternaryMarkerSymbolNumber126 ScatterternaryMarkerSymbol = 126 + ScatterternaryMarkerSymbol126 ScatterternaryMarkerSymbol = "126" + ScatterternaryMarkerSymbolBowtieOpen ScatterternaryMarkerSymbol = "bowtie-open" + ScatterternaryMarkerSymbolNumber27 ScatterternaryMarkerSymbol = 27 + ScatterternaryMarkerSymbol27 ScatterternaryMarkerSymbol = "27" + ScatterternaryMarkerSymbolCircleCross ScatterternaryMarkerSymbol = "circle-cross" + ScatterternaryMarkerSymbolNumber127 ScatterternaryMarkerSymbol = 127 + ScatterternaryMarkerSymbol127 ScatterternaryMarkerSymbol = "127" + ScatterternaryMarkerSymbolCircleCrossOpen ScatterternaryMarkerSymbol = "circle-cross-open" + ScatterternaryMarkerSymbolNumber28 ScatterternaryMarkerSymbol = 28 + ScatterternaryMarkerSymbol28 ScatterternaryMarkerSymbol = "28" + ScatterternaryMarkerSymbolCircleX ScatterternaryMarkerSymbol = "circle-x" + ScatterternaryMarkerSymbolNumber128 ScatterternaryMarkerSymbol = 128 + ScatterternaryMarkerSymbol128 ScatterternaryMarkerSymbol = "128" + ScatterternaryMarkerSymbolCircleXOpen ScatterternaryMarkerSymbol = "circle-x-open" + ScatterternaryMarkerSymbolNumber29 ScatterternaryMarkerSymbol = 29 + ScatterternaryMarkerSymbol29 ScatterternaryMarkerSymbol = "29" + ScatterternaryMarkerSymbolSquareCross ScatterternaryMarkerSymbol = "square-cross" + ScatterternaryMarkerSymbolNumber129 ScatterternaryMarkerSymbol = 129 + ScatterternaryMarkerSymbol129 ScatterternaryMarkerSymbol = "129" + ScatterternaryMarkerSymbolSquareCrossOpen ScatterternaryMarkerSymbol = "square-cross-open" + ScatterternaryMarkerSymbolNumber30 ScatterternaryMarkerSymbol = 30 + ScatterternaryMarkerSymbol30 ScatterternaryMarkerSymbol = "30" + ScatterternaryMarkerSymbolSquareX ScatterternaryMarkerSymbol = "square-x" + ScatterternaryMarkerSymbolNumber130 ScatterternaryMarkerSymbol = 130 + ScatterternaryMarkerSymbol130 ScatterternaryMarkerSymbol = "130" + ScatterternaryMarkerSymbolSquareXOpen ScatterternaryMarkerSymbol = "square-x-open" + ScatterternaryMarkerSymbolNumber31 ScatterternaryMarkerSymbol = 31 + ScatterternaryMarkerSymbol31 ScatterternaryMarkerSymbol = "31" + ScatterternaryMarkerSymbolDiamondCross ScatterternaryMarkerSymbol = "diamond-cross" + ScatterternaryMarkerSymbolNumber131 ScatterternaryMarkerSymbol = 131 + ScatterternaryMarkerSymbol131 ScatterternaryMarkerSymbol = "131" + ScatterternaryMarkerSymbolDiamondCrossOpen ScatterternaryMarkerSymbol = "diamond-cross-open" + ScatterternaryMarkerSymbolNumber32 ScatterternaryMarkerSymbol = 32 + ScatterternaryMarkerSymbol32 ScatterternaryMarkerSymbol = "32" + ScatterternaryMarkerSymbolDiamondX ScatterternaryMarkerSymbol = "diamond-x" + ScatterternaryMarkerSymbolNumber132 ScatterternaryMarkerSymbol = 132 + ScatterternaryMarkerSymbol132 ScatterternaryMarkerSymbol = "132" + ScatterternaryMarkerSymbolDiamondXOpen ScatterternaryMarkerSymbol = "diamond-x-open" + ScatterternaryMarkerSymbolNumber33 ScatterternaryMarkerSymbol = 33 + ScatterternaryMarkerSymbol33 ScatterternaryMarkerSymbol = "33" + ScatterternaryMarkerSymbolCrossThin ScatterternaryMarkerSymbol = "cross-thin" + ScatterternaryMarkerSymbolNumber133 ScatterternaryMarkerSymbol = 133 + ScatterternaryMarkerSymbol133 ScatterternaryMarkerSymbol = "133" + ScatterternaryMarkerSymbolCrossThinOpen ScatterternaryMarkerSymbol = "cross-thin-open" + ScatterternaryMarkerSymbolNumber34 ScatterternaryMarkerSymbol = 34 + ScatterternaryMarkerSymbol34 ScatterternaryMarkerSymbol = "34" + ScatterternaryMarkerSymbolXThin ScatterternaryMarkerSymbol = "x-thin" + ScatterternaryMarkerSymbolNumber134 ScatterternaryMarkerSymbol = 134 + ScatterternaryMarkerSymbol134 ScatterternaryMarkerSymbol = "134" + ScatterternaryMarkerSymbolXThinOpen ScatterternaryMarkerSymbol = "x-thin-open" + ScatterternaryMarkerSymbolNumber35 ScatterternaryMarkerSymbol = 35 + ScatterternaryMarkerSymbol35 ScatterternaryMarkerSymbol = "35" + ScatterternaryMarkerSymbolAsterisk ScatterternaryMarkerSymbol = "asterisk" + ScatterternaryMarkerSymbolNumber135 ScatterternaryMarkerSymbol = 135 + ScatterternaryMarkerSymbol135 ScatterternaryMarkerSymbol = "135" + ScatterternaryMarkerSymbolAsteriskOpen ScatterternaryMarkerSymbol = "asterisk-open" + ScatterternaryMarkerSymbolNumber36 ScatterternaryMarkerSymbol = 36 + ScatterternaryMarkerSymbol36 ScatterternaryMarkerSymbol = "36" + ScatterternaryMarkerSymbolHash ScatterternaryMarkerSymbol = "hash" + ScatterternaryMarkerSymbolNumber136 ScatterternaryMarkerSymbol = 136 + ScatterternaryMarkerSymbol136 ScatterternaryMarkerSymbol = "136" + ScatterternaryMarkerSymbolHashOpen ScatterternaryMarkerSymbol = "hash-open" + ScatterternaryMarkerSymbolNumber236 ScatterternaryMarkerSymbol = 236 + ScatterternaryMarkerSymbol236 ScatterternaryMarkerSymbol = "236" + ScatterternaryMarkerSymbolHashDot ScatterternaryMarkerSymbol = "hash-dot" + ScatterternaryMarkerSymbolNumber336 ScatterternaryMarkerSymbol = 336 + ScatterternaryMarkerSymbol336 ScatterternaryMarkerSymbol = "336" + ScatterternaryMarkerSymbolHashOpenDot ScatterternaryMarkerSymbol = "hash-open-dot" + ScatterternaryMarkerSymbolNumber37 ScatterternaryMarkerSymbol = 37 + ScatterternaryMarkerSymbol37 ScatterternaryMarkerSymbol = "37" + ScatterternaryMarkerSymbolYUp ScatterternaryMarkerSymbol = "y-up" + ScatterternaryMarkerSymbolNumber137 ScatterternaryMarkerSymbol = 137 + ScatterternaryMarkerSymbol137 ScatterternaryMarkerSymbol = "137" + ScatterternaryMarkerSymbolYUpOpen ScatterternaryMarkerSymbol = "y-up-open" + ScatterternaryMarkerSymbolNumber38 ScatterternaryMarkerSymbol = 38 + ScatterternaryMarkerSymbol38 ScatterternaryMarkerSymbol = "38" + ScatterternaryMarkerSymbolYDown ScatterternaryMarkerSymbol = "y-down" + ScatterternaryMarkerSymbolNumber138 ScatterternaryMarkerSymbol = 138 + ScatterternaryMarkerSymbol138 ScatterternaryMarkerSymbol = "138" + ScatterternaryMarkerSymbolYDownOpen ScatterternaryMarkerSymbol = "y-down-open" + ScatterternaryMarkerSymbolNumber39 ScatterternaryMarkerSymbol = 39 + ScatterternaryMarkerSymbol39 ScatterternaryMarkerSymbol = "39" + ScatterternaryMarkerSymbolYLeft ScatterternaryMarkerSymbol = "y-left" + ScatterternaryMarkerSymbolNumber139 ScatterternaryMarkerSymbol = 139 + ScatterternaryMarkerSymbol139 ScatterternaryMarkerSymbol = "139" + ScatterternaryMarkerSymbolYLeftOpen ScatterternaryMarkerSymbol = "y-left-open" + ScatterternaryMarkerSymbolNumber40 ScatterternaryMarkerSymbol = 40 + ScatterternaryMarkerSymbol40 ScatterternaryMarkerSymbol = "40" + ScatterternaryMarkerSymbolYRight ScatterternaryMarkerSymbol = "y-right" + ScatterternaryMarkerSymbolNumber140 ScatterternaryMarkerSymbol = 140 + ScatterternaryMarkerSymbol140 ScatterternaryMarkerSymbol = "140" + ScatterternaryMarkerSymbolYRightOpen ScatterternaryMarkerSymbol = "y-right-open" + ScatterternaryMarkerSymbolNumber41 ScatterternaryMarkerSymbol = 41 + ScatterternaryMarkerSymbol41 ScatterternaryMarkerSymbol = "41" + ScatterternaryMarkerSymbolLineEw ScatterternaryMarkerSymbol = "line-ew" + ScatterternaryMarkerSymbolNumber141 ScatterternaryMarkerSymbol = 141 + ScatterternaryMarkerSymbol141 ScatterternaryMarkerSymbol = "141" + ScatterternaryMarkerSymbolLineEwOpen ScatterternaryMarkerSymbol = "line-ew-open" + ScatterternaryMarkerSymbolNumber42 ScatterternaryMarkerSymbol = 42 + ScatterternaryMarkerSymbol42 ScatterternaryMarkerSymbol = "42" + ScatterternaryMarkerSymbolLineNs ScatterternaryMarkerSymbol = "line-ns" + ScatterternaryMarkerSymbolNumber142 ScatterternaryMarkerSymbol = 142 + ScatterternaryMarkerSymbol142 ScatterternaryMarkerSymbol = "142" + ScatterternaryMarkerSymbolLineNsOpen ScatterternaryMarkerSymbol = "line-ns-open" + ScatterternaryMarkerSymbolNumber43 ScatterternaryMarkerSymbol = 43 + ScatterternaryMarkerSymbol43 ScatterternaryMarkerSymbol = "43" + ScatterternaryMarkerSymbolLineNe ScatterternaryMarkerSymbol = "line-ne" + ScatterternaryMarkerSymbolNumber143 ScatterternaryMarkerSymbol = 143 + ScatterternaryMarkerSymbol143 ScatterternaryMarkerSymbol = "143" + ScatterternaryMarkerSymbolLineNeOpen ScatterternaryMarkerSymbol = "line-ne-open" + ScatterternaryMarkerSymbolNumber44 ScatterternaryMarkerSymbol = 44 + ScatterternaryMarkerSymbol44 ScatterternaryMarkerSymbol = "44" + ScatterternaryMarkerSymbolLineNw ScatterternaryMarkerSymbol = "line-nw" + ScatterternaryMarkerSymbolNumber144 ScatterternaryMarkerSymbol = 144 + ScatterternaryMarkerSymbol144 ScatterternaryMarkerSymbol = "144" + ScatterternaryMarkerSymbolLineNwOpen ScatterternaryMarkerSymbol = "line-nw-open" + ScatterternaryMarkerSymbolNumber45 ScatterternaryMarkerSymbol = 45 + ScatterternaryMarkerSymbol45 ScatterternaryMarkerSymbol = "45" + ScatterternaryMarkerSymbolArrowUp ScatterternaryMarkerSymbol = "arrow-up" + ScatterternaryMarkerSymbolNumber145 ScatterternaryMarkerSymbol = 145 + ScatterternaryMarkerSymbol145 ScatterternaryMarkerSymbol = "145" + ScatterternaryMarkerSymbolArrowUpOpen ScatterternaryMarkerSymbol = "arrow-up-open" + ScatterternaryMarkerSymbolNumber46 ScatterternaryMarkerSymbol = 46 + ScatterternaryMarkerSymbol46 ScatterternaryMarkerSymbol = "46" + ScatterternaryMarkerSymbolArrowDown ScatterternaryMarkerSymbol = "arrow-down" + ScatterternaryMarkerSymbolNumber146 ScatterternaryMarkerSymbol = 146 + ScatterternaryMarkerSymbol146 ScatterternaryMarkerSymbol = "146" + ScatterternaryMarkerSymbolArrowDownOpen ScatterternaryMarkerSymbol = "arrow-down-open" + ScatterternaryMarkerSymbolNumber47 ScatterternaryMarkerSymbol = 47 + ScatterternaryMarkerSymbol47 ScatterternaryMarkerSymbol = "47" + ScatterternaryMarkerSymbolArrowLeft ScatterternaryMarkerSymbol = "arrow-left" + ScatterternaryMarkerSymbolNumber147 ScatterternaryMarkerSymbol = 147 + ScatterternaryMarkerSymbol147 ScatterternaryMarkerSymbol = "147" + ScatterternaryMarkerSymbolArrowLeftOpen ScatterternaryMarkerSymbol = "arrow-left-open" + ScatterternaryMarkerSymbolNumber48 ScatterternaryMarkerSymbol = 48 + ScatterternaryMarkerSymbol48 ScatterternaryMarkerSymbol = "48" + ScatterternaryMarkerSymbolArrowRight ScatterternaryMarkerSymbol = "arrow-right" + ScatterternaryMarkerSymbolNumber148 ScatterternaryMarkerSymbol = 148 + ScatterternaryMarkerSymbol148 ScatterternaryMarkerSymbol = "148" + ScatterternaryMarkerSymbolArrowRightOpen ScatterternaryMarkerSymbol = "arrow-right-open" + ScatterternaryMarkerSymbolNumber49 ScatterternaryMarkerSymbol = 49 + ScatterternaryMarkerSymbol49 ScatterternaryMarkerSymbol = "49" + ScatterternaryMarkerSymbolArrowBarUp ScatterternaryMarkerSymbol = "arrow-bar-up" + ScatterternaryMarkerSymbolNumber149 ScatterternaryMarkerSymbol = 149 + ScatterternaryMarkerSymbol149 ScatterternaryMarkerSymbol = "149" + ScatterternaryMarkerSymbolArrowBarUpOpen ScatterternaryMarkerSymbol = "arrow-bar-up-open" + ScatterternaryMarkerSymbolNumber50 ScatterternaryMarkerSymbol = 50 + ScatterternaryMarkerSymbol50 ScatterternaryMarkerSymbol = "50" + ScatterternaryMarkerSymbolArrowBarDown ScatterternaryMarkerSymbol = "arrow-bar-down" + ScatterternaryMarkerSymbolNumber150 ScatterternaryMarkerSymbol = 150 + ScatterternaryMarkerSymbol150 ScatterternaryMarkerSymbol = "150" + ScatterternaryMarkerSymbolArrowBarDownOpen ScatterternaryMarkerSymbol = "arrow-bar-down-open" + ScatterternaryMarkerSymbolNumber51 ScatterternaryMarkerSymbol = 51 + ScatterternaryMarkerSymbol51 ScatterternaryMarkerSymbol = "51" + ScatterternaryMarkerSymbolArrowBarLeft ScatterternaryMarkerSymbol = "arrow-bar-left" + ScatterternaryMarkerSymbolNumber151 ScatterternaryMarkerSymbol = 151 + ScatterternaryMarkerSymbol151 ScatterternaryMarkerSymbol = "151" + ScatterternaryMarkerSymbolArrowBarLeftOpen ScatterternaryMarkerSymbol = "arrow-bar-left-open" + ScatterternaryMarkerSymbolNumber52 ScatterternaryMarkerSymbol = 52 + ScatterternaryMarkerSymbol52 ScatterternaryMarkerSymbol = "52" + ScatterternaryMarkerSymbolArrowBarRight ScatterternaryMarkerSymbol = "arrow-bar-right" + ScatterternaryMarkerSymbolNumber152 ScatterternaryMarkerSymbol = 152 + ScatterternaryMarkerSymbol152 ScatterternaryMarkerSymbol = "152" + ScatterternaryMarkerSymbolArrowBarRightOpen ScatterternaryMarkerSymbol = "arrow-bar-right-open" + ScatterternaryMarkerSymbolNumber53 ScatterternaryMarkerSymbol = 53 + ScatterternaryMarkerSymbol53 ScatterternaryMarkerSymbol = "53" + ScatterternaryMarkerSymbolArrow ScatterternaryMarkerSymbol = "arrow" + ScatterternaryMarkerSymbolNumber153 ScatterternaryMarkerSymbol = 153 + ScatterternaryMarkerSymbol153 ScatterternaryMarkerSymbol = "153" + ScatterternaryMarkerSymbolArrowOpen ScatterternaryMarkerSymbol = "arrow-open" + ScatterternaryMarkerSymbolNumber54 ScatterternaryMarkerSymbol = 54 + ScatterternaryMarkerSymbol54 ScatterternaryMarkerSymbol = "54" + ScatterternaryMarkerSymbolArrowWide ScatterternaryMarkerSymbol = "arrow-wide" + ScatterternaryMarkerSymbolNumber154 ScatterternaryMarkerSymbol = 154 + ScatterternaryMarkerSymbol154 ScatterternaryMarkerSymbol = "154" + ScatterternaryMarkerSymbolArrowWideOpen ScatterternaryMarkerSymbol = "arrow-wide-open" +) + +// ScatterternaryTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. +type ScatterternaryTextposition string + +const ( + ScatterternaryTextpositionTopLeft ScatterternaryTextposition = "top left" + ScatterternaryTextpositionTopCenter ScatterternaryTextposition = "top center" + ScatterternaryTextpositionTopRight ScatterternaryTextposition = "top right" + ScatterternaryTextpositionMiddleLeft ScatterternaryTextposition = "middle left" + ScatterternaryTextpositionMiddleCenter ScatterternaryTextposition = "middle center" + ScatterternaryTextpositionMiddleRight ScatterternaryTextposition = "middle right" + ScatterternaryTextpositionBottomLeft ScatterternaryTextposition = "bottom left" + ScatterternaryTextpositionBottomCenter ScatterternaryTextposition = "bottom center" + ScatterternaryTextpositionBottomRight ScatterternaryTextposition = "bottom right" +) + +// ScatterternaryVisible 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). +type ScatterternaryVisible interface{} + +var ( + ScatterternaryVisibleTrue ScatterternaryVisible = true + ScatterternaryVisibleFalse ScatterternaryVisible = false + ScatterternaryVisibleLegendonly ScatterternaryVisible = "legendonly" +) + +// ScatterternaryHoverinfo 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. +type ScatterternaryHoverinfo string + +const ( + // Flags + ScatterternaryHoverinfoA ScatterternaryHoverinfo = "a" + ScatterternaryHoverinfoB ScatterternaryHoverinfo = "b" + ScatterternaryHoverinfoC ScatterternaryHoverinfo = "c" + ScatterternaryHoverinfoText ScatterternaryHoverinfo = "text" + ScatterternaryHoverinfoName ScatterternaryHoverinfo = "name" + + // Extra + ScatterternaryHoverinfoAll ScatterternaryHoverinfo = "all" + ScatterternaryHoverinfoNone ScatterternaryHoverinfo = "none" + ScatterternaryHoverinfoSkip ScatterternaryHoverinfo = "skip" +) + +// ScatterternaryHoveron 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*. +type ScatterternaryHoveron string + +const ( + // Flags + ScatterternaryHoveronPoints ScatterternaryHoveron = "points" + ScatterternaryHoveronFills ScatterternaryHoveron = "fills" + + // Extra + +) + +// ScatterternaryMode 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*. +type ScatterternaryMode string + +const ( + // Flags + ScatterternaryModeLines ScatterternaryMode = "lines" + ScatterternaryModeMarkers ScatterternaryMode = "markers" + ScatterternaryModeText ScatterternaryMode = "text" + + // Extra + ScatterternaryModeNone ScatterternaryMode = "none" +) diff --git a/generated/v2.31.1/graph_objects/splom_gen.go b/generated/v2.31.1/graph_objects/splom_gen.go new file mode 100644 index 0000000..50d4c58 --- /dev/null +++ b/generated/v2.31.1/graph_objects/splom_gen.go @@ -0,0 +1,1720 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeSplom TraceType = "splom" + +func (trace *Splom) GetType() TraceType { + return TraceTypeSplom +} + +// Splom 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. +type Splom struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Diagonal + // role: Object + Diagonal *SplomDiagonal `json:"diagonal,omitempty"` + + // Dimensions + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Dimensions interface{} `json:"dimensions,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo SplomHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *SplomHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // Same as `text`. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *SplomLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Marker + // role: Object + Marker *SplomMarker `json:"marker,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Selected + // role: Object + Selected *SplomSelected `json:"selected,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Showlowerhalf + // arrayOK: false + // type: boolean + // Determines whether or not subplots on the lower half from the diagonal are displayed. + Showlowerhalf Bool `json:"showlowerhalf,omitempty"` + + // Showupperhalf + // arrayOK: false + // type: boolean + // Determines whether or not subplots on the upper half from the diagonal are displayed. + Showupperhalf Bool `json:"showupperhalf,omitempty"` + + // Stream + // role: Object + Stream *SplomStream `json:"stream,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Unselected + // role: Object + Unselected *SplomUnselected `json:"unselected,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible SplomVisible `json:"visible,omitempty"` + + // Xaxes + // arrayOK: false + // type: info_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. + Xaxes interface{} `json:"xaxes,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Yaxes + // arrayOK: false + // type: info_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. + Yaxes interface{} `json:"yaxes,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` +} + +// SplomDiagonal +type SplomDiagonal struct { + + // Visible + // arrayOK: false + // type: boolean + // Determines whether or not subplots on the diagonal are displayed. + Visible Bool `json:"visible,omitempty"` +} + +// SplomHoverlabelFont Sets the font used in hover labels. +type SplomHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// SplomHoverlabel +type SplomHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align SplomHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *SplomHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// SplomLegendgrouptitleFont Sets this legend group's title font. +type SplomLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// SplomLegendgrouptitle +type SplomLegendgrouptitle struct { + + // Font + // role: Object + Font *SplomLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// SplomMarkerColorbarTickfont Sets the color bar's tick label font +type SplomMarkerColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// SplomMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type SplomMarkerColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// SplomMarkerColorbarTitle +type SplomMarkerColorbarTitle struct { + + // Font + // role: Object + Font *SplomMarkerColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side SplomMarkerColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// SplomMarkerColorbar +type SplomMarkerColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat SplomMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode SplomMarkerColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation SplomMarkerColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent SplomMarkerColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix SplomMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix SplomMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode SplomMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *SplomMarkerColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow SplomMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition SplomMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode SplomMarkerColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks SplomMarkerColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *SplomMarkerColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor SplomMarkerColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref SplomMarkerColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor SplomMarkerColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref SplomMarkerColorbarYref `json:"yref,omitempty"` +} + +// SplomMarkerLine +type SplomMarkerLine struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the lines bounding the marker points. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// SplomMarker +type SplomMarker struct { + + // Angle + // arrayOK: true + // type: angle + // Sets the marker angle in respect to `angleref`. + Angle float64 `json:"angle,omitempty"` + + // Anglesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `angle`. + Anglesrc String `json:"anglesrc,omitempty"` + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Color + // arrayOK: true + // 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. + Color Color `json:"color,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *SplomMarkerColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Line + // role: Object + Line *SplomMarkerLine `json:"line,omitempty"` + + // Opacity + // arrayOK: true + // type: number + // Sets the marker opacity. + Opacity float64 `json:"opacity,omitempty"` + + // Opacitysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `opacity`. + Opacitysrc String `json:"opacitysrc,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the marker size (in px). + Size float64 `json:"size,omitempty"` + + // Sizemin + // arrayOK: false + // 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. + Sizemin float64 `json:"sizemin,omitempty"` + + // Sizemode + // default: diameter + // type: enumerated + // 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. + Sizemode SplomMarkerSizemode `json:"sizemode,omitempty"` + + // Sizeref + // arrayOK: false + // type: number + // 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`. + Sizeref float64 `json:"sizeref,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Symbol + // default: circle + // type: enumerated + // 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. + Symbol SplomMarkerSymbol `json:"symbol,omitempty"` + + // Symbolsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `symbol`. + Symbolsrc String `json:"symbolsrc,omitempty"` +} + +// SplomSelectedMarker +type SplomSelectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of selected points. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of selected points. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of selected points. + Size float64 `json:"size,omitempty"` +} + +// SplomSelected +type SplomSelected struct { + + // Marker + // role: Object + Marker *SplomSelectedMarker `json:"marker,omitempty"` +} + +// SplomStream +type SplomStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// SplomUnselectedMarker +type SplomUnselectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of unselected points, applied only when a selection exists. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of unselected points, applied only when a selection exists. + Size float64 `json:"size,omitempty"` +} + +// SplomUnselected +type SplomUnselected struct { + + // Marker + // role: Object + Marker *SplomUnselectedMarker `json:"marker,omitempty"` +} + +// SplomHoverlabelAlign 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 +type SplomHoverlabelAlign string + +const ( + SplomHoverlabelAlignLeft SplomHoverlabelAlign = "left" + SplomHoverlabelAlignRight SplomHoverlabelAlign = "right" + SplomHoverlabelAlignAuto SplomHoverlabelAlign = "auto" +) + +// SplomMarkerColorbarExponentformat 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. +type SplomMarkerColorbarExponentformat string + +const ( + SplomMarkerColorbarExponentformatNone SplomMarkerColorbarExponentformat = "none" + SplomMarkerColorbarExponentformatE1 SplomMarkerColorbarExponentformat = "e" + SplomMarkerColorbarExponentformatE2 SplomMarkerColorbarExponentformat = "E" + SplomMarkerColorbarExponentformatPower SplomMarkerColorbarExponentformat = "power" + SplomMarkerColorbarExponentformatSI SplomMarkerColorbarExponentformat = "SI" + SplomMarkerColorbarExponentformatB SplomMarkerColorbarExponentformat = "B" +) + +// SplomMarkerColorbarLenmode 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. +type SplomMarkerColorbarLenmode string + +const ( + SplomMarkerColorbarLenmodeFraction SplomMarkerColorbarLenmode = "fraction" + SplomMarkerColorbarLenmodePixels SplomMarkerColorbarLenmode = "pixels" +) + +// SplomMarkerColorbarOrientation Sets the orientation of the colorbar. +type SplomMarkerColorbarOrientation string + +const ( + SplomMarkerColorbarOrientationH SplomMarkerColorbarOrientation = "h" + SplomMarkerColorbarOrientationV SplomMarkerColorbarOrientation = "v" +) + +// SplomMarkerColorbarShowexponent 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. +type SplomMarkerColorbarShowexponent string + +const ( + SplomMarkerColorbarShowexponentAll SplomMarkerColorbarShowexponent = "all" + SplomMarkerColorbarShowexponentFirst SplomMarkerColorbarShowexponent = "first" + SplomMarkerColorbarShowexponentLast SplomMarkerColorbarShowexponent = "last" + SplomMarkerColorbarShowexponentNone SplomMarkerColorbarShowexponent = "none" +) + +// SplomMarkerColorbarShowtickprefix 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. +type SplomMarkerColorbarShowtickprefix string + +const ( + SplomMarkerColorbarShowtickprefixAll SplomMarkerColorbarShowtickprefix = "all" + SplomMarkerColorbarShowtickprefixFirst SplomMarkerColorbarShowtickprefix = "first" + SplomMarkerColorbarShowtickprefixLast SplomMarkerColorbarShowtickprefix = "last" + SplomMarkerColorbarShowtickprefixNone SplomMarkerColorbarShowtickprefix = "none" +) + +// SplomMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type SplomMarkerColorbarShowticksuffix string + +const ( + SplomMarkerColorbarShowticksuffixAll SplomMarkerColorbarShowticksuffix = "all" + SplomMarkerColorbarShowticksuffixFirst SplomMarkerColorbarShowticksuffix = "first" + SplomMarkerColorbarShowticksuffixLast SplomMarkerColorbarShowticksuffix = "last" + SplomMarkerColorbarShowticksuffixNone SplomMarkerColorbarShowticksuffix = "none" +) + +// SplomMarkerColorbarThicknessmode 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. +type SplomMarkerColorbarThicknessmode string + +const ( + SplomMarkerColorbarThicknessmodeFraction SplomMarkerColorbarThicknessmode = "fraction" + SplomMarkerColorbarThicknessmodePixels SplomMarkerColorbarThicknessmode = "pixels" +) + +// SplomMarkerColorbarTicklabeloverflow 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*. +type SplomMarkerColorbarTicklabeloverflow string + +const ( + SplomMarkerColorbarTicklabeloverflowAllow SplomMarkerColorbarTicklabeloverflow = "allow" + SplomMarkerColorbarTicklabeloverflowHidePastDiv SplomMarkerColorbarTicklabeloverflow = "hide past div" + SplomMarkerColorbarTicklabeloverflowHidePastDomain SplomMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// SplomMarkerColorbarTicklabelposition 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*. +type SplomMarkerColorbarTicklabelposition string + +const ( + SplomMarkerColorbarTicklabelpositionOutside SplomMarkerColorbarTicklabelposition = "outside" + SplomMarkerColorbarTicklabelpositionInside SplomMarkerColorbarTicklabelposition = "inside" + SplomMarkerColorbarTicklabelpositionOutsideTop SplomMarkerColorbarTicklabelposition = "outside top" + SplomMarkerColorbarTicklabelpositionInsideTop SplomMarkerColorbarTicklabelposition = "inside top" + SplomMarkerColorbarTicklabelpositionOutsideLeft SplomMarkerColorbarTicklabelposition = "outside left" + SplomMarkerColorbarTicklabelpositionInsideLeft SplomMarkerColorbarTicklabelposition = "inside left" + SplomMarkerColorbarTicklabelpositionOutsideRight SplomMarkerColorbarTicklabelposition = "outside right" + SplomMarkerColorbarTicklabelpositionInsideRight SplomMarkerColorbarTicklabelposition = "inside right" + SplomMarkerColorbarTicklabelpositionOutsideBottom SplomMarkerColorbarTicklabelposition = "outside bottom" + SplomMarkerColorbarTicklabelpositionInsideBottom SplomMarkerColorbarTicklabelposition = "inside bottom" +) + +// SplomMarkerColorbarTickmode 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). +type SplomMarkerColorbarTickmode string + +const ( + SplomMarkerColorbarTickmodeAuto SplomMarkerColorbarTickmode = "auto" + SplomMarkerColorbarTickmodeLinear SplomMarkerColorbarTickmode = "linear" + SplomMarkerColorbarTickmodeArray SplomMarkerColorbarTickmode = "array" +) + +// SplomMarkerColorbarTicks 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. +type SplomMarkerColorbarTicks string + +const ( + SplomMarkerColorbarTicksOutside SplomMarkerColorbarTicks = "outside" + SplomMarkerColorbarTicksInside SplomMarkerColorbarTicks = "inside" + SplomMarkerColorbarTicksEmpty SplomMarkerColorbarTicks = "" +) + +// SplomMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type SplomMarkerColorbarTitleSide string + +const ( + SplomMarkerColorbarTitleSideRight SplomMarkerColorbarTitleSide = "right" + SplomMarkerColorbarTitleSideTop SplomMarkerColorbarTitleSide = "top" + SplomMarkerColorbarTitleSideBottom SplomMarkerColorbarTitleSide = "bottom" +) + +// SplomMarkerColorbarXanchor 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*. +type SplomMarkerColorbarXanchor string + +const ( + SplomMarkerColorbarXanchorLeft SplomMarkerColorbarXanchor = "left" + SplomMarkerColorbarXanchorCenter SplomMarkerColorbarXanchor = "center" + SplomMarkerColorbarXanchorRight SplomMarkerColorbarXanchor = "right" +) + +// SplomMarkerColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type SplomMarkerColorbarXref string + +const ( + SplomMarkerColorbarXrefContainer SplomMarkerColorbarXref = "container" + SplomMarkerColorbarXrefPaper SplomMarkerColorbarXref = "paper" +) + +// SplomMarkerColorbarYanchor 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*. +type SplomMarkerColorbarYanchor string + +const ( + SplomMarkerColorbarYanchorTop SplomMarkerColorbarYanchor = "top" + SplomMarkerColorbarYanchorMiddle SplomMarkerColorbarYanchor = "middle" + SplomMarkerColorbarYanchorBottom SplomMarkerColorbarYanchor = "bottom" +) + +// SplomMarkerColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type SplomMarkerColorbarYref string + +const ( + SplomMarkerColorbarYrefContainer SplomMarkerColorbarYref = "container" + SplomMarkerColorbarYrefPaper SplomMarkerColorbarYref = "paper" +) + +// SplomMarkerSizemode 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. +type SplomMarkerSizemode string + +const ( + SplomMarkerSizemodeDiameter SplomMarkerSizemode = "diameter" + SplomMarkerSizemodeArea SplomMarkerSizemode = "area" +) + +// SplomMarkerSymbol 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. +type SplomMarkerSymbol interface{} + +var ( + SplomMarkerSymbolNumber0 SplomMarkerSymbol = 0 + SplomMarkerSymbol0 SplomMarkerSymbol = "0" + SplomMarkerSymbolCircle SplomMarkerSymbol = "circle" + SplomMarkerSymbolNumber100 SplomMarkerSymbol = 100 + SplomMarkerSymbol100 SplomMarkerSymbol = "100" + SplomMarkerSymbolCircleOpen SplomMarkerSymbol = "circle-open" + SplomMarkerSymbolNumber200 SplomMarkerSymbol = 200 + SplomMarkerSymbol200 SplomMarkerSymbol = "200" + SplomMarkerSymbolCircleDot SplomMarkerSymbol = "circle-dot" + SplomMarkerSymbolNumber300 SplomMarkerSymbol = 300 + SplomMarkerSymbol300 SplomMarkerSymbol = "300" + SplomMarkerSymbolCircleOpenDot SplomMarkerSymbol = "circle-open-dot" + SplomMarkerSymbolNumber1 SplomMarkerSymbol = 1 + SplomMarkerSymbol1 SplomMarkerSymbol = "1" + SplomMarkerSymbolSquare SplomMarkerSymbol = "square" + SplomMarkerSymbolNumber101 SplomMarkerSymbol = 101 + SplomMarkerSymbol101 SplomMarkerSymbol = "101" + SplomMarkerSymbolSquareOpen SplomMarkerSymbol = "square-open" + SplomMarkerSymbolNumber201 SplomMarkerSymbol = 201 + SplomMarkerSymbol201 SplomMarkerSymbol = "201" + SplomMarkerSymbolSquareDot SplomMarkerSymbol = "square-dot" + SplomMarkerSymbolNumber301 SplomMarkerSymbol = 301 + SplomMarkerSymbol301 SplomMarkerSymbol = "301" + SplomMarkerSymbolSquareOpenDot SplomMarkerSymbol = "square-open-dot" + SplomMarkerSymbolNumber2 SplomMarkerSymbol = 2 + SplomMarkerSymbol2 SplomMarkerSymbol = "2" + SplomMarkerSymbolDiamond SplomMarkerSymbol = "diamond" + SplomMarkerSymbolNumber102 SplomMarkerSymbol = 102 + SplomMarkerSymbol102 SplomMarkerSymbol = "102" + SplomMarkerSymbolDiamondOpen SplomMarkerSymbol = "diamond-open" + SplomMarkerSymbolNumber202 SplomMarkerSymbol = 202 + SplomMarkerSymbol202 SplomMarkerSymbol = "202" + SplomMarkerSymbolDiamondDot SplomMarkerSymbol = "diamond-dot" + SplomMarkerSymbolNumber302 SplomMarkerSymbol = 302 + SplomMarkerSymbol302 SplomMarkerSymbol = "302" + SplomMarkerSymbolDiamondOpenDot SplomMarkerSymbol = "diamond-open-dot" + SplomMarkerSymbolNumber3 SplomMarkerSymbol = 3 + SplomMarkerSymbol3 SplomMarkerSymbol = "3" + SplomMarkerSymbolCross SplomMarkerSymbol = "cross" + SplomMarkerSymbolNumber103 SplomMarkerSymbol = 103 + SplomMarkerSymbol103 SplomMarkerSymbol = "103" + SplomMarkerSymbolCrossOpen SplomMarkerSymbol = "cross-open" + SplomMarkerSymbolNumber203 SplomMarkerSymbol = 203 + SplomMarkerSymbol203 SplomMarkerSymbol = "203" + SplomMarkerSymbolCrossDot SplomMarkerSymbol = "cross-dot" + SplomMarkerSymbolNumber303 SplomMarkerSymbol = 303 + SplomMarkerSymbol303 SplomMarkerSymbol = "303" + SplomMarkerSymbolCrossOpenDot SplomMarkerSymbol = "cross-open-dot" + SplomMarkerSymbolNumber4 SplomMarkerSymbol = 4 + SplomMarkerSymbol4 SplomMarkerSymbol = "4" + SplomMarkerSymbolX SplomMarkerSymbol = "x" + SplomMarkerSymbolNumber104 SplomMarkerSymbol = 104 + SplomMarkerSymbol104 SplomMarkerSymbol = "104" + SplomMarkerSymbolXOpen SplomMarkerSymbol = "x-open" + SplomMarkerSymbolNumber204 SplomMarkerSymbol = 204 + SplomMarkerSymbol204 SplomMarkerSymbol = "204" + SplomMarkerSymbolXDot SplomMarkerSymbol = "x-dot" + SplomMarkerSymbolNumber304 SplomMarkerSymbol = 304 + SplomMarkerSymbol304 SplomMarkerSymbol = "304" + SplomMarkerSymbolXOpenDot SplomMarkerSymbol = "x-open-dot" + SplomMarkerSymbolNumber5 SplomMarkerSymbol = 5 + SplomMarkerSymbol5 SplomMarkerSymbol = "5" + SplomMarkerSymbolTriangleUp SplomMarkerSymbol = "triangle-up" + SplomMarkerSymbolNumber105 SplomMarkerSymbol = 105 + SplomMarkerSymbol105 SplomMarkerSymbol = "105" + SplomMarkerSymbolTriangleUpOpen SplomMarkerSymbol = "triangle-up-open" + SplomMarkerSymbolNumber205 SplomMarkerSymbol = 205 + SplomMarkerSymbol205 SplomMarkerSymbol = "205" + SplomMarkerSymbolTriangleUpDot SplomMarkerSymbol = "triangle-up-dot" + SplomMarkerSymbolNumber305 SplomMarkerSymbol = 305 + SplomMarkerSymbol305 SplomMarkerSymbol = "305" + SplomMarkerSymbolTriangleUpOpenDot SplomMarkerSymbol = "triangle-up-open-dot" + SplomMarkerSymbolNumber6 SplomMarkerSymbol = 6 + SplomMarkerSymbol6 SplomMarkerSymbol = "6" + SplomMarkerSymbolTriangleDown SplomMarkerSymbol = "triangle-down" + SplomMarkerSymbolNumber106 SplomMarkerSymbol = 106 + SplomMarkerSymbol106 SplomMarkerSymbol = "106" + SplomMarkerSymbolTriangleDownOpen SplomMarkerSymbol = "triangle-down-open" + SplomMarkerSymbolNumber206 SplomMarkerSymbol = 206 + SplomMarkerSymbol206 SplomMarkerSymbol = "206" + SplomMarkerSymbolTriangleDownDot SplomMarkerSymbol = "triangle-down-dot" + SplomMarkerSymbolNumber306 SplomMarkerSymbol = 306 + SplomMarkerSymbol306 SplomMarkerSymbol = "306" + SplomMarkerSymbolTriangleDownOpenDot SplomMarkerSymbol = "triangle-down-open-dot" + SplomMarkerSymbolNumber7 SplomMarkerSymbol = 7 + SplomMarkerSymbol7 SplomMarkerSymbol = "7" + SplomMarkerSymbolTriangleLeft SplomMarkerSymbol = "triangle-left" + SplomMarkerSymbolNumber107 SplomMarkerSymbol = 107 + SplomMarkerSymbol107 SplomMarkerSymbol = "107" + SplomMarkerSymbolTriangleLeftOpen SplomMarkerSymbol = "triangle-left-open" + SplomMarkerSymbolNumber207 SplomMarkerSymbol = 207 + SplomMarkerSymbol207 SplomMarkerSymbol = "207" + SplomMarkerSymbolTriangleLeftDot SplomMarkerSymbol = "triangle-left-dot" + SplomMarkerSymbolNumber307 SplomMarkerSymbol = 307 + SplomMarkerSymbol307 SplomMarkerSymbol = "307" + SplomMarkerSymbolTriangleLeftOpenDot SplomMarkerSymbol = "triangle-left-open-dot" + SplomMarkerSymbolNumber8 SplomMarkerSymbol = 8 + SplomMarkerSymbol8 SplomMarkerSymbol = "8" + SplomMarkerSymbolTriangleRight SplomMarkerSymbol = "triangle-right" + SplomMarkerSymbolNumber108 SplomMarkerSymbol = 108 + SplomMarkerSymbol108 SplomMarkerSymbol = "108" + SplomMarkerSymbolTriangleRightOpen SplomMarkerSymbol = "triangle-right-open" + SplomMarkerSymbolNumber208 SplomMarkerSymbol = 208 + SplomMarkerSymbol208 SplomMarkerSymbol = "208" + SplomMarkerSymbolTriangleRightDot SplomMarkerSymbol = "triangle-right-dot" + SplomMarkerSymbolNumber308 SplomMarkerSymbol = 308 + SplomMarkerSymbol308 SplomMarkerSymbol = "308" + SplomMarkerSymbolTriangleRightOpenDot SplomMarkerSymbol = "triangle-right-open-dot" + SplomMarkerSymbolNumber9 SplomMarkerSymbol = 9 + SplomMarkerSymbol9 SplomMarkerSymbol = "9" + SplomMarkerSymbolTriangleNe SplomMarkerSymbol = "triangle-ne" + SplomMarkerSymbolNumber109 SplomMarkerSymbol = 109 + SplomMarkerSymbol109 SplomMarkerSymbol = "109" + SplomMarkerSymbolTriangleNeOpen SplomMarkerSymbol = "triangle-ne-open" + SplomMarkerSymbolNumber209 SplomMarkerSymbol = 209 + SplomMarkerSymbol209 SplomMarkerSymbol = "209" + SplomMarkerSymbolTriangleNeDot SplomMarkerSymbol = "triangle-ne-dot" + SplomMarkerSymbolNumber309 SplomMarkerSymbol = 309 + SplomMarkerSymbol309 SplomMarkerSymbol = "309" + SplomMarkerSymbolTriangleNeOpenDot SplomMarkerSymbol = "triangle-ne-open-dot" + SplomMarkerSymbolNumber10 SplomMarkerSymbol = 10 + SplomMarkerSymbol10 SplomMarkerSymbol = "10" + SplomMarkerSymbolTriangleSe SplomMarkerSymbol = "triangle-se" + SplomMarkerSymbolNumber110 SplomMarkerSymbol = 110 + SplomMarkerSymbol110 SplomMarkerSymbol = "110" + SplomMarkerSymbolTriangleSeOpen SplomMarkerSymbol = "triangle-se-open" + SplomMarkerSymbolNumber210 SplomMarkerSymbol = 210 + SplomMarkerSymbol210 SplomMarkerSymbol = "210" + SplomMarkerSymbolTriangleSeDot SplomMarkerSymbol = "triangle-se-dot" + SplomMarkerSymbolNumber310 SplomMarkerSymbol = 310 + SplomMarkerSymbol310 SplomMarkerSymbol = "310" + SplomMarkerSymbolTriangleSeOpenDot SplomMarkerSymbol = "triangle-se-open-dot" + SplomMarkerSymbolNumber11 SplomMarkerSymbol = 11 + SplomMarkerSymbol11 SplomMarkerSymbol = "11" + SplomMarkerSymbolTriangleSw SplomMarkerSymbol = "triangle-sw" + SplomMarkerSymbolNumber111 SplomMarkerSymbol = 111 + SplomMarkerSymbol111 SplomMarkerSymbol = "111" + SplomMarkerSymbolTriangleSwOpen SplomMarkerSymbol = "triangle-sw-open" + SplomMarkerSymbolNumber211 SplomMarkerSymbol = 211 + SplomMarkerSymbol211 SplomMarkerSymbol = "211" + SplomMarkerSymbolTriangleSwDot SplomMarkerSymbol = "triangle-sw-dot" + SplomMarkerSymbolNumber311 SplomMarkerSymbol = 311 + SplomMarkerSymbol311 SplomMarkerSymbol = "311" + SplomMarkerSymbolTriangleSwOpenDot SplomMarkerSymbol = "triangle-sw-open-dot" + SplomMarkerSymbolNumber12 SplomMarkerSymbol = 12 + SplomMarkerSymbol12 SplomMarkerSymbol = "12" + SplomMarkerSymbolTriangleNw SplomMarkerSymbol = "triangle-nw" + SplomMarkerSymbolNumber112 SplomMarkerSymbol = 112 + SplomMarkerSymbol112 SplomMarkerSymbol = "112" + SplomMarkerSymbolTriangleNwOpen SplomMarkerSymbol = "triangle-nw-open" + SplomMarkerSymbolNumber212 SplomMarkerSymbol = 212 + SplomMarkerSymbol212 SplomMarkerSymbol = "212" + SplomMarkerSymbolTriangleNwDot SplomMarkerSymbol = "triangle-nw-dot" + SplomMarkerSymbolNumber312 SplomMarkerSymbol = 312 + SplomMarkerSymbol312 SplomMarkerSymbol = "312" + SplomMarkerSymbolTriangleNwOpenDot SplomMarkerSymbol = "triangle-nw-open-dot" + SplomMarkerSymbolNumber13 SplomMarkerSymbol = 13 + SplomMarkerSymbol13 SplomMarkerSymbol = "13" + SplomMarkerSymbolPentagon SplomMarkerSymbol = "pentagon" + SplomMarkerSymbolNumber113 SplomMarkerSymbol = 113 + SplomMarkerSymbol113 SplomMarkerSymbol = "113" + SplomMarkerSymbolPentagonOpen SplomMarkerSymbol = "pentagon-open" + SplomMarkerSymbolNumber213 SplomMarkerSymbol = 213 + SplomMarkerSymbol213 SplomMarkerSymbol = "213" + SplomMarkerSymbolPentagonDot SplomMarkerSymbol = "pentagon-dot" + SplomMarkerSymbolNumber313 SplomMarkerSymbol = 313 + SplomMarkerSymbol313 SplomMarkerSymbol = "313" + SplomMarkerSymbolPentagonOpenDot SplomMarkerSymbol = "pentagon-open-dot" + SplomMarkerSymbolNumber14 SplomMarkerSymbol = 14 + SplomMarkerSymbol14 SplomMarkerSymbol = "14" + SplomMarkerSymbolHexagon SplomMarkerSymbol = "hexagon" + SplomMarkerSymbolNumber114 SplomMarkerSymbol = 114 + SplomMarkerSymbol114 SplomMarkerSymbol = "114" + SplomMarkerSymbolHexagonOpen SplomMarkerSymbol = "hexagon-open" + SplomMarkerSymbolNumber214 SplomMarkerSymbol = 214 + SplomMarkerSymbol214 SplomMarkerSymbol = "214" + SplomMarkerSymbolHexagonDot SplomMarkerSymbol = "hexagon-dot" + SplomMarkerSymbolNumber314 SplomMarkerSymbol = 314 + SplomMarkerSymbol314 SplomMarkerSymbol = "314" + SplomMarkerSymbolHexagonOpenDot SplomMarkerSymbol = "hexagon-open-dot" + SplomMarkerSymbolNumber15 SplomMarkerSymbol = 15 + SplomMarkerSymbol15 SplomMarkerSymbol = "15" + SplomMarkerSymbolHexagon2 SplomMarkerSymbol = "hexagon2" + SplomMarkerSymbolNumber115 SplomMarkerSymbol = 115 + SplomMarkerSymbol115 SplomMarkerSymbol = "115" + SplomMarkerSymbolHexagon2Open SplomMarkerSymbol = "hexagon2-open" + SplomMarkerSymbolNumber215 SplomMarkerSymbol = 215 + SplomMarkerSymbol215 SplomMarkerSymbol = "215" + SplomMarkerSymbolHexagon2Dot SplomMarkerSymbol = "hexagon2-dot" + SplomMarkerSymbolNumber315 SplomMarkerSymbol = 315 + SplomMarkerSymbol315 SplomMarkerSymbol = "315" + SplomMarkerSymbolHexagon2OpenDot SplomMarkerSymbol = "hexagon2-open-dot" + SplomMarkerSymbolNumber16 SplomMarkerSymbol = 16 + SplomMarkerSymbol16 SplomMarkerSymbol = "16" + SplomMarkerSymbolOctagon SplomMarkerSymbol = "octagon" + SplomMarkerSymbolNumber116 SplomMarkerSymbol = 116 + SplomMarkerSymbol116 SplomMarkerSymbol = "116" + SplomMarkerSymbolOctagonOpen SplomMarkerSymbol = "octagon-open" + SplomMarkerSymbolNumber216 SplomMarkerSymbol = 216 + SplomMarkerSymbol216 SplomMarkerSymbol = "216" + SplomMarkerSymbolOctagonDot SplomMarkerSymbol = "octagon-dot" + SplomMarkerSymbolNumber316 SplomMarkerSymbol = 316 + SplomMarkerSymbol316 SplomMarkerSymbol = "316" + SplomMarkerSymbolOctagonOpenDot SplomMarkerSymbol = "octagon-open-dot" + SplomMarkerSymbolNumber17 SplomMarkerSymbol = 17 + SplomMarkerSymbol17 SplomMarkerSymbol = "17" + SplomMarkerSymbolStar SplomMarkerSymbol = "star" + SplomMarkerSymbolNumber117 SplomMarkerSymbol = 117 + SplomMarkerSymbol117 SplomMarkerSymbol = "117" + SplomMarkerSymbolStarOpen SplomMarkerSymbol = "star-open" + SplomMarkerSymbolNumber217 SplomMarkerSymbol = 217 + SplomMarkerSymbol217 SplomMarkerSymbol = "217" + SplomMarkerSymbolStarDot SplomMarkerSymbol = "star-dot" + SplomMarkerSymbolNumber317 SplomMarkerSymbol = 317 + SplomMarkerSymbol317 SplomMarkerSymbol = "317" + SplomMarkerSymbolStarOpenDot SplomMarkerSymbol = "star-open-dot" + SplomMarkerSymbolNumber18 SplomMarkerSymbol = 18 + SplomMarkerSymbol18 SplomMarkerSymbol = "18" + SplomMarkerSymbolHexagram SplomMarkerSymbol = "hexagram" + SplomMarkerSymbolNumber118 SplomMarkerSymbol = 118 + SplomMarkerSymbol118 SplomMarkerSymbol = "118" + SplomMarkerSymbolHexagramOpen SplomMarkerSymbol = "hexagram-open" + SplomMarkerSymbolNumber218 SplomMarkerSymbol = 218 + SplomMarkerSymbol218 SplomMarkerSymbol = "218" + SplomMarkerSymbolHexagramDot SplomMarkerSymbol = "hexagram-dot" + SplomMarkerSymbolNumber318 SplomMarkerSymbol = 318 + SplomMarkerSymbol318 SplomMarkerSymbol = "318" + SplomMarkerSymbolHexagramOpenDot SplomMarkerSymbol = "hexagram-open-dot" + SplomMarkerSymbolNumber19 SplomMarkerSymbol = 19 + SplomMarkerSymbol19 SplomMarkerSymbol = "19" + SplomMarkerSymbolStarTriangleUp SplomMarkerSymbol = "star-triangle-up" + SplomMarkerSymbolNumber119 SplomMarkerSymbol = 119 + SplomMarkerSymbol119 SplomMarkerSymbol = "119" + SplomMarkerSymbolStarTriangleUpOpen SplomMarkerSymbol = "star-triangle-up-open" + SplomMarkerSymbolNumber219 SplomMarkerSymbol = 219 + SplomMarkerSymbol219 SplomMarkerSymbol = "219" + SplomMarkerSymbolStarTriangleUpDot SplomMarkerSymbol = "star-triangle-up-dot" + SplomMarkerSymbolNumber319 SplomMarkerSymbol = 319 + SplomMarkerSymbol319 SplomMarkerSymbol = "319" + SplomMarkerSymbolStarTriangleUpOpenDot SplomMarkerSymbol = "star-triangle-up-open-dot" + SplomMarkerSymbolNumber20 SplomMarkerSymbol = 20 + SplomMarkerSymbol20 SplomMarkerSymbol = "20" + SplomMarkerSymbolStarTriangleDown SplomMarkerSymbol = "star-triangle-down" + SplomMarkerSymbolNumber120 SplomMarkerSymbol = 120 + SplomMarkerSymbol120 SplomMarkerSymbol = "120" + SplomMarkerSymbolStarTriangleDownOpen SplomMarkerSymbol = "star-triangle-down-open" + SplomMarkerSymbolNumber220 SplomMarkerSymbol = 220 + SplomMarkerSymbol220 SplomMarkerSymbol = "220" + SplomMarkerSymbolStarTriangleDownDot SplomMarkerSymbol = "star-triangle-down-dot" + SplomMarkerSymbolNumber320 SplomMarkerSymbol = 320 + SplomMarkerSymbol320 SplomMarkerSymbol = "320" + SplomMarkerSymbolStarTriangleDownOpenDot SplomMarkerSymbol = "star-triangle-down-open-dot" + SplomMarkerSymbolNumber21 SplomMarkerSymbol = 21 + SplomMarkerSymbol21 SplomMarkerSymbol = "21" + SplomMarkerSymbolStarSquare SplomMarkerSymbol = "star-square" + SplomMarkerSymbolNumber121 SplomMarkerSymbol = 121 + SplomMarkerSymbol121 SplomMarkerSymbol = "121" + SplomMarkerSymbolStarSquareOpen SplomMarkerSymbol = "star-square-open" + SplomMarkerSymbolNumber221 SplomMarkerSymbol = 221 + SplomMarkerSymbol221 SplomMarkerSymbol = "221" + SplomMarkerSymbolStarSquareDot SplomMarkerSymbol = "star-square-dot" + SplomMarkerSymbolNumber321 SplomMarkerSymbol = 321 + SplomMarkerSymbol321 SplomMarkerSymbol = "321" + SplomMarkerSymbolStarSquareOpenDot SplomMarkerSymbol = "star-square-open-dot" + SplomMarkerSymbolNumber22 SplomMarkerSymbol = 22 + SplomMarkerSymbol22 SplomMarkerSymbol = "22" + SplomMarkerSymbolStarDiamond SplomMarkerSymbol = "star-diamond" + SplomMarkerSymbolNumber122 SplomMarkerSymbol = 122 + SplomMarkerSymbol122 SplomMarkerSymbol = "122" + SplomMarkerSymbolStarDiamondOpen SplomMarkerSymbol = "star-diamond-open" + SplomMarkerSymbolNumber222 SplomMarkerSymbol = 222 + SplomMarkerSymbol222 SplomMarkerSymbol = "222" + SplomMarkerSymbolStarDiamondDot SplomMarkerSymbol = "star-diamond-dot" + SplomMarkerSymbolNumber322 SplomMarkerSymbol = 322 + SplomMarkerSymbol322 SplomMarkerSymbol = "322" + SplomMarkerSymbolStarDiamondOpenDot SplomMarkerSymbol = "star-diamond-open-dot" + SplomMarkerSymbolNumber23 SplomMarkerSymbol = 23 + SplomMarkerSymbol23 SplomMarkerSymbol = "23" + SplomMarkerSymbolDiamondTall SplomMarkerSymbol = "diamond-tall" + SplomMarkerSymbolNumber123 SplomMarkerSymbol = 123 + SplomMarkerSymbol123 SplomMarkerSymbol = "123" + SplomMarkerSymbolDiamondTallOpen SplomMarkerSymbol = "diamond-tall-open" + SplomMarkerSymbolNumber223 SplomMarkerSymbol = 223 + SplomMarkerSymbol223 SplomMarkerSymbol = "223" + SplomMarkerSymbolDiamondTallDot SplomMarkerSymbol = "diamond-tall-dot" + SplomMarkerSymbolNumber323 SplomMarkerSymbol = 323 + SplomMarkerSymbol323 SplomMarkerSymbol = "323" + SplomMarkerSymbolDiamondTallOpenDot SplomMarkerSymbol = "diamond-tall-open-dot" + SplomMarkerSymbolNumber24 SplomMarkerSymbol = 24 + SplomMarkerSymbol24 SplomMarkerSymbol = "24" + SplomMarkerSymbolDiamondWide SplomMarkerSymbol = "diamond-wide" + SplomMarkerSymbolNumber124 SplomMarkerSymbol = 124 + SplomMarkerSymbol124 SplomMarkerSymbol = "124" + SplomMarkerSymbolDiamondWideOpen SplomMarkerSymbol = "diamond-wide-open" + SplomMarkerSymbolNumber224 SplomMarkerSymbol = 224 + SplomMarkerSymbol224 SplomMarkerSymbol = "224" + SplomMarkerSymbolDiamondWideDot SplomMarkerSymbol = "diamond-wide-dot" + SplomMarkerSymbolNumber324 SplomMarkerSymbol = 324 + SplomMarkerSymbol324 SplomMarkerSymbol = "324" + SplomMarkerSymbolDiamondWideOpenDot SplomMarkerSymbol = "diamond-wide-open-dot" + SplomMarkerSymbolNumber25 SplomMarkerSymbol = 25 + SplomMarkerSymbol25 SplomMarkerSymbol = "25" + SplomMarkerSymbolHourglass SplomMarkerSymbol = "hourglass" + SplomMarkerSymbolNumber125 SplomMarkerSymbol = 125 + SplomMarkerSymbol125 SplomMarkerSymbol = "125" + SplomMarkerSymbolHourglassOpen SplomMarkerSymbol = "hourglass-open" + SplomMarkerSymbolNumber26 SplomMarkerSymbol = 26 + SplomMarkerSymbol26 SplomMarkerSymbol = "26" + SplomMarkerSymbolBowtie SplomMarkerSymbol = "bowtie" + SplomMarkerSymbolNumber126 SplomMarkerSymbol = 126 + SplomMarkerSymbol126 SplomMarkerSymbol = "126" + SplomMarkerSymbolBowtieOpen SplomMarkerSymbol = "bowtie-open" + SplomMarkerSymbolNumber27 SplomMarkerSymbol = 27 + SplomMarkerSymbol27 SplomMarkerSymbol = "27" + SplomMarkerSymbolCircleCross SplomMarkerSymbol = "circle-cross" + SplomMarkerSymbolNumber127 SplomMarkerSymbol = 127 + SplomMarkerSymbol127 SplomMarkerSymbol = "127" + SplomMarkerSymbolCircleCrossOpen SplomMarkerSymbol = "circle-cross-open" + SplomMarkerSymbolNumber28 SplomMarkerSymbol = 28 + SplomMarkerSymbol28 SplomMarkerSymbol = "28" + SplomMarkerSymbolCircleX SplomMarkerSymbol = "circle-x" + SplomMarkerSymbolNumber128 SplomMarkerSymbol = 128 + SplomMarkerSymbol128 SplomMarkerSymbol = "128" + SplomMarkerSymbolCircleXOpen SplomMarkerSymbol = "circle-x-open" + SplomMarkerSymbolNumber29 SplomMarkerSymbol = 29 + SplomMarkerSymbol29 SplomMarkerSymbol = "29" + SplomMarkerSymbolSquareCross SplomMarkerSymbol = "square-cross" + SplomMarkerSymbolNumber129 SplomMarkerSymbol = 129 + SplomMarkerSymbol129 SplomMarkerSymbol = "129" + SplomMarkerSymbolSquareCrossOpen SplomMarkerSymbol = "square-cross-open" + SplomMarkerSymbolNumber30 SplomMarkerSymbol = 30 + SplomMarkerSymbol30 SplomMarkerSymbol = "30" + SplomMarkerSymbolSquareX SplomMarkerSymbol = "square-x" + SplomMarkerSymbolNumber130 SplomMarkerSymbol = 130 + SplomMarkerSymbol130 SplomMarkerSymbol = "130" + SplomMarkerSymbolSquareXOpen SplomMarkerSymbol = "square-x-open" + SplomMarkerSymbolNumber31 SplomMarkerSymbol = 31 + SplomMarkerSymbol31 SplomMarkerSymbol = "31" + SplomMarkerSymbolDiamondCross SplomMarkerSymbol = "diamond-cross" + SplomMarkerSymbolNumber131 SplomMarkerSymbol = 131 + SplomMarkerSymbol131 SplomMarkerSymbol = "131" + SplomMarkerSymbolDiamondCrossOpen SplomMarkerSymbol = "diamond-cross-open" + SplomMarkerSymbolNumber32 SplomMarkerSymbol = 32 + SplomMarkerSymbol32 SplomMarkerSymbol = "32" + SplomMarkerSymbolDiamondX SplomMarkerSymbol = "diamond-x" + SplomMarkerSymbolNumber132 SplomMarkerSymbol = 132 + SplomMarkerSymbol132 SplomMarkerSymbol = "132" + SplomMarkerSymbolDiamondXOpen SplomMarkerSymbol = "diamond-x-open" + SplomMarkerSymbolNumber33 SplomMarkerSymbol = 33 + SplomMarkerSymbol33 SplomMarkerSymbol = "33" + SplomMarkerSymbolCrossThin SplomMarkerSymbol = "cross-thin" + SplomMarkerSymbolNumber133 SplomMarkerSymbol = 133 + SplomMarkerSymbol133 SplomMarkerSymbol = "133" + SplomMarkerSymbolCrossThinOpen SplomMarkerSymbol = "cross-thin-open" + SplomMarkerSymbolNumber34 SplomMarkerSymbol = 34 + SplomMarkerSymbol34 SplomMarkerSymbol = "34" + SplomMarkerSymbolXThin SplomMarkerSymbol = "x-thin" + SplomMarkerSymbolNumber134 SplomMarkerSymbol = 134 + SplomMarkerSymbol134 SplomMarkerSymbol = "134" + SplomMarkerSymbolXThinOpen SplomMarkerSymbol = "x-thin-open" + SplomMarkerSymbolNumber35 SplomMarkerSymbol = 35 + SplomMarkerSymbol35 SplomMarkerSymbol = "35" + SplomMarkerSymbolAsterisk SplomMarkerSymbol = "asterisk" + SplomMarkerSymbolNumber135 SplomMarkerSymbol = 135 + SplomMarkerSymbol135 SplomMarkerSymbol = "135" + SplomMarkerSymbolAsteriskOpen SplomMarkerSymbol = "asterisk-open" + SplomMarkerSymbolNumber36 SplomMarkerSymbol = 36 + SplomMarkerSymbol36 SplomMarkerSymbol = "36" + SplomMarkerSymbolHash SplomMarkerSymbol = "hash" + SplomMarkerSymbolNumber136 SplomMarkerSymbol = 136 + SplomMarkerSymbol136 SplomMarkerSymbol = "136" + SplomMarkerSymbolHashOpen SplomMarkerSymbol = "hash-open" + SplomMarkerSymbolNumber236 SplomMarkerSymbol = 236 + SplomMarkerSymbol236 SplomMarkerSymbol = "236" + SplomMarkerSymbolHashDot SplomMarkerSymbol = "hash-dot" + SplomMarkerSymbolNumber336 SplomMarkerSymbol = 336 + SplomMarkerSymbol336 SplomMarkerSymbol = "336" + SplomMarkerSymbolHashOpenDot SplomMarkerSymbol = "hash-open-dot" + SplomMarkerSymbolNumber37 SplomMarkerSymbol = 37 + SplomMarkerSymbol37 SplomMarkerSymbol = "37" + SplomMarkerSymbolYUp SplomMarkerSymbol = "y-up" + SplomMarkerSymbolNumber137 SplomMarkerSymbol = 137 + SplomMarkerSymbol137 SplomMarkerSymbol = "137" + SplomMarkerSymbolYUpOpen SplomMarkerSymbol = "y-up-open" + SplomMarkerSymbolNumber38 SplomMarkerSymbol = 38 + SplomMarkerSymbol38 SplomMarkerSymbol = "38" + SplomMarkerSymbolYDown SplomMarkerSymbol = "y-down" + SplomMarkerSymbolNumber138 SplomMarkerSymbol = 138 + SplomMarkerSymbol138 SplomMarkerSymbol = "138" + SplomMarkerSymbolYDownOpen SplomMarkerSymbol = "y-down-open" + SplomMarkerSymbolNumber39 SplomMarkerSymbol = 39 + SplomMarkerSymbol39 SplomMarkerSymbol = "39" + SplomMarkerSymbolYLeft SplomMarkerSymbol = "y-left" + SplomMarkerSymbolNumber139 SplomMarkerSymbol = 139 + SplomMarkerSymbol139 SplomMarkerSymbol = "139" + SplomMarkerSymbolYLeftOpen SplomMarkerSymbol = "y-left-open" + SplomMarkerSymbolNumber40 SplomMarkerSymbol = 40 + SplomMarkerSymbol40 SplomMarkerSymbol = "40" + SplomMarkerSymbolYRight SplomMarkerSymbol = "y-right" + SplomMarkerSymbolNumber140 SplomMarkerSymbol = 140 + SplomMarkerSymbol140 SplomMarkerSymbol = "140" + SplomMarkerSymbolYRightOpen SplomMarkerSymbol = "y-right-open" + SplomMarkerSymbolNumber41 SplomMarkerSymbol = 41 + SplomMarkerSymbol41 SplomMarkerSymbol = "41" + SplomMarkerSymbolLineEw SplomMarkerSymbol = "line-ew" + SplomMarkerSymbolNumber141 SplomMarkerSymbol = 141 + SplomMarkerSymbol141 SplomMarkerSymbol = "141" + SplomMarkerSymbolLineEwOpen SplomMarkerSymbol = "line-ew-open" + SplomMarkerSymbolNumber42 SplomMarkerSymbol = 42 + SplomMarkerSymbol42 SplomMarkerSymbol = "42" + SplomMarkerSymbolLineNs SplomMarkerSymbol = "line-ns" + SplomMarkerSymbolNumber142 SplomMarkerSymbol = 142 + SplomMarkerSymbol142 SplomMarkerSymbol = "142" + SplomMarkerSymbolLineNsOpen SplomMarkerSymbol = "line-ns-open" + SplomMarkerSymbolNumber43 SplomMarkerSymbol = 43 + SplomMarkerSymbol43 SplomMarkerSymbol = "43" + SplomMarkerSymbolLineNe SplomMarkerSymbol = "line-ne" + SplomMarkerSymbolNumber143 SplomMarkerSymbol = 143 + SplomMarkerSymbol143 SplomMarkerSymbol = "143" + SplomMarkerSymbolLineNeOpen SplomMarkerSymbol = "line-ne-open" + SplomMarkerSymbolNumber44 SplomMarkerSymbol = 44 + SplomMarkerSymbol44 SplomMarkerSymbol = "44" + SplomMarkerSymbolLineNw SplomMarkerSymbol = "line-nw" + SplomMarkerSymbolNumber144 SplomMarkerSymbol = 144 + SplomMarkerSymbol144 SplomMarkerSymbol = "144" + SplomMarkerSymbolLineNwOpen SplomMarkerSymbol = "line-nw-open" + SplomMarkerSymbolNumber45 SplomMarkerSymbol = 45 + SplomMarkerSymbol45 SplomMarkerSymbol = "45" + SplomMarkerSymbolArrowUp SplomMarkerSymbol = "arrow-up" + SplomMarkerSymbolNumber145 SplomMarkerSymbol = 145 + SplomMarkerSymbol145 SplomMarkerSymbol = "145" + SplomMarkerSymbolArrowUpOpen SplomMarkerSymbol = "arrow-up-open" + SplomMarkerSymbolNumber46 SplomMarkerSymbol = 46 + SplomMarkerSymbol46 SplomMarkerSymbol = "46" + SplomMarkerSymbolArrowDown SplomMarkerSymbol = "arrow-down" + SplomMarkerSymbolNumber146 SplomMarkerSymbol = 146 + SplomMarkerSymbol146 SplomMarkerSymbol = "146" + SplomMarkerSymbolArrowDownOpen SplomMarkerSymbol = "arrow-down-open" + SplomMarkerSymbolNumber47 SplomMarkerSymbol = 47 + SplomMarkerSymbol47 SplomMarkerSymbol = "47" + SplomMarkerSymbolArrowLeft SplomMarkerSymbol = "arrow-left" + SplomMarkerSymbolNumber147 SplomMarkerSymbol = 147 + SplomMarkerSymbol147 SplomMarkerSymbol = "147" + SplomMarkerSymbolArrowLeftOpen SplomMarkerSymbol = "arrow-left-open" + SplomMarkerSymbolNumber48 SplomMarkerSymbol = 48 + SplomMarkerSymbol48 SplomMarkerSymbol = "48" + SplomMarkerSymbolArrowRight SplomMarkerSymbol = "arrow-right" + SplomMarkerSymbolNumber148 SplomMarkerSymbol = 148 + SplomMarkerSymbol148 SplomMarkerSymbol = "148" + SplomMarkerSymbolArrowRightOpen SplomMarkerSymbol = "arrow-right-open" + SplomMarkerSymbolNumber49 SplomMarkerSymbol = 49 + SplomMarkerSymbol49 SplomMarkerSymbol = "49" + SplomMarkerSymbolArrowBarUp SplomMarkerSymbol = "arrow-bar-up" + SplomMarkerSymbolNumber149 SplomMarkerSymbol = 149 + SplomMarkerSymbol149 SplomMarkerSymbol = "149" + SplomMarkerSymbolArrowBarUpOpen SplomMarkerSymbol = "arrow-bar-up-open" + SplomMarkerSymbolNumber50 SplomMarkerSymbol = 50 + SplomMarkerSymbol50 SplomMarkerSymbol = "50" + SplomMarkerSymbolArrowBarDown SplomMarkerSymbol = "arrow-bar-down" + SplomMarkerSymbolNumber150 SplomMarkerSymbol = 150 + SplomMarkerSymbol150 SplomMarkerSymbol = "150" + SplomMarkerSymbolArrowBarDownOpen SplomMarkerSymbol = "arrow-bar-down-open" + SplomMarkerSymbolNumber51 SplomMarkerSymbol = 51 + SplomMarkerSymbol51 SplomMarkerSymbol = "51" + SplomMarkerSymbolArrowBarLeft SplomMarkerSymbol = "arrow-bar-left" + SplomMarkerSymbolNumber151 SplomMarkerSymbol = 151 + SplomMarkerSymbol151 SplomMarkerSymbol = "151" + SplomMarkerSymbolArrowBarLeftOpen SplomMarkerSymbol = "arrow-bar-left-open" + SplomMarkerSymbolNumber52 SplomMarkerSymbol = 52 + SplomMarkerSymbol52 SplomMarkerSymbol = "52" + SplomMarkerSymbolArrowBarRight SplomMarkerSymbol = "arrow-bar-right" + SplomMarkerSymbolNumber152 SplomMarkerSymbol = 152 + SplomMarkerSymbol152 SplomMarkerSymbol = "152" + SplomMarkerSymbolArrowBarRightOpen SplomMarkerSymbol = "arrow-bar-right-open" + SplomMarkerSymbolNumber53 SplomMarkerSymbol = 53 + SplomMarkerSymbol53 SplomMarkerSymbol = "53" + SplomMarkerSymbolArrow SplomMarkerSymbol = "arrow" + SplomMarkerSymbolNumber153 SplomMarkerSymbol = 153 + SplomMarkerSymbol153 SplomMarkerSymbol = "153" + SplomMarkerSymbolArrowOpen SplomMarkerSymbol = "arrow-open" + SplomMarkerSymbolNumber54 SplomMarkerSymbol = 54 + SplomMarkerSymbol54 SplomMarkerSymbol = "54" + SplomMarkerSymbolArrowWide SplomMarkerSymbol = "arrow-wide" + SplomMarkerSymbolNumber154 SplomMarkerSymbol = 154 + SplomMarkerSymbol154 SplomMarkerSymbol = "154" + SplomMarkerSymbolArrowWideOpen SplomMarkerSymbol = "arrow-wide-open" +) + +// SplomVisible 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). +type SplomVisible interface{} + +var ( + SplomVisibleTrue SplomVisible = true + SplomVisibleFalse SplomVisible = false + SplomVisibleLegendonly SplomVisible = "legendonly" +) + +// SplomHoverinfo 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. +type SplomHoverinfo string + +const ( + // Flags + SplomHoverinfoX SplomHoverinfo = "x" + SplomHoverinfoY SplomHoverinfo = "y" + SplomHoverinfoZ SplomHoverinfo = "z" + SplomHoverinfoText SplomHoverinfo = "text" + SplomHoverinfoName SplomHoverinfo = "name" + + // Extra + SplomHoverinfoAll SplomHoverinfo = "all" + SplomHoverinfoNone SplomHoverinfo = "none" + SplomHoverinfoSkip SplomHoverinfo = "skip" +) diff --git a/generated/v2.31.1/graph_objects/streamtube_gen.go b/generated/v2.31.1/graph_objects/streamtube_gen.go new file mode 100644 index 0000000..593e73a --- /dev/null +++ b/generated/v2.31.1/graph_objects/streamtube_gen.go @@ -0,0 +1,1157 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeStreamtube TraceType = "streamtube" + +func (trace *Streamtube) GetType() TraceType { + return TraceTypeStreamtube +} + +// Streamtube 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). +type Streamtube struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Autocolorscale + // arrayOK: false + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *StreamtubeColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Hoverinfo + // default: x+y+z+norm+text+name + // type: flaglist + // 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. + Hoverinfo StreamtubeHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *StreamtubeHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Finally, the template string has access to variables `tubex`, `tubey`, `tubez`, `tubeu`, `tubev`, `tubew`, `norm` and `divergence`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: false + // type: string + // Same as `text`. + Hovertext String `json:"hovertext,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *StreamtubeLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Lighting + // role: Object + Lighting *StreamtubeLighting `json:"lighting,omitempty"` + + // Lightposition + // role: Object + Lightposition *StreamtubeLightposition `json:"lightposition,omitempty"` + + // Maxdisplayed + // arrayOK: false + // type: integer + // The maximum number of displayed segments in a streamtube. + Maxdisplayed int64 `json:"maxdisplayed,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // 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. + Opacity float64 `json:"opacity,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Scene + // arrayOK: false + // type: subplotid + // 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. + Scene String `json:"scene,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Showscale + // arrayOK: false + // type: boolean + // Determines whether or not a colorbar is displayed for this trace. + Showscale Bool `json:"showscale,omitempty"` + + // Sizeref + // arrayOK: false + // type: number + // The scaling factor for the streamtubes. The default is 1, which avoids two max divergence tubes from touching at adjacent starting positions. + Sizeref float64 `json:"sizeref,omitempty"` + + // Starts + // role: Object + Starts *StreamtubeStarts `json:"starts,omitempty"` + + // Stream + // role: Object + Stream *StreamtubeStream `json:"stream,omitempty"` + + // Text + // arrayOK: false + // 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. + Text String `json:"text,omitempty"` + + // U + // arrayOK: false + // type: data_array + // Sets the x components of the vector field. + U interface{} `json:"u,omitempty"` + + // Uhoverformat + // arrayOK: false + // 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. + Uhoverformat String `json:"uhoverformat,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Usrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `u`. + Usrc String `json:"usrc,omitempty"` + + // V + // arrayOK: false + // type: data_array + // Sets the y components of the vector field. + V interface{} `json:"v,omitempty"` + + // Vhoverformat + // arrayOK: false + // 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. + Vhoverformat String `json:"vhoverformat,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible StreamtubeVisible `json:"visible,omitempty"` + + // Vsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `v`. + Vsrc String `json:"vsrc,omitempty"` + + // W + // arrayOK: false + // type: data_array + // Sets the z components of the vector field. + W interface{} `json:"w,omitempty"` + + // Whoverformat + // arrayOK: false + // 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. + Whoverformat String `json:"whoverformat,omitempty"` + + // Wsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `w`. + Wsrc String `json:"wsrc,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the x coordinates of the vector field. + X interface{} `json:"x,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the y coordinates of the vector field. + Y interface{} `json:"y,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` + + // Z + // arrayOK: false + // type: data_array + // Sets the z coordinates of the vector field. + Z interface{} `json:"z,omitempty"` + + // Zhoverformat + // arrayOK: false + // 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`. + Zhoverformat String `json:"zhoverformat,omitempty"` + + // Zsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `z`. + Zsrc String `json:"zsrc,omitempty"` +} + +// StreamtubeColorbarTickfont Sets the color bar's tick label font +type StreamtubeColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// StreamtubeColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type StreamtubeColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// StreamtubeColorbarTitle +type StreamtubeColorbarTitle struct { + + // Font + // role: Object + Font *StreamtubeColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side StreamtubeColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// StreamtubeColorbar +type StreamtubeColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat StreamtubeColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode StreamtubeColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation StreamtubeColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent StreamtubeColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix StreamtubeColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix StreamtubeColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode StreamtubeColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *StreamtubeColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow StreamtubeColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition StreamtubeColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode StreamtubeColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks StreamtubeColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *StreamtubeColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor StreamtubeColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref StreamtubeColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor StreamtubeColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref StreamtubeColorbarYref `json:"yref,omitempty"` +} + +// StreamtubeHoverlabelFont Sets the font used in hover labels. +type StreamtubeHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// StreamtubeHoverlabel +type StreamtubeHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align StreamtubeHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *StreamtubeHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// StreamtubeLegendgrouptitleFont Sets this legend group's title font. +type StreamtubeLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// StreamtubeLegendgrouptitle +type StreamtubeLegendgrouptitle struct { + + // Font + // role: Object + Font *StreamtubeLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// StreamtubeLighting +type StreamtubeLighting struct { + + // Ambient + // arrayOK: false + // type: number + // Ambient light increases overall color visibility but can wash out the image. + Ambient float64 `json:"ambient,omitempty"` + + // Diffuse + // arrayOK: false + // type: number + // Represents the extent that incident rays are reflected in a range of angles. + Diffuse float64 `json:"diffuse,omitempty"` + + // Facenormalsepsilon + // arrayOK: false + // type: number + // Epsilon for face normals calculation avoids math issues arising from degenerate geometry. + Facenormalsepsilon float64 `json:"facenormalsepsilon,omitempty"` + + // Fresnel + // arrayOK: false + // type: number + // 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. + Fresnel float64 `json:"fresnel,omitempty"` + + // Roughness + // arrayOK: false + // type: number + // Alters specular reflection; the rougher the surface, the wider and less contrasty the shine. + Roughness float64 `json:"roughness,omitempty"` + + // Specular + // arrayOK: false + // type: number + // Represents the level that incident rays are reflected in a single direction, causing shine. + Specular float64 `json:"specular,omitempty"` + + // Vertexnormalsepsilon + // arrayOK: false + // type: number + // Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry. + Vertexnormalsepsilon float64 `json:"vertexnormalsepsilon,omitempty"` +} + +// StreamtubeLightposition +type StreamtubeLightposition struct { + + // X + // arrayOK: false + // type: number + // Numeric vector, representing the X coordinate for each vertex. + X float64 `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: number + // Numeric vector, representing the Y coordinate for each vertex. + Y float64 `json:"y,omitempty"` + + // Z + // arrayOK: false + // type: number + // Numeric vector, representing the Z coordinate for each vertex. + Z float64 `json:"z,omitempty"` +} + +// StreamtubeStarts +type StreamtubeStarts struct { + + // X + // arrayOK: false + // type: data_array + // Sets the x components of the starting position of the streamtubes + X interface{} `json:"x,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the y components of the starting position of the streamtubes + Y interface{} `json:"y,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` + + // Z + // arrayOK: false + // type: data_array + // Sets the z components of the starting position of the streamtubes + Z interface{} `json:"z,omitempty"` + + // Zsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `z`. + Zsrc String `json:"zsrc,omitempty"` +} + +// StreamtubeStream +type StreamtubeStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// StreamtubeColorbarExponentformat 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. +type StreamtubeColorbarExponentformat string + +const ( + StreamtubeColorbarExponentformatNone StreamtubeColorbarExponentformat = "none" + StreamtubeColorbarExponentformatE1 StreamtubeColorbarExponentformat = "e" + StreamtubeColorbarExponentformatE2 StreamtubeColorbarExponentformat = "E" + StreamtubeColorbarExponentformatPower StreamtubeColorbarExponentformat = "power" + StreamtubeColorbarExponentformatSI StreamtubeColorbarExponentformat = "SI" + StreamtubeColorbarExponentformatB StreamtubeColorbarExponentformat = "B" +) + +// StreamtubeColorbarLenmode 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. +type StreamtubeColorbarLenmode string + +const ( + StreamtubeColorbarLenmodeFraction StreamtubeColorbarLenmode = "fraction" + StreamtubeColorbarLenmodePixels StreamtubeColorbarLenmode = "pixels" +) + +// StreamtubeColorbarOrientation Sets the orientation of the colorbar. +type StreamtubeColorbarOrientation string + +const ( + StreamtubeColorbarOrientationH StreamtubeColorbarOrientation = "h" + StreamtubeColorbarOrientationV StreamtubeColorbarOrientation = "v" +) + +// StreamtubeColorbarShowexponent 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. +type StreamtubeColorbarShowexponent string + +const ( + StreamtubeColorbarShowexponentAll StreamtubeColorbarShowexponent = "all" + StreamtubeColorbarShowexponentFirst StreamtubeColorbarShowexponent = "first" + StreamtubeColorbarShowexponentLast StreamtubeColorbarShowexponent = "last" + StreamtubeColorbarShowexponentNone StreamtubeColorbarShowexponent = "none" +) + +// StreamtubeColorbarShowtickprefix 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. +type StreamtubeColorbarShowtickprefix string + +const ( + StreamtubeColorbarShowtickprefixAll StreamtubeColorbarShowtickprefix = "all" + StreamtubeColorbarShowtickprefixFirst StreamtubeColorbarShowtickprefix = "first" + StreamtubeColorbarShowtickprefixLast StreamtubeColorbarShowtickprefix = "last" + StreamtubeColorbarShowtickprefixNone StreamtubeColorbarShowtickprefix = "none" +) + +// StreamtubeColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type StreamtubeColorbarShowticksuffix string + +const ( + StreamtubeColorbarShowticksuffixAll StreamtubeColorbarShowticksuffix = "all" + StreamtubeColorbarShowticksuffixFirst StreamtubeColorbarShowticksuffix = "first" + StreamtubeColorbarShowticksuffixLast StreamtubeColorbarShowticksuffix = "last" + StreamtubeColorbarShowticksuffixNone StreamtubeColorbarShowticksuffix = "none" +) + +// StreamtubeColorbarThicknessmode 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. +type StreamtubeColorbarThicknessmode string + +const ( + StreamtubeColorbarThicknessmodeFraction StreamtubeColorbarThicknessmode = "fraction" + StreamtubeColorbarThicknessmodePixels StreamtubeColorbarThicknessmode = "pixels" +) + +// StreamtubeColorbarTicklabeloverflow 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*. +type StreamtubeColorbarTicklabeloverflow string + +const ( + StreamtubeColorbarTicklabeloverflowAllow StreamtubeColorbarTicklabeloverflow = "allow" + StreamtubeColorbarTicklabeloverflowHidePastDiv StreamtubeColorbarTicklabeloverflow = "hide past div" + StreamtubeColorbarTicklabeloverflowHidePastDomain StreamtubeColorbarTicklabeloverflow = "hide past domain" +) + +// StreamtubeColorbarTicklabelposition 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*. +type StreamtubeColorbarTicklabelposition string + +const ( + StreamtubeColorbarTicklabelpositionOutside StreamtubeColorbarTicklabelposition = "outside" + StreamtubeColorbarTicklabelpositionInside StreamtubeColorbarTicklabelposition = "inside" + StreamtubeColorbarTicklabelpositionOutsideTop StreamtubeColorbarTicklabelposition = "outside top" + StreamtubeColorbarTicklabelpositionInsideTop StreamtubeColorbarTicklabelposition = "inside top" + StreamtubeColorbarTicklabelpositionOutsideLeft StreamtubeColorbarTicklabelposition = "outside left" + StreamtubeColorbarTicklabelpositionInsideLeft StreamtubeColorbarTicklabelposition = "inside left" + StreamtubeColorbarTicklabelpositionOutsideRight StreamtubeColorbarTicklabelposition = "outside right" + StreamtubeColorbarTicklabelpositionInsideRight StreamtubeColorbarTicklabelposition = "inside right" + StreamtubeColorbarTicklabelpositionOutsideBottom StreamtubeColorbarTicklabelposition = "outside bottom" + StreamtubeColorbarTicklabelpositionInsideBottom StreamtubeColorbarTicklabelposition = "inside bottom" +) + +// StreamtubeColorbarTickmode 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). +type StreamtubeColorbarTickmode string + +const ( + StreamtubeColorbarTickmodeAuto StreamtubeColorbarTickmode = "auto" + StreamtubeColorbarTickmodeLinear StreamtubeColorbarTickmode = "linear" + StreamtubeColorbarTickmodeArray StreamtubeColorbarTickmode = "array" +) + +// StreamtubeColorbarTicks 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. +type StreamtubeColorbarTicks string + +const ( + StreamtubeColorbarTicksOutside StreamtubeColorbarTicks = "outside" + StreamtubeColorbarTicksInside StreamtubeColorbarTicks = "inside" + StreamtubeColorbarTicksEmpty StreamtubeColorbarTicks = "" +) + +// StreamtubeColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type StreamtubeColorbarTitleSide string + +const ( + StreamtubeColorbarTitleSideRight StreamtubeColorbarTitleSide = "right" + StreamtubeColorbarTitleSideTop StreamtubeColorbarTitleSide = "top" + StreamtubeColorbarTitleSideBottom StreamtubeColorbarTitleSide = "bottom" +) + +// StreamtubeColorbarXanchor 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*. +type StreamtubeColorbarXanchor string + +const ( + StreamtubeColorbarXanchorLeft StreamtubeColorbarXanchor = "left" + StreamtubeColorbarXanchorCenter StreamtubeColorbarXanchor = "center" + StreamtubeColorbarXanchorRight StreamtubeColorbarXanchor = "right" +) + +// StreamtubeColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type StreamtubeColorbarXref string + +const ( + StreamtubeColorbarXrefContainer StreamtubeColorbarXref = "container" + StreamtubeColorbarXrefPaper StreamtubeColorbarXref = "paper" +) + +// StreamtubeColorbarYanchor 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*. +type StreamtubeColorbarYanchor string + +const ( + StreamtubeColorbarYanchorTop StreamtubeColorbarYanchor = "top" + StreamtubeColorbarYanchorMiddle StreamtubeColorbarYanchor = "middle" + StreamtubeColorbarYanchorBottom StreamtubeColorbarYanchor = "bottom" +) + +// StreamtubeColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type StreamtubeColorbarYref string + +const ( + StreamtubeColorbarYrefContainer StreamtubeColorbarYref = "container" + StreamtubeColorbarYrefPaper StreamtubeColorbarYref = "paper" +) + +// StreamtubeHoverlabelAlign 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 +type StreamtubeHoverlabelAlign string + +const ( + StreamtubeHoverlabelAlignLeft StreamtubeHoverlabelAlign = "left" + StreamtubeHoverlabelAlignRight StreamtubeHoverlabelAlign = "right" + StreamtubeHoverlabelAlignAuto StreamtubeHoverlabelAlign = "auto" +) + +// StreamtubeVisible 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). +type StreamtubeVisible interface{} + +var ( + StreamtubeVisibleTrue StreamtubeVisible = true + StreamtubeVisibleFalse StreamtubeVisible = false + StreamtubeVisibleLegendonly StreamtubeVisible = "legendonly" +) + +// StreamtubeHoverinfo 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. +type StreamtubeHoverinfo string + +const ( + // Flags + StreamtubeHoverinfoX StreamtubeHoverinfo = "x" + StreamtubeHoverinfoY StreamtubeHoverinfo = "y" + StreamtubeHoverinfoZ StreamtubeHoverinfo = "z" + StreamtubeHoverinfoU StreamtubeHoverinfo = "u" + StreamtubeHoverinfoV StreamtubeHoverinfo = "v" + StreamtubeHoverinfoW StreamtubeHoverinfo = "w" + StreamtubeHoverinfoNorm StreamtubeHoverinfo = "norm" + StreamtubeHoverinfoDivergence StreamtubeHoverinfo = "divergence" + StreamtubeHoverinfoText StreamtubeHoverinfo = "text" + StreamtubeHoverinfoName StreamtubeHoverinfo = "name" + + // Extra + StreamtubeHoverinfoAll StreamtubeHoverinfo = "all" + StreamtubeHoverinfoNone StreamtubeHoverinfo = "none" + StreamtubeHoverinfoSkip StreamtubeHoverinfo = "skip" +) diff --git a/generated/v2.31.1/graph_objects/sunburst_gen.go b/generated/v2.31.1/graph_objects/sunburst_gen.go new file mode 100644 index 0000000..5c0cbf2 --- /dev/null +++ b/generated/v2.31.1/graph_objects/sunburst_gen.go @@ -0,0 +1,1404 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeSunburst TraceType = "sunburst" + +func (trace *Sunburst) GetType() TraceType { + return TraceTypeSunburst +} + +// Sunburst 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*. +type Sunburst struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Branchvalues + // default: remainder + // type: enumerated + // 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. + Branchvalues SunburstBranchvalues `json:"branchvalues,omitempty"` + + // Count + // default: leaves + // type: flaglist + // Determines default for `values` when it is not provided, by inferring a 1 for each of the *leaves* and/or *branches*, otherwise 0. + Count SunburstCount `json:"count,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Domain + // role: Object + Domain *SunburstDomain `json:"domain,omitempty"` + + // Hoverinfo + // default: label+text+value+name + // type: flaglist + // 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. + Hoverinfo SunburstHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *SunburstHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Finally, the template string has access to variables `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry` and `percentParent`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Insidetextfont + // role: Object + Insidetextfont *SunburstInsidetextfont `json:"insidetextfont,omitempty"` + + // Insidetextorientation + // default: auto + // type: enumerated + // 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. + Insidetextorientation SunburstInsidetextorientation `json:"insidetextorientation,omitempty"` + + // Labels + // arrayOK: false + // type: data_array + // Sets the labels of each of the sectors. + Labels interface{} `json:"labels,omitempty"` + + // Labelssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `labels`. + Labelssrc String `json:"labelssrc,omitempty"` + + // Leaf + // role: Object + Leaf *SunburstLeaf `json:"leaf,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *SunburstLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Level + // arrayOK: false + // type: any + // 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`. + Level interface{} `json:"level,omitempty"` + + // Marker + // role: Object + Marker *SunburstMarker `json:"marker,omitempty"` + + // Maxdepth + // arrayOK: false + // type: integer + // Sets the number of rendered sectors from any given `level`. Set `maxdepth` to *-1* to render all the levels in the hierarchy. + Maxdepth int64 `json:"maxdepth,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Outsidetextfont + // role: Object + Outsidetextfont *SunburstOutsidetextfont `json:"outsidetextfont,omitempty"` + + // Parents + // arrayOK: false + // 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. + Parents interface{} `json:"parents,omitempty"` + + // Parentssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `parents`. + Parentssrc String `json:"parentssrc,omitempty"` + + // Root + // role: Object + Root *SunburstRoot `json:"root,omitempty"` + + // Rotation + // arrayOK: false + // type: angle + // Rotates the whole diagram counterclockwise by some angle. By default the first slice starts at 3 o'clock. + Rotation float64 `json:"rotation,omitempty"` + + // Sort + // arrayOK: false + // type: boolean + // Determines whether or not the sectors are reordered from largest to smallest. + Sort Bool `json:"sort,omitempty"` + + // Stream + // role: Object + Stream *SunburstStream `json:"stream,omitempty"` + + // Text + // arrayOK: false + // 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. + Text interface{} `json:"text,omitempty"` + + // Textfont + // role: Object + Textfont *SunburstTextfont `json:"textfont,omitempty"` + + // Textinfo + // default: %!s() + // type: flaglist + // Determines which trace information appear on the graph. + Textinfo SunburstTextinfo `json:"textinfo,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: true + // 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 `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry`, `percentParent`, `label` and `value`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Texttemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `texttemplate`. + Texttemplatesrc String `json:"texttemplatesrc,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Values + // arrayOK: false + // type: data_array + // Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed. + Values interface{} `json:"values,omitempty"` + + // Valuessrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `values`. + Valuessrc String `json:"valuessrc,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible SunburstVisible `json:"visible,omitempty"` +} + +// SunburstDomain +type SunburstDomain struct { + + // Column + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this column in the grid for this sunburst trace . + Column int64 `json:"column,omitempty"` + + // Row + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this row in the grid for this sunburst trace . + Row int64 `json:"row,omitempty"` + + // X + // arrayOK: false + // type: info_array + // Sets the horizontal domain of this sunburst trace (in plot fraction). + X interface{} `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: info_array + // Sets the vertical domain of this sunburst trace (in plot fraction). + Y interface{} `json:"y,omitempty"` +} + +// SunburstHoverlabelFont Sets the font used in hover labels. +type SunburstHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// SunburstHoverlabel +type SunburstHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align SunburstHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *SunburstHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// SunburstInsidetextfont Sets the font used for `textinfo` lying inside the sector. +type SunburstInsidetextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// SunburstLeaf +type SunburstLeaf struct { + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the leaves. With colorscale it is defaulted to 1; otherwise it is defaulted to 0.7 + Opacity float64 `json:"opacity,omitempty"` +} + +// SunburstLegendgrouptitleFont Sets this legend group's title font. +type SunburstLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// SunburstLegendgrouptitle +type SunburstLegendgrouptitle struct { + + // Font + // role: Object + Font *SunburstLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// SunburstMarkerColorbarTickfont Sets the color bar's tick label font +type SunburstMarkerColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// SunburstMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type SunburstMarkerColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// SunburstMarkerColorbarTitle +type SunburstMarkerColorbarTitle struct { + + // Font + // role: Object + Font *SunburstMarkerColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side SunburstMarkerColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// SunburstMarkerColorbar +type SunburstMarkerColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat SunburstMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode SunburstMarkerColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation SunburstMarkerColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent SunburstMarkerColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix SunburstMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix SunburstMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode SunburstMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *SunburstMarkerColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow SunburstMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition SunburstMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode SunburstMarkerColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks SunburstMarkerColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *SunburstMarkerColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor SunburstMarkerColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref SunburstMarkerColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor SunburstMarkerColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref SunburstMarkerColorbarYref `json:"yref,omitempty"` +} + +// SunburstMarkerLine +type SunburstMarkerLine struct { + + // Color + // arrayOK: true + // type: color + // Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the line enclosing each sector. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// SunburstMarkerPattern Sets the pattern within the marker. +type SunburstMarkerPattern struct { + + // Bgcolor + // arrayOK: true + // type: color + // 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. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Fgcolor + // arrayOK: true + // type: color + // 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`. + Fgcolor Color `json:"fgcolor,omitempty"` + + // Fgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `fgcolor`. + Fgcolorsrc String `json:"fgcolorsrc,omitempty"` + + // Fgopacity + // arrayOK: false + // type: number + // Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1. + Fgopacity float64 `json:"fgopacity,omitempty"` + + // Fillmode + // default: replace + // type: enumerated + // Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. + Fillmode SunburstMarkerPatternFillmode `json:"fillmode,omitempty"` + + // Shape + // default: + // type: enumerated + // Sets the shape of the pattern fill. By default, no pattern is used for filling the area. + Shape SunburstMarkerPatternShape `json:"shape,omitempty"` + + // Shapesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `shape`. + Shapesrc String `json:"shapesrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Solidity + // arrayOK: true + // type: number + // 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. + Solidity float64 `json:"solidity,omitempty"` + + // Soliditysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `solidity`. + Soliditysrc String `json:"soliditysrc,omitempty"` +} + +// SunburstMarker +type SunburstMarker struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *SunburstMarkerColorbar `json:"colorbar,omitempty"` + + // Colors + // arrayOK: false + // 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. + Colors interface{} `json:"colors,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `colors`. + Colorssrc String `json:"colorssrc,omitempty"` + + // Line + // role: Object + Line *SunburstMarkerLine `json:"line,omitempty"` + + // Pattern + // role: Object + Pattern *SunburstMarkerPattern `json:"pattern,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` +} + +// SunburstOutsidetextfont 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. +type SunburstOutsidetextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// SunburstRoot +type SunburstRoot struct { + + // Color + // arrayOK: false + // type: color + // 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. + Color Color `json:"color,omitempty"` +} + +// SunburstStream +type SunburstStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// SunburstTextfont Sets the font used for `textinfo`. +type SunburstTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// SunburstBranchvalues 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. +type SunburstBranchvalues string + +const ( + SunburstBranchvaluesRemainder SunburstBranchvalues = "remainder" + SunburstBranchvaluesTotal SunburstBranchvalues = "total" +) + +// SunburstHoverlabelAlign 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 +type SunburstHoverlabelAlign string + +const ( + SunburstHoverlabelAlignLeft SunburstHoverlabelAlign = "left" + SunburstHoverlabelAlignRight SunburstHoverlabelAlign = "right" + SunburstHoverlabelAlignAuto SunburstHoverlabelAlign = "auto" +) + +// SunburstInsidetextorientation 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. +type SunburstInsidetextorientation string + +const ( + SunburstInsidetextorientationHorizontal SunburstInsidetextorientation = "horizontal" + SunburstInsidetextorientationRadial SunburstInsidetextorientation = "radial" + SunburstInsidetextorientationTangential SunburstInsidetextorientation = "tangential" + SunburstInsidetextorientationAuto SunburstInsidetextorientation = "auto" +) + +// SunburstMarkerColorbarExponentformat 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. +type SunburstMarkerColorbarExponentformat string + +const ( + SunburstMarkerColorbarExponentformatNone SunburstMarkerColorbarExponentformat = "none" + SunburstMarkerColorbarExponentformatE1 SunburstMarkerColorbarExponentformat = "e" + SunburstMarkerColorbarExponentformatE2 SunburstMarkerColorbarExponentformat = "E" + SunburstMarkerColorbarExponentformatPower SunburstMarkerColorbarExponentformat = "power" + SunburstMarkerColorbarExponentformatSI SunburstMarkerColorbarExponentformat = "SI" + SunburstMarkerColorbarExponentformatB SunburstMarkerColorbarExponentformat = "B" +) + +// SunburstMarkerColorbarLenmode 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. +type SunburstMarkerColorbarLenmode string + +const ( + SunburstMarkerColorbarLenmodeFraction SunburstMarkerColorbarLenmode = "fraction" + SunburstMarkerColorbarLenmodePixels SunburstMarkerColorbarLenmode = "pixels" +) + +// SunburstMarkerColorbarOrientation Sets the orientation of the colorbar. +type SunburstMarkerColorbarOrientation string + +const ( + SunburstMarkerColorbarOrientationH SunburstMarkerColorbarOrientation = "h" + SunburstMarkerColorbarOrientationV SunburstMarkerColorbarOrientation = "v" +) + +// SunburstMarkerColorbarShowexponent 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. +type SunburstMarkerColorbarShowexponent string + +const ( + SunburstMarkerColorbarShowexponentAll SunburstMarkerColorbarShowexponent = "all" + SunburstMarkerColorbarShowexponentFirst SunburstMarkerColorbarShowexponent = "first" + SunburstMarkerColorbarShowexponentLast SunburstMarkerColorbarShowexponent = "last" + SunburstMarkerColorbarShowexponentNone SunburstMarkerColorbarShowexponent = "none" +) + +// SunburstMarkerColorbarShowtickprefix 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. +type SunburstMarkerColorbarShowtickprefix string + +const ( + SunburstMarkerColorbarShowtickprefixAll SunburstMarkerColorbarShowtickprefix = "all" + SunburstMarkerColorbarShowtickprefixFirst SunburstMarkerColorbarShowtickprefix = "first" + SunburstMarkerColorbarShowtickprefixLast SunburstMarkerColorbarShowtickprefix = "last" + SunburstMarkerColorbarShowtickprefixNone SunburstMarkerColorbarShowtickprefix = "none" +) + +// SunburstMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type SunburstMarkerColorbarShowticksuffix string + +const ( + SunburstMarkerColorbarShowticksuffixAll SunburstMarkerColorbarShowticksuffix = "all" + SunburstMarkerColorbarShowticksuffixFirst SunburstMarkerColorbarShowticksuffix = "first" + SunburstMarkerColorbarShowticksuffixLast SunburstMarkerColorbarShowticksuffix = "last" + SunburstMarkerColorbarShowticksuffixNone SunburstMarkerColorbarShowticksuffix = "none" +) + +// SunburstMarkerColorbarThicknessmode 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. +type SunburstMarkerColorbarThicknessmode string + +const ( + SunburstMarkerColorbarThicknessmodeFraction SunburstMarkerColorbarThicknessmode = "fraction" + SunburstMarkerColorbarThicknessmodePixels SunburstMarkerColorbarThicknessmode = "pixels" +) + +// SunburstMarkerColorbarTicklabeloverflow 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*. +type SunburstMarkerColorbarTicklabeloverflow string + +const ( + SunburstMarkerColorbarTicklabeloverflowAllow SunburstMarkerColorbarTicklabeloverflow = "allow" + SunburstMarkerColorbarTicklabeloverflowHidePastDiv SunburstMarkerColorbarTicklabeloverflow = "hide past div" + SunburstMarkerColorbarTicklabeloverflowHidePastDomain SunburstMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// SunburstMarkerColorbarTicklabelposition 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*. +type SunburstMarkerColorbarTicklabelposition string + +const ( + SunburstMarkerColorbarTicklabelpositionOutside SunburstMarkerColorbarTicklabelposition = "outside" + SunburstMarkerColorbarTicklabelpositionInside SunburstMarkerColorbarTicklabelposition = "inside" + SunburstMarkerColorbarTicklabelpositionOutsideTop SunburstMarkerColorbarTicklabelposition = "outside top" + SunburstMarkerColorbarTicklabelpositionInsideTop SunburstMarkerColorbarTicklabelposition = "inside top" + SunburstMarkerColorbarTicklabelpositionOutsideLeft SunburstMarkerColorbarTicklabelposition = "outside left" + SunburstMarkerColorbarTicklabelpositionInsideLeft SunburstMarkerColorbarTicklabelposition = "inside left" + SunburstMarkerColorbarTicklabelpositionOutsideRight SunburstMarkerColorbarTicklabelposition = "outside right" + SunburstMarkerColorbarTicklabelpositionInsideRight SunburstMarkerColorbarTicklabelposition = "inside right" + SunburstMarkerColorbarTicklabelpositionOutsideBottom SunburstMarkerColorbarTicklabelposition = "outside bottom" + SunburstMarkerColorbarTicklabelpositionInsideBottom SunburstMarkerColorbarTicklabelposition = "inside bottom" +) + +// SunburstMarkerColorbarTickmode 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). +type SunburstMarkerColorbarTickmode string + +const ( + SunburstMarkerColorbarTickmodeAuto SunburstMarkerColorbarTickmode = "auto" + SunburstMarkerColorbarTickmodeLinear SunburstMarkerColorbarTickmode = "linear" + SunburstMarkerColorbarTickmodeArray SunburstMarkerColorbarTickmode = "array" +) + +// SunburstMarkerColorbarTicks 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. +type SunburstMarkerColorbarTicks string + +const ( + SunburstMarkerColorbarTicksOutside SunburstMarkerColorbarTicks = "outside" + SunburstMarkerColorbarTicksInside SunburstMarkerColorbarTicks = "inside" + SunburstMarkerColorbarTicksEmpty SunburstMarkerColorbarTicks = "" +) + +// SunburstMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type SunburstMarkerColorbarTitleSide string + +const ( + SunburstMarkerColorbarTitleSideRight SunburstMarkerColorbarTitleSide = "right" + SunburstMarkerColorbarTitleSideTop SunburstMarkerColorbarTitleSide = "top" + SunburstMarkerColorbarTitleSideBottom SunburstMarkerColorbarTitleSide = "bottom" +) + +// SunburstMarkerColorbarXanchor 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*. +type SunburstMarkerColorbarXanchor string + +const ( + SunburstMarkerColorbarXanchorLeft SunburstMarkerColorbarXanchor = "left" + SunburstMarkerColorbarXanchorCenter SunburstMarkerColorbarXanchor = "center" + SunburstMarkerColorbarXanchorRight SunburstMarkerColorbarXanchor = "right" +) + +// SunburstMarkerColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type SunburstMarkerColorbarXref string + +const ( + SunburstMarkerColorbarXrefContainer SunburstMarkerColorbarXref = "container" + SunburstMarkerColorbarXrefPaper SunburstMarkerColorbarXref = "paper" +) + +// SunburstMarkerColorbarYanchor 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*. +type SunburstMarkerColorbarYanchor string + +const ( + SunburstMarkerColorbarYanchorTop SunburstMarkerColorbarYanchor = "top" + SunburstMarkerColorbarYanchorMiddle SunburstMarkerColorbarYanchor = "middle" + SunburstMarkerColorbarYanchorBottom SunburstMarkerColorbarYanchor = "bottom" +) + +// SunburstMarkerColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type SunburstMarkerColorbarYref string + +const ( + SunburstMarkerColorbarYrefContainer SunburstMarkerColorbarYref = "container" + SunburstMarkerColorbarYrefPaper SunburstMarkerColorbarYref = "paper" +) + +// SunburstMarkerPatternFillmode Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. +type SunburstMarkerPatternFillmode string + +const ( + SunburstMarkerPatternFillmodeReplace SunburstMarkerPatternFillmode = "replace" + SunburstMarkerPatternFillmodeOverlay SunburstMarkerPatternFillmode = "overlay" +) + +// SunburstMarkerPatternShape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. +type SunburstMarkerPatternShape string + +const ( + SunburstMarkerPatternShapeEmpty SunburstMarkerPatternShape = "" + SunburstMarkerPatternShapeSlash SunburstMarkerPatternShape = "/" + SunburstMarkerPatternShapeDoublebackslash SunburstMarkerPatternShape = "\\" + SunburstMarkerPatternShapeX SunburstMarkerPatternShape = "x" + SunburstMarkerPatternShapeHyphenHyphen SunburstMarkerPatternShape = "-" + SunburstMarkerPatternShapeOr SunburstMarkerPatternShape = "|" + SunburstMarkerPatternShapePlus SunburstMarkerPatternShape = "+" + SunburstMarkerPatternShapeDot SunburstMarkerPatternShape = "." +) + +// SunburstVisible 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). +type SunburstVisible interface{} + +var ( + SunburstVisibleTrue SunburstVisible = true + SunburstVisibleFalse SunburstVisible = false + SunburstVisibleLegendonly SunburstVisible = "legendonly" +) + +// SunburstCount Determines default for `values` when it is not provided, by inferring a 1 for each of the *leaves* and/or *branches*, otherwise 0. +type SunburstCount string + +const ( + // Flags + SunburstCountBranches SunburstCount = "branches" + SunburstCountLeaves SunburstCount = "leaves" + + // Extra + +) + +// SunburstHoverinfo 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. +type SunburstHoverinfo string + +const ( + // Flags + SunburstHoverinfoLabel SunburstHoverinfo = "label" + SunburstHoverinfoText SunburstHoverinfo = "text" + SunburstHoverinfoValue SunburstHoverinfo = "value" + SunburstHoverinfoName SunburstHoverinfo = "name" + SunburstHoverinfoCurrentPath SunburstHoverinfo = "current path" + SunburstHoverinfoPercentRoot SunburstHoverinfo = "percent root" + SunburstHoverinfoPercentEntry SunburstHoverinfo = "percent entry" + SunburstHoverinfoPercentParent SunburstHoverinfo = "percent parent" + + // Extra + SunburstHoverinfoAll SunburstHoverinfo = "all" + SunburstHoverinfoNone SunburstHoverinfo = "none" + SunburstHoverinfoSkip SunburstHoverinfo = "skip" +) + +// SunburstTextinfo Determines which trace information appear on the graph. +type SunburstTextinfo string + +const ( + // Flags + SunburstTextinfoLabel SunburstTextinfo = "label" + SunburstTextinfoText SunburstTextinfo = "text" + SunburstTextinfoValue SunburstTextinfo = "value" + SunburstTextinfoCurrentPath SunburstTextinfo = "current path" + SunburstTextinfoPercentRoot SunburstTextinfo = "percent root" + SunburstTextinfoPercentEntry SunburstTextinfo = "percent entry" + SunburstTextinfoPercentParent SunburstTextinfo = "percent parent" + + // Extra + SunburstTextinfoNone SunburstTextinfo = "none" +) diff --git a/generated/v2.31.1/graph_objects/surface_gen.go b/generated/v2.31.1/graph_objects/surface_gen.go new file mode 100644 index 0000000..cc7fd74 --- /dev/null +++ b/generated/v2.31.1/graph_objects/surface_gen.go @@ -0,0 +1,1446 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeSurface TraceType = "surface" + +func (trace *Surface) GetType() TraceType { + return TraceTypeSurface +} + +// Surface 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`. +type Surface struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Autocolorscale + // arrayOK: false + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *SurfaceColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Connectgaps + // arrayOK: false + // type: boolean + // Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data are filled in. + Connectgaps Bool `json:"connectgaps,omitempty"` + + // Contours + // role: Object + Contours *SurfaceContours `json:"contours,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Hidesurface + // arrayOK: false + // 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. + Hidesurface Bool `json:"hidesurface,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo SurfaceHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *SurfaceHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // Same as `text`. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *SurfaceLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Lighting + // role: Object + Lighting *SurfaceLighting `json:"lighting,omitempty"` + + // Lightposition + // role: Object + Lightposition *SurfaceLightposition `json:"lightposition,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // 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. + Opacity float64 `json:"opacity,omitempty"` + + // Opacityscale + // arrayOK: false + // type: any + // 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'. + Opacityscale interface{} `json:"opacityscale,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Scene + // arrayOK: false + // type: subplotid + // 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. + Scene String `json:"scene,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Showscale + // arrayOK: false + // type: boolean + // Determines whether or not a colorbar is displayed for this trace. + Showscale Bool `json:"showscale,omitempty"` + + // Stream + // role: Object + Stream *SurfaceStream `json:"stream,omitempty"` + + // Surfacecolor + // arrayOK: false + // type: data_array + // Sets the surface color values, used for setting a color scale independent of `z`. + Surfacecolor interface{} `json:"surfacecolor,omitempty"` + + // Surfacecolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `surfacecolor`. + Surfacecolorsrc String `json:"surfacecolorsrc,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible SurfaceVisible `json:"visible,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the x coordinates. + X interface{} `json:"x,omitempty"` + + // Xcalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `x` date data. + Xcalendar SurfaceXcalendar `json:"xcalendar,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the y coordinates. + Y interface{} `json:"y,omitempty"` + + // Ycalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `y` date data. + Ycalendar SurfaceYcalendar `json:"ycalendar,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` + + // Z + // arrayOK: false + // type: data_array + // Sets the z coordinates. + Z interface{} `json:"z,omitempty"` + + // Zcalendar + // default: gregorian + // type: enumerated + // Sets the calendar system to use with `z` date data. + Zcalendar SurfaceZcalendar `json:"zcalendar,omitempty"` + + // Zhoverformat + // arrayOK: false + // 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`. + Zhoverformat String `json:"zhoverformat,omitempty"` + + // Zsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `z`. + Zsrc String `json:"zsrc,omitempty"` +} + +// SurfaceColorbarTickfont Sets the color bar's tick label font +type SurfaceColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// SurfaceColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type SurfaceColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// SurfaceColorbarTitle +type SurfaceColorbarTitle struct { + + // Font + // role: Object + Font *SurfaceColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side SurfaceColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// SurfaceColorbar +type SurfaceColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat SurfaceColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode SurfaceColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation SurfaceColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent SurfaceColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix SurfaceColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix SurfaceColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode SurfaceColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *SurfaceColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow SurfaceColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition SurfaceColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode SurfaceColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks SurfaceColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *SurfaceColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor SurfaceColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref SurfaceColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor SurfaceColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref SurfaceColorbarYref `json:"yref,omitempty"` +} + +// SurfaceContoursXProject +type SurfaceContoursXProject struct { + + // X + // arrayOK: false + // 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. + X Bool `json:"x,omitempty"` + + // Y + // arrayOK: false + // 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. + Y Bool `json:"y,omitempty"` + + // Z + // arrayOK: false + // 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. + Z Bool `json:"z,omitempty"` +} + +// SurfaceContoursX +type SurfaceContoursX struct { + + // Color + // arrayOK: false + // type: color + // Sets the color of the contour lines. + Color Color `json:"color,omitempty"` + + // End + // arrayOK: false + // type: number + // Sets the end contour level value. Must be more than `contours.start` + End float64 `json:"end,omitempty"` + + // Highlight + // arrayOK: false + // type: boolean + // Determines whether or not contour lines about the x dimension are highlighted on hover. + Highlight Bool `json:"highlight,omitempty"` + + // Highlightcolor + // arrayOK: false + // type: color + // Sets the color of the highlighted contour lines. + Highlightcolor Color `json:"highlightcolor,omitempty"` + + // Highlightwidth + // arrayOK: false + // type: number + // Sets the width of the highlighted contour lines. + Highlightwidth float64 `json:"highlightwidth,omitempty"` + + // Project + // role: Object + Project *SurfaceContoursXProject `json:"project,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // Determines whether or not contour lines about the x dimension are drawn. + Show Bool `json:"show,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the step between each contour level. Must be positive. + Size float64 `json:"size,omitempty"` + + // Start + // arrayOK: false + // type: number + // Sets the starting contour level value. Must be less than `contours.end` + Start float64 `json:"start,omitempty"` + + // Usecolormap + // arrayOK: false + // type: boolean + // An alternate to *color*. Determines whether or not the contour lines are colored using the trace *colorscale*. + Usecolormap Bool `json:"usecolormap,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width of the contour lines. + Width float64 `json:"width,omitempty"` +} + +// SurfaceContoursYProject +type SurfaceContoursYProject struct { + + // X + // arrayOK: false + // 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. + X Bool `json:"x,omitempty"` + + // Y + // arrayOK: false + // 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. + Y Bool `json:"y,omitempty"` + + // Z + // arrayOK: false + // 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. + Z Bool `json:"z,omitempty"` +} + +// SurfaceContoursY +type SurfaceContoursY struct { + + // Color + // arrayOK: false + // type: color + // Sets the color of the contour lines. + Color Color `json:"color,omitempty"` + + // End + // arrayOK: false + // type: number + // Sets the end contour level value. Must be more than `contours.start` + End float64 `json:"end,omitempty"` + + // Highlight + // arrayOK: false + // type: boolean + // Determines whether or not contour lines about the y dimension are highlighted on hover. + Highlight Bool `json:"highlight,omitempty"` + + // Highlightcolor + // arrayOK: false + // type: color + // Sets the color of the highlighted contour lines. + Highlightcolor Color `json:"highlightcolor,omitempty"` + + // Highlightwidth + // arrayOK: false + // type: number + // Sets the width of the highlighted contour lines. + Highlightwidth float64 `json:"highlightwidth,omitempty"` + + // Project + // role: Object + Project *SurfaceContoursYProject `json:"project,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // Determines whether or not contour lines about the y dimension are drawn. + Show Bool `json:"show,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the step between each contour level. Must be positive. + Size float64 `json:"size,omitempty"` + + // Start + // arrayOK: false + // type: number + // Sets the starting contour level value. Must be less than `contours.end` + Start float64 `json:"start,omitempty"` + + // Usecolormap + // arrayOK: false + // type: boolean + // An alternate to *color*. Determines whether or not the contour lines are colored using the trace *colorscale*. + Usecolormap Bool `json:"usecolormap,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width of the contour lines. + Width float64 `json:"width,omitempty"` +} + +// SurfaceContoursZProject +type SurfaceContoursZProject struct { + + // X + // arrayOK: false + // 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. + X Bool `json:"x,omitempty"` + + // Y + // arrayOK: false + // 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. + Y Bool `json:"y,omitempty"` + + // Z + // arrayOK: false + // 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. + Z Bool `json:"z,omitempty"` +} + +// SurfaceContoursZ +type SurfaceContoursZ struct { + + // Color + // arrayOK: false + // type: color + // Sets the color of the contour lines. + Color Color `json:"color,omitempty"` + + // End + // arrayOK: false + // type: number + // Sets the end contour level value. Must be more than `contours.start` + End float64 `json:"end,omitempty"` + + // Highlight + // arrayOK: false + // type: boolean + // Determines whether or not contour lines about the z dimension are highlighted on hover. + Highlight Bool `json:"highlight,omitempty"` + + // Highlightcolor + // arrayOK: false + // type: color + // Sets the color of the highlighted contour lines. + Highlightcolor Color `json:"highlightcolor,omitempty"` + + // Highlightwidth + // arrayOK: false + // type: number + // Sets the width of the highlighted contour lines. + Highlightwidth float64 `json:"highlightwidth,omitempty"` + + // Project + // role: Object + Project *SurfaceContoursZProject `json:"project,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // Determines whether or not contour lines about the z dimension are drawn. + Show Bool `json:"show,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the step between each contour level. Must be positive. + Size float64 `json:"size,omitempty"` + + // Start + // arrayOK: false + // type: number + // Sets the starting contour level value. Must be less than `contours.end` + Start float64 `json:"start,omitempty"` + + // Usecolormap + // arrayOK: false + // type: boolean + // An alternate to *color*. Determines whether or not the contour lines are colored using the trace *colorscale*. + Usecolormap Bool `json:"usecolormap,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width of the contour lines. + Width float64 `json:"width,omitempty"` +} + +// SurfaceContours +type SurfaceContours struct { + + // X + // role: Object + X *SurfaceContoursX `json:"x,omitempty"` + + // Y + // role: Object + Y *SurfaceContoursY `json:"y,omitempty"` + + // Z + // role: Object + Z *SurfaceContoursZ `json:"z,omitempty"` +} + +// SurfaceHoverlabelFont Sets the font used in hover labels. +type SurfaceHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// SurfaceHoverlabel +type SurfaceHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align SurfaceHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *SurfaceHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// SurfaceLegendgrouptitleFont Sets this legend group's title font. +type SurfaceLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// SurfaceLegendgrouptitle +type SurfaceLegendgrouptitle struct { + + // Font + // role: Object + Font *SurfaceLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// SurfaceLighting +type SurfaceLighting struct { + + // Ambient + // arrayOK: false + // type: number + // Ambient light increases overall color visibility but can wash out the image. + Ambient float64 `json:"ambient,omitempty"` + + // Diffuse + // arrayOK: false + // type: number + // Represents the extent that incident rays are reflected in a range of angles. + Diffuse float64 `json:"diffuse,omitempty"` + + // Fresnel + // arrayOK: false + // type: number + // 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. + Fresnel float64 `json:"fresnel,omitempty"` + + // Roughness + // arrayOK: false + // type: number + // Alters specular reflection; the rougher the surface, the wider and less contrasty the shine. + Roughness float64 `json:"roughness,omitempty"` + + // Specular + // arrayOK: false + // type: number + // Represents the level that incident rays are reflected in a single direction, causing shine. + Specular float64 `json:"specular,omitempty"` +} + +// SurfaceLightposition +type SurfaceLightposition struct { + + // X + // arrayOK: false + // type: number + // Numeric vector, representing the X coordinate for each vertex. + X float64 `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: number + // Numeric vector, representing the Y coordinate for each vertex. + Y float64 `json:"y,omitempty"` + + // Z + // arrayOK: false + // type: number + // Numeric vector, representing the Z coordinate for each vertex. + Z float64 `json:"z,omitempty"` +} + +// SurfaceStream +type SurfaceStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// SurfaceColorbarExponentformat 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. +type SurfaceColorbarExponentformat string + +const ( + SurfaceColorbarExponentformatNone SurfaceColorbarExponentformat = "none" + SurfaceColorbarExponentformatE1 SurfaceColorbarExponentformat = "e" + SurfaceColorbarExponentformatE2 SurfaceColorbarExponentformat = "E" + SurfaceColorbarExponentformatPower SurfaceColorbarExponentformat = "power" + SurfaceColorbarExponentformatSI SurfaceColorbarExponentformat = "SI" + SurfaceColorbarExponentformatB SurfaceColorbarExponentformat = "B" +) + +// SurfaceColorbarLenmode 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. +type SurfaceColorbarLenmode string + +const ( + SurfaceColorbarLenmodeFraction SurfaceColorbarLenmode = "fraction" + SurfaceColorbarLenmodePixels SurfaceColorbarLenmode = "pixels" +) + +// SurfaceColorbarOrientation Sets the orientation of the colorbar. +type SurfaceColorbarOrientation string + +const ( + SurfaceColorbarOrientationH SurfaceColorbarOrientation = "h" + SurfaceColorbarOrientationV SurfaceColorbarOrientation = "v" +) + +// SurfaceColorbarShowexponent 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. +type SurfaceColorbarShowexponent string + +const ( + SurfaceColorbarShowexponentAll SurfaceColorbarShowexponent = "all" + SurfaceColorbarShowexponentFirst SurfaceColorbarShowexponent = "first" + SurfaceColorbarShowexponentLast SurfaceColorbarShowexponent = "last" + SurfaceColorbarShowexponentNone SurfaceColorbarShowexponent = "none" +) + +// SurfaceColorbarShowtickprefix 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. +type SurfaceColorbarShowtickprefix string + +const ( + SurfaceColorbarShowtickprefixAll SurfaceColorbarShowtickprefix = "all" + SurfaceColorbarShowtickprefixFirst SurfaceColorbarShowtickprefix = "first" + SurfaceColorbarShowtickprefixLast SurfaceColorbarShowtickprefix = "last" + SurfaceColorbarShowtickprefixNone SurfaceColorbarShowtickprefix = "none" +) + +// SurfaceColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type SurfaceColorbarShowticksuffix string + +const ( + SurfaceColorbarShowticksuffixAll SurfaceColorbarShowticksuffix = "all" + SurfaceColorbarShowticksuffixFirst SurfaceColorbarShowticksuffix = "first" + SurfaceColorbarShowticksuffixLast SurfaceColorbarShowticksuffix = "last" + SurfaceColorbarShowticksuffixNone SurfaceColorbarShowticksuffix = "none" +) + +// SurfaceColorbarThicknessmode 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. +type SurfaceColorbarThicknessmode string + +const ( + SurfaceColorbarThicknessmodeFraction SurfaceColorbarThicknessmode = "fraction" + SurfaceColorbarThicknessmodePixels SurfaceColorbarThicknessmode = "pixels" +) + +// SurfaceColorbarTicklabeloverflow 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*. +type SurfaceColorbarTicklabeloverflow string + +const ( + SurfaceColorbarTicklabeloverflowAllow SurfaceColorbarTicklabeloverflow = "allow" + SurfaceColorbarTicklabeloverflowHidePastDiv SurfaceColorbarTicklabeloverflow = "hide past div" + SurfaceColorbarTicklabeloverflowHidePastDomain SurfaceColorbarTicklabeloverflow = "hide past domain" +) + +// SurfaceColorbarTicklabelposition 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*. +type SurfaceColorbarTicklabelposition string + +const ( + SurfaceColorbarTicklabelpositionOutside SurfaceColorbarTicklabelposition = "outside" + SurfaceColorbarTicklabelpositionInside SurfaceColorbarTicklabelposition = "inside" + SurfaceColorbarTicklabelpositionOutsideTop SurfaceColorbarTicklabelposition = "outside top" + SurfaceColorbarTicklabelpositionInsideTop SurfaceColorbarTicklabelposition = "inside top" + SurfaceColorbarTicklabelpositionOutsideLeft SurfaceColorbarTicklabelposition = "outside left" + SurfaceColorbarTicklabelpositionInsideLeft SurfaceColorbarTicklabelposition = "inside left" + SurfaceColorbarTicklabelpositionOutsideRight SurfaceColorbarTicklabelposition = "outside right" + SurfaceColorbarTicklabelpositionInsideRight SurfaceColorbarTicklabelposition = "inside right" + SurfaceColorbarTicklabelpositionOutsideBottom SurfaceColorbarTicklabelposition = "outside bottom" + SurfaceColorbarTicklabelpositionInsideBottom SurfaceColorbarTicklabelposition = "inside bottom" +) + +// SurfaceColorbarTickmode 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). +type SurfaceColorbarTickmode string + +const ( + SurfaceColorbarTickmodeAuto SurfaceColorbarTickmode = "auto" + SurfaceColorbarTickmodeLinear SurfaceColorbarTickmode = "linear" + SurfaceColorbarTickmodeArray SurfaceColorbarTickmode = "array" +) + +// SurfaceColorbarTicks 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. +type SurfaceColorbarTicks string + +const ( + SurfaceColorbarTicksOutside SurfaceColorbarTicks = "outside" + SurfaceColorbarTicksInside SurfaceColorbarTicks = "inside" + SurfaceColorbarTicksEmpty SurfaceColorbarTicks = "" +) + +// SurfaceColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type SurfaceColorbarTitleSide string + +const ( + SurfaceColorbarTitleSideRight SurfaceColorbarTitleSide = "right" + SurfaceColorbarTitleSideTop SurfaceColorbarTitleSide = "top" + SurfaceColorbarTitleSideBottom SurfaceColorbarTitleSide = "bottom" +) + +// SurfaceColorbarXanchor 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*. +type SurfaceColorbarXanchor string + +const ( + SurfaceColorbarXanchorLeft SurfaceColorbarXanchor = "left" + SurfaceColorbarXanchorCenter SurfaceColorbarXanchor = "center" + SurfaceColorbarXanchorRight SurfaceColorbarXanchor = "right" +) + +// SurfaceColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type SurfaceColorbarXref string + +const ( + SurfaceColorbarXrefContainer SurfaceColorbarXref = "container" + SurfaceColorbarXrefPaper SurfaceColorbarXref = "paper" +) + +// SurfaceColorbarYanchor 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*. +type SurfaceColorbarYanchor string + +const ( + SurfaceColorbarYanchorTop SurfaceColorbarYanchor = "top" + SurfaceColorbarYanchorMiddle SurfaceColorbarYanchor = "middle" + SurfaceColorbarYanchorBottom SurfaceColorbarYanchor = "bottom" +) + +// SurfaceColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type SurfaceColorbarYref string + +const ( + SurfaceColorbarYrefContainer SurfaceColorbarYref = "container" + SurfaceColorbarYrefPaper SurfaceColorbarYref = "paper" +) + +// SurfaceHoverlabelAlign 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 +type SurfaceHoverlabelAlign string + +const ( + SurfaceHoverlabelAlignLeft SurfaceHoverlabelAlign = "left" + SurfaceHoverlabelAlignRight SurfaceHoverlabelAlign = "right" + SurfaceHoverlabelAlignAuto SurfaceHoverlabelAlign = "auto" +) + +// SurfaceVisible 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). +type SurfaceVisible interface{} + +var ( + SurfaceVisibleTrue SurfaceVisible = true + SurfaceVisibleFalse SurfaceVisible = false + SurfaceVisibleLegendonly SurfaceVisible = "legendonly" +) + +// SurfaceXcalendar Sets the calendar system to use with `x` date data. +type SurfaceXcalendar string + +const ( + SurfaceXcalendarChinese SurfaceXcalendar = "chinese" + SurfaceXcalendarCoptic SurfaceXcalendar = "coptic" + SurfaceXcalendarDiscworld SurfaceXcalendar = "discworld" + SurfaceXcalendarEthiopian SurfaceXcalendar = "ethiopian" + SurfaceXcalendarGregorian SurfaceXcalendar = "gregorian" + SurfaceXcalendarHebrew SurfaceXcalendar = "hebrew" + SurfaceXcalendarIslamic SurfaceXcalendar = "islamic" + SurfaceXcalendarJalali SurfaceXcalendar = "jalali" + SurfaceXcalendarJulian SurfaceXcalendar = "julian" + SurfaceXcalendarMayan SurfaceXcalendar = "mayan" + SurfaceXcalendarNanakshahi SurfaceXcalendar = "nanakshahi" + SurfaceXcalendarNepali SurfaceXcalendar = "nepali" + SurfaceXcalendarPersian SurfaceXcalendar = "persian" + SurfaceXcalendarTaiwan SurfaceXcalendar = "taiwan" + SurfaceXcalendarThai SurfaceXcalendar = "thai" + SurfaceXcalendarUmmalqura SurfaceXcalendar = "ummalqura" +) + +// SurfaceYcalendar Sets the calendar system to use with `y` date data. +type SurfaceYcalendar string + +const ( + SurfaceYcalendarChinese SurfaceYcalendar = "chinese" + SurfaceYcalendarCoptic SurfaceYcalendar = "coptic" + SurfaceYcalendarDiscworld SurfaceYcalendar = "discworld" + SurfaceYcalendarEthiopian SurfaceYcalendar = "ethiopian" + SurfaceYcalendarGregorian SurfaceYcalendar = "gregorian" + SurfaceYcalendarHebrew SurfaceYcalendar = "hebrew" + SurfaceYcalendarIslamic SurfaceYcalendar = "islamic" + SurfaceYcalendarJalali SurfaceYcalendar = "jalali" + SurfaceYcalendarJulian SurfaceYcalendar = "julian" + SurfaceYcalendarMayan SurfaceYcalendar = "mayan" + SurfaceYcalendarNanakshahi SurfaceYcalendar = "nanakshahi" + SurfaceYcalendarNepali SurfaceYcalendar = "nepali" + SurfaceYcalendarPersian SurfaceYcalendar = "persian" + SurfaceYcalendarTaiwan SurfaceYcalendar = "taiwan" + SurfaceYcalendarThai SurfaceYcalendar = "thai" + SurfaceYcalendarUmmalqura SurfaceYcalendar = "ummalqura" +) + +// SurfaceZcalendar Sets the calendar system to use with `z` date data. +type SurfaceZcalendar string + +const ( + SurfaceZcalendarChinese SurfaceZcalendar = "chinese" + SurfaceZcalendarCoptic SurfaceZcalendar = "coptic" + SurfaceZcalendarDiscworld SurfaceZcalendar = "discworld" + SurfaceZcalendarEthiopian SurfaceZcalendar = "ethiopian" + SurfaceZcalendarGregorian SurfaceZcalendar = "gregorian" + SurfaceZcalendarHebrew SurfaceZcalendar = "hebrew" + SurfaceZcalendarIslamic SurfaceZcalendar = "islamic" + SurfaceZcalendarJalali SurfaceZcalendar = "jalali" + SurfaceZcalendarJulian SurfaceZcalendar = "julian" + SurfaceZcalendarMayan SurfaceZcalendar = "mayan" + SurfaceZcalendarNanakshahi SurfaceZcalendar = "nanakshahi" + SurfaceZcalendarNepali SurfaceZcalendar = "nepali" + SurfaceZcalendarPersian SurfaceZcalendar = "persian" + SurfaceZcalendarTaiwan SurfaceZcalendar = "taiwan" + SurfaceZcalendarThai SurfaceZcalendar = "thai" + SurfaceZcalendarUmmalqura SurfaceZcalendar = "ummalqura" +) + +// SurfaceHoverinfo 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. +type SurfaceHoverinfo string + +const ( + // Flags + SurfaceHoverinfoX SurfaceHoverinfo = "x" + SurfaceHoverinfoY SurfaceHoverinfo = "y" + SurfaceHoverinfoZ SurfaceHoverinfo = "z" + SurfaceHoverinfoText SurfaceHoverinfo = "text" + SurfaceHoverinfoName SurfaceHoverinfo = "name" + + // Extra + SurfaceHoverinfoAll SurfaceHoverinfo = "all" + SurfaceHoverinfoNone SurfaceHoverinfo = "none" + SurfaceHoverinfoSkip SurfaceHoverinfo = "skip" +) diff --git a/generated/v2.31.1/graph_objects/table_gen.go b/generated/v2.31.1/graph_objects/table_gen.go new file mode 100644 index 0000000..e093fd9 --- /dev/null +++ b/generated/v2.31.1/graph_objects/table_gen.go @@ -0,0 +1,716 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeTable TraceType = "table" + +func (trace *Table) GetType() TraceType { + return TraceTypeTable +} + +// Table 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. +type Table struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Cells + // role: Object + Cells *TableCells `json:"cells,omitempty"` + + // Columnorder + // arrayOK: false + // 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. + Columnorder interface{} `json:"columnorder,omitempty"` + + // Columnordersrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `columnorder`. + Columnordersrc String `json:"columnordersrc,omitempty"` + + // Columnwidth + // arrayOK: true + // type: number + // The width of columns expressed as a ratio. Columns fill the available width in proportion of their specified column widths. + Columnwidth float64 `json:"columnwidth,omitempty"` + + // Columnwidthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `columnwidth`. + Columnwidthsrc String `json:"columnwidthsrc,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Domain + // role: Object + Domain *TableDomain `json:"domain,omitempty"` + + // Header + // role: Object + Header *TableHeader `json:"header,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo TableHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *TableHoverlabel `json:"hoverlabel,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *TableLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Stream + // role: Object + Stream *TableStream `json:"stream,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible TableVisible `json:"visible,omitempty"` +} + +// TableCellsFill +type TableCellsFill struct { + + // Color + // arrayOK: true + // type: color + // Sets the cell fill color. It accepts either a specific color or an array of colors or a 2D array of colors. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` +} + +// TableCellsFont +type TableCellsFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// TableCellsLine +type TableCellsLine struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Width + // arrayOK: true + // type: number + // + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// TableCells +type TableCells struct { + + // Align + // default: center + // type: enumerated + // Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more
HTML tags) or if an explicit width is set to override the text width. + Align TableCellsAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Fill + // role: Object + Fill *TableCellsFill `json:"fill,omitempty"` + + // Font + // role: Object + Font *TableCellsFont `json:"font,omitempty"` + + // Format + // arrayOK: false + // 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. + Format interface{} `json:"format,omitempty"` + + // Formatsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `format`. + Formatsrc String `json:"formatsrc,omitempty"` + + // Height + // arrayOK: false + // type: number + // The height of cells. + Height float64 `json:"height,omitempty"` + + // Line + // role: Object + Line *TableCellsLine `json:"line,omitempty"` + + // Prefix + // arrayOK: true + // type: string + // Prefix for cell values. + Prefix String `json:"prefix,omitempty"` + + // Prefixsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `prefix`. + Prefixsrc String `json:"prefixsrc,omitempty"` + + // Suffix + // arrayOK: true + // type: string + // Suffix for cell values. + Suffix String `json:"suffix,omitempty"` + + // Suffixsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `suffix`. + Suffixsrc String `json:"suffixsrc,omitempty"` + + // Values + // arrayOK: false + // 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. + Values interface{} `json:"values,omitempty"` + + // Valuessrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `values`. + Valuessrc String `json:"valuessrc,omitempty"` +} + +// TableDomain +type TableDomain struct { + + // Column + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this column in the grid for this table trace . + Column int64 `json:"column,omitempty"` + + // Row + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this row in the grid for this table trace . + Row int64 `json:"row,omitempty"` + + // X + // arrayOK: false + // type: info_array + // Sets the horizontal domain of this table trace (in plot fraction). + X interface{} `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: info_array + // Sets the vertical domain of this table trace (in plot fraction). + Y interface{} `json:"y,omitempty"` +} + +// TableHeaderFill +type TableHeaderFill struct { + + // Color + // arrayOK: true + // type: color + // Sets the cell fill color. It accepts either a specific color or an array of colors or a 2D array of colors. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` +} + +// TableHeaderFont +type TableHeaderFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// TableHeaderLine +type TableHeaderLine struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Width + // arrayOK: true + // type: number + // + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// TableHeader +type TableHeader struct { + + // Align + // default: center + // type: enumerated + // Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more
HTML tags) or if an explicit width is set to override the text width. + Align TableHeaderAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Fill + // role: Object + Fill *TableHeaderFill `json:"fill,omitempty"` + + // Font + // role: Object + Font *TableHeaderFont `json:"font,omitempty"` + + // Format + // arrayOK: false + // 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. + Format interface{} `json:"format,omitempty"` + + // Formatsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `format`. + Formatsrc String `json:"formatsrc,omitempty"` + + // Height + // arrayOK: false + // type: number + // The height of cells. + Height float64 `json:"height,omitempty"` + + // Line + // role: Object + Line *TableHeaderLine `json:"line,omitempty"` + + // Prefix + // arrayOK: true + // type: string + // Prefix for cell values. + Prefix String `json:"prefix,omitempty"` + + // Prefixsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `prefix`. + Prefixsrc String `json:"prefixsrc,omitempty"` + + // Suffix + // arrayOK: true + // type: string + // Suffix for cell values. + Suffix String `json:"suffix,omitempty"` + + // Suffixsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `suffix`. + Suffixsrc String `json:"suffixsrc,omitempty"` + + // Values + // arrayOK: false + // 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. + Values interface{} `json:"values,omitempty"` + + // Valuessrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `values`. + Valuessrc String `json:"valuessrc,omitempty"` +} + +// TableHoverlabelFont Sets the font used in hover labels. +type TableHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// TableHoverlabel +type TableHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align TableHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *TableHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// TableLegendgrouptitleFont Sets this legend group's title font. +type TableLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// TableLegendgrouptitle +type TableLegendgrouptitle struct { + + // Font + // role: Object + Font *TableLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// TableStream +type TableStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// TableCellsAlign Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more
HTML tags) or if an explicit width is set to override the text width. +type TableCellsAlign string + +const ( + TableCellsAlignLeft TableCellsAlign = "left" + TableCellsAlignCenter TableCellsAlign = "center" + TableCellsAlignRight TableCellsAlign = "right" +) + +// TableHeaderAlign Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more
HTML tags) or if an explicit width is set to override the text width. +type TableHeaderAlign string + +const ( + TableHeaderAlignLeft TableHeaderAlign = "left" + TableHeaderAlignCenter TableHeaderAlign = "center" + TableHeaderAlignRight TableHeaderAlign = "right" +) + +// TableHoverlabelAlign 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 +type TableHoverlabelAlign string + +const ( + TableHoverlabelAlignLeft TableHoverlabelAlign = "left" + TableHoverlabelAlignRight TableHoverlabelAlign = "right" + TableHoverlabelAlignAuto TableHoverlabelAlign = "auto" +) + +// TableVisible 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). +type TableVisible interface{} + +var ( + TableVisibleTrue TableVisible = true + TableVisibleFalse TableVisible = false + TableVisibleLegendonly TableVisible = "legendonly" +) + +// TableHoverinfo 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. +type TableHoverinfo string + +const ( + // Flags + TableHoverinfoX TableHoverinfo = "x" + TableHoverinfoY TableHoverinfo = "y" + TableHoverinfoZ TableHoverinfo = "z" + TableHoverinfoText TableHoverinfo = "text" + TableHoverinfoName TableHoverinfo = "name" + + // Extra + TableHoverinfoAll TableHoverinfo = "all" + TableHoverinfoNone TableHoverinfo = "none" + TableHoverinfoSkip TableHoverinfo = "skip" +) diff --git a/generated/v2.31.1/graph_objects/treemap_gen.go b/generated/v2.31.1/graph_objects/treemap_gen.go new file mode 100644 index 0000000..a460678 --- /dev/null +++ b/generated/v2.31.1/graph_objects/treemap_gen.go @@ -0,0 +1,1593 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeTreemap TraceType = "treemap" + +func (trace *Treemap) GetType() TraceType { + return TraceTypeTreemap +} + +// Treemap 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*. +type Treemap struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Branchvalues + // default: remainder + // type: enumerated + // 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. + Branchvalues TreemapBranchvalues `json:"branchvalues,omitempty"` + + // Count + // default: leaves + // type: flaglist + // Determines default for `values` when it is not provided, by inferring a 1 for each of the *leaves* and/or *branches*, otherwise 0. + Count TreemapCount `json:"count,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Domain + // role: Object + Domain *TreemapDomain `json:"domain,omitempty"` + + // Hoverinfo + // default: label+text+value+name + // type: flaglist + // 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. + Hoverinfo TreemapHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *TreemapHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Finally, the template string has access to variables `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry` and `percentParent`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Insidetextfont + // role: Object + Insidetextfont *TreemapInsidetextfont `json:"insidetextfont,omitempty"` + + // Labels + // arrayOK: false + // type: data_array + // Sets the labels of each of the sectors. + Labels interface{} `json:"labels,omitempty"` + + // Labelssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `labels`. + Labelssrc String `json:"labelssrc,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *TreemapLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Level + // arrayOK: false + // type: any + // 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`. + Level interface{} `json:"level,omitempty"` + + // Marker + // role: Object + Marker *TreemapMarker `json:"marker,omitempty"` + + // Maxdepth + // arrayOK: false + // type: integer + // Sets the number of rendered sectors from any given `level`. Set `maxdepth` to *-1* to render all the levels in the hierarchy. + Maxdepth int64 `json:"maxdepth,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Outsidetextfont + // role: Object + Outsidetextfont *TreemapOutsidetextfont `json:"outsidetextfont,omitempty"` + + // Parents + // arrayOK: false + // 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. + Parents interface{} `json:"parents,omitempty"` + + // Parentssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `parents`. + Parentssrc String `json:"parentssrc,omitempty"` + + // Pathbar + // role: Object + Pathbar *TreemapPathbar `json:"pathbar,omitempty"` + + // Root + // role: Object + Root *TreemapRoot `json:"root,omitempty"` + + // Sort + // arrayOK: false + // type: boolean + // Determines whether or not the sectors are reordered from largest to smallest. + Sort Bool `json:"sort,omitempty"` + + // Stream + // role: Object + Stream *TreemapStream `json:"stream,omitempty"` + + // Text + // arrayOK: false + // 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. + Text interface{} `json:"text,omitempty"` + + // Textfont + // role: Object + Textfont *TreemapTextfont `json:"textfont,omitempty"` + + // Textinfo + // default: %!s() + // type: flaglist + // Determines which trace information appear on the graph. + Textinfo TreemapTextinfo `json:"textinfo,omitempty"` + + // Textposition + // default: top left + // type: enumerated + // Sets the positions of the `text` elements. + Textposition TreemapTextposition `json:"textposition,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: true + // 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 `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry`, `percentParent`, `label` and `value`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Texttemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `texttemplate`. + Texttemplatesrc String `json:"texttemplatesrc,omitempty"` + + // Tiling + // role: Object + Tiling *TreemapTiling `json:"tiling,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Values + // arrayOK: false + // type: data_array + // Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed. + Values interface{} `json:"values,omitempty"` + + // Valuessrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `values`. + Valuessrc String `json:"valuessrc,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible TreemapVisible `json:"visible,omitempty"` +} + +// TreemapDomain +type TreemapDomain struct { + + // Column + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this column in the grid for this treemap trace . + Column int64 `json:"column,omitempty"` + + // Row + // arrayOK: false + // type: integer + // If there is a layout grid, use the domain for this row in the grid for this treemap trace . + Row int64 `json:"row,omitempty"` + + // X + // arrayOK: false + // type: info_array + // Sets the horizontal domain of this treemap trace (in plot fraction). + X interface{} `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: info_array + // Sets the vertical domain of this treemap trace (in plot fraction). + Y interface{} `json:"y,omitempty"` +} + +// TreemapHoverlabelFont Sets the font used in hover labels. +type TreemapHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// TreemapHoverlabel +type TreemapHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align TreemapHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *TreemapHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// TreemapInsidetextfont Sets the font used for `textinfo` lying inside the sector. +type TreemapInsidetextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// TreemapLegendgrouptitleFont Sets this legend group's title font. +type TreemapLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// TreemapLegendgrouptitle +type TreemapLegendgrouptitle struct { + + // Font + // role: Object + Font *TreemapLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// TreemapMarkerColorbarTickfont Sets the color bar's tick label font +type TreemapMarkerColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// TreemapMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type TreemapMarkerColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// TreemapMarkerColorbarTitle +type TreemapMarkerColorbarTitle struct { + + // Font + // role: Object + Font *TreemapMarkerColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side TreemapMarkerColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// TreemapMarkerColorbar +type TreemapMarkerColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat TreemapMarkerColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode TreemapMarkerColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation TreemapMarkerColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent TreemapMarkerColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix TreemapMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix TreemapMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode TreemapMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *TreemapMarkerColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow TreemapMarkerColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition TreemapMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode TreemapMarkerColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks TreemapMarkerColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *TreemapMarkerColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor TreemapMarkerColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref TreemapMarkerColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor TreemapMarkerColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref TreemapMarkerColorbarYref `json:"yref,omitempty"` +} + +// TreemapMarkerLine +type TreemapMarkerLine struct { + + // Color + // arrayOK: true + // type: color + // Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value. + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the width (in px) of the line enclosing each sector. + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` +} + +// TreemapMarkerPad +type TreemapMarkerPad struct { + + // B + // arrayOK: false + // type: number + // Sets the padding form the bottom (in px). + B float64 `json:"b,omitempty"` + + // L + // arrayOK: false + // type: number + // Sets the padding form the left (in px). + L float64 `json:"l,omitempty"` + + // R + // arrayOK: false + // type: number + // Sets the padding form the right (in px). + R float64 `json:"r,omitempty"` + + // T + // arrayOK: false + // type: number + // Sets the padding form the top (in px). + T float64 `json:"t,omitempty"` +} + +// TreemapMarkerPattern Sets the pattern within the marker. +type TreemapMarkerPattern struct { + + // Bgcolor + // arrayOK: true + // type: color + // 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. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Fgcolor + // arrayOK: true + // type: color + // 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`. + Fgcolor Color `json:"fgcolor,omitempty"` + + // Fgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `fgcolor`. + Fgcolorsrc String `json:"fgcolorsrc,omitempty"` + + // Fgopacity + // arrayOK: false + // type: number + // Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1. + Fgopacity float64 `json:"fgopacity,omitempty"` + + // Fillmode + // default: replace + // type: enumerated + // Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. + Fillmode TreemapMarkerPatternFillmode `json:"fillmode,omitempty"` + + // Shape + // default: + // type: enumerated + // Sets the shape of the pattern fill. By default, no pattern is used for filling the area. + Shape TreemapMarkerPatternShape `json:"shape,omitempty"` + + // Shapesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `shape`. + Shapesrc String `json:"shapesrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` + + // Solidity + // arrayOK: true + // type: number + // 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. + Solidity float64 `json:"solidity,omitempty"` + + // Soliditysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `solidity`. + Soliditysrc String `json:"soliditysrc,omitempty"` +} + +// TreemapMarker +type TreemapMarker struct { + + // Autocolorscale + // arrayOK: false + // type: boolean + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *TreemapMarkerColorbar `json:"colorbar,omitempty"` + + // Colors + // arrayOK: false + // 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. + Colors interface{} `json:"colors,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Colorssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `colors`. + Colorssrc String `json:"colorssrc,omitempty"` + + // Cornerradius + // arrayOK: false + // type: number + // Sets the maximum rounding of corners (in px). + Cornerradius float64 `json:"cornerradius,omitempty"` + + // Depthfade + // default: %!s() + // type: enumerated + // 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. + Depthfade TreemapMarkerDepthfade `json:"depthfade,omitempty"` + + // Line + // role: Object + Line *TreemapMarkerLine `json:"line,omitempty"` + + // Pad + // role: Object + Pad *TreemapMarkerPad `json:"pad,omitempty"` + + // Pattern + // role: Object + Pattern *TreemapMarkerPattern `json:"pattern,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Showscale + // arrayOK: false + // 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. + Showscale Bool `json:"showscale,omitempty"` +} + +// TreemapOutsidetextfont 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. +type TreemapOutsidetextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// TreemapPathbarTextfont Sets the font used inside `pathbar`. +type TreemapPathbarTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// TreemapPathbar +type TreemapPathbar struct { + + // Edgeshape + // default: > + // type: enumerated + // Determines which shape is used for edges between `barpath` labels. + Edgeshape TreemapPathbarEdgeshape `json:"edgeshape,omitempty"` + + // Side + // default: top + // type: enumerated + // Determines on which side of the the treemap the `pathbar` should be presented. + Side TreemapPathbarSide `json:"side,omitempty"` + + // Textfont + // role: Object + Textfont *TreemapPathbarTextfont `json:"textfont,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of `pathbar` (in px). If not specified the `pathbar.textfont.size` is used with 3 pixles extra padding on each side. + Thickness float64 `json:"thickness,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Determines if the path bar is drawn i.e. outside the trace `domain` and with one pixel gap. + Visible Bool `json:"visible,omitempty"` +} + +// TreemapRoot +type TreemapRoot struct { + + // Color + // arrayOK: false + // type: color + // 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. + Color Color `json:"color,omitempty"` +} + +// TreemapStream +type TreemapStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// TreemapTextfont Sets the font used for `textinfo`. +type TreemapTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// TreemapTiling +type TreemapTiling struct { + + // Flip + // default: + // type: flaglist + // Determines if the positions obtained from solver are flipped on each axis. + Flip TreemapTilingFlip `json:"flip,omitempty"` + + // Packing + // default: squarify + // type: enumerated + // Determines d3 treemap solver. For more info please refer to https://github.com/d3/d3-hierarchy#treemap-tiling + Packing TreemapTilingPacking `json:"packing,omitempty"` + + // Pad + // arrayOK: false + // type: number + // Sets the inner padding (in px). + Pad float64 `json:"pad,omitempty"` + + // Squarifyratio + // arrayOK: false + // type: number + // 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. + Squarifyratio float64 `json:"squarifyratio,omitempty"` +} + +// TreemapBranchvalues 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. +type TreemapBranchvalues string + +const ( + TreemapBranchvaluesRemainder TreemapBranchvalues = "remainder" + TreemapBranchvaluesTotal TreemapBranchvalues = "total" +) + +// TreemapHoverlabelAlign 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 +type TreemapHoverlabelAlign string + +const ( + TreemapHoverlabelAlignLeft TreemapHoverlabelAlign = "left" + TreemapHoverlabelAlignRight TreemapHoverlabelAlign = "right" + TreemapHoverlabelAlignAuto TreemapHoverlabelAlign = "auto" +) + +// TreemapMarkerColorbarExponentformat 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. +type TreemapMarkerColorbarExponentformat string + +const ( + TreemapMarkerColorbarExponentformatNone TreemapMarkerColorbarExponentformat = "none" + TreemapMarkerColorbarExponentformatE1 TreemapMarkerColorbarExponentformat = "e" + TreemapMarkerColorbarExponentformatE2 TreemapMarkerColorbarExponentformat = "E" + TreemapMarkerColorbarExponentformatPower TreemapMarkerColorbarExponentformat = "power" + TreemapMarkerColorbarExponentformatSI TreemapMarkerColorbarExponentformat = "SI" + TreemapMarkerColorbarExponentformatB TreemapMarkerColorbarExponentformat = "B" +) + +// TreemapMarkerColorbarLenmode 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. +type TreemapMarkerColorbarLenmode string + +const ( + TreemapMarkerColorbarLenmodeFraction TreemapMarkerColorbarLenmode = "fraction" + TreemapMarkerColorbarLenmodePixels TreemapMarkerColorbarLenmode = "pixels" +) + +// TreemapMarkerColorbarOrientation Sets the orientation of the colorbar. +type TreemapMarkerColorbarOrientation string + +const ( + TreemapMarkerColorbarOrientationH TreemapMarkerColorbarOrientation = "h" + TreemapMarkerColorbarOrientationV TreemapMarkerColorbarOrientation = "v" +) + +// TreemapMarkerColorbarShowexponent 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. +type TreemapMarkerColorbarShowexponent string + +const ( + TreemapMarkerColorbarShowexponentAll TreemapMarkerColorbarShowexponent = "all" + TreemapMarkerColorbarShowexponentFirst TreemapMarkerColorbarShowexponent = "first" + TreemapMarkerColorbarShowexponentLast TreemapMarkerColorbarShowexponent = "last" + TreemapMarkerColorbarShowexponentNone TreemapMarkerColorbarShowexponent = "none" +) + +// TreemapMarkerColorbarShowtickprefix 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. +type TreemapMarkerColorbarShowtickprefix string + +const ( + TreemapMarkerColorbarShowtickprefixAll TreemapMarkerColorbarShowtickprefix = "all" + TreemapMarkerColorbarShowtickprefixFirst TreemapMarkerColorbarShowtickprefix = "first" + TreemapMarkerColorbarShowtickprefixLast TreemapMarkerColorbarShowtickprefix = "last" + TreemapMarkerColorbarShowtickprefixNone TreemapMarkerColorbarShowtickprefix = "none" +) + +// TreemapMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type TreemapMarkerColorbarShowticksuffix string + +const ( + TreemapMarkerColorbarShowticksuffixAll TreemapMarkerColorbarShowticksuffix = "all" + TreemapMarkerColorbarShowticksuffixFirst TreemapMarkerColorbarShowticksuffix = "first" + TreemapMarkerColorbarShowticksuffixLast TreemapMarkerColorbarShowticksuffix = "last" + TreemapMarkerColorbarShowticksuffixNone TreemapMarkerColorbarShowticksuffix = "none" +) + +// TreemapMarkerColorbarThicknessmode 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. +type TreemapMarkerColorbarThicknessmode string + +const ( + TreemapMarkerColorbarThicknessmodeFraction TreemapMarkerColorbarThicknessmode = "fraction" + TreemapMarkerColorbarThicknessmodePixels TreemapMarkerColorbarThicknessmode = "pixels" +) + +// TreemapMarkerColorbarTicklabeloverflow 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*. +type TreemapMarkerColorbarTicklabeloverflow string + +const ( + TreemapMarkerColorbarTicklabeloverflowAllow TreemapMarkerColorbarTicklabeloverflow = "allow" + TreemapMarkerColorbarTicklabeloverflowHidePastDiv TreemapMarkerColorbarTicklabeloverflow = "hide past div" + TreemapMarkerColorbarTicklabeloverflowHidePastDomain TreemapMarkerColorbarTicklabeloverflow = "hide past domain" +) + +// TreemapMarkerColorbarTicklabelposition 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*. +type TreemapMarkerColorbarTicklabelposition string + +const ( + TreemapMarkerColorbarTicklabelpositionOutside TreemapMarkerColorbarTicklabelposition = "outside" + TreemapMarkerColorbarTicklabelpositionInside TreemapMarkerColorbarTicklabelposition = "inside" + TreemapMarkerColorbarTicklabelpositionOutsideTop TreemapMarkerColorbarTicklabelposition = "outside top" + TreemapMarkerColorbarTicklabelpositionInsideTop TreemapMarkerColorbarTicklabelposition = "inside top" + TreemapMarkerColorbarTicklabelpositionOutsideLeft TreemapMarkerColorbarTicklabelposition = "outside left" + TreemapMarkerColorbarTicklabelpositionInsideLeft TreemapMarkerColorbarTicklabelposition = "inside left" + TreemapMarkerColorbarTicklabelpositionOutsideRight TreemapMarkerColorbarTicklabelposition = "outside right" + TreemapMarkerColorbarTicklabelpositionInsideRight TreemapMarkerColorbarTicklabelposition = "inside right" + TreemapMarkerColorbarTicklabelpositionOutsideBottom TreemapMarkerColorbarTicklabelposition = "outside bottom" + TreemapMarkerColorbarTicklabelpositionInsideBottom TreemapMarkerColorbarTicklabelposition = "inside bottom" +) + +// TreemapMarkerColorbarTickmode 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). +type TreemapMarkerColorbarTickmode string + +const ( + TreemapMarkerColorbarTickmodeAuto TreemapMarkerColorbarTickmode = "auto" + TreemapMarkerColorbarTickmodeLinear TreemapMarkerColorbarTickmode = "linear" + TreemapMarkerColorbarTickmodeArray TreemapMarkerColorbarTickmode = "array" +) + +// TreemapMarkerColorbarTicks 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. +type TreemapMarkerColorbarTicks string + +const ( + TreemapMarkerColorbarTicksOutside TreemapMarkerColorbarTicks = "outside" + TreemapMarkerColorbarTicksInside TreemapMarkerColorbarTicks = "inside" + TreemapMarkerColorbarTicksEmpty TreemapMarkerColorbarTicks = "" +) + +// TreemapMarkerColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type TreemapMarkerColorbarTitleSide string + +const ( + TreemapMarkerColorbarTitleSideRight TreemapMarkerColorbarTitleSide = "right" + TreemapMarkerColorbarTitleSideTop TreemapMarkerColorbarTitleSide = "top" + TreemapMarkerColorbarTitleSideBottom TreemapMarkerColorbarTitleSide = "bottom" +) + +// TreemapMarkerColorbarXanchor 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*. +type TreemapMarkerColorbarXanchor string + +const ( + TreemapMarkerColorbarXanchorLeft TreemapMarkerColorbarXanchor = "left" + TreemapMarkerColorbarXanchorCenter TreemapMarkerColorbarXanchor = "center" + TreemapMarkerColorbarXanchorRight TreemapMarkerColorbarXanchor = "right" +) + +// TreemapMarkerColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type TreemapMarkerColorbarXref string + +const ( + TreemapMarkerColorbarXrefContainer TreemapMarkerColorbarXref = "container" + TreemapMarkerColorbarXrefPaper TreemapMarkerColorbarXref = "paper" +) + +// TreemapMarkerColorbarYanchor 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*. +type TreemapMarkerColorbarYanchor string + +const ( + TreemapMarkerColorbarYanchorTop TreemapMarkerColorbarYanchor = "top" + TreemapMarkerColorbarYanchorMiddle TreemapMarkerColorbarYanchor = "middle" + TreemapMarkerColorbarYanchorBottom TreemapMarkerColorbarYanchor = "bottom" +) + +// TreemapMarkerColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type TreemapMarkerColorbarYref string + +const ( + TreemapMarkerColorbarYrefContainer TreemapMarkerColorbarYref = "container" + TreemapMarkerColorbarYrefPaper TreemapMarkerColorbarYref = "paper" +) + +// TreemapMarkerDepthfade 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. +type TreemapMarkerDepthfade interface{} + +var ( + TreemapMarkerDepthfadeTrue TreemapMarkerDepthfade = true + TreemapMarkerDepthfadeFalse TreemapMarkerDepthfade = false + TreemapMarkerDepthfadeReversed TreemapMarkerDepthfade = "reversed" +) + +// TreemapMarkerPatternFillmode Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`. +type TreemapMarkerPatternFillmode string + +const ( + TreemapMarkerPatternFillmodeReplace TreemapMarkerPatternFillmode = "replace" + TreemapMarkerPatternFillmodeOverlay TreemapMarkerPatternFillmode = "overlay" +) + +// TreemapMarkerPatternShape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. +type TreemapMarkerPatternShape string + +const ( + TreemapMarkerPatternShapeEmpty TreemapMarkerPatternShape = "" + TreemapMarkerPatternShapeSlash TreemapMarkerPatternShape = "/" + TreemapMarkerPatternShapeDoublebackslash TreemapMarkerPatternShape = "\\" + TreemapMarkerPatternShapeX TreemapMarkerPatternShape = "x" + TreemapMarkerPatternShapeHyphenHyphen TreemapMarkerPatternShape = "-" + TreemapMarkerPatternShapeOr TreemapMarkerPatternShape = "|" + TreemapMarkerPatternShapePlus TreemapMarkerPatternShape = "+" + TreemapMarkerPatternShapeDot TreemapMarkerPatternShape = "." +) + +// TreemapPathbarEdgeshape Determines which shape is used for edges between `barpath` labels. +type TreemapPathbarEdgeshape string + +const ( + TreemapPathbarEdgeshapeGt TreemapPathbarEdgeshape = ">" + TreemapPathbarEdgeshapeLt TreemapPathbarEdgeshape = "<" + TreemapPathbarEdgeshapeOr TreemapPathbarEdgeshape = "|" + TreemapPathbarEdgeshapeSlash TreemapPathbarEdgeshape = "/" + TreemapPathbarEdgeshapeDoublebackslash TreemapPathbarEdgeshape = "\\" +) + +// TreemapPathbarSide Determines on which side of the the treemap the `pathbar` should be presented. +type TreemapPathbarSide string + +const ( + TreemapPathbarSideTop TreemapPathbarSide = "top" + TreemapPathbarSideBottom TreemapPathbarSide = "bottom" +) + +// TreemapTextposition Sets the positions of the `text` elements. +type TreemapTextposition string + +const ( + TreemapTextpositionTopLeft TreemapTextposition = "top left" + TreemapTextpositionTopCenter TreemapTextposition = "top center" + TreemapTextpositionTopRight TreemapTextposition = "top right" + TreemapTextpositionMiddleLeft TreemapTextposition = "middle left" + TreemapTextpositionMiddleCenter TreemapTextposition = "middle center" + TreemapTextpositionMiddleRight TreemapTextposition = "middle right" + TreemapTextpositionBottomLeft TreemapTextposition = "bottom left" + TreemapTextpositionBottomCenter TreemapTextposition = "bottom center" + TreemapTextpositionBottomRight TreemapTextposition = "bottom right" +) + +// TreemapTilingPacking Determines d3 treemap solver. For more info please refer to https://github.com/d3/d3-hierarchy#treemap-tiling +type TreemapTilingPacking string + +const ( + TreemapTilingPackingSquarify TreemapTilingPacking = "squarify" + TreemapTilingPackingBinary TreemapTilingPacking = "binary" + TreemapTilingPackingDice TreemapTilingPacking = "dice" + TreemapTilingPackingSlice TreemapTilingPacking = "slice" + TreemapTilingPackingSliceDice TreemapTilingPacking = "slice-dice" + TreemapTilingPackingDiceSlice TreemapTilingPacking = "dice-slice" +) + +// TreemapVisible 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). +type TreemapVisible interface{} + +var ( + TreemapVisibleTrue TreemapVisible = true + TreemapVisibleFalse TreemapVisible = false + TreemapVisibleLegendonly TreemapVisible = "legendonly" +) + +// TreemapCount Determines default for `values` when it is not provided, by inferring a 1 for each of the *leaves* and/or *branches*, otherwise 0. +type TreemapCount string + +const ( + // Flags + TreemapCountBranches TreemapCount = "branches" + TreemapCountLeaves TreemapCount = "leaves" + + // Extra + +) + +// TreemapHoverinfo 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. +type TreemapHoverinfo string + +const ( + // Flags + TreemapHoverinfoLabel TreemapHoverinfo = "label" + TreemapHoverinfoText TreemapHoverinfo = "text" + TreemapHoverinfoValue TreemapHoverinfo = "value" + TreemapHoverinfoName TreemapHoverinfo = "name" + TreemapHoverinfoCurrentPath TreemapHoverinfo = "current path" + TreemapHoverinfoPercentRoot TreemapHoverinfo = "percent root" + TreemapHoverinfoPercentEntry TreemapHoverinfo = "percent entry" + TreemapHoverinfoPercentParent TreemapHoverinfo = "percent parent" + + // Extra + TreemapHoverinfoAll TreemapHoverinfo = "all" + TreemapHoverinfoNone TreemapHoverinfo = "none" + TreemapHoverinfoSkip TreemapHoverinfo = "skip" +) + +// TreemapTextinfo Determines which trace information appear on the graph. +type TreemapTextinfo string + +const ( + // Flags + TreemapTextinfoLabel TreemapTextinfo = "label" + TreemapTextinfoText TreemapTextinfo = "text" + TreemapTextinfoValue TreemapTextinfo = "value" + TreemapTextinfoCurrentPath TreemapTextinfo = "current path" + TreemapTextinfoPercentRoot TreemapTextinfo = "percent root" + TreemapTextinfoPercentEntry TreemapTextinfo = "percent entry" + TreemapTextinfoPercentParent TreemapTextinfo = "percent parent" + + // Extra + TreemapTextinfoNone TreemapTextinfo = "none" +) + +// TreemapTilingFlip Determines if the positions obtained from solver are flipped on each axis. +type TreemapTilingFlip string + +const ( + // Flags + TreemapTilingFlipX TreemapTilingFlip = "x" + TreemapTilingFlipY TreemapTilingFlip = "y" + + // Extra + +) diff --git a/generated/v2.31.1/graph_objects/unmarshal_gen.go b/generated/v2.31.1/graph_objects/unmarshal_gen.go new file mode 100644 index 0000000..317396a --- /dev/null +++ b/generated/v2.31.1/graph_objects/unmarshal_gen.go @@ -0,0 +1,361 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT + +import ( + "encoding/json" + "errors" +) + +type unmarshalType struct { + Type TraceType `json:"type,omitempty"` +} + +// UnmarshalTrace decodes an array of bytes into a Trace interface. +func UnmarshalTrace(data []byte) (Trace, error) { + traceType := unmarshalType{} + err := json.Unmarshal(data, &traceType) + if err != nil { + return nil, err + } + switch traceType.Type { + case TraceTypeBar: + trace := &Bar{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeBarpolar: + trace := &Barpolar{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeBox: + trace := &Box{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeCandlestick: + trace := &Candlestick{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeCarpet: + trace := &Carpet{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeChoropleth: + trace := &Choropleth{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeChoroplethmapbox: + trace := &Choroplethmapbox{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeCone: + trace := &Cone{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeContour: + trace := &Contour{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeContourcarpet: + trace := &Contourcarpet{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeDensitymapbox: + trace := &Densitymapbox{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeFunnel: + trace := &Funnel{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeFunnelarea: + trace := &Funnelarea{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeHeatmap: + trace := &Heatmap{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeHeatmapgl: + trace := &Heatmapgl{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeHistogram: + trace := &Histogram{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeHistogram2d: + trace := &Histogram2d{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeHistogram2dcontour: + trace := &Histogram2dcontour{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeIcicle: + trace := &Icicle{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeImage: + trace := &Image{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeIndicator: + trace := &Indicator{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeIsosurface: + trace := &Isosurface{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeMesh3d: + trace := &Mesh3d{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeOhlc: + trace := &Ohlc{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeParcats: + trace := &Parcats{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeParcoords: + trace := &Parcoords{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypePie: + trace := &Pie{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypePointcloud: + trace := &Pointcloud{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeSankey: + trace := &Sankey{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeScatter: + trace := &Scatter{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeScatter3d: + trace := &Scatter3d{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeScattercarpet: + trace := &Scattercarpet{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeScattergeo: + trace := &Scattergeo{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeScattergl: + trace := &Scattergl{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeScattermapbox: + trace := &Scattermapbox{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeScatterpolar: + trace := &Scatterpolar{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeScatterpolargl: + trace := &Scatterpolargl{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeScattersmith: + trace := &Scattersmith{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeScatterternary: + trace := &Scatterternary{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeSplom: + trace := &Splom{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeStreamtube: + trace := &Streamtube{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeSunburst: + trace := &Sunburst{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeSurface: + trace := &Surface{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeTable: + trace := &Table{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeTreemap: + trace := &Treemap{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeViolin: + trace := &Violin{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeVolume: + trace := &Volume{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + case TraceTypeWaterfall: + trace := &Waterfall{} + err = json.Unmarshal(data, trace) + if err != nil { + return nil, err + } + return trace, nil + default: + return nil, errors.New("Trace Type is not registered") + } +} diff --git a/generated/v2.31.1/graph_objects/violin_gen.go b/generated/v2.31.1/graph_objects/violin_gen.go new file mode 100644 index 0000000..9a01dd7 --- /dev/null +++ b/generated/v2.31.1/graph_objects/violin_gen.go @@ -0,0 +1,1324 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeViolin TraceType = "violin" + +func (trace *Violin) GetType() TraceType { + return TraceTypeViolin +} + +// Violin 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. +type Violin struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Alignmentgroup + // arrayOK: false + // 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. + Alignmentgroup String `json:"alignmentgroup,omitempty"` + + // Bandwidth + // arrayOK: false + // type: number + // Sets the bandwidth used to compute the kernel density estimate. By default, the bandwidth is determined by Silverman's rule of thumb. + Bandwidth float64 `json:"bandwidth,omitempty"` + + // Box + // role: Object + Box *ViolinBox `json:"box,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Fillcolor + // arrayOK: false + // 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. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo ViolinHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *ViolinHoverlabel `json:"hoverlabel,omitempty"` + + // Hoveron + // default: violins+points+kde + // type: flaglist + // Do the hover effects highlight individual violins or sample points or the kernel density estimate or any combination of them? + Hoveron ViolinHoveron `json:"hoveron,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // Same as `text`. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Jitter + // arrayOK: false + // type: number + // 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. + Jitter float64 `json:"jitter,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *ViolinLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Line + // role: Object + Line *ViolinLine `json:"line,omitempty"` + + // Marker + // role: Object + Marker *ViolinMarker `json:"marker,omitempty"` + + // Meanline + // role: Object + Meanline *ViolinMeanline `json:"meanline,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // 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). + Name String `json:"name,omitempty"` + + // Offsetgroup + // arrayOK: false + // 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. + Offsetgroup String `json:"offsetgroup,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Orientation + // default: %!s() + // type: enumerated + // Sets the orientation of the violin(s). If *v* (*h*), the distribution is visualized along the vertical (horizontal). + Orientation ViolinOrientation `json:"orientation,omitempty"` + + // Pointpos + // arrayOK: false + // type: number + // 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. + Pointpos float64 `json:"pointpos,omitempty"` + + // Points + // default: %!s() + // type: enumerated + // 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*. + Points ViolinPoints `json:"points,omitempty"` + + // Quartilemethod + // default: linear + // type: enumerated + // 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. + Quartilemethod ViolinQuartilemethod `json:"quartilemethod,omitempty"` + + // Scalegroup + // arrayOK: false + // 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 + Scalegroup String `json:"scalegroup,omitempty"` + + // Scalemode + // default: width + // type: enumerated + // 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. + Scalemode ViolinScalemode `json:"scalemode,omitempty"` + + // Selected + // role: Object + Selected *ViolinSelected `json:"selected,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Side + // default: both + // type: enumerated + // 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*. + Side ViolinSide `json:"side,omitempty"` + + // Span + // arrayOK: false + // type: info_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*. + Span interface{} `json:"span,omitempty"` + + // Spanmode + // default: soft + // type: enumerated + // 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. + Spanmode ViolinSpanmode `json:"spanmode,omitempty"` + + // Stream + // role: Object + Stream *ViolinStream `json:"stream,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Unselected + // role: Object + Unselected *ViolinUnselected `json:"unselected,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible ViolinVisible `json:"visible,omitempty"` + + // Width + // arrayOK: false + // 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. + Width float64 `json:"width,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the x sample data or coordinates. See overview for more info. + X interface{} `json:"x,omitempty"` + + // X0 + // arrayOK: false + // type: any + // 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. + X0 interface{} `json:"x0,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the y sample data or coordinates. See overview for more info. + Y interface{} `json:"y,omitempty"` + + // Y0 + // arrayOK: false + // type: any + // 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. + Y0 interface{} `json:"y0,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` + + // Zorder + // arrayOK: false + // 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`. + Zorder int64 `json:"zorder,omitempty"` +} + +// ViolinBoxLine +type ViolinBoxLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the inner box plot bounding line color. + Color Color `json:"color,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the inner box plot bounding line width. + Width float64 `json:"width,omitempty"` +} + +// ViolinBox +type ViolinBox struct { + + // Fillcolor + // arrayOK: false + // type: color + // Sets the inner box plot fill color. + Fillcolor Color `json:"fillcolor,omitempty"` + + // Line + // role: Object + Line *ViolinBoxLine `json:"line,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Determines if an miniature box plot is drawn inside the violins. + Visible Bool `json:"visible,omitempty"` + + // Width + // arrayOK: false + // type: number + // 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. + Width float64 `json:"width,omitempty"` +} + +// ViolinHoverlabelFont Sets the font used in hover labels. +type ViolinHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// ViolinHoverlabel +type ViolinHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align ViolinHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *ViolinHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// ViolinLegendgrouptitleFont Sets this legend group's title font. +type ViolinLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// ViolinLegendgrouptitle +type ViolinLegendgrouptitle struct { + + // Font + // role: Object + Font *ViolinLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// ViolinLine +type ViolinLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the color of line bounding the violin(s). + Color Color `json:"color,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of line bounding the violin(s). + Width float64 `json:"width,omitempty"` +} + +// ViolinMarkerLine +type ViolinMarkerLine struct { + + // Color + // arrayOK: false + // type: color + // 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. + Color Color `json:"color,omitempty"` + + // Outliercolor + // arrayOK: false + // type: color + // Sets the border line color of the outlier sample points. Defaults to marker.color + Outliercolor Color `json:"outliercolor,omitempty"` + + // Outlierwidth + // arrayOK: false + // type: number + // Sets the border line width (in px) of the outlier sample points. + Outlierwidth float64 `json:"outlierwidth,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width (in px) of the lines bounding the marker points. + Width float64 `json:"width,omitempty"` +} + +// ViolinMarker +type ViolinMarker struct { + + // Angle + // arrayOK: false + // type: angle + // Sets the marker angle in respect to `angleref`. + Angle float64 `json:"angle,omitempty"` + + // Color + // arrayOK: false + // 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. + Color Color `json:"color,omitempty"` + + // Line + // role: Object + Line *ViolinMarkerLine `json:"line,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity. + Opacity float64 `json:"opacity,omitempty"` + + // Outliercolor + // arrayOK: false + // type: color + // Sets the color of the outlier sample points. + Outliercolor Color `json:"outliercolor,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size (in px). + Size float64 `json:"size,omitempty"` + + // Symbol + // default: circle + // type: enumerated + // 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. + Symbol ViolinMarkerSymbol `json:"symbol,omitempty"` +} + +// ViolinMeanline +type ViolinMeanline struct { + + // Color + // arrayOK: false + // type: color + // Sets the mean line color. + Color Color `json:"color,omitempty"` + + // Visible + // arrayOK: false + // 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. + Visible Bool `json:"visible,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the mean line width. + Width float64 `json:"width,omitempty"` +} + +// ViolinSelectedMarker +type ViolinSelectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of selected points. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of selected points. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of selected points. + Size float64 `json:"size,omitempty"` +} + +// ViolinSelected +type ViolinSelected struct { + + // Marker + // role: Object + Marker *ViolinSelectedMarker `json:"marker,omitempty"` +} + +// ViolinStream +type ViolinStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// ViolinUnselectedMarker +type ViolinUnselectedMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of unselected points, applied only when a selection exists. + Color Color `json:"color,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the marker opacity of unselected points, applied only when a selection exists. + Opacity float64 `json:"opacity,omitempty"` + + // Size + // arrayOK: false + // type: number + // Sets the marker size of unselected points, applied only when a selection exists. + Size float64 `json:"size,omitempty"` +} + +// ViolinUnselected +type ViolinUnselected struct { + + // Marker + // role: Object + Marker *ViolinUnselectedMarker `json:"marker,omitempty"` +} + +// ViolinHoverlabelAlign 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 +type ViolinHoverlabelAlign string + +const ( + ViolinHoverlabelAlignLeft ViolinHoverlabelAlign = "left" + ViolinHoverlabelAlignRight ViolinHoverlabelAlign = "right" + ViolinHoverlabelAlignAuto ViolinHoverlabelAlign = "auto" +) + +// ViolinMarkerSymbol 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. +type ViolinMarkerSymbol interface{} + +var ( + ViolinMarkerSymbolNumber0 ViolinMarkerSymbol = 0 + ViolinMarkerSymbol0 ViolinMarkerSymbol = "0" + ViolinMarkerSymbolCircle ViolinMarkerSymbol = "circle" + ViolinMarkerSymbolNumber100 ViolinMarkerSymbol = 100 + ViolinMarkerSymbol100 ViolinMarkerSymbol = "100" + ViolinMarkerSymbolCircleOpen ViolinMarkerSymbol = "circle-open" + ViolinMarkerSymbolNumber200 ViolinMarkerSymbol = 200 + ViolinMarkerSymbol200 ViolinMarkerSymbol = "200" + ViolinMarkerSymbolCircleDot ViolinMarkerSymbol = "circle-dot" + ViolinMarkerSymbolNumber300 ViolinMarkerSymbol = 300 + ViolinMarkerSymbol300 ViolinMarkerSymbol = "300" + ViolinMarkerSymbolCircleOpenDot ViolinMarkerSymbol = "circle-open-dot" + ViolinMarkerSymbolNumber1 ViolinMarkerSymbol = 1 + ViolinMarkerSymbol1 ViolinMarkerSymbol = "1" + ViolinMarkerSymbolSquare ViolinMarkerSymbol = "square" + ViolinMarkerSymbolNumber101 ViolinMarkerSymbol = 101 + ViolinMarkerSymbol101 ViolinMarkerSymbol = "101" + ViolinMarkerSymbolSquareOpen ViolinMarkerSymbol = "square-open" + ViolinMarkerSymbolNumber201 ViolinMarkerSymbol = 201 + ViolinMarkerSymbol201 ViolinMarkerSymbol = "201" + ViolinMarkerSymbolSquareDot ViolinMarkerSymbol = "square-dot" + ViolinMarkerSymbolNumber301 ViolinMarkerSymbol = 301 + ViolinMarkerSymbol301 ViolinMarkerSymbol = "301" + ViolinMarkerSymbolSquareOpenDot ViolinMarkerSymbol = "square-open-dot" + ViolinMarkerSymbolNumber2 ViolinMarkerSymbol = 2 + ViolinMarkerSymbol2 ViolinMarkerSymbol = "2" + ViolinMarkerSymbolDiamond ViolinMarkerSymbol = "diamond" + ViolinMarkerSymbolNumber102 ViolinMarkerSymbol = 102 + ViolinMarkerSymbol102 ViolinMarkerSymbol = "102" + ViolinMarkerSymbolDiamondOpen ViolinMarkerSymbol = "diamond-open" + ViolinMarkerSymbolNumber202 ViolinMarkerSymbol = 202 + ViolinMarkerSymbol202 ViolinMarkerSymbol = "202" + ViolinMarkerSymbolDiamondDot ViolinMarkerSymbol = "diamond-dot" + ViolinMarkerSymbolNumber302 ViolinMarkerSymbol = 302 + ViolinMarkerSymbol302 ViolinMarkerSymbol = "302" + ViolinMarkerSymbolDiamondOpenDot ViolinMarkerSymbol = "diamond-open-dot" + ViolinMarkerSymbolNumber3 ViolinMarkerSymbol = 3 + ViolinMarkerSymbol3 ViolinMarkerSymbol = "3" + ViolinMarkerSymbolCross ViolinMarkerSymbol = "cross" + ViolinMarkerSymbolNumber103 ViolinMarkerSymbol = 103 + ViolinMarkerSymbol103 ViolinMarkerSymbol = "103" + ViolinMarkerSymbolCrossOpen ViolinMarkerSymbol = "cross-open" + ViolinMarkerSymbolNumber203 ViolinMarkerSymbol = 203 + ViolinMarkerSymbol203 ViolinMarkerSymbol = "203" + ViolinMarkerSymbolCrossDot ViolinMarkerSymbol = "cross-dot" + ViolinMarkerSymbolNumber303 ViolinMarkerSymbol = 303 + ViolinMarkerSymbol303 ViolinMarkerSymbol = "303" + ViolinMarkerSymbolCrossOpenDot ViolinMarkerSymbol = "cross-open-dot" + ViolinMarkerSymbolNumber4 ViolinMarkerSymbol = 4 + ViolinMarkerSymbol4 ViolinMarkerSymbol = "4" + ViolinMarkerSymbolX ViolinMarkerSymbol = "x" + ViolinMarkerSymbolNumber104 ViolinMarkerSymbol = 104 + ViolinMarkerSymbol104 ViolinMarkerSymbol = "104" + ViolinMarkerSymbolXOpen ViolinMarkerSymbol = "x-open" + ViolinMarkerSymbolNumber204 ViolinMarkerSymbol = 204 + ViolinMarkerSymbol204 ViolinMarkerSymbol = "204" + ViolinMarkerSymbolXDot ViolinMarkerSymbol = "x-dot" + ViolinMarkerSymbolNumber304 ViolinMarkerSymbol = 304 + ViolinMarkerSymbol304 ViolinMarkerSymbol = "304" + ViolinMarkerSymbolXOpenDot ViolinMarkerSymbol = "x-open-dot" + ViolinMarkerSymbolNumber5 ViolinMarkerSymbol = 5 + ViolinMarkerSymbol5 ViolinMarkerSymbol = "5" + ViolinMarkerSymbolTriangleUp ViolinMarkerSymbol = "triangle-up" + ViolinMarkerSymbolNumber105 ViolinMarkerSymbol = 105 + ViolinMarkerSymbol105 ViolinMarkerSymbol = "105" + ViolinMarkerSymbolTriangleUpOpen ViolinMarkerSymbol = "triangle-up-open" + ViolinMarkerSymbolNumber205 ViolinMarkerSymbol = 205 + ViolinMarkerSymbol205 ViolinMarkerSymbol = "205" + ViolinMarkerSymbolTriangleUpDot ViolinMarkerSymbol = "triangle-up-dot" + ViolinMarkerSymbolNumber305 ViolinMarkerSymbol = 305 + ViolinMarkerSymbol305 ViolinMarkerSymbol = "305" + ViolinMarkerSymbolTriangleUpOpenDot ViolinMarkerSymbol = "triangle-up-open-dot" + ViolinMarkerSymbolNumber6 ViolinMarkerSymbol = 6 + ViolinMarkerSymbol6 ViolinMarkerSymbol = "6" + ViolinMarkerSymbolTriangleDown ViolinMarkerSymbol = "triangle-down" + ViolinMarkerSymbolNumber106 ViolinMarkerSymbol = 106 + ViolinMarkerSymbol106 ViolinMarkerSymbol = "106" + ViolinMarkerSymbolTriangleDownOpen ViolinMarkerSymbol = "triangle-down-open" + ViolinMarkerSymbolNumber206 ViolinMarkerSymbol = 206 + ViolinMarkerSymbol206 ViolinMarkerSymbol = "206" + ViolinMarkerSymbolTriangleDownDot ViolinMarkerSymbol = "triangle-down-dot" + ViolinMarkerSymbolNumber306 ViolinMarkerSymbol = 306 + ViolinMarkerSymbol306 ViolinMarkerSymbol = "306" + ViolinMarkerSymbolTriangleDownOpenDot ViolinMarkerSymbol = "triangle-down-open-dot" + ViolinMarkerSymbolNumber7 ViolinMarkerSymbol = 7 + ViolinMarkerSymbol7 ViolinMarkerSymbol = "7" + ViolinMarkerSymbolTriangleLeft ViolinMarkerSymbol = "triangle-left" + ViolinMarkerSymbolNumber107 ViolinMarkerSymbol = 107 + ViolinMarkerSymbol107 ViolinMarkerSymbol = "107" + ViolinMarkerSymbolTriangleLeftOpen ViolinMarkerSymbol = "triangle-left-open" + ViolinMarkerSymbolNumber207 ViolinMarkerSymbol = 207 + ViolinMarkerSymbol207 ViolinMarkerSymbol = "207" + ViolinMarkerSymbolTriangleLeftDot ViolinMarkerSymbol = "triangle-left-dot" + ViolinMarkerSymbolNumber307 ViolinMarkerSymbol = 307 + ViolinMarkerSymbol307 ViolinMarkerSymbol = "307" + ViolinMarkerSymbolTriangleLeftOpenDot ViolinMarkerSymbol = "triangle-left-open-dot" + ViolinMarkerSymbolNumber8 ViolinMarkerSymbol = 8 + ViolinMarkerSymbol8 ViolinMarkerSymbol = "8" + ViolinMarkerSymbolTriangleRight ViolinMarkerSymbol = "triangle-right" + ViolinMarkerSymbolNumber108 ViolinMarkerSymbol = 108 + ViolinMarkerSymbol108 ViolinMarkerSymbol = "108" + ViolinMarkerSymbolTriangleRightOpen ViolinMarkerSymbol = "triangle-right-open" + ViolinMarkerSymbolNumber208 ViolinMarkerSymbol = 208 + ViolinMarkerSymbol208 ViolinMarkerSymbol = "208" + ViolinMarkerSymbolTriangleRightDot ViolinMarkerSymbol = "triangle-right-dot" + ViolinMarkerSymbolNumber308 ViolinMarkerSymbol = 308 + ViolinMarkerSymbol308 ViolinMarkerSymbol = "308" + ViolinMarkerSymbolTriangleRightOpenDot ViolinMarkerSymbol = "triangle-right-open-dot" + ViolinMarkerSymbolNumber9 ViolinMarkerSymbol = 9 + ViolinMarkerSymbol9 ViolinMarkerSymbol = "9" + ViolinMarkerSymbolTriangleNe ViolinMarkerSymbol = "triangle-ne" + ViolinMarkerSymbolNumber109 ViolinMarkerSymbol = 109 + ViolinMarkerSymbol109 ViolinMarkerSymbol = "109" + ViolinMarkerSymbolTriangleNeOpen ViolinMarkerSymbol = "triangle-ne-open" + ViolinMarkerSymbolNumber209 ViolinMarkerSymbol = 209 + ViolinMarkerSymbol209 ViolinMarkerSymbol = "209" + ViolinMarkerSymbolTriangleNeDot ViolinMarkerSymbol = "triangle-ne-dot" + ViolinMarkerSymbolNumber309 ViolinMarkerSymbol = 309 + ViolinMarkerSymbol309 ViolinMarkerSymbol = "309" + ViolinMarkerSymbolTriangleNeOpenDot ViolinMarkerSymbol = "triangle-ne-open-dot" + ViolinMarkerSymbolNumber10 ViolinMarkerSymbol = 10 + ViolinMarkerSymbol10 ViolinMarkerSymbol = "10" + ViolinMarkerSymbolTriangleSe ViolinMarkerSymbol = "triangle-se" + ViolinMarkerSymbolNumber110 ViolinMarkerSymbol = 110 + ViolinMarkerSymbol110 ViolinMarkerSymbol = "110" + ViolinMarkerSymbolTriangleSeOpen ViolinMarkerSymbol = "triangle-se-open" + ViolinMarkerSymbolNumber210 ViolinMarkerSymbol = 210 + ViolinMarkerSymbol210 ViolinMarkerSymbol = "210" + ViolinMarkerSymbolTriangleSeDot ViolinMarkerSymbol = "triangle-se-dot" + ViolinMarkerSymbolNumber310 ViolinMarkerSymbol = 310 + ViolinMarkerSymbol310 ViolinMarkerSymbol = "310" + ViolinMarkerSymbolTriangleSeOpenDot ViolinMarkerSymbol = "triangle-se-open-dot" + ViolinMarkerSymbolNumber11 ViolinMarkerSymbol = 11 + ViolinMarkerSymbol11 ViolinMarkerSymbol = "11" + ViolinMarkerSymbolTriangleSw ViolinMarkerSymbol = "triangle-sw" + ViolinMarkerSymbolNumber111 ViolinMarkerSymbol = 111 + ViolinMarkerSymbol111 ViolinMarkerSymbol = "111" + ViolinMarkerSymbolTriangleSwOpen ViolinMarkerSymbol = "triangle-sw-open" + ViolinMarkerSymbolNumber211 ViolinMarkerSymbol = 211 + ViolinMarkerSymbol211 ViolinMarkerSymbol = "211" + ViolinMarkerSymbolTriangleSwDot ViolinMarkerSymbol = "triangle-sw-dot" + ViolinMarkerSymbolNumber311 ViolinMarkerSymbol = 311 + ViolinMarkerSymbol311 ViolinMarkerSymbol = "311" + ViolinMarkerSymbolTriangleSwOpenDot ViolinMarkerSymbol = "triangle-sw-open-dot" + ViolinMarkerSymbolNumber12 ViolinMarkerSymbol = 12 + ViolinMarkerSymbol12 ViolinMarkerSymbol = "12" + ViolinMarkerSymbolTriangleNw ViolinMarkerSymbol = "triangle-nw" + ViolinMarkerSymbolNumber112 ViolinMarkerSymbol = 112 + ViolinMarkerSymbol112 ViolinMarkerSymbol = "112" + ViolinMarkerSymbolTriangleNwOpen ViolinMarkerSymbol = "triangle-nw-open" + ViolinMarkerSymbolNumber212 ViolinMarkerSymbol = 212 + ViolinMarkerSymbol212 ViolinMarkerSymbol = "212" + ViolinMarkerSymbolTriangleNwDot ViolinMarkerSymbol = "triangle-nw-dot" + ViolinMarkerSymbolNumber312 ViolinMarkerSymbol = 312 + ViolinMarkerSymbol312 ViolinMarkerSymbol = "312" + ViolinMarkerSymbolTriangleNwOpenDot ViolinMarkerSymbol = "triangle-nw-open-dot" + ViolinMarkerSymbolNumber13 ViolinMarkerSymbol = 13 + ViolinMarkerSymbol13 ViolinMarkerSymbol = "13" + ViolinMarkerSymbolPentagon ViolinMarkerSymbol = "pentagon" + ViolinMarkerSymbolNumber113 ViolinMarkerSymbol = 113 + ViolinMarkerSymbol113 ViolinMarkerSymbol = "113" + ViolinMarkerSymbolPentagonOpen ViolinMarkerSymbol = "pentagon-open" + ViolinMarkerSymbolNumber213 ViolinMarkerSymbol = 213 + ViolinMarkerSymbol213 ViolinMarkerSymbol = "213" + ViolinMarkerSymbolPentagonDot ViolinMarkerSymbol = "pentagon-dot" + ViolinMarkerSymbolNumber313 ViolinMarkerSymbol = 313 + ViolinMarkerSymbol313 ViolinMarkerSymbol = "313" + ViolinMarkerSymbolPentagonOpenDot ViolinMarkerSymbol = "pentagon-open-dot" + ViolinMarkerSymbolNumber14 ViolinMarkerSymbol = 14 + ViolinMarkerSymbol14 ViolinMarkerSymbol = "14" + ViolinMarkerSymbolHexagon ViolinMarkerSymbol = "hexagon" + ViolinMarkerSymbolNumber114 ViolinMarkerSymbol = 114 + ViolinMarkerSymbol114 ViolinMarkerSymbol = "114" + ViolinMarkerSymbolHexagonOpen ViolinMarkerSymbol = "hexagon-open" + ViolinMarkerSymbolNumber214 ViolinMarkerSymbol = 214 + ViolinMarkerSymbol214 ViolinMarkerSymbol = "214" + ViolinMarkerSymbolHexagonDot ViolinMarkerSymbol = "hexagon-dot" + ViolinMarkerSymbolNumber314 ViolinMarkerSymbol = 314 + ViolinMarkerSymbol314 ViolinMarkerSymbol = "314" + ViolinMarkerSymbolHexagonOpenDot ViolinMarkerSymbol = "hexagon-open-dot" + ViolinMarkerSymbolNumber15 ViolinMarkerSymbol = 15 + ViolinMarkerSymbol15 ViolinMarkerSymbol = "15" + ViolinMarkerSymbolHexagon2 ViolinMarkerSymbol = "hexagon2" + ViolinMarkerSymbolNumber115 ViolinMarkerSymbol = 115 + ViolinMarkerSymbol115 ViolinMarkerSymbol = "115" + ViolinMarkerSymbolHexagon2Open ViolinMarkerSymbol = "hexagon2-open" + ViolinMarkerSymbolNumber215 ViolinMarkerSymbol = 215 + ViolinMarkerSymbol215 ViolinMarkerSymbol = "215" + ViolinMarkerSymbolHexagon2Dot ViolinMarkerSymbol = "hexagon2-dot" + ViolinMarkerSymbolNumber315 ViolinMarkerSymbol = 315 + ViolinMarkerSymbol315 ViolinMarkerSymbol = "315" + ViolinMarkerSymbolHexagon2OpenDot ViolinMarkerSymbol = "hexagon2-open-dot" + ViolinMarkerSymbolNumber16 ViolinMarkerSymbol = 16 + ViolinMarkerSymbol16 ViolinMarkerSymbol = "16" + ViolinMarkerSymbolOctagon ViolinMarkerSymbol = "octagon" + ViolinMarkerSymbolNumber116 ViolinMarkerSymbol = 116 + ViolinMarkerSymbol116 ViolinMarkerSymbol = "116" + ViolinMarkerSymbolOctagonOpen ViolinMarkerSymbol = "octagon-open" + ViolinMarkerSymbolNumber216 ViolinMarkerSymbol = 216 + ViolinMarkerSymbol216 ViolinMarkerSymbol = "216" + ViolinMarkerSymbolOctagonDot ViolinMarkerSymbol = "octagon-dot" + ViolinMarkerSymbolNumber316 ViolinMarkerSymbol = 316 + ViolinMarkerSymbol316 ViolinMarkerSymbol = "316" + ViolinMarkerSymbolOctagonOpenDot ViolinMarkerSymbol = "octagon-open-dot" + ViolinMarkerSymbolNumber17 ViolinMarkerSymbol = 17 + ViolinMarkerSymbol17 ViolinMarkerSymbol = "17" + ViolinMarkerSymbolStar ViolinMarkerSymbol = "star" + ViolinMarkerSymbolNumber117 ViolinMarkerSymbol = 117 + ViolinMarkerSymbol117 ViolinMarkerSymbol = "117" + ViolinMarkerSymbolStarOpen ViolinMarkerSymbol = "star-open" + ViolinMarkerSymbolNumber217 ViolinMarkerSymbol = 217 + ViolinMarkerSymbol217 ViolinMarkerSymbol = "217" + ViolinMarkerSymbolStarDot ViolinMarkerSymbol = "star-dot" + ViolinMarkerSymbolNumber317 ViolinMarkerSymbol = 317 + ViolinMarkerSymbol317 ViolinMarkerSymbol = "317" + ViolinMarkerSymbolStarOpenDot ViolinMarkerSymbol = "star-open-dot" + ViolinMarkerSymbolNumber18 ViolinMarkerSymbol = 18 + ViolinMarkerSymbol18 ViolinMarkerSymbol = "18" + ViolinMarkerSymbolHexagram ViolinMarkerSymbol = "hexagram" + ViolinMarkerSymbolNumber118 ViolinMarkerSymbol = 118 + ViolinMarkerSymbol118 ViolinMarkerSymbol = "118" + ViolinMarkerSymbolHexagramOpen ViolinMarkerSymbol = "hexagram-open" + ViolinMarkerSymbolNumber218 ViolinMarkerSymbol = 218 + ViolinMarkerSymbol218 ViolinMarkerSymbol = "218" + ViolinMarkerSymbolHexagramDot ViolinMarkerSymbol = "hexagram-dot" + ViolinMarkerSymbolNumber318 ViolinMarkerSymbol = 318 + ViolinMarkerSymbol318 ViolinMarkerSymbol = "318" + ViolinMarkerSymbolHexagramOpenDot ViolinMarkerSymbol = "hexagram-open-dot" + ViolinMarkerSymbolNumber19 ViolinMarkerSymbol = 19 + ViolinMarkerSymbol19 ViolinMarkerSymbol = "19" + ViolinMarkerSymbolStarTriangleUp ViolinMarkerSymbol = "star-triangle-up" + ViolinMarkerSymbolNumber119 ViolinMarkerSymbol = 119 + ViolinMarkerSymbol119 ViolinMarkerSymbol = "119" + ViolinMarkerSymbolStarTriangleUpOpen ViolinMarkerSymbol = "star-triangle-up-open" + ViolinMarkerSymbolNumber219 ViolinMarkerSymbol = 219 + ViolinMarkerSymbol219 ViolinMarkerSymbol = "219" + ViolinMarkerSymbolStarTriangleUpDot ViolinMarkerSymbol = "star-triangle-up-dot" + ViolinMarkerSymbolNumber319 ViolinMarkerSymbol = 319 + ViolinMarkerSymbol319 ViolinMarkerSymbol = "319" + ViolinMarkerSymbolStarTriangleUpOpenDot ViolinMarkerSymbol = "star-triangle-up-open-dot" + ViolinMarkerSymbolNumber20 ViolinMarkerSymbol = 20 + ViolinMarkerSymbol20 ViolinMarkerSymbol = "20" + ViolinMarkerSymbolStarTriangleDown ViolinMarkerSymbol = "star-triangle-down" + ViolinMarkerSymbolNumber120 ViolinMarkerSymbol = 120 + ViolinMarkerSymbol120 ViolinMarkerSymbol = "120" + ViolinMarkerSymbolStarTriangleDownOpen ViolinMarkerSymbol = "star-triangle-down-open" + ViolinMarkerSymbolNumber220 ViolinMarkerSymbol = 220 + ViolinMarkerSymbol220 ViolinMarkerSymbol = "220" + ViolinMarkerSymbolStarTriangleDownDot ViolinMarkerSymbol = "star-triangle-down-dot" + ViolinMarkerSymbolNumber320 ViolinMarkerSymbol = 320 + ViolinMarkerSymbol320 ViolinMarkerSymbol = "320" + ViolinMarkerSymbolStarTriangleDownOpenDot ViolinMarkerSymbol = "star-triangle-down-open-dot" + ViolinMarkerSymbolNumber21 ViolinMarkerSymbol = 21 + ViolinMarkerSymbol21 ViolinMarkerSymbol = "21" + ViolinMarkerSymbolStarSquare ViolinMarkerSymbol = "star-square" + ViolinMarkerSymbolNumber121 ViolinMarkerSymbol = 121 + ViolinMarkerSymbol121 ViolinMarkerSymbol = "121" + ViolinMarkerSymbolStarSquareOpen ViolinMarkerSymbol = "star-square-open" + ViolinMarkerSymbolNumber221 ViolinMarkerSymbol = 221 + ViolinMarkerSymbol221 ViolinMarkerSymbol = "221" + ViolinMarkerSymbolStarSquareDot ViolinMarkerSymbol = "star-square-dot" + ViolinMarkerSymbolNumber321 ViolinMarkerSymbol = 321 + ViolinMarkerSymbol321 ViolinMarkerSymbol = "321" + ViolinMarkerSymbolStarSquareOpenDot ViolinMarkerSymbol = "star-square-open-dot" + ViolinMarkerSymbolNumber22 ViolinMarkerSymbol = 22 + ViolinMarkerSymbol22 ViolinMarkerSymbol = "22" + ViolinMarkerSymbolStarDiamond ViolinMarkerSymbol = "star-diamond" + ViolinMarkerSymbolNumber122 ViolinMarkerSymbol = 122 + ViolinMarkerSymbol122 ViolinMarkerSymbol = "122" + ViolinMarkerSymbolStarDiamondOpen ViolinMarkerSymbol = "star-diamond-open" + ViolinMarkerSymbolNumber222 ViolinMarkerSymbol = 222 + ViolinMarkerSymbol222 ViolinMarkerSymbol = "222" + ViolinMarkerSymbolStarDiamondDot ViolinMarkerSymbol = "star-diamond-dot" + ViolinMarkerSymbolNumber322 ViolinMarkerSymbol = 322 + ViolinMarkerSymbol322 ViolinMarkerSymbol = "322" + ViolinMarkerSymbolStarDiamondOpenDot ViolinMarkerSymbol = "star-diamond-open-dot" + ViolinMarkerSymbolNumber23 ViolinMarkerSymbol = 23 + ViolinMarkerSymbol23 ViolinMarkerSymbol = "23" + ViolinMarkerSymbolDiamondTall ViolinMarkerSymbol = "diamond-tall" + ViolinMarkerSymbolNumber123 ViolinMarkerSymbol = 123 + ViolinMarkerSymbol123 ViolinMarkerSymbol = "123" + ViolinMarkerSymbolDiamondTallOpen ViolinMarkerSymbol = "diamond-tall-open" + ViolinMarkerSymbolNumber223 ViolinMarkerSymbol = 223 + ViolinMarkerSymbol223 ViolinMarkerSymbol = "223" + ViolinMarkerSymbolDiamondTallDot ViolinMarkerSymbol = "diamond-tall-dot" + ViolinMarkerSymbolNumber323 ViolinMarkerSymbol = 323 + ViolinMarkerSymbol323 ViolinMarkerSymbol = "323" + ViolinMarkerSymbolDiamondTallOpenDot ViolinMarkerSymbol = "diamond-tall-open-dot" + ViolinMarkerSymbolNumber24 ViolinMarkerSymbol = 24 + ViolinMarkerSymbol24 ViolinMarkerSymbol = "24" + ViolinMarkerSymbolDiamondWide ViolinMarkerSymbol = "diamond-wide" + ViolinMarkerSymbolNumber124 ViolinMarkerSymbol = 124 + ViolinMarkerSymbol124 ViolinMarkerSymbol = "124" + ViolinMarkerSymbolDiamondWideOpen ViolinMarkerSymbol = "diamond-wide-open" + ViolinMarkerSymbolNumber224 ViolinMarkerSymbol = 224 + ViolinMarkerSymbol224 ViolinMarkerSymbol = "224" + ViolinMarkerSymbolDiamondWideDot ViolinMarkerSymbol = "diamond-wide-dot" + ViolinMarkerSymbolNumber324 ViolinMarkerSymbol = 324 + ViolinMarkerSymbol324 ViolinMarkerSymbol = "324" + ViolinMarkerSymbolDiamondWideOpenDot ViolinMarkerSymbol = "diamond-wide-open-dot" + ViolinMarkerSymbolNumber25 ViolinMarkerSymbol = 25 + ViolinMarkerSymbol25 ViolinMarkerSymbol = "25" + ViolinMarkerSymbolHourglass ViolinMarkerSymbol = "hourglass" + ViolinMarkerSymbolNumber125 ViolinMarkerSymbol = 125 + ViolinMarkerSymbol125 ViolinMarkerSymbol = "125" + ViolinMarkerSymbolHourglassOpen ViolinMarkerSymbol = "hourglass-open" + ViolinMarkerSymbolNumber26 ViolinMarkerSymbol = 26 + ViolinMarkerSymbol26 ViolinMarkerSymbol = "26" + ViolinMarkerSymbolBowtie ViolinMarkerSymbol = "bowtie" + ViolinMarkerSymbolNumber126 ViolinMarkerSymbol = 126 + ViolinMarkerSymbol126 ViolinMarkerSymbol = "126" + ViolinMarkerSymbolBowtieOpen ViolinMarkerSymbol = "bowtie-open" + ViolinMarkerSymbolNumber27 ViolinMarkerSymbol = 27 + ViolinMarkerSymbol27 ViolinMarkerSymbol = "27" + ViolinMarkerSymbolCircleCross ViolinMarkerSymbol = "circle-cross" + ViolinMarkerSymbolNumber127 ViolinMarkerSymbol = 127 + ViolinMarkerSymbol127 ViolinMarkerSymbol = "127" + ViolinMarkerSymbolCircleCrossOpen ViolinMarkerSymbol = "circle-cross-open" + ViolinMarkerSymbolNumber28 ViolinMarkerSymbol = 28 + ViolinMarkerSymbol28 ViolinMarkerSymbol = "28" + ViolinMarkerSymbolCircleX ViolinMarkerSymbol = "circle-x" + ViolinMarkerSymbolNumber128 ViolinMarkerSymbol = 128 + ViolinMarkerSymbol128 ViolinMarkerSymbol = "128" + ViolinMarkerSymbolCircleXOpen ViolinMarkerSymbol = "circle-x-open" + ViolinMarkerSymbolNumber29 ViolinMarkerSymbol = 29 + ViolinMarkerSymbol29 ViolinMarkerSymbol = "29" + ViolinMarkerSymbolSquareCross ViolinMarkerSymbol = "square-cross" + ViolinMarkerSymbolNumber129 ViolinMarkerSymbol = 129 + ViolinMarkerSymbol129 ViolinMarkerSymbol = "129" + ViolinMarkerSymbolSquareCrossOpen ViolinMarkerSymbol = "square-cross-open" + ViolinMarkerSymbolNumber30 ViolinMarkerSymbol = 30 + ViolinMarkerSymbol30 ViolinMarkerSymbol = "30" + ViolinMarkerSymbolSquareX ViolinMarkerSymbol = "square-x" + ViolinMarkerSymbolNumber130 ViolinMarkerSymbol = 130 + ViolinMarkerSymbol130 ViolinMarkerSymbol = "130" + ViolinMarkerSymbolSquareXOpen ViolinMarkerSymbol = "square-x-open" + ViolinMarkerSymbolNumber31 ViolinMarkerSymbol = 31 + ViolinMarkerSymbol31 ViolinMarkerSymbol = "31" + ViolinMarkerSymbolDiamondCross ViolinMarkerSymbol = "diamond-cross" + ViolinMarkerSymbolNumber131 ViolinMarkerSymbol = 131 + ViolinMarkerSymbol131 ViolinMarkerSymbol = "131" + ViolinMarkerSymbolDiamondCrossOpen ViolinMarkerSymbol = "diamond-cross-open" + ViolinMarkerSymbolNumber32 ViolinMarkerSymbol = 32 + ViolinMarkerSymbol32 ViolinMarkerSymbol = "32" + ViolinMarkerSymbolDiamondX ViolinMarkerSymbol = "diamond-x" + ViolinMarkerSymbolNumber132 ViolinMarkerSymbol = 132 + ViolinMarkerSymbol132 ViolinMarkerSymbol = "132" + ViolinMarkerSymbolDiamondXOpen ViolinMarkerSymbol = "diamond-x-open" + ViolinMarkerSymbolNumber33 ViolinMarkerSymbol = 33 + ViolinMarkerSymbol33 ViolinMarkerSymbol = "33" + ViolinMarkerSymbolCrossThin ViolinMarkerSymbol = "cross-thin" + ViolinMarkerSymbolNumber133 ViolinMarkerSymbol = 133 + ViolinMarkerSymbol133 ViolinMarkerSymbol = "133" + ViolinMarkerSymbolCrossThinOpen ViolinMarkerSymbol = "cross-thin-open" + ViolinMarkerSymbolNumber34 ViolinMarkerSymbol = 34 + ViolinMarkerSymbol34 ViolinMarkerSymbol = "34" + ViolinMarkerSymbolXThin ViolinMarkerSymbol = "x-thin" + ViolinMarkerSymbolNumber134 ViolinMarkerSymbol = 134 + ViolinMarkerSymbol134 ViolinMarkerSymbol = "134" + ViolinMarkerSymbolXThinOpen ViolinMarkerSymbol = "x-thin-open" + ViolinMarkerSymbolNumber35 ViolinMarkerSymbol = 35 + ViolinMarkerSymbol35 ViolinMarkerSymbol = "35" + ViolinMarkerSymbolAsterisk ViolinMarkerSymbol = "asterisk" + ViolinMarkerSymbolNumber135 ViolinMarkerSymbol = 135 + ViolinMarkerSymbol135 ViolinMarkerSymbol = "135" + ViolinMarkerSymbolAsteriskOpen ViolinMarkerSymbol = "asterisk-open" + ViolinMarkerSymbolNumber36 ViolinMarkerSymbol = 36 + ViolinMarkerSymbol36 ViolinMarkerSymbol = "36" + ViolinMarkerSymbolHash ViolinMarkerSymbol = "hash" + ViolinMarkerSymbolNumber136 ViolinMarkerSymbol = 136 + ViolinMarkerSymbol136 ViolinMarkerSymbol = "136" + ViolinMarkerSymbolHashOpen ViolinMarkerSymbol = "hash-open" + ViolinMarkerSymbolNumber236 ViolinMarkerSymbol = 236 + ViolinMarkerSymbol236 ViolinMarkerSymbol = "236" + ViolinMarkerSymbolHashDot ViolinMarkerSymbol = "hash-dot" + ViolinMarkerSymbolNumber336 ViolinMarkerSymbol = 336 + ViolinMarkerSymbol336 ViolinMarkerSymbol = "336" + ViolinMarkerSymbolHashOpenDot ViolinMarkerSymbol = "hash-open-dot" + ViolinMarkerSymbolNumber37 ViolinMarkerSymbol = 37 + ViolinMarkerSymbol37 ViolinMarkerSymbol = "37" + ViolinMarkerSymbolYUp ViolinMarkerSymbol = "y-up" + ViolinMarkerSymbolNumber137 ViolinMarkerSymbol = 137 + ViolinMarkerSymbol137 ViolinMarkerSymbol = "137" + ViolinMarkerSymbolYUpOpen ViolinMarkerSymbol = "y-up-open" + ViolinMarkerSymbolNumber38 ViolinMarkerSymbol = 38 + ViolinMarkerSymbol38 ViolinMarkerSymbol = "38" + ViolinMarkerSymbolYDown ViolinMarkerSymbol = "y-down" + ViolinMarkerSymbolNumber138 ViolinMarkerSymbol = 138 + ViolinMarkerSymbol138 ViolinMarkerSymbol = "138" + ViolinMarkerSymbolYDownOpen ViolinMarkerSymbol = "y-down-open" + ViolinMarkerSymbolNumber39 ViolinMarkerSymbol = 39 + ViolinMarkerSymbol39 ViolinMarkerSymbol = "39" + ViolinMarkerSymbolYLeft ViolinMarkerSymbol = "y-left" + ViolinMarkerSymbolNumber139 ViolinMarkerSymbol = 139 + ViolinMarkerSymbol139 ViolinMarkerSymbol = "139" + ViolinMarkerSymbolYLeftOpen ViolinMarkerSymbol = "y-left-open" + ViolinMarkerSymbolNumber40 ViolinMarkerSymbol = 40 + ViolinMarkerSymbol40 ViolinMarkerSymbol = "40" + ViolinMarkerSymbolYRight ViolinMarkerSymbol = "y-right" + ViolinMarkerSymbolNumber140 ViolinMarkerSymbol = 140 + ViolinMarkerSymbol140 ViolinMarkerSymbol = "140" + ViolinMarkerSymbolYRightOpen ViolinMarkerSymbol = "y-right-open" + ViolinMarkerSymbolNumber41 ViolinMarkerSymbol = 41 + ViolinMarkerSymbol41 ViolinMarkerSymbol = "41" + ViolinMarkerSymbolLineEw ViolinMarkerSymbol = "line-ew" + ViolinMarkerSymbolNumber141 ViolinMarkerSymbol = 141 + ViolinMarkerSymbol141 ViolinMarkerSymbol = "141" + ViolinMarkerSymbolLineEwOpen ViolinMarkerSymbol = "line-ew-open" + ViolinMarkerSymbolNumber42 ViolinMarkerSymbol = 42 + ViolinMarkerSymbol42 ViolinMarkerSymbol = "42" + ViolinMarkerSymbolLineNs ViolinMarkerSymbol = "line-ns" + ViolinMarkerSymbolNumber142 ViolinMarkerSymbol = 142 + ViolinMarkerSymbol142 ViolinMarkerSymbol = "142" + ViolinMarkerSymbolLineNsOpen ViolinMarkerSymbol = "line-ns-open" + ViolinMarkerSymbolNumber43 ViolinMarkerSymbol = 43 + ViolinMarkerSymbol43 ViolinMarkerSymbol = "43" + ViolinMarkerSymbolLineNe ViolinMarkerSymbol = "line-ne" + ViolinMarkerSymbolNumber143 ViolinMarkerSymbol = 143 + ViolinMarkerSymbol143 ViolinMarkerSymbol = "143" + ViolinMarkerSymbolLineNeOpen ViolinMarkerSymbol = "line-ne-open" + ViolinMarkerSymbolNumber44 ViolinMarkerSymbol = 44 + ViolinMarkerSymbol44 ViolinMarkerSymbol = "44" + ViolinMarkerSymbolLineNw ViolinMarkerSymbol = "line-nw" + ViolinMarkerSymbolNumber144 ViolinMarkerSymbol = 144 + ViolinMarkerSymbol144 ViolinMarkerSymbol = "144" + ViolinMarkerSymbolLineNwOpen ViolinMarkerSymbol = "line-nw-open" + ViolinMarkerSymbolNumber45 ViolinMarkerSymbol = 45 + ViolinMarkerSymbol45 ViolinMarkerSymbol = "45" + ViolinMarkerSymbolArrowUp ViolinMarkerSymbol = "arrow-up" + ViolinMarkerSymbolNumber145 ViolinMarkerSymbol = 145 + ViolinMarkerSymbol145 ViolinMarkerSymbol = "145" + ViolinMarkerSymbolArrowUpOpen ViolinMarkerSymbol = "arrow-up-open" + ViolinMarkerSymbolNumber46 ViolinMarkerSymbol = 46 + ViolinMarkerSymbol46 ViolinMarkerSymbol = "46" + ViolinMarkerSymbolArrowDown ViolinMarkerSymbol = "arrow-down" + ViolinMarkerSymbolNumber146 ViolinMarkerSymbol = 146 + ViolinMarkerSymbol146 ViolinMarkerSymbol = "146" + ViolinMarkerSymbolArrowDownOpen ViolinMarkerSymbol = "arrow-down-open" + ViolinMarkerSymbolNumber47 ViolinMarkerSymbol = 47 + ViolinMarkerSymbol47 ViolinMarkerSymbol = "47" + ViolinMarkerSymbolArrowLeft ViolinMarkerSymbol = "arrow-left" + ViolinMarkerSymbolNumber147 ViolinMarkerSymbol = 147 + ViolinMarkerSymbol147 ViolinMarkerSymbol = "147" + ViolinMarkerSymbolArrowLeftOpen ViolinMarkerSymbol = "arrow-left-open" + ViolinMarkerSymbolNumber48 ViolinMarkerSymbol = 48 + ViolinMarkerSymbol48 ViolinMarkerSymbol = "48" + ViolinMarkerSymbolArrowRight ViolinMarkerSymbol = "arrow-right" + ViolinMarkerSymbolNumber148 ViolinMarkerSymbol = 148 + ViolinMarkerSymbol148 ViolinMarkerSymbol = "148" + ViolinMarkerSymbolArrowRightOpen ViolinMarkerSymbol = "arrow-right-open" + ViolinMarkerSymbolNumber49 ViolinMarkerSymbol = 49 + ViolinMarkerSymbol49 ViolinMarkerSymbol = "49" + ViolinMarkerSymbolArrowBarUp ViolinMarkerSymbol = "arrow-bar-up" + ViolinMarkerSymbolNumber149 ViolinMarkerSymbol = 149 + ViolinMarkerSymbol149 ViolinMarkerSymbol = "149" + ViolinMarkerSymbolArrowBarUpOpen ViolinMarkerSymbol = "arrow-bar-up-open" + ViolinMarkerSymbolNumber50 ViolinMarkerSymbol = 50 + ViolinMarkerSymbol50 ViolinMarkerSymbol = "50" + ViolinMarkerSymbolArrowBarDown ViolinMarkerSymbol = "arrow-bar-down" + ViolinMarkerSymbolNumber150 ViolinMarkerSymbol = 150 + ViolinMarkerSymbol150 ViolinMarkerSymbol = "150" + ViolinMarkerSymbolArrowBarDownOpen ViolinMarkerSymbol = "arrow-bar-down-open" + ViolinMarkerSymbolNumber51 ViolinMarkerSymbol = 51 + ViolinMarkerSymbol51 ViolinMarkerSymbol = "51" + ViolinMarkerSymbolArrowBarLeft ViolinMarkerSymbol = "arrow-bar-left" + ViolinMarkerSymbolNumber151 ViolinMarkerSymbol = 151 + ViolinMarkerSymbol151 ViolinMarkerSymbol = "151" + ViolinMarkerSymbolArrowBarLeftOpen ViolinMarkerSymbol = "arrow-bar-left-open" + ViolinMarkerSymbolNumber52 ViolinMarkerSymbol = 52 + ViolinMarkerSymbol52 ViolinMarkerSymbol = "52" + ViolinMarkerSymbolArrowBarRight ViolinMarkerSymbol = "arrow-bar-right" + ViolinMarkerSymbolNumber152 ViolinMarkerSymbol = 152 + ViolinMarkerSymbol152 ViolinMarkerSymbol = "152" + ViolinMarkerSymbolArrowBarRightOpen ViolinMarkerSymbol = "arrow-bar-right-open" + ViolinMarkerSymbolNumber53 ViolinMarkerSymbol = 53 + ViolinMarkerSymbol53 ViolinMarkerSymbol = "53" + ViolinMarkerSymbolArrow ViolinMarkerSymbol = "arrow" + ViolinMarkerSymbolNumber153 ViolinMarkerSymbol = 153 + ViolinMarkerSymbol153 ViolinMarkerSymbol = "153" + ViolinMarkerSymbolArrowOpen ViolinMarkerSymbol = "arrow-open" + ViolinMarkerSymbolNumber54 ViolinMarkerSymbol = 54 + ViolinMarkerSymbol54 ViolinMarkerSymbol = "54" + ViolinMarkerSymbolArrowWide ViolinMarkerSymbol = "arrow-wide" + ViolinMarkerSymbolNumber154 ViolinMarkerSymbol = 154 + ViolinMarkerSymbol154 ViolinMarkerSymbol = "154" + ViolinMarkerSymbolArrowWideOpen ViolinMarkerSymbol = "arrow-wide-open" +) + +// ViolinOrientation Sets the orientation of the violin(s). If *v* (*h*), the distribution is visualized along the vertical (horizontal). +type ViolinOrientation string + +const ( + ViolinOrientationV ViolinOrientation = "v" + ViolinOrientationH ViolinOrientation = "h" +) + +// ViolinPoints 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*. +type ViolinPoints interface{} + +var ( + ViolinPointsAll ViolinPoints = "all" + ViolinPointsOutliers ViolinPoints = "outliers" + ViolinPointsSuspectedoutliers ViolinPoints = "suspectedoutliers" + ViolinPointsFalse ViolinPoints = false +) + +// ViolinQuartilemethod 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. +type ViolinQuartilemethod string + +const ( + ViolinQuartilemethodLinear ViolinQuartilemethod = "linear" + ViolinQuartilemethodExclusive ViolinQuartilemethod = "exclusive" + ViolinQuartilemethodInclusive ViolinQuartilemethod = "inclusive" +) + +// ViolinScalemode 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. +type ViolinScalemode string + +const ( + ViolinScalemodeWidth ViolinScalemode = "width" + ViolinScalemodeCount ViolinScalemode = "count" +) + +// ViolinSide 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*. +type ViolinSide string + +const ( + ViolinSideBoth ViolinSide = "both" + ViolinSidePositive ViolinSide = "positive" + ViolinSideNegative ViolinSide = "negative" +) + +// ViolinSpanmode 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. +type ViolinSpanmode string + +const ( + ViolinSpanmodeSoft ViolinSpanmode = "soft" + ViolinSpanmodeHard ViolinSpanmode = "hard" + ViolinSpanmodeManual ViolinSpanmode = "manual" +) + +// ViolinVisible 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). +type ViolinVisible interface{} + +var ( + ViolinVisibleTrue ViolinVisible = true + ViolinVisibleFalse ViolinVisible = false + ViolinVisibleLegendonly ViolinVisible = "legendonly" +) + +// ViolinHoverinfo 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. +type ViolinHoverinfo string + +const ( + // Flags + ViolinHoverinfoX ViolinHoverinfo = "x" + ViolinHoverinfoY ViolinHoverinfo = "y" + ViolinHoverinfoZ ViolinHoverinfo = "z" + ViolinHoverinfoText ViolinHoverinfo = "text" + ViolinHoverinfoName ViolinHoverinfo = "name" + + // Extra + ViolinHoverinfoAll ViolinHoverinfo = "all" + ViolinHoverinfoNone ViolinHoverinfo = "none" + ViolinHoverinfoSkip ViolinHoverinfo = "skip" +) + +// ViolinHoveron Do the hover effects highlight individual violins or sample points or the kernel density estimate or any combination of them? +type ViolinHoveron string + +const ( + // Flags + ViolinHoveronViolins ViolinHoveron = "violins" + ViolinHoveronPoints ViolinHoveron = "points" + ViolinHoveronKde ViolinHoveron = "kde" + + // Extra + ViolinHoveronAll ViolinHoveron = "all" +) diff --git a/generated/v2.31.1/graph_objects/volume_gen.go b/generated/v2.31.1/graph_objects/volume_gen.go new file mode 100644 index 0000000..f809c72 --- /dev/null +++ b/generated/v2.31.1/graph_objects/volume_gen.go @@ -0,0 +1,1363 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeVolume TraceType = "volume" + +func (trace *Volume) GetType() TraceType { + return TraceTypeVolume +} + +// Volume 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. +type Volume struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Autocolorscale + // arrayOK: false + // 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. + Autocolorscale Bool `json:"autocolorscale,omitempty"` + + // Caps + // role: Object + Caps *VolumeCaps `json:"caps,omitempty"` + + // Cauto + // arrayOK: false + // type: boolean + // 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. + Cauto Bool `json:"cauto,omitempty"` + + // Cmax + // arrayOK: false + // 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. + Cmax float64 `json:"cmax,omitempty"` + + // Cmid + // arrayOK: false + // 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`. + Cmid float64 `json:"cmid,omitempty"` + + // Cmin + // arrayOK: false + // 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. + Cmin float64 `json:"cmin,omitempty"` + + // Coloraxis + // arrayOK: false + // 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. + Coloraxis String `json:"coloraxis,omitempty"` + + // Colorbar + // role: Object + Colorbar *VolumeColorbar `json:"colorbar,omitempty"` + + // Colorscale + // default: %!s() + // 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. + Colorscale ColorScale `json:"colorscale,omitempty"` + + // Contour + // role: Object + Contour *VolumeContour `json:"contour,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Flatshading + // arrayOK: false + // type: boolean + // Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low-poly look via flat reflections. + Flatshading Bool `json:"flatshading,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo VolumeHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *VolumeHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // Same as `text`. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Isomax + // arrayOK: false + // type: number + // Sets the maximum boundary for iso-surface plot. + Isomax float64 `json:"isomax,omitempty"` + + // Isomin + // arrayOK: false + // type: number + // Sets the minimum boundary for iso-surface plot. + Isomin float64 `json:"isomin,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *VolumeLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Lighting + // role: Object + Lighting *VolumeLighting `json:"lighting,omitempty"` + + // Lightposition + // role: Object + Lightposition *VolumeLightposition `json:"lightposition,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // 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. + Opacity float64 `json:"opacity,omitempty"` + + // Opacityscale + // arrayOK: false + // type: any + // 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'. + Opacityscale interface{} `json:"opacityscale,omitempty"` + + // Reversescale + // arrayOK: false + // 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. + Reversescale Bool `json:"reversescale,omitempty"` + + // Scene + // arrayOK: false + // type: subplotid + // 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. + Scene String `json:"scene,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Showscale + // arrayOK: false + // type: boolean + // Determines whether or not a colorbar is displayed for this trace. + Showscale Bool `json:"showscale,omitempty"` + + // Slices + // role: Object + Slices *VolumeSlices `json:"slices,omitempty"` + + // Spaceframe + // role: Object + Spaceframe *VolumeSpaceframe `json:"spaceframe,omitempty"` + + // Stream + // role: Object + Stream *VolumeStream `json:"stream,omitempty"` + + // Surface + // role: Object + Surface *VolumeSurface `json:"surface,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Value + // arrayOK: false + // type: data_array + // Sets the 4th dimension (value) of the vertices. + Value interface{} `json:"value,omitempty"` + + // Valuehoverformat + // arrayOK: false + // 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. + Valuehoverformat String `json:"valuehoverformat,omitempty"` + + // Valuesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `value`. + Valuesrc String `json:"valuesrc,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible VolumeVisible `json:"visible,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the X coordinates of the vertices on X axis. + X interface{} `json:"x,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the Y coordinates of the vertices on Y axis. + Y interface{} `json:"y,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` + + // Z + // arrayOK: false + // type: data_array + // Sets the Z coordinates of the vertices on Z axis. + Z interface{} `json:"z,omitempty"` + + // Zhoverformat + // arrayOK: false + // 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`. + Zhoverformat String `json:"zhoverformat,omitempty"` + + // Zsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `z`. + Zsrc String `json:"zsrc,omitempty"` +} + +// VolumeCapsX +type VolumeCapsX struct { + + // Fill + // arrayOK: false + // type: number + // 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. + Fill float64 `json:"fill,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // 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. + Show Bool `json:"show,omitempty"` +} + +// VolumeCapsY +type VolumeCapsY struct { + + // Fill + // arrayOK: false + // type: number + // 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. + Fill float64 `json:"fill,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // 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. + Show Bool `json:"show,omitempty"` +} + +// VolumeCapsZ +type VolumeCapsZ struct { + + // Fill + // arrayOK: false + // type: number + // 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. + Fill float64 `json:"fill,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // 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. + Show Bool `json:"show,omitempty"` +} + +// VolumeCaps +type VolumeCaps struct { + + // X + // role: Object + X *VolumeCapsX `json:"x,omitempty"` + + // Y + // role: Object + Y *VolumeCapsY `json:"y,omitempty"` + + // Z + // role: Object + Z *VolumeCapsZ `json:"z,omitempty"` +} + +// VolumeColorbarTickfont Sets the color bar's tick label font +type VolumeColorbarTickfont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// VolumeColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute. +type VolumeColorbarTitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// VolumeColorbarTitle +type VolumeColorbarTitle struct { + + // Font + // role: Object + Font *VolumeColorbarTitleFont `json:"font,omitempty"` + + // Side + // default: %!s() + // type: enumerated + // 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. + Side VolumeColorbarTitleSide `json:"side,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated. + Text String `json:"text,omitempty"` +} + +// VolumeColorbar +type VolumeColorbar struct { + + // Bgcolor + // arrayOK: false + // type: color + // Sets the color of padded area. + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bordercolor + // arrayOK: false + // type: color + // Sets the axis line color. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Borderwidth + // arrayOK: false + // type: number + // Sets the width (in px) or the border enclosing this color bar. + Borderwidth float64 `json:"borderwidth,omitempty"` + + // Dtick + // arrayOK: false + // type: any + // 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*, 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* 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* + Dtick interface{} `json:"dtick,omitempty"` + + // Exponentformat + // default: B + // type: enumerated + // 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. + Exponentformat VolumeColorbarExponentformat `json:"exponentformat,omitempty"` + + // Labelalias + // arrayOK: false + // type: any + // 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. + Labelalias interface{} `json:"labelalias,omitempty"` + + // Len + // arrayOK: false + // type: number + // 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. + Len float64 `json:"len,omitempty"` + + // Lenmode + // default: fraction + // type: enumerated + // 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. + Lenmode VolumeColorbarLenmode `json:"lenmode,omitempty"` + + // Minexponent + // arrayOK: false + // type: number + // Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*. + Minexponent float64 `json:"minexponent,omitempty"` + + // Nticks + // arrayOK: false + // 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*. + Nticks int64 `json:"nticks,omitempty"` + + // Orientation + // default: v + // type: enumerated + // Sets the orientation of the colorbar. + Orientation VolumeColorbarOrientation `json:"orientation,omitempty"` + + // Outlinecolor + // arrayOK: false + // type: color + // Sets the axis line color. + Outlinecolor Color `json:"outlinecolor,omitempty"` + + // Outlinewidth + // arrayOK: false + // type: number + // Sets the width (in px) of the axis line. + Outlinewidth float64 `json:"outlinewidth,omitempty"` + + // Separatethousands + // arrayOK: false + // type: boolean + // If "true", even 4-digit integers are separated + Separatethousands Bool `json:"separatethousands,omitempty"` + + // Showexponent + // default: all + // type: enumerated + // 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. + Showexponent VolumeColorbarShowexponent `json:"showexponent,omitempty"` + + // Showticklabels + // arrayOK: false + // type: boolean + // Determines whether or not the tick labels are drawn. + Showticklabels Bool `json:"showticklabels,omitempty"` + + // Showtickprefix + // default: all + // type: enumerated + // 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. + Showtickprefix VolumeColorbarShowtickprefix `json:"showtickprefix,omitempty"` + + // Showticksuffix + // default: all + // type: enumerated + // Same as `showtickprefix` but for tick suffixes. + Showticksuffix VolumeColorbarShowticksuffix `json:"showticksuffix,omitempty"` + + // Thickness + // arrayOK: false + // type: number + // Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels. + Thickness float64 `json:"thickness,omitempty"` + + // Thicknessmode + // default: pixels + // type: enumerated + // 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. + Thicknessmode VolumeColorbarThicknessmode `json:"thicknessmode,omitempty"` + + // Tick0 + // arrayOK: false + // type: any + // 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* (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. + Tick0 interface{} `json:"tick0,omitempty"` + + // Tickangle + // arrayOK: false + // type: angle + // Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically. + Tickangle float64 `json:"tickangle,omitempty"` + + // Tickcolor + // arrayOK: false + // type: color + // Sets the tick color. + Tickcolor Color `json:"tickcolor,omitempty"` + + // Tickfont + // role: Object + Tickfont *VolumeColorbarTickfont `json:"tickfont,omitempty"` + + // Tickformat + // arrayOK: false + // 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* + Tickformat String `json:"tickformat,omitempty"` + + // Tickformatstops + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Tickformatstops interface{} `json:"tickformatstops,omitempty"` + + // Ticklabeloverflow + // default: %!s() + // type: enumerated + // 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*. + Ticklabeloverflow VolumeColorbarTicklabeloverflow `json:"ticklabeloverflow,omitempty"` + + // Ticklabelposition + // default: outside + // type: enumerated + // 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*. + Ticklabelposition VolumeColorbarTicklabelposition `json:"ticklabelposition,omitempty"` + + // Ticklabelstep + // arrayOK: false + // type: integer + // 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*. + Ticklabelstep int64 `json:"ticklabelstep,omitempty"` + + // Ticklen + // arrayOK: false + // type: number + // Sets the tick length (in px). + Ticklen float64 `json:"ticklen,omitempty"` + + // Tickmode + // default: %!s() + // type: enumerated + // 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). + Tickmode VolumeColorbarTickmode `json:"tickmode,omitempty"` + + // Tickprefix + // arrayOK: false + // type: string + // Sets a tick label prefix. + Tickprefix String `json:"tickprefix,omitempty"` + + // Ticks + // default: + // type: enumerated + // 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. + Ticks VolumeColorbarTicks `json:"ticks,omitempty"` + + // Ticksuffix + // arrayOK: false + // type: string + // Sets a tick label suffix. + Ticksuffix String `json:"ticksuffix,omitempty"` + + // Ticktext + // arrayOK: false + // 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`. + Ticktext interface{} `json:"ticktext,omitempty"` + + // Ticktextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ticktext`. + Ticktextsrc String `json:"ticktextsrc,omitempty"` + + // Tickvals + // arrayOK: false + // 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`. + Tickvals interface{} `json:"tickvals,omitempty"` + + // Tickvalssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `tickvals`. + Tickvalssrc String `json:"tickvalssrc,omitempty"` + + // Tickwidth + // arrayOK: false + // type: number + // Sets the tick width (in px). + Tickwidth float64 `json:"tickwidth,omitempty"` + + // Title + // role: Object + Title *VolumeColorbarTitle `json:"title,omitempty"` + + // X + // arrayOK: false + // 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*. + X float64 `json:"x,omitempty"` + + // Xanchor + // default: %!s() + // type: enumerated + // 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*. + Xanchor VolumeColorbarXanchor `json:"xanchor,omitempty"` + + // Xpad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the x direction. + Xpad float64 `json:"xpad,omitempty"` + + // Xref + // default: paper + // type: enumerated + // Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. + Xref VolumeColorbarXref `json:"xref,omitempty"` + + // Y + // arrayOK: false + // 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*. + Y float64 `json:"y,omitempty"` + + // Yanchor + // default: %!s() + // type: enumerated + // 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*. + Yanchor VolumeColorbarYanchor `json:"yanchor,omitempty"` + + // Ypad + // arrayOK: false + // type: number + // Sets the amount of padding (in px) along the y direction. + Ypad float64 `json:"ypad,omitempty"` + + // Yref + // default: paper + // type: enumerated + // Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. + Yref VolumeColorbarYref `json:"yref,omitempty"` +} + +// VolumeContour +type VolumeContour struct { + + // Color + // arrayOK: false + // type: color + // Sets the color of the contour lines. + Color Color `json:"color,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // Sets whether or not dynamic contours are shown on hover + Show Bool `json:"show,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the width of the contour lines. + Width float64 `json:"width,omitempty"` +} + +// VolumeHoverlabelFont Sets the font used in hover labels. +type VolumeHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// VolumeHoverlabel +type VolumeHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align VolumeHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *VolumeHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// VolumeLegendgrouptitleFont Sets this legend group's title font. +type VolumeLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// VolumeLegendgrouptitle +type VolumeLegendgrouptitle struct { + + // Font + // role: Object + Font *VolumeLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// VolumeLighting +type VolumeLighting struct { + + // Ambient + // arrayOK: false + // type: number + // Ambient light increases overall color visibility but can wash out the image. + Ambient float64 `json:"ambient,omitempty"` + + // Diffuse + // arrayOK: false + // type: number + // Represents the extent that incident rays are reflected in a range of angles. + Diffuse float64 `json:"diffuse,omitempty"` + + // Facenormalsepsilon + // arrayOK: false + // type: number + // Epsilon for face normals calculation avoids math issues arising from degenerate geometry. + Facenormalsepsilon float64 `json:"facenormalsepsilon,omitempty"` + + // Fresnel + // arrayOK: false + // type: number + // 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. + Fresnel float64 `json:"fresnel,omitempty"` + + // Roughness + // arrayOK: false + // type: number + // Alters specular reflection; the rougher the surface, the wider and less contrasty the shine. + Roughness float64 `json:"roughness,omitempty"` + + // Specular + // arrayOK: false + // type: number + // Represents the level that incident rays are reflected in a single direction, causing shine. + Specular float64 `json:"specular,omitempty"` + + // Vertexnormalsepsilon + // arrayOK: false + // type: number + // Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry. + Vertexnormalsepsilon float64 `json:"vertexnormalsepsilon,omitempty"` +} + +// VolumeLightposition +type VolumeLightposition struct { + + // X + // arrayOK: false + // type: number + // Numeric vector, representing the X coordinate for each vertex. + X float64 `json:"x,omitempty"` + + // Y + // arrayOK: false + // type: number + // Numeric vector, representing the Y coordinate for each vertex. + Y float64 `json:"y,omitempty"` + + // Z + // arrayOK: false + // type: number + // Numeric vector, representing the Z coordinate for each vertex. + Z float64 `json:"z,omitempty"` +} + +// VolumeSlicesX +type VolumeSlicesX struct { + + // Fill + // arrayOK: false + // type: number + // 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. + Fill float64 `json:"fill,omitempty"` + + // Locations + // arrayOK: false + // 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. + Locations interface{} `json:"locations,omitempty"` + + // Locationssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `locations`. + Locationssrc String `json:"locationssrc,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // Determines whether or not slice planes about the x dimension are drawn. + Show Bool `json:"show,omitempty"` +} + +// VolumeSlicesY +type VolumeSlicesY struct { + + // Fill + // arrayOK: false + // type: number + // 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. + Fill float64 `json:"fill,omitempty"` + + // Locations + // arrayOK: false + // 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. + Locations interface{} `json:"locations,omitempty"` + + // Locationssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `locations`. + Locationssrc String `json:"locationssrc,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // Determines whether or not slice planes about the y dimension are drawn. + Show Bool `json:"show,omitempty"` +} + +// VolumeSlicesZ +type VolumeSlicesZ struct { + + // Fill + // arrayOK: false + // type: number + // 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. + Fill float64 `json:"fill,omitempty"` + + // Locations + // arrayOK: false + // 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. + Locations interface{} `json:"locations,omitempty"` + + // Locationssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `locations`. + Locationssrc String `json:"locationssrc,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // Determines whether or not slice planes about the z dimension are drawn. + Show Bool `json:"show,omitempty"` +} + +// VolumeSlices +type VolumeSlices struct { + + // X + // role: Object + X *VolumeSlicesX `json:"x,omitempty"` + + // Y + // role: Object + Y *VolumeSlicesY `json:"y,omitempty"` + + // Z + // role: Object + Z *VolumeSlicesZ `json:"z,omitempty"` +} + +// VolumeSpaceframe +type VolumeSpaceframe struct { + + // Fill + // arrayOK: false + // type: number + // 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. + Fill float64 `json:"fill,omitempty"` + + // Show + // arrayOK: false + // 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. + Show Bool `json:"show,omitempty"` +} + +// VolumeStream +type VolumeStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// VolumeSurface +type VolumeSurface struct { + + // Count + // arrayOK: false + // type: integer + // 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. + Count int64 `json:"count,omitempty"` + + // Fill + // arrayOK: false + // type: number + // 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. + Fill float64 `json:"fill,omitempty"` + + // Pattern + // default: all + // type: flaglist + // 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. + Pattern VolumeSurfacePattern `json:"pattern,omitempty"` + + // Show + // arrayOK: false + // type: boolean + // Hides/displays surfaces between minimum and maximum iso-values. + Show Bool `json:"show,omitempty"` +} + +// VolumeColorbarExponentformat 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. +type VolumeColorbarExponentformat string + +const ( + VolumeColorbarExponentformatNone VolumeColorbarExponentformat = "none" + VolumeColorbarExponentformatE1 VolumeColorbarExponentformat = "e" + VolumeColorbarExponentformatE2 VolumeColorbarExponentformat = "E" + VolumeColorbarExponentformatPower VolumeColorbarExponentformat = "power" + VolumeColorbarExponentformatSI VolumeColorbarExponentformat = "SI" + VolumeColorbarExponentformatB VolumeColorbarExponentformat = "B" +) + +// VolumeColorbarLenmode 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. +type VolumeColorbarLenmode string + +const ( + VolumeColorbarLenmodeFraction VolumeColorbarLenmode = "fraction" + VolumeColorbarLenmodePixels VolumeColorbarLenmode = "pixels" +) + +// VolumeColorbarOrientation Sets the orientation of the colorbar. +type VolumeColorbarOrientation string + +const ( + VolumeColorbarOrientationH VolumeColorbarOrientation = "h" + VolumeColorbarOrientationV VolumeColorbarOrientation = "v" +) + +// VolumeColorbarShowexponent 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. +type VolumeColorbarShowexponent string + +const ( + VolumeColorbarShowexponentAll VolumeColorbarShowexponent = "all" + VolumeColorbarShowexponentFirst VolumeColorbarShowexponent = "first" + VolumeColorbarShowexponentLast VolumeColorbarShowexponent = "last" + VolumeColorbarShowexponentNone VolumeColorbarShowexponent = "none" +) + +// VolumeColorbarShowtickprefix 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. +type VolumeColorbarShowtickprefix string + +const ( + VolumeColorbarShowtickprefixAll VolumeColorbarShowtickprefix = "all" + VolumeColorbarShowtickprefixFirst VolumeColorbarShowtickprefix = "first" + VolumeColorbarShowtickprefixLast VolumeColorbarShowtickprefix = "last" + VolumeColorbarShowtickprefixNone VolumeColorbarShowtickprefix = "none" +) + +// VolumeColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes. +type VolumeColorbarShowticksuffix string + +const ( + VolumeColorbarShowticksuffixAll VolumeColorbarShowticksuffix = "all" + VolumeColorbarShowticksuffixFirst VolumeColorbarShowticksuffix = "first" + VolumeColorbarShowticksuffixLast VolumeColorbarShowticksuffix = "last" + VolumeColorbarShowticksuffixNone VolumeColorbarShowticksuffix = "none" +) + +// VolumeColorbarThicknessmode 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. +type VolumeColorbarThicknessmode string + +const ( + VolumeColorbarThicknessmodeFraction VolumeColorbarThicknessmode = "fraction" + VolumeColorbarThicknessmodePixels VolumeColorbarThicknessmode = "pixels" +) + +// VolumeColorbarTicklabeloverflow 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*. +type VolumeColorbarTicklabeloverflow string + +const ( + VolumeColorbarTicklabeloverflowAllow VolumeColorbarTicklabeloverflow = "allow" + VolumeColorbarTicklabeloverflowHidePastDiv VolumeColorbarTicklabeloverflow = "hide past div" + VolumeColorbarTicklabeloverflowHidePastDomain VolumeColorbarTicklabeloverflow = "hide past domain" +) + +// VolumeColorbarTicklabelposition 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*. +type VolumeColorbarTicklabelposition string + +const ( + VolumeColorbarTicklabelpositionOutside VolumeColorbarTicklabelposition = "outside" + VolumeColorbarTicklabelpositionInside VolumeColorbarTicklabelposition = "inside" + VolumeColorbarTicklabelpositionOutsideTop VolumeColorbarTicklabelposition = "outside top" + VolumeColorbarTicklabelpositionInsideTop VolumeColorbarTicklabelposition = "inside top" + VolumeColorbarTicklabelpositionOutsideLeft VolumeColorbarTicklabelposition = "outside left" + VolumeColorbarTicklabelpositionInsideLeft VolumeColorbarTicklabelposition = "inside left" + VolumeColorbarTicklabelpositionOutsideRight VolumeColorbarTicklabelposition = "outside right" + VolumeColorbarTicklabelpositionInsideRight VolumeColorbarTicklabelposition = "inside right" + VolumeColorbarTicklabelpositionOutsideBottom VolumeColorbarTicklabelposition = "outside bottom" + VolumeColorbarTicklabelpositionInsideBottom VolumeColorbarTicklabelposition = "inside bottom" +) + +// VolumeColorbarTickmode 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). +type VolumeColorbarTickmode string + +const ( + VolumeColorbarTickmodeAuto VolumeColorbarTickmode = "auto" + VolumeColorbarTickmodeLinear VolumeColorbarTickmode = "linear" + VolumeColorbarTickmodeArray VolumeColorbarTickmode = "array" +) + +// VolumeColorbarTicks 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. +type VolumeColorbarTicks string + +const ( + VolumeColorbarTicksOutside VolumeColorbarTicks = "outside" + VolumeColorbarTicksInside VolumeColorbarTicks = "inside" + VolumeColorbarTicksEmpty VolumeColorbarTicks = "" +) + +// VolumeColorbarTitleSide 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*. Note that the title's location used to be set by the now deprecated `titleside` attribute. +type VolumeColorbarTitleSide string + +const ( + VolumeColorbarTitleSideRight VolumeColorbarTitleSide = "right" + VolumeColorbarTitleSideTop VolumeColorbarTitleSide = "top" + VolumeColorbarTitleSideBottom VolumeColorbarTitleSide = "bottom" +) + +// VolumeColorbarXanchor 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*. +type VolumeColorbarXanchor string + +const ( + VolumeColorbarXanchorLeft VolumeColorbarXanchor = "left" + VolumeColorbarXanchorCenter VolumeColorbarXanchor = "center" + VolumeColorbarXanchorRight VolumeColorbarXanchor = "right" +) + +// VolumeColorbarXref Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only. +type VolumeColorbarXref string + +const ( + VolumeColorbarXrefContainer VolumeColorbarXref = "container" + VolumeColorbarXrefPaper VolumeColorbarXref = "paper" +) + +// VolumeColorbarYanchor 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*. +type VolumeColorbarYanchor string + +const ( + VolumeColorbarYanchorTop VolumeColorbarYanchor = "top" + VolumeColorbarYanchorMiddle VolumeColorbarYanchor = "middle" + VolumeColorbarYanchorBottom VolumeColorbarYanchor = "bottom" +) + +// VolumeColorbarYref Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only. +type VolumeColorbarYref string + +const ( + VolumeColorbarYrefContainer VolumeColorbarYref = "container" + VolumeColorbarYrefPaper VolumeColorbarYref = "paper" +) + +// VolumeHoverlabelAlign 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 +type VolumeHoverlabelAlign string + +const ( + VolumeHoverlabelAlignLeft VolumeHoverlabelAlign = "left" + VolumeHoverlabelAlignRight VolumeHoverlabelAlign = "right" + VolumeHoverlabelAlignAuto VolumeHoverlabelAlign = "auto" +) + +// VolumeVisible 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). +type VolumeVisible interface{} + +var ( + VolumeVisibleTrue VolumeVisible = true + VolumeVisibleFalse VolumeVisible = false + VolumeVisibleLegendonly VolumeVisible = "legendonly" +) + +// VolumeHoverinfo 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. +type VolumeHoverinfo string + +const ( + // Flags + VolumeHoverinfoX VolumeHoverinfo = "x" + VolumeHoverinfoY VolumeHoverinfo = "y" + VolumeHoverinfoZ VolumeHoverinfo = "z" + VolumeHoverinfoText VolumeHoverinfo = "text" + VolumeHoverinfoName VolumeHoverinfo = "name" + + // Extra + VolumeHoverinfoAll VolumeHoverinfo = "all" + VolumeHoverinfoNone VolumeHoverinfo = "none" + VolumeHoverinfoSkip VolumeHoverinfo = "skip" +) + +// VolumeSurfacePattern 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. +type VolumeSurfacePattern string + +const ( + // Flags + VolumeSurfacePatternA VolumeSurfacePattern = "A" + VolumeSurfacePatternB VolumeSurfacePattern = "B" + VolumeSurfacePatternC VolumeSurfacePattern = "C" + VolumeSurfacePatternD VolumeSurfacePattern = "D" + VolumeSurfacePatternE VolumeSurfacePattern = "E" + + // Extra + VolumeSurfacePatternAll VolumeSurfacePattern = "all" + VolumeSurfacePatternOdd VolumeSurfacePattern = "odd" + VolumeSurfacePatternEven VolumeSurfacePattern = "even" +) diff --git a/generated/v2.31.1/graph_objects/waterfall_gen.go b/generated/v2.31.1/graph_objects/waterfall_gen.go new file mode 100644 index 0000000..451c01f --- /dev/null +++ b/generated/v2.31.1/graph_objects/waterfall_gen.go @@ -0,0 +1,980 @@ +package grob + +// Code generated by go-plotly/generator. DO NOT EDIT. + +var TraceTypeWaterfall TraceType = "waterfall" + +func (trace *Waterfall) GetType() TraceType { + return TraceTypeWaterfall +} + +// Waterfall 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. +type Waterfall struct { + + // Type + // is the type of the plot + Type TraceType `json:"type,omitempty"` + + // Alignmentgroup + // arrayOK: false + // 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. + Alignmentgroup String `json:"alignmentgroup,omitempty"` + + // Base + // arrayOK: false + // type: number + // Sets where the bar base is drawn (in position axis units). + Base float64 `json:"base,omitempty"` + + // Cliponaxis + // arrayOK: false + // type: boolean + // 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*. + Cliponaxis Bool `json:"cliponaxis,omitempty"` + + // Connector + // role: Object + Connector *WaterfallConnector `json:"connector,omitempty"` + + // Constraintext + // default: both + // type: enumerated + // Constrain the size of text inside or outside a bar to be no larger than the bar itself. + Constraintext WaterfallConstraintext `json:"constraintext,omitempty"` + + // Customdata + // arrayOK: false + // 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 + Customdata interface{} `json:"customdata,omitempty"` + + // Customdatasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `customdata`. + Customdatasrc String `json:"customdatasrc,omitempty"` + + // Decreasing + // role: Object + Decreasing *WaterfallDecreasing `json:"decreasing,omitempty"` + + // Dx + // arrayOK: false + // type: number + // Sets the x coordinate step. See `x0` for more info. + Dx float64 `json:"dx,omitempty"` + + // Dy + // arrayOK: false + // type: number + // Sets the y coordinate step. See `y0` for more info. + Dy float64 `json:"dy,omitempty"` + + // Hoverinfo + // default: all + // type: flaglist + // 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. + Hoverinfo WaterfallHoverinfo `json:"hoverinfo,omitempty"` + + // Hoverinfosrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hoverinfo`. + Hoverinfosrc String `json:"hoverinfosrc,omitempty"` + + // Hoverlabel + // role: Object + Hoverlabel *WaterfallHoverlabel `json:"hoverlabel,omitempty"` + + // Hovertemplate + // arrayOK: true + // 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. Finally, the template string has access to variables `initial`, `delta` and `final`. Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``. + Hovertemplate String `json:"hovertemplate,omitempty"` + + // Hovertemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertemplate`. + Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"` + + // Hovertext + // arrayOK: true + // type: string + // 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. + Hovertext String `json:"hovertext,omitempty"` + + // Hovertextsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `hovertext`. + Hovertextsrc String `json:"hovertextsrc,omitempty"` + + // Ids + // arrayOK: false + // 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. + Ids interface{} `json:"ids,omitempty"` + + // Idssrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `ids`. + Idssrc String `json:"idssrc,omitempty"` + + // Increasing + // role: Object + Increasing *WaterfallIncreasing `json:"increasing,omitempty"` + + // Insidetextanchor + // default: end + // type: enumerated + // Determines if texts are kept at center or start/end points in `textposition` *inside* mode. + Insidetextanchor WaterfallInsidetextanchor `json:"insidetextanchor,omitempty"` + + // Insidetextfont + // role: Object + Insidetextfont *WaterfallInsidetextfont `json:"insidetextfont,omitempty"` + + // Legend + // arrayOK: false + // type: subplotid + // 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. + Legend String `json:"legend,omitempty"` + + // Legendgroup + // arrayOK: false + // 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. + Legendgroup String `json:"legendgroup,omitempty"` + + // Legendgrouptitle + // role: Object + Legendgrouptitle *WaterfallLegendgrouptitle `json:"legendgrouptitle,omitempty"` + + // Legendrank + // arrayOK: false + // type: number + // 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. + Legendrank float64 `json:"legendrank,omitempty"` + + // Legendwidth + // arrayOK: false + // type: number + // Sets the width (in px or fraction) of the legend for this trace. + Legendwidth float64 `json:"legendwidth,omitempty"` + + // Measure + // arrayOK: false + // 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. + Measure interface{} `json:"measure,omitempty"` + + // Measuresrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `measure`. + Measuresrc String `json:"measuresrc,omitempty"` + + // Meta + // arrayOK: true + // type: any + // 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. + Meta interface{} `json:"meta,omitempty"` + + // Metasrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `meta`. + Metasrc String `json:"metasrc,omitempty"` + + // Name + // arrayOK: false + // type: string + // Sets the trace name. The trace name appears as the legend item and on hover. + Name String `json:"name,omitempty"` + + // Offset + // arrayOK: true + // 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. + Offset float64 `json:"offset,omitempty"` + + // Offsetgroup + // arrayOK: false + // 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. + Offsetgroup String `json:"offsetgroup,omitempty"` + + // Offsetsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `offset`. + Offsetsrc String `json:"offsetsrc,omitempty"` + + // Opacity + // arrayOK: false + // type: number + // Sets the opacity of the trace. + Opacity float64 `json:"opacity,omitempty"` + + // Orientation + // default: %!s() + // type: enumerated + // Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal). + Orientation WaterfallOrientation `json:"orientation,omitempty"` + + // Outsidetextfont + // role: Object + Outsidetextfont *WaterfallOutsidetextfont `json:"outsidetextfont,omitempty"` + + // Selectedpoints + // arrayOK: false + // type: any + // 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. + Selectedpoints interface{} `json:"selectedpoints,omitempty"` + + // Showlegend + // arrayOK: false + // type: boolean + // Determines whether or not an item corresponding to this trace is shown in the legend. + Showlegend Bool `json:"showlegend,omitempty"` + + // Stream + // role: Object + Stream *WaterfallStream `json:"stream,omitempty"` + + // Text + // arrayOK: true + // type: string + // 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. + Text String `json:"text,omitempty"` + + // Textangle + // arrayOK: false + // 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. + Textangle float64 `json:"textangle,omitempty"` + + // Textfont + // role: Object + Textfont *WaterfallTextfont `json:"textfont,omitempty"` + + // Textinfo + // default: %!s() + // type: flaglist + // Determines which trace information appear on the graph. In the case of having multiple waterfalls, totals are computed separately (per trace). + Textinfo WaterfallTextinfo `json:"textinfo,omitempty"` + + // Textposition + // default: auto + // type: enumerated + // 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. + Textposition WaterfallTextposition `json:"textposition,omitempty"` + + // Textpositionsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `textposition`. + Textpositionsrc String `json:"textpositionsrc,omitempty"` + + // Textsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `text`. + Textsrc String `json:"textsrc,omitempty"` + + // Texttemplate + // arrayOK: true + // 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 `initial`, `delta`, `final` and `label`. + Texttemplate String `json:"texttemplate,omitempty"` + + // Texttemplatesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `texttemplate`. + Texttemplatesrc String `json:"texttemplatesrc,omitempty"` + + // Totals + // role: Object + Totals *WaterfallTotals `json:"totals,omitempty"` + + // Transforms + // It's an items array and what goes inside it's... messy... check the docs + // I will be happy if you want to contribute by implementing this + // just raise an issue before you start so we do not overlap + Transforms interface{} `json:"transforms,omitempty"` + + // Uid + // arrayOK: false + // type: string + // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. + Uid String `json:"uid,omitempty"` + + // Uirevision + // arrayOK: false + // type: any + // 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. + Uirevision interface{} `json:"uirevision,omitempty"` + + // Visible + // default: %!s(bool=true) + // type: enumerated + // 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). + Visible WaterfallVisible `json:"visible,omitempty"` + + // Width + // arrayOK: true + // type: number + // Sets the bar width (in position axis units). + Width float64 `json:"width,omitempty"` + + // Widthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `width`. + Widthsrc String `json:"widthsrc,omitempty"` + + // X + // arrayOK: false + // type: data_array + // Sets the x coordinates. + X interface{} `json:"x,omitempty"` + + // X0 + // arrayOK: false + // type: any + // Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step. + X0 interface{} `json:"x0,omitempty"` + + // Xaxis + // arrayOK: false + // type: subplotid + // 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. + Xaxis String `json:"xaxis,omitempty"` + + // Xhoverformat + // arrayOK: false + // 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`. + Xhoverformat String `json:"xhoverformat,omitempty"` + + // Xperiod + // arrayOK: false + // type: any + // Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer. + Xperiod interface{} `json:"xperiod,omitempty"` + + // Xperiod0 + // arrayOK: false + // type: any + // 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. + Xperiod0 interface{} `json:"xperiod0,omitempty"` + + // Xperiodalignment + // default: middle + // type: enumerated + // Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. + Xperiodalignment WaterfallXperiodalignment `json:"xperiodalignment,omitempty"` + + // Xsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `x`. + Xsrc String `json:"xsrc,omitempty"` + + // Y + // arrayOK: false + // type: data_array + // Sets the y coordinates. + Y interface{} `json:"y,omitempty"` + + // Y0 + // arrayOK: false + // type: any + // Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step. + Y0 interface{} `json:"y0,omitempty"` + + // Yaxis + // arrayOK: false + // type: subplotid + // 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. + Yaxis String `json:"yaxis,omitempty"` + + // Yhoverformat + // arrayOK: false + // 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`. + Yhoverformat String `json:"yhoverformat,omitempty"` + + // Yperiod + // arrayOK: false + // type: any + // Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the y axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer. + Yperiod interface{} `json:"yperiod,omitempty"` + + // Yperiod0 + // arrayOK: false + // type: any + // 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. + Yperiod0 interface{} `json:"yperiod0,omitempty"` + + // Yperiodalignment + // default: middle + // type: enumerated + // Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis. + Yperiodalignment WaterfallYperiodalignment `json:"yperiodalignment,omitempty"` + + // Ysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `y`. + Ysrc String `json:"ysrc,omitempty"` + + // Zorder + // arrayOK: false + // 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`. + Zorder int64 `json:"zorder,omitempty"` +} + +// WaterfallConnectorLine +type WaterfallConnectorLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the line color. + Color Color `json:"color,omitempty"` + + // Dash + // arrayOK: false + // type: string + // 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*). + Dash String `json:"dash,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width (in px). + Width float64 `json:"width,omitempty"` +} + +// WaterfallConnector +type WaterfallConnector struct { + + // Line + // role: Object + Line *WaterfallConnectorLine `json:"line,omitempty"` + + // Mode + // default: between + // type: enumerated + // Sets the shape of connector lines. + Mode WaterfallConnectorMode `json:"mode,omitempty"` + + // Visible + // arrayOK: false + // type: boolean + // Determines if connector lines are drawn. + Visible Bool `json:"visible,omitempty"` +} + +// WaterfallDecreasingMarkerLine +type WaterfallDecreasingMarkerLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the line color of all decreasing values. + Color Color `json:"color,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width of all decreasing values. + Width float64 `json:"width,omitempty"` +} + +// WaterfallDecreasingMarker +type WaterfallDecreasingMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of all decreasing values. + Color Color `json:"color,omitempty"` + + // Line + // role: Object + Line *WaterfallDecreasingMarkerLine `json:"line,omitempty"` +} + +// WaterfallDecreasing +type WaterfallDecreasing struct { + + // Marker + // role: Object + Marker *WaterfallDecreasingMarker `json:"marker,omitempty"` +} + +// WaterfallHoverlabelFont Sets the font used in hover labels. +type WaterfallHoverlabelFont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// WaterfallHoverlabel +type WaterfallHoverlabel struct { + + // Align + // default: auto + // type: enumerated + // 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 + Align WaterfallHoverlabelAlign `json:"align,omitempty"` + + // Alignsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `align`. + Alignsrc String `json:"alignsrc,omitempty"` + + // Bgcolor + // arrayOK: true + // type: color + // Sets the background color of the hover labels for this trace + Bgcolor Color `json:"bgcolor,omitempty"` + + // Bgcolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bgcolor`. + Bgcolorsrc String `json:"bgcolorsrc,omitempty"` + + // Bordercolor + // arrayOK: true + // type: color + // Sets the border color of the hover labels for this trace. + Bordercolor Color `json:"bordercolor,omitempty"` + + // Bordercolorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `bordercolor`. + Bordercolorsrc String `json:"bordercolorsrc,omitempty"` + + // Font + // role: Object + Font *WaterfallHoverlabelFont `json:"font,omitempty"` + + // Namelength + // arrayOK: true + // type: integer + // 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. + Namelength int64 `json:"namelength,omitempty"` + + // Namelengthsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `namelength`. + Namelengthsrc String `json:"namelengthsrc,omitempty"` +} + +// WaterfallIncreasingMarkerLine +type WaterfallIncreasingMarkerLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the line color of all increasing values. + Color Color `json:"color,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width of all increasing values. + Width float64 `json:"width,omitempty"` +} + +// WaterfallIncreasingMarker +type WaterfallIncreasingMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of all increasing values. + Color Color `json:"color,omitempty"` + + // Line + // role: Object + Line *WaterfallIncreasingMarkerLine `json:"line,omitempty"` +} + +// WaterfallIncreasing +type WaterfallIncreasing struct { + + // Marker + // role: Object + Marker *WaterfallIncreasingMarker `json:"marker,omitempty"` +} + +// WaterfallInsidetextfont Sets the font used for `text` lying inside the bar. +type WaterfallInsidetextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// WaterfallLegendgrouptitleFont Sets this legend group's title font. +type WaterfallLegendgrouptitleFont struct { + + // Color + // arrayOK: false + // type: color + // + Color Color `json:"color,omitempty"` + + // Family + // arrayOK: false + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Size + // arrayOK: false + // type: number + // + Size float64 `json:"size,omitempty"` +} + +// WaterfallLegendgrouptitle +type WaterfallLegendgrouptitle struct { + + // Font + // role: Object + Font *WaterfallLegendgrouptitleFont `json:"font,omitempty"` + + // Text + // arrayOK: false + // type: string + // Sets the title of the legend group. + Text String `json:"text,omitempty"` +} + +// WaterfallOutsidetextfont Sets the font used for `text` lying outside the bar. +type WaterfallOutsidetextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// WaterfallStream +type WaterfallStream struct { + + // Maxpoints + // arrayOK: false + // type: number + // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. + Maxpoints float64 `json:"maxpoints,omitempty"` + + // Token + // arrayOK: false + // type: string + // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. + Token String `json:"token,omitempty"` +} + +// WaterfallTextfont Sets the font used for `text`. +type WaterfallTextfont struct { + + // Color + // arrayOK: true + // type: color + // + Color Color `json:"color,omitempty"` + + // Colorsrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `color`. + Colorsrc String `json:"colorsrc,omitempty"` + + // Family + // arrayOK: true + // type: string + // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. + Family String `json:"family,omitempty"` + + // Familysrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `family`. + Familysrc String `json:"familysrc,omitempty"` + + // Size + // arrayOK: true + // type: number + // + Size float64 `json:"size,omitempty"` + + // Sizesrc + // arrayOK: false + // type: string + // Sets the source reference on Chart Studio Cloud for `size`. + Sizesrc String `json:"sizesrc,omitempty"` +} + +// WaterfallTotalsMarkerLine +type WaterfallTotalsMarkerLine struct { + + // Color + // arrayOK: false + // type: color + // Sets the line color of all intermediate sums and total values. + Color Color `json:"color,omitempty"` + + // Width + // arrayOK: false + // type: number + // Sets the line width of all intermediate sums and total values. + Width float64 `json:"width,omitempty"` +} + +// WaterfallTotalsMarker +type WaterfallTotalsMarker struct { + + // Color + // arrayOK: false + // type: color + // Sets the marker color of all intermediate sums and total values. + Color Color `json:"color,omitempty"` + + // Line + // role: Object + Line *WaterfallTotalsMarkerLine `json:"line,omitempty"` +} + +// WaterfallTotals +type WaterfallTotals struct { + + // Marker + // role: Object + Marker *WaterfallTotalsMarker `json:"marker,omitempty"` +} + +// WaterfallConnectorMode Sets the shape of connector lines. +type WaterfallConnectorMode string + +const ( + WaterfallConnectorModeSpanning WaterfallConnectorMode = "spanning" + WaterfallConnectorModeBetween WaterfallConnectorMode = "between" +) + +// WaterfallConstraintext Constrain the size of text inside or outside a bar to be no larger than the bar itself. +type WaterfallConstraintext string + +const ( + WaterfallConstraintextInside WaterfallConstraintext = "inside" + WaterfallConstraintextOutside WaterfallConstraintext = "outside" + WaterfallConstraintextBoth WaterfallConstraintext = "both" + WaterfallConstraintextNone WaterfallConstraintext = "none" +) + +// WaterfallHoverlabelAlign 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 +type WaterfallHoverlabelAlign string + +const ( + WaterfallHoverlabelAlignLeft WaterfallHoverlabelAlign = "left" + WaterfallHoverlabelAlignRight WaterfallHoverlabelAlign = "right" + WaterfallHoverlabelAlignAuto WaterfallHoverlabelAlign = "auto" +) + +// WaterfallInsidetextanchor Determines if texts are kept at center or start/end points in `textposition` *inside* mode. +type WaterfallInsidetextanchor string + +const ( + WaterfallInsidetextanchorEnd WaterfallInsidetextanchor = "end" + WaterfallInsidetextanchorMiddle WaterfallInsidetextanchor = "middle" + WaterfallInsidetextanchorStart WaterfallInsidetextanchor = "start" +) + +// WaterfallOrientation Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal). +type WaterfallOrientation string + +const ( + WaterfallOrientationV WaterfallOrientation = "v" + WaterfallOrientationH WaterfallOrientation = "h" +) + +// WaterfallTextposition 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. +type WaterfallTextposition string + +const ( + WaterfallTextpositionInside WaterfallTextposition = "inside" + WaterfallTextpositionOutside WaterfallTextposition = "outside" + WaterfallTextpositionAuto WaterfallTextposition = "auto" + WaterfallTextpositionNone WaterfallTextposition = "none" +) + +// WaterfallVisible 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). +type WaterfallVisible interface{} + +var ( + WaterfallVisibleTrue WaterfallVisible = true + WaterfallVisibleFalse WaterfallVisible = false + WaterfallVisibleLegendonly WaterfallVisible = "legendonly" +) + +// WaterfallXperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis. +type WaterfallXperiodalignment string + +const ( + WaterfallXperiodalignmentStart WaterfallXperiodalignment = "start" + WaterfallXperiodalignmentMiddle WaterfallXperiodalignment = "middle" + WaterfallXperiodalignmentEnd WaterfallXperiodalignment = "end" +) + +// WaterfallYperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis. +type WaterfallYperiodalignment string + +const ( + WaterfallYperiodalignmentStart WaterfallYperiodalignment = "start" + WaterfallYperiodalignmentMiddle WaterfallYperiodalignment = "middle" + WaterfallYperiodalignmentEnd WaterfallYperiodalignment = "end" +) + +// WaterfallHoverinfo 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. +type WaterfallHoverinfo string + +const ( + // Flags + WaterfallHoverinfoName WaterfallHoverinfo = "name" + WaterfallHoverinfoX WaterfallHoverinfo = "x" + WaterfallHoverinfoY WaterfallHoverinfo = "y" + WaterfallHoverinfoText WaterfallHoverinfo = "text" + WaterfallHoverinfoInitial WaterfallHoverinfo = "initial" + WaterfallHoverinfoDelta WaterfallHoverinfo = "delta" + WaterfallHoverinfoFinal WaterfallHoverinfo = "final" + + // Extra + WaterfallHoverinfoAll WaterfallHoverinfo = "all" + WaterfallHoverinfoNone WaterfallHoverinfo = "none" + WaterfallHoverinfoSkip WaterfallHoverinfo = "skip" +) + +// WaterfallTextinfo Determines which trace information appear on the graph. In the case of having multiple waterfalls, totals are computed separately (per trace). +type WaterfallTextinfo string + +const ( + // Flags + WaterfallTextinfoLabel WaterfallTextinfo = "label" + WaterfallTextinfoText WaterfallTextinfo = "text" + WaterfallTextinfoInitial WaterfallTextinfo = "initial" + WaterfallTextinfoDelta WaterfallTextinfo = "delta" + WaterfallTextinfoFinal WaterfallTextinfo = "final" + + // Extra + WaterfallTextinfoNone WaterfallTextinfo = "none" +) diff --git a/generated/v2.31.1/offline/plot_gen.go b/generated/v2.31.1/offline/plot_gen.go new file mode 100644 index 0000000..a5cdc74 --- /dev/null +++ b/generated/v2.31.1/offline/plot_gen.go @@ -0,0 +1,93 @@ +package offline + +import ( + "bytes" + "encoding/json" + "io/ioutil" + "log" + "net/http" + "os" + "text/template" + + grob "github.com/MetalBlueberry/go-plotly/generated/v2.31.1/graph_objects" + + "github.com/pkg/browser" +) + +type Options struct { + Addr string +} + +// ToHtml saves the figure as standalone HTML. It still requires internet to load plotly.js from CDN. +func ToHtml(fig *grob.Fig, path string) { + buf := figToBuffer(fig) + ioutil.WriteFile(path, buf.Bytes(), os.ModePerm) +} + +// Show displays the figure in your browser. +// Use serve if you want a persistent view +func Show(fig *grob.Fig) { + buf := figToBuffer(fig) + browser.OpenReader(buf) +} + +func figToBuffer(fig *grob.Fig) *bytes.Buffer { + figBytes, err := json.Marshal(fig) + if err != nil { + panic(err) + } + tmpl, err := template.New("plotly").Parse(baseHtml) + if err != nil { + panic(err) + } + buf := &bytes.Buffer{} + tmpl.Execute(buf, string(figBytes)) + return buf +} + +// Serve creates a local web server that displays the image using plotly.js +// Is a good alternative to Show to avoid creating tmp files. +func Serve(fig *grob.Fig, opt ...Options) { + opts := computeOptions(Options{ + Addr: "localhost:8080", + }, opt...) + + mux := &http.ServeMux{} + srv := &http.Server{ + Handler: mux, + Addr: opts.Addr, + } + mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { + buf := figToBuffer(fig) + buf.WriteTo(w) + }) + + log.Print("Starting server") + if err := srv.ListenAndServe(); err != nil { + log.Print(err) + } + log.Print("Stop server") +} + +func computeOptions(def Options, opt ...Options) Options { + if len(opt) == 1 { + opts := opt[0] + if opts.Addr != "" { + def.Addr = opts.Addr + } + } + return def +} + +var baseHtml = ` + + + + +
+ + + ` diff --git a/generator/cmd/downloader/main.go b/generator/cmd/downloader/main.go new file mode 100644 index 0000000..3a278c1 --- /dev/null +++ b/generator/cmd/downloader/main.go @@ -0,0 +1,42 @@ +package main + +import ( + "flag" + "fmt" + "os" + + "github.com/MetalBlueberry/go-plotly/generator" +) + +// schemaPath location of the schemas file, holding all version to be created +const configPath = "schemas.yaml" + +func main() { + var schemapath string + flag.StringVar(&schemapath, "config", configPath, "yaml file defining versions to be generated") + flag.Parse() + + // Define a flag for the version + versions := generator.ReadSchemas(schemapath) + if versions == nil { + fmt.Printf("could not find versions\n") + return + } + var err error + for _, version := range versions { + + // check if version already downloaded: + _, err = os.Stat(version.Path) + if err == nil { + fmt.Printf("already downloaded version: %s\n", version.Tag) + continue + } + + // download schema + _, err = generator.DownloadSchema(version.Tag, version.URL, version.Path) + if err != nil { + fmt.Printf("failed to download version: %s\n", version.Tag) + return + } + } +} diff --git a/generator/cmd/generator/main.go b/generator/cmd/generator/main.go index 891f0b9..cba54e9 100644 --- a/generator/cmd/generator/main.go +++ b/generator/cmd/generator/main.go @@ -2,6 +2,7 @@ package main import ( "flag" + "fmt" "io" "log" "os" @@ -21,66 +22,107 @@ func (c Creator) Create(name string) (io.WriteCloser, error) { return os.Create(abs) } -//go:generate go run main.go --clean --schema ../../schema.json --output-directory ../../../graph_objects +// The generate command always executes with the working directory set to the path with the file with the directive +//go:generate go run main.go --config=../../../schemas.yaml + +const configPath = "schemas.yaml" func main() { - clean := flag.Bool("clean", false, "clean the output directory first. Mandatory on CI") - schema := flag.String("schema", "schema.json", "plotly schema") - outputDirectory := flag.String("output-directory", "gen/", "output directory, must exist before generation") + var schemapath string + var clean bool + + flag.StringVar(&schemapath, "config", configPath, "yaml file defining versions to be generated") + flag.BoolVar(&clean, "clean", false, "clean the output directory first. Mandatory on CI") flag.Parse() - file, err := os.Open(*schema) + // Define a flag for the version + schemas := generator.ReadSchemas(schemapath) + if schemas == nil { + fmt.Printf("could not find versions\n") + return + } + + root := filepath.Dir(schemapath) + + for _, schema := range schemas { + generatePackage(root, schema.Path, schema.Generated, schema.Cdn, schema.Tag, clean) + } + +} + +func rootDirectories(root, schema, output string) (string, string) { + schema = filepath.Join(root, schema) + output = filepath.Join(root, output) + + return schema, output +} + +// create the packages and write them into the specified folders +func generatePackage(projectRoot, schema, versionOutput, cdnUrl, tag string, clean bool) { + // look for the correct schema and output paths + schema, relativeVersionOutput := rootDirectories(projectRoot, schema, versionOutput) + log.Println("schema:", schema, "versionoutput", relativeVersionOutput) + + file, err := os.Open(schema) if err != nil { log.Fatalf("unable to open schema, %s", err) } - root, err := generator.LoadSchema(file) + graphObjectsOuput := filepath.Join(relativeVersionOutput, "graph_objects") + offlineOuput := filepath.Join(relativeVersionOutput, "offline") + + schemaRoot, err := generator.LoadSchema(file) if err != nil { log.Fatalf("unable to load schema, %s", err) } - r, err := generator.NewRenderer(Creator{}, root) + r, err := generator.NewRenderer(Creator{}, schemaRoot) if err != nil { log.Fatalf("unable to create a new renderer, %s", err) } - output := *outputDirectory + if clean { + for _, path := range []string{graphObjectsOuput, offlineOuput} { + err = os.RemoveAll(path) + if err != nil { + log.Fatalf("Failed to clean output directory, %s", err) + } - if *clean { - err = os.RemoveAll(output) - if err != nil { - log.Fatalf("Failed to clean output directory, %s", err) + if err = os.MkdirAll(path, 0755); err != nil { + log.Fatalf("Failed to create output dir %s, %s", path, err) + } } } - err = os.MkdirAll(output, 0755) + // plot_gen.go must be separate in an offline package + err = r.CreatePlotGo(offlineOuput, versionOutput, cdnUrl) if err != nil { - log.Fatalf("Failed to create output dir %s, %s", *outputDirectory, err) - + log.Fatalf("unable to write plot.go, %s", err) } - err = r.CreatePlotly(output) + // graphobjects + err = r.CreatePlotly(graphObjectsOuput) if err != nil { log.Fatalf("unable to write plotly, %s", err) } - err = r.CreateTraces(output) + err = r.CreateTraces(graphObjectsOuput) if err != nil { log.Fatalf("unable to write traces, %s", err) } - err = r.CreateLayout(output) + err = r.CreateLayout(graphObjectsOuput) if err != nil { log.Fatalf("unable to write layout, %s", err) } - err = r.CreateConfig(output) + err = r.CreateConfig(graphObjectsOuput) if err != nil { log.Fatalf("unable to write config, %s", err) } - err = r.CreateUnmarshal(output) + err = r.CreateUnmarshal(graphObjectsOuput) if err != nil { log.Fatalf("unable to write unmarshal, %s", err) } diff --git a/generator/parser_test.go b/generator/parser_test.go index 9747843..2e64edc 100644 --- a/generator/parser_test.go +++ b/generator/parser_test.go @@ -1,8 +1,8 @@ package generator_test import ( + "bytes" "log" - "os" "github.com/MetalBlueberry/go-plotly/generator" . "github.com/onsi/ginkgo/v2" @@ -11,11 +11,9 @@ import ( var _ = Describe("Parser", func() { It("Should parse traces", func() { - schema, err := os.Open("schema.json") - Expect(err).To(BeNil()) - defer schema.Close() + reader := bytes.NewReader(schema) - root, err := generator.LoadSchema(schema) + root, err := generator.LoadSchema(reader) Expect(err).To(BeNil()) log.Println(root) diff --git a/generator/renderer.go b/generator/renderer.go index 1625454..2e7c5e5 100644 --- a/generator/renderer.go +++ b/generator/renderer.go @@ -14,7 +14,7 @@ import ( "github.com/huandu/xstrings" ) -// Creator provices the functionality to create a file +// Creator provides the functionality to create a file type Creator interface { Create(name string) (io.WriteCloser, error) } @@ -46,6 +46,32 @@ func NewRenderer(fs Creator, root *Root) (*Renderer, error) { var doNotEdit = "// Code generated by go-plotly/generator. DO NOT EDIT." +func (r *Renderer) CreatePlotGo(dir string, graphObjectsImportPath string, cdnUrl string) error { + src := &bytes.Buffer{} + err := r.WritePlotGo(src, graphObjectsImportPath, cdnUrl) + + if err != nil { + return err + } + + fmtsrc, err := format.Source(src.Bytes()) + if err != nil { + return fmt.Errorf("cannot format source, %w", err) + } + + file, err := r.fs.Create(path.Join(dir, "plot_gen.go")) + if err != nil { + return fmt.Errorf("Path %s, error %s", dir, err) + } + defer file.Close() + _, err = file.Write(fmtsrc) + if err != nil { + return fmt.Errorf("cannot write source, %w", err) + } + + return nil +} + func (r *Renderer) CreatePlotly(dir string) error { src := &bytes.Buffer{} err := r.WritePlotly(src) @@ -71,6 +97,34 @@ func (r *Renderer) CreatePlotly(dir string) error { return nil } +const generationTemplate = ` + + %s + + +
+ + +` + +// WritePlotly writes the base plotly file +func (r *Renderer) WritePlotGo(w io.Writer, graphObjectsImportPath string, cdnUrl string) error { + // inject the basehtml with the correct plotly cdn reference + data := struct { + CDN string + GraphObjectsImportPath string + }{ + CDN: cdnUrl, + GraphObjectsImportPath: graphObjectsImportPath, + } + + finished := r.tmpl.ExecuteTemplate(w, "plot.tmpl", data) + return finished +} + // WritePlotly writes the base plotly file func (r *Renderer) WritePlotly(w io.Writer) error { return r.tmpl.ExecuteTemplate(w, "plotly.tmpl", w) diff --git a/generator/renderer_test.go b/generator/renderer_test.go index ee1fa6f..c5b6d35 100644 --- a/generator/renderer_test.go +++ b/generator/renderer_test.go @@ -16,7 +16,10 @@ import ( "github.com/MetalBlueberry/go-plotly/generator/mocks" ) -//go:embed schema.json +// This test schema is used to make sure the generator works as expected +// It may be worth extending this to test with all schemas. +// +//go:embed test_schema.json var schema []byte var _ = Describe("Renderer", func() { diff --git a/generator/schema.go b/generator/schema.go new file mode 100644 index 0000000..01def24 --- /dev/null +++ b/generator/schema.go @@ -0,0 +1,127 @@ +package generator + +import ( + "bytes" + "encoding/json" + "fmt" + "io" + "net/http" + "os" + "path/filepath" + + "gopkg.in/yaml.v3" +) + +type Schemas struct { + Versions []Version `yaml:"versions"` +} + +type Version struct { + Name string `yaml:"Name"` // name of the version + Tag string `yaml:"Tag"` // git tag of the plotly version + URL string `yaml:"URL"` // url under which the plotly schema json file can be downloaded directly + Path string `yaml:"Path"` // path under which the schema file will be saved locally for future use + Generated string `yaml:"Generated"` // path for the generated package + Cdn string `yaml:"CDN"` // url for the cdn which should be included in the head of the generated html +} + +// cleanJson makes sure that whitespaces and new line characters are removed from the downloaded json +func cleanJson(stream io.ReadCloser) (bytes.Buffer, error) { + var err error + var buf bytes.Buffer + + // Read and decode JSON content + var jsonData interface{} + err = json.NewDecoder(stream).Decode(&jsonData) + if err != nil { + return buf, fmt.Errorf("could not decode json content of response") + } + + // Re-encode JSON content with minimized whitespace and no new lines + encoder := json.NewEncoder(&buf) + encoder.SetIndent("", "") + err = encoder.Encode(jsonData) + if err != nil { + return buf, fmt.Errorf("could not remove whitespaces and new lines from json by encoding content") + } + // Remove newline character from the end of the encoded JSON + buf.Truncate(buf.Len() - 1) + return buf, nil +} + +// DownloadSchema gets the schema file for a given version, and either saves the raw content, +// or prepares the file for the generator if prep is set to true +func DownloadSchema(version string, schemaURL string, outputpath string) (string, error) { + // Make GET request to download schema + response, err := http.Get(schemaURL) + if err != nil { + return "", err + } + if response.StatusCode != http.StatusOK { + return "", fmt.Errorf("could not schema file for version: %s\n[Status Code: %d (%s)]\nused url: %s\nlist the available tags first and recheck", version, response.StatusCode, response.Status, schemaURL) + } + defer response.Body.Close() + + // clean the response + buf, err := cleanJson(response.Body) + if err != nil { + return "", fmt.Errorf("%s: from: %s", err, schemaURL) + } + + // Create file to save the schema + err = os.MkdirAll(filepath.Dir(outputpath), 0755) + if err != nil { + return "", fmt.Errorf("could not create directory for plotly schema: %s", filepath.Dir(outputpath)) + } + + _, err = os.Stat(outputpath) + if err == nil { + fmt.Printf("WARN: overwriting: %s\n", outputpath) + } + file, err := os.Create(outputpath) + if err != nil { + return "", fmt.Errorf("could not create file for saving: %s", outputpath) + } + defer file.Close() + + // Copy response body to file + fmt.Printf("Downloading %s -> %s\n", schemaURL, outputpath) + + _, err = file.Write([]byte(`{"sha1":"11b662302a42aa0698df091a9974ac8f6e1a2292","modified":true,"schema":`)) + if err != nil { + return "", fmt.Errorf("could not write json schema prepared for code generator: %s", outputpath) + } + + // Write JSON content to file + _, err = io.Copy(file, &buf) + if err != nil { + return "", err + } + + _, err = file.Write([]byte(`}`)) + if err != nil { + return "", err + } + + fmt.Printf("Schema downloaded and saved as: %s\n", outputpath) + return outputpath, nil +} + +func ReadSchemas(schemapath string) []Version { + var err error + f, err := os.Open(schemapath) + if err != nil { + fmt.Printf("error opening schema yaml file: %s\n", err) + return nil + } + + var schemas Schemas + decoder := yaml.NewDecoder(f) + err = decoder.Decode(&schemas) + if err != nil { + fmt.Printf("error decoding schema yaml file: %s\n", err) + return nil + } + + return schemas.Versions +} diff --git a/generator/schema.json b/generator/schema.json deleted file mode 100644 index 0c228fb..0000000 --- a/generator/schema.json +++ /dev/null @@ -1,72947 +0,0 @@ -{ - "sha1": "11b662302a42aa0698df091a9974ac8f6e1a2292", - "modified": true, - "schema": { - "defs": { - "valObjects": { - "data_array": { - "description": "An {array} of data. The value MUST be an {array}, or we ignore it. Note that typed arrays (e.g. Float32Array) are supported.", - "requiredOpts": [], - "otherOpts": [ - "dflt" - ] - }, - "enumerated": { - "description": "Enumerated value type. The available values are listed in `values`.", - "requiredOpts": [ - "values" - ], - "otherOpts": [ - "dflt", - "coerceNumber", - "arrayOk" - ] - }, - "boolean": { - "description": "A boolean (true/false) value.", - "requiredOpts": [], - "otherOpts": [ - "dflt" - ] - }, - "number": { - "description": "A number or a numeric value (e.g. a number inside a string). When applicable, values greater (less) than `max` (`min`) are coerced to the `dflt`.", - "requiredOpts": [], - "otherOpts": [ - "dflt", - "min", - "max", - "arrayOk" - ] - }, - "integer": { - "description": "An integer or an integer inside a string. When applicable, values greater (less) than `max` (`min`) are coerced to the `dflt`.", - "requiredOpts": [], - "otherOpts": [ - "dflt", - "min", - "max", - "arrayOk" - ] - }, - "string": { - "description": "A string value. Numbers are converted to strings except for attributes with `strict` set to true.", - "requiredOpts": [], - "otherOpts": [ - "dflt", - "noBlank", - "strict", - "arrayOk", - "values" - ] - }, - "color": { - "description": "A string describing color. Supported formats: - hex (e.g. '#d3d3d3') - rgb (e.g. 'rgb(255, 0, 0)') - rgba (e.g. 'rgb(255, 0, 0, 0.5)') - hsl (e.g. 'hsl(0, 100%, 50%)') - hsv (e.g. 'hsv(0, 100%, 100%)') - named colors (full list: http://www.w3.org/TR/css3-color/#svg-color)", - "requiredOpts": [], - "otherOpts": [ - "dflt", - "arrayOk" - ] - }, - "colorlist": { - "description": "A list of colors. Must be an {array} containing valid colors.", - "requiredOpts": [], - "otherOpts": [ - "dflt" - ] - }, - "colorscale": { - "description": "A Plotly colorscale either picked by a name: (any of Greys, YlGnBu, Greens, YlOrRd, Bluered, RdBu, Reds, Blues, Picnic, Rainbow, Portland, Jet, Hot, Blackbody, Earth, Electric, Viridis, Cividis ) customized as an {array} of 2-element {arrays} where the first element is the normalized color level value (starting at *0* and ending at *1*), and the second item is a valid color string.", - "requiredOpts": [], - "otherOpts": [ - "dflt" - ] - }, - "angle": { - "description": "A number (in degree) between -180 and 180.", - "requiredOpts": [], - "otherOpts": [ - "dflt" - ] - }, - "subplotid": { - "description": "An id string of a subplot type (given by dflt), optionally followed by an integer >1. e.g. if dflt='geo', we can have 'geo', 'geo2', 'geo3', ...", - "requiredOpts": [ - "dflt" - ], - "otherOpts": [ - "regex" - ] - }, - "flaglist": { - "description": "A string representing a combination of flags (order does not matter here). Combine any of the available `flags` with *+*. (e.g. ('lines+markers')). Values in `extras` cannot be combined.", - "requiredOpts": [ - "flags" - ], - "otherOpts": [ - "dflt", - "extras", - "arrayOk" - ] - }, - "any": { - "description": "Any type.", - "requiredOpts": [], - "otherOpts": [ - "dflt", - "values", - "arrayOk" - ] - }, - "info_array": { - "description": "An {array} of plot information.", - "requiredOpts": [ - "items" - ], - "otherOpts": [ - "dflt", - "freeLength", - "dimensions" - ] - } - }, - "metaKeys": [ - "_isSubplotObj", - "_isLinkedToArray", - "_arrayAttrRegexps", - "_deprecated", - "description", - "role", - "editType", - "impliedEdits" - ], - "editType": { - "traces": { - "valType": "flaglist", - "extras": [ - "none" - ], - "flags": [ - "calc", - "clearAxisTypes", - "plot", - "style", - "markerSize", - "colorbars" - ], - "description": "trace attributes should include an `editType` string matching this flaglist. *calc* is the most extensive: a full `Plotly.plot` starting by clearing `gd.calcdata` to force it to be regenerated *clearAxisTypes* resets the types of the axes this trace is on, because new data could cause the automatic axis type detection to change. Log type will not be cleared, as that is never automatically chosen so must have been user-specified. *plot* calls `Plotly.plot` but without first clearing `gd.calcdata`. *style* only calls `module.style` (or module.editStyle) for all trace modules and redraws the legend. *markerSize* is like *style*, but propagate axis-range changes due to scatter `marker.size` *colorbars* only redraws colorbars." - }, - "layout": { - "valType": "flaglist", - "extras": [ - "none" - ], - "flags": [ - "calc", - "plot", - "legend", - "ticks", - "axrange", - "layoutstyle", - "modebar", - "camera", - "arraydraw", - "colorbars" - ], - "description": "layout attributes should include an `editType` string matching this flaglist. *calc* is the most extensive: a full `Plotly.plot` starting by clearing `gd.calcdata` to force it to be regenerated *plot* calls `Plotly.plot` but without first clearing `gd.calcdata`. *legend* only redraws the legend. *ticks* only redraws axis ticks, labels, and gridlines. *axrange* minimal sequence when updating axis ranges. *layoutstyle* reapplies global and SVG cartesian axis styles. *modebar* just updates the modebar. *camera* just updates the camera settings for gl3d scenes. *arraydraw* allows component arrays to invoke the redraw routines just for the component(s) that changed. *colorbars* only redraws colorbars." - } - }, - "impliedEdits": { - "description": "Sometimes when an attribute is changed, other attributes must be altered as well in order to achieve the intended result. For example, when `range` is specified, it is important to set `autorange` to `false` or the new `range` value would be lost in the redraw. `impliedEdits` is the mechanism to do this: `impliedEdits: {autorange: false}`. Each key is a relative paths to the attribute string to change, using *^* to ascend into the parent container, for example `range[0]` has `impliedEdits: {*^autorange*: false}`. A value of `undefined` means that the attribute will not be changed, but its previous value should be recorded in case we want to reverse this change later. For example, `autorange` has `impliedEdits: {*range[0]*: undefined, *range[1]*:undefined} because the range will likely be changed by redraw." - } - }, - "traces": { - "scatter": { - "meta": { - "description": "The scatter trace type encompasses line charts, scatter charts, text charts, and bubble charts. The data visualized as scatter point or lines is set in `x` and `y`. Text (appearing either on the chart or on hover only) is via `text`. Bubble charts are achieved by setting `marker.size` and/or `marker.color` to numerical arrays." - }, - "categories": [ - "cartesian", - "svg", - "symbols", - "errorBarsOK", - "showLegend", - "scatter-like", - "zoomScale" - ], - "animatable": true, - "type": "scatter", - "attributes": { - "type": "scatter", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "showlegend": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "style", - "description": "Determines whether or not an item corresponding to this trace is shown in the legend." - }, - "legendgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "style", - "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items." - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "editType": "style", - "description": "Sets the opacity of the trace." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "anim": true, - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "anim": true, - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "selectedpoints": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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." - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "x", - "y", - "z", - "text", - "name" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "all", - "editType": "none", - "description": "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": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "transforms": { - "items": { - "transform": { - "editType": "calc", - "description": "An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", - "role": "object" - } - }, - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "x": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "anim": true, - "description": "Sets the x coordinates.", - "role": "data" - }, - "x0": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc+clearAxisTypes", - "anim": true, - "description": "Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step." - }, - "dx": { - "valType": "number", - "dflt": 1, - "role": "info", - "editType": "calc", - "anim": true, - "description": "Sets the x coordinate step. See `x0` for more info." - }, - "y": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "anim": true, - "description": "Sets the y coordinates.", - "role": "data" - }, - "y0": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc+clearAxisTypes", - "anim": true, - "description": "Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step." - }, - "dy": { - "valType": "number", - "dflt": 1, - "role": "info", - "editType": "calc", - "anim": true, - "description": "Sets the y coordinate step. See `y0` for more info." - }, - "xperiod": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer." - }, - "yperiod": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the y axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer." - }, - "xperiod0": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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." - }, - "yperiod0": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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." - }, - "xperiodalignment": { - "valType": "enumerated", - "values": [ - "start", - "middle", - "end" - ], - "dflt": "middle", - "role": "style", - "editType": "calc", - "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis." - }, - "yperiodalignment": { - "valType": "enumerated", - "values": [ - "start", - "middle", - "end" - ], - "dflt": "middle", - "role": "style", - "editType": "calc", - "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis." - }, - "stackgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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." - }, - "orientation": { - "valType": "enumerated", - "role": "info", - "values": [ - "v", - "h" - ], - "editType": "calc", - "description": "Only relevant 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`." - }, - "groupnorm": { - "valType": "enumerated", - "values": [ - "", - "fraction", - "percent" - ], - "dflt": "", - "role": "info", - "editType": "calc", - "description": "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." - }, - "stackgaps": { - "valType": "enumerated", - "values": [ - "infer zero", - "interpolate" - ], - "dflt": "infer zero", - "role": "info", - "editType": "calc", - "description": "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." - }, - "text": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "calc", - "description": "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." - }, - "texttemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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-3.x-api-reference/blob/master/Formatting.md#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#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. ", - "arrayOk": true - }, - "hovertext": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "style", - "description": "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." - }, - "mode": { - "valType": "flaglist", - "flags": [ - "lines", - "markers", - "text" - ], - "extras": [ - "none" - ], - "role": "info", - "editType": "calc", - "description": "Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*." - }, - "hoveron": { - "valType": "flaglist", - "flags": [ - "points", - "fills" - ], - "role": "info", - "editType": "style", - "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*." - }, - "hovertemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "none", - "description": "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}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "arrayOk": true - }, - "line": { - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "anim": true, - "description": "Sets the line color." - }, - "width": { - "valType": "number", - "min": 0, - "dflt": 2, - "role": "style", - "editType": "style", - "anim": true, - "description": "Sets the line width (in px)." - }, - "shape": { - "valType": "enumerated", - "values": [ - "linear", - "spline", - "hv", - "vh", - "hvh", - "vhv" - ], - "dflt": "linear", - "role": "style", - "editType": "plot", - "description": "Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes." - }, - "smoothing": { - "valType": "number", - "min": 0, - "max": 1.3, - "dflt": 1, - "role": "style", - "editType": "plot", - "description": "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)." - }, - "dash": { - "valType": "string", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" - ], - "dflt": "solid", - "role": "style", - "editType": "style", - "description": "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*)." - }, - "simplify": { - "valType": "boolean", - "dflt": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "editType": "plot", - "role": "object" - }, - "connectgaps": { - "valType": "boolean", - "dflt": false, - "role": "info", - "editType": "calc", - "description": "Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected." - }, - "cliponaxis": { - "valType": "boolean", - "dflt": true, - "role": "info", - "editType": "plot", - "description": "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*." - }, - "fill": { - "valType": "enumerated", - "values": [ - "none", - "tozeroy", - "tozerox", - "tonexty", - "tonextx", - "toself", - "tonext" - ], - "role": "style", - "editType": "calc", - "description": "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": { - "valType": "color", - "role": "style", - "editType": "style", - "anim": true, - "description": "Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available." - }, - "marker": { - "symbol": { - "valType": "enumerated", - "values": [ - 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" - ], - "dflt": "circle", - "arrayOk": true, - "role": "style", - "editType": "style", - "description": "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." - }, - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "arrayOk": true, - "role": "style", - "editType": "style", - "anim": true, - "description": "Sets the marker opacity." - }, - "size": { - "valType": "number", - "min": 0, - "dflt": 6, - "arrayOk": true, - "role": "style", - "editType": "calc", - "anim": true, - "description": "Sets the marker size (in px)." - }, - "maxdisplayed": { - "valType": "number", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "plot", - "description": "Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit." - }, - "sizeref": { - "valType": "number", - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "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`." - }, - "sizemin": { - "valType": "number", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "calc", - "description": "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": { - "valType": "enumerated", - "values": [ - "diameter", - "area" - ], - "dflt": "diameter", - "role": "info", - "editType": "calc", - "description": "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." - }, - "line": { - "width": { - "valType": "number", - "min": 0, - "arrayOk": true, - "role": "style", - "editType": "style", - "anim": true, - "description": "Sets the width (in px) of the lines bounding the marker points." - }, - "editType": "calc", - "color": { - "valType": "color", - "arrayOk": true, - "role": "style", - "editType": "style", - "description": "Sets themarker.linecolor. 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.", - "anim": true - }, - "cauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "cmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "description": "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." - }, - "cmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "plot", - "description": "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." - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "role": "object", - "widthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for width .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "gradient": { - "type": { - "valType": "enumerated", - "values": [ - "radial", - "horizontal", - "vertical", - "none" - ], - "arrayOk": true, - "dflt": "none", - "role": "style", - "editType": "calc", - "description": "Sets the type of gradient used to fill the markers" - }, - "color": { - "valType": "color", - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical." - }, - "editType": "calc", - "role": "object", - "typesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for type .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "editType": "calc", - "color": { - "valType": "color", - "arrayOk": true, - "role": "style", - "editType": "style", - "description": "Sets themarkercolor. 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.", - "anim": true - }, - "cauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "cmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "description": "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." - }, - "cmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "plot", - "description": "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": { - "valType": "boolean", - "role": "info", - "dflt": false, - "editType": "calc", - "description": "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." - }, - "colorbar": { - "thicknessmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "style", - "dflt": "pixels", - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "editType": "colorbars" - }, - "thickness": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 30, - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "editType": "colorbars" - }, - "lenmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "info", - "dflt": "fraction", - "description": "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.", - "editType": "colorbars" - }, - "len": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "description": "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.", - "editType": "colorbars" - }, - "x": { - "valType": "number", - "dflt": 1.02, - "min": -2, - "max": 3, - "role": "style", - "description": "Sets the x position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "left", - "role": "style", - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", - "editType": "colorbars" - }, - "xpad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the x direction.", - "editType": "colorbars" - }, - "y": { - "valType": "number", - "role": "style", - "dflt": 0.5, - "min": -2, - "max": 3, - "description": "Sets the y position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ], - "role": "style", - "dflt": "middle", - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", - "editType": "colorbars" - }, - "ypad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the y direction.", - "editType": "colorbars" - }, - "outlinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "outlinewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the width (in px) of the axis line." - }, - "bordercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "borderwidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 0, - "description": "Sets the width (in px) or the border enclosing this color bar.", - "editType": "colorbars" - }, - "bgcolor": { - "valType": "color", - "role": "style", - "dflt": "rgba(0,0,0,0)", - "description": "Sets the color of padded area.", - "editType": "colorbars" - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "colorbars", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "colorbars", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "colorbars", - "description": "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.", - "dflt": "" - }, - "ticklabelposition": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside bottom", - "inside bottom" - ], - "dflt": "outside", - "role": "info", - "description": "Determines where tick labels are drawn.", - "editType": "colorbars" - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "colorbars", - "description": "Determines whether or not the tick labels are drawn." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets the color bar's tick label font", - "editType": "colorbars", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "colorbars", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "colorbars", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "colorbars" - }, - { - "valType": "any", - "editType": "colorbars" - } - ], - "editType": "colorbars", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "colorbars", - "name": { - "valType": "string", - "role": "style", - "editType": "colorbars", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "colorbars", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "colorbars", - "description": "If \"true\", even 4-digit integers are separated" - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "colorbars", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", - "editType": "colorbars" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "editType": "colorbars", - "role": "object" - }, - "side": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.", - "editType": "colorbars" - }, - "editType": "colorbars", - "role": "object" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars" - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars" - }, - "titleside": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Deprecated in favor of color bar's `title.side`.", - "editType": "colorbars" - } - }, - "editType": "colorbars", - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "role": "object", - "symbolsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for symbol .", - "editType": "none" - }, - "opacitysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for opacity .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "selected": { - "marker": { - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "role": "style", - "editType": "style", - "description": "Sets the marker opacity of selected points." - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the marker color of selected points." - }, - "size": { - "valType": "number", - "min": 0, - "role": "style", - "editType": "style", - "description": "Sets the marker size of selected points." - }, - "editType": "style", - "role": "object" - }, - "textfont": { - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the text font color of selected points." - }, - "editType": "style", - "role": "object" - }, - "editType": "style", - "role": "object" - }, - "unselected": { - "marker": { - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "role": "style", - "editType": "style", - "description": "Sets the marker opacity of unselected points, applied only when a selection exists." - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the marker color of unselected points, applied only when a selection exists." - }, - "size": { - "valType": "number", - "min": 0, - "role": "style", - "editType": "style", - "description": "Sets the marker size of unselected points, applied only when a selection exists." - }, - "editType": "style", - "role": "object" - }, - "textfont": { - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the text font color of unselected points, applied only when a selection exists." - }, - "editType": "style", - "role": "object" - }, - "editType": "style", - "role": "object" - }, - "textposition": { - "valType": "enumerated", - "values": [ - "top left", - "top center", - "top right", - "middle left", - "middle center", - "middle right", - "bottom left", - "bottom center", - "bottom right" - ], - "dflt": "middle center", - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets the positions of the `text` elements with respects to the (x,y) coordinates." - }, - "textfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "calc", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "arrayOk": true - }, - "editType": "calc", - "description": "Sets the text font.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "r": { - "valType": "data_array", - "editType": "calc", - "description": "r coordinates in scatter traces are deprecated!Please switch to the *scatterpolar* trace type.Sets the radial coordinatesfor legacy polar chart only.", - "role": "data" - }, - "t": { - "valType": "data_array", - "editType": "calc", - "description": "t coordinates in scatter traces are deprecated!Please switch to the *scatterpolar* trace type.Sets the angular coordinatesfor legacy polar chart only.", - "role": "data" - }, - "error_x": { - "visible": { - "valType": "boolean", - "role": "info", - "editType": "calc", - "description": "Determines whether or not this set of error bars is visible." - }, - "type": { - "valType": "enumerated", - "values": [ - "percent", - "constant", - "sqrt", - "data" - ], - "role": "info", - "editType": "calc", - "description": "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`." - }, - "symmetric": { - "valType": "boolean", - "role": "info", - "editType": "calc", - "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars." - }, - "array": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", - "role": "data" - }, - "arrayminus": { - "valType": "data_array", - "editType": "calc", - "description": "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.", - "role": "data" - }, - "value": { - "valType": "number", - "min": 0, - "dflt": 10, - "role": "info", - "editType": "calc", - "description": "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": { - "valType": "number", - "min": 0, - "dflt": 10, - "role": "info", - "editType": "calc", - "description": "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" - }, - "traceref": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "style" - }, - "tracerefminus": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "style" - }, - "copy_ystyle": { - "valType": "boolean", - "role": "style", - "editType": "plot" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the stoke color of the error bars." - }, - "thickness": { - "valType": "number", - "min": 0, - "dflt": 2, - "role": "style", - "editType": "style", - "description": "Sets the thickness (in px) of the error bars." - }, - "width": { - "valType": "number", - "min": 0, - "role": "style", - "editType": "plot", - "description": "Sets the width (in px) of the cross-bar at both ends of the error bars." - }, - "editType": "calc", - "_deprecated": { - "opacity": { - "valType": "number", - "role": "style", - "editType": "style", - "description": "Obsolete. Use the alpha channel in error bar `color` to set the opacity." - } - }, - "role": "object", - "arraysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for array .", - "editType": "none" - }, - "arrayminussrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for arrayminus .", - "editType": "none" - } - }, - "error_y": { - "visible": { - "valType": "boolean", - "role": "info", - "editType": "calc", - "description": "Determines whether or not this set of error bars is visible." - }, - "type": { - "valType": "enumerated", - "values": [ - "percent", - "constant", - "sqrt", - "data" - ], - "role": "info", - "editType": "calc", - "description": "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`." - }, - "symmetric": { - "valType": "boolean", - "role": "info", - "editType": "calc", - "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars." - }, - "array": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", - "role": "data" - }, - "arrayminus": { - "valType": "data_array", - "editType": "calc", - "description": "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.", - "role": "data" - }, - "value": { - "valType": "number", - "min": 0, - "dflt": 10, - "role": "info", - "editType": "calc", - "description": "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": { - "valType": "number", - "min": 0, - "dflt": 10, - "role": "info", - "editType": "calc", - "description": "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" - }, - "traceref": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "style" - }, - "tracerefminus": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "style" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the stoke color of the error bars." - }, - "thickness": { - "valType": "number", - "min": 0, - "dflt": 2, - "role": "style", - "editType": "style", - "description": "Sets the thickness (in px) of the error bars." - }, - "width": { - "valType": "number", - "min": 0, - "role": "style", - "editType": "plot", - "description": "Sets the width (in px) of the cross-bar at both ends of the error bars." - }, - "editType": "calc", - "_deprecated": { - "opacity": { - "valType": "number", - "role": "style", - "editType": "style", - "description": "Obsolete. Use the alpha channel in error bar `color` to set the opacity." - } - }, - "role": "object", - "arraysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for array .", - "editType": "none" - }, - "arrayminussrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for arrayminus .", - "editType": "none" - } - }, - "xcalendar": { - "valType": "enumerated", - "values": [ - "gregorian", - "chinese", - "coptic", - "discworld", - "ethiopian", - "hebrew", - "islamic", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "jalali", - "taiwan", - "thai", - "ummalqura" - ], - "role": "info", - "editType": "calc", - "dflt": "gregorian", - "description": "Sets the calendar system to use with `x` date data." - }, - "ycalendar": { - "valType": "enumerated", - "values": [ - "gregorian", - "chinese", - "coptic", - "discworld", - "ethiopian", - "hebrew", - "islamic", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "jalali", - "taiwan", - "thai", - "ummalqura" - ], - "role": "info", - "editType": "calc", - "dflt": "gregorian", - "description": "Sets the calendar system to use with `y` date data." - }, - "xaxis": { - "valType": "subplotid", - "role": "info", - "dflt": "x", - "editType": "calc+clearAxisTypes", - "description": "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": { - "valType": "subplotid", - "role": "info", - "dflt": "y", - "editType": "calc+clearAxisTypes", - "description": "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." - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - }, - "xsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for x .", - "editType": "none" - }, - "ysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for y .", - "editType": "none" - }, - "textsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for text .", - "editType": "none" - }, - "texttemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for texttemplate .", - "editType": "none" - }, - "hovertextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertext .", - "editType": "none" - }, - "hovertemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertemplate .", - "editType": "none" - }, - "textpositionsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for textposition .", - "editType": "none" - }, - "rsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for r .", - "editType": "none" - }, - "tsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for t .", - "editType": "none" - } - } - }, - "bar": { - "meta": { - "description": "The data visualized by the span of the bars is set in `y` if `orientation` is set th *v* (the default) and the labels are set in `x`. By setting `orientation` to *h*, the roles are interchanged." - }, - "categories": [ - "bar-like", - "cartesian", - "svg", - "bar", - "oriented", - "errorBarsOK", - "showLegend", - "zoomScale" - ], - "animatable": true, - "type": "bar", - "attributes": { - "type": "bar", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "showlegend": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "style", - "description": "Determines whether or not an item corresponding to this trace is shown in the legend." - }, - "legendgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "style", - "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items." - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "editType": "style", - "description": "Sets the opacity of the trace." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "anim": true, - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "anim": true, - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "selectedpoints": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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." - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "x", - "y", - "z", - "text", - "name" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "all", - "editType": "none", - "description": "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": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "transforms": { - "items": { - "transform": { - "editType": "calc", - "description": "An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", - "role": "object" - } - }, - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "x": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "anim": true, - "description": "Sets the x coordinates.", - "role": "data" - }, - "x0": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc+clearAxisTypes", - "anim": true, - "description": "Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step." - }, - "dx": { - "valType": "number", - "dflt": 1, - "role": "info", - "editType": "calc", - "anim": true, - "description": "Sets the x coordinate step. See `x0` for more info." - }, - "y": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "anim": true, - "description": "Sets the y coordinates.", - "role": "data" - }, - "y0": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc+clearAxisTypes", - "anim": true, - "description": "Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step." - }, - "dy": { - "valType": "number", - "dflt": 1, - "role": "info", - "editType": "calc", - "anim": true, - "description": "Sets the y coordinate step. See `y0` for more info." - }, - "xperiod": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer." - }, - "yperiod": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the y axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer." - }, - "xperiod0": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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." - }, - "yperiod0": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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." - }, - "xperiodalignment": { - "valType": "enumerated", - "values": [ - "start", - "middle", - "end" - ], - "dflt": "middle", - "role": "style", - "editType": "calc", - "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis." - }, - "yperiodalignment": { - "valType": "enumerated", - "values": [ - "start", - "middle", - "end" - ], - "dflt": "middle", - "role": "style", - "editType": "calc", - "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis." - }, - "text": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "calc", - "description": "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." - }, - "texttemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "plot", - "description": "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-3.x-api-reference/blob/master/Formatting.md#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#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. variables `value` and `label`.", - "arrayOk": true - }, - "hovertext": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "style", - "description": "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." - }, - "hovertemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "none", - "description": "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}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `value` and `label`. Anything contained in tag `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "arrayOk": true - }, - "textposition": { - "valType": "enumerated", - "role": "info", - "values": [ - "inside", - "outside", - "auto", - "none" - ], - "dflt": "none", - "arrayOk": true, - "editType": "calc", - "description": "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." - }, - "insidetextanchor": { - "valType": "enumerated", - "values": [ - "end", - "middle", - "start" - ], - "dflt": "end", - "role": "info", - "editType": "plot", - "description": "Determines if texts are kept at center or start/end points in `textposition` *inside* mode." - }, - "textangle": { - "valType": "angle", - "dflt": "auto", - "role": "info", - "editType": "plot", - "description": "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": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "calc", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "arrayOk": true - }, - "editType": "calc", - "description": "Sets the font used for `text`.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "insidetextfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "calc", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "arrayOk": true - }, - "editType": "calc", - "description": "Sets the font used for `text` lying inside the bar.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "outsidetextfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "calc", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "arrayOk": true - }, - "editType": "calc", - "description": "Sets the font used for `text` lying outside the bar.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "constraintext": { - "valType": "enumerated", - "values": [ - "inside", - "outside", - "both", - "none" - ], - "role": "info", - "dflt": "both", - "editType": "calc", - "description": "Constrain the size of text inside or outside a bar to be no larger than the bar itself." - }, - "cliponaxis": { - "valType": "boolean", - "dflt": true, - "role": "info", - "editType": "plot", - "description": "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*." - }, - "orientation": { - "valType": "enumerated", - "role": "info", - "values": [ - "v", - "h" - ], - "editType": "calc+clearAxisTypes", - "description": "Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal)." - }, - "base": { - "valType": "any", - "dflt": null, - "arrayOk": true, - "role": "info", - "editType": "calc", - "description": "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." - }, - "offset": { - "valType": "number", - "dflt": null, - "arrayOk": true, - "role": "info", - "editType": "calc", - "description": "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." - }, - "width": { - "valType": "number", - "dflt": null, - "min": 0, - "arrayOk": true, - "role": "info", - "editType": "calc", - "description": "Sets the bar width (in position axis units)." - }, - "marker": { - "line": { - "width": { - "valType": "number", - "min": 0, - "arrayOk": true, - "role": "style", - "editType": "style", - "anim": true, - "description": "Sets the width (in px) of the lines bounding the marker points.", - "dflt": 0 - }, - "editType": "calc", - "color": { - "valType": "color", - "arrayOk": true, - "role": "style", - "editType": "style", - "description": "Sets themarker.linecolor. 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." - }, - "cauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "cmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "description": "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." - }, - "cmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "plot", - "description": "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." - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "role": "object", - "widthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for width .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "editType": "calc", - "color": { - "valType": "color", - "arrayOk": true, - "role": "style", - "editType": "style", - "description": "Sets themarkercolor. 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." - }, - "cauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "cmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "description": "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." - }, - "cmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "plot", - "description": "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": { - "valType": "boolean", - "role": "info", - "dflt": false, - "editType": "calc", - "description": "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." - }, - "colorbar": { - "thicknessmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "style", - "dflt": "pixels", - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "editType": "colorbars" - }, - "thickness": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 30, - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "editType": "colorbars" - }, - "lenmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "info", - "dflt": "fraction", - "description": "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.", - "editType": "colorbars" - }, - "len": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "description": "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.", - "editType": "colorbars" - }, - "x": { - "valType": "number", - "dflt": 1.02, - "min": -2, - "max": 3, - "role": "style", - "description": "Sets the x position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "left", - "role": "style", - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", - "editType": "colorbars" - }, - "xpad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the x direction.", - "editType": "colorbars" - }, - "y": { - "valType": "number", - "role": "style", - "dflt": 0.5, - "min": -2, - "max": 3, - "description": "Sets the y position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ], - "role": "style", - "dflt": "middle", - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", - "editType": "colorbars" - }, - "ypad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the y direction.", - "editType": "colorbars" - }, - "outlinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "outlinewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the width (in px) of the axis line." - }, - "bordercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "borderwidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 0, - "description": "Sets the width (in px) or the border enclosing this color bar.", - "editType": "colorbars" - }, - "bgcolor": { - "valType": "color", - "role": "style", - "dflt": "rgba(0,0,0,0)", - "description": "Sets the color of padded area.", - "editType": "colorbars" - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "colorbars", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "colorbars", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "colorbars", - "description": "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.", - "dflt": "" - }, - "ticklabelposition": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside bottom", - "inside bottom" - ], - "dflt": "outside", - "role": "info", - "description": "Determines where tick labels are drawn.", - "editType": "colorbars" - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "colorbars", - "description": "Determines whether or not the tick labels are drawn." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets the color bar's tick label font", - "editType": "colorbars", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "colorbars", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "colorbars", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "colorbars" - }, - { - "valType": "any", - "editType": "colorbars" - } - ], - "editType": "colorbars", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "colorbars", - "name": { - "valType": "string", - "role": "style", - "editType": "colorbars", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "colorbars", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "colorbars", - "description": "If \"true\", even 4-digit integers are separated" - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "colorbars", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", - "editType": "colorbars" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "editType": "colorbars", - "role": "object" - }, - "side": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.", - "editType": "colorbars" - }, - "editType": "colorbars", - "role": "object" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars" - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars" - }, - "titleside": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Deprecated in favor of color bar's `title.side`.", - "editType": "colorbars" - } - }, - "editType": "colorbars", - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "opacity": { - "valType": "number", - "arrayOk": true, - "dflt": 1, - "min": 0, - "max": 1, - "role": "style", - "editType": "style", - "description": "Sets the opacity of the bars." - }, - "role": "object", - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - }, - "opacitysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for opacity .", - "editType": "none" - } - }, - "offsetgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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." - }, - "alignmentgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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." - }, - "selected": { - "marker": { - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "role": "style", - "editType": "style", - "description": "Sets the marker opacity of selected points." - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the marker color of selected points." - }, - "editType": "style", - "role": "object" - }, - "textfont": { - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the text font color of selected points." - }, - "editType": "style", - "role": "object" - }, - "editType": "style", - "role": "object" - }, - "unselected": { - "marker": { - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "role": "style", - "editType": "style", - "description": "Sets the marker opacity of unselected points, applied only when a selection exists." - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the marker color of unselected points, applied only when a selection exists." - }, - "editType": "style", - "role": "object" - }, - "textfont": { - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the text font color of unselected points, applied only when a selection exists." - }, - "editType": "style", - "role": "object" - }, - "editType": "style", - "role": "object" - }, - "r": { - "valType": "data_array", - "editType": "calc", - "description": "r coordinates in scatter traces are deprecated!Please switch to the *scatterpolar* trace type.Sets the radial coordinatesfor legacy polar chart only.", - "role": "data" - }, - "t": { - "valType": "data_array", - "editType": "calc", - "description": "t coordinates in scatter traces are deprecated!Please switch to the *scatterpolar* trace type.Sets the angular coordinatesfor legacy polar chart only.", - "role": "data" - }, - "_deprecated": { - "bardir": { - "valType": "enumerated", - "role": "info", - "editType": "calc", - "values": [ - "v", - "h" - ], - "description": "Renamed to `orientation`." - } - }, - "error_x": { - "visible": { - "valType": "boolean", - "role": "info", - "editType": "calc", - "description": "Determines whether or not this set of error bars is visible." - }, - "type": { - "valType": "enumerated", - "values": [ - "percent", - "constant", - "sqrt", - "data" - ], - "role": "info", - "editType": "calc", - "description": "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`." - }, - "symmetric": { - "valType": "boolean", - "role": "info", - "editType": "calc", - "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars." - }, - "array": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", - "role": "data" - }, - "arrayminus": { - "valType": "data_array", - "editType": "calc", - "description": "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.", - "role": "data" - }, - "value": { - "valType": "number", - "min": 0, - "dflt": 10, - "role": "info", - "editType": "calc", - "description": "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": { - "valType": "number", - "min": 0, - "dflt": 10, - "role": "info", - "editType": "calc", - "description": "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" - }, - "traceref": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "style" - }, - "tracerefminus": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "style" - }, - "copy_ystyle": { - "valType": "boolean", - "role": "style", - "editType": "plot" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the stoke color of the error bars." - }, - "thickness": { - "valType": "number", - "min": 0, - "dflt": 2, - "role": "style", - "editType": "style", - "description": "Sets the thickness (in px) of the error bars." - }, - "width": { - "valType": "number", - "min": 0, - "role": "style", - "editType": "plot", - "description": "Sets the width (in px) of the cross-bar at both ends of the error bars." - }, - "editType": "calc", - "_deprecated": { - "opacity": { - "valType": "number", - "role": "style", - "editType": "style", - "description": "Obsolete. Use the alpha channel in error bar `color` to set the opacity." - } - }, - "role": "object", - "arraysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for array .", - "editType": "none" - }, - "arrayminussrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for arrayminus .", - "editType": "none" - } - }, - "error_y": { - "visible": { - "valType": "boolean", - "role": "info", - "editType": "calc", - "description": "Determines whether or not this set of error bars is visible." - }, - "type": { - "valType": "enumerated", - "values": [ - "percent", - "constant", - "sqrt", - "data" - ], - "role": "info", - "editType": "calc", - "description": "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`." - }, - "symmetric": { - "valType": "boolean", - "role": "info", - "editType": "calc", - "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars." - }, - "array": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", - "role": "data" - }, - "arrayminus": { - "valType": "data_array", - "editType": "calc", - "description": "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.", - "role": "data" - }, - "value": { - "valType": "number", - "min": 0, - "dflt": 10, - "role": "info", - "editType": "calc", - "description": "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": { - "valType": "number", - "min": 0, - "dflt": 10, - "role": "info", - "editType": "calc", - "description": "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" - }, - "traceref": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "style" - }, - "tracerefminus": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "style" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the stoke color of the error bars." - }, - "thickness": { - "valType": "number", - "min": 0, - "dflt": 2, - "role": "style", - "editType": "style", - "description": "Sets the thickness (in px) of the error bars." - }, - "width": { - "valType": "number", - "min": 0, - "role": "style", - "editType": "plot", - "description": "Sets the width (in px) of the cross-bar at both ends of the error bars." - }, - "editType": "calc", - "_deprecated": { - "opacity": { - "valType": "number", - "role": "style", - "editType": "style", - "description": "Obsolete. Use the alpha channel in error bar `color` to set the opacity." - } - }, - "role": "object", - "arraysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for array .", - "editType": "none" - }, - "arrayminussrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for arrayminus .", - "editType": "none" - } - }, - "xcalendar": { - "valType": "enumerated", - "values": [ - "gregorian", - "chinese", - "coptic", - "discworld", - "ethiopian", - "hebrew", - "islamic", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "jalali", - "taiwan", - "thai", - "ummalqura" - ], - "role": "info", - "editType": "calc", - "dflt": "gregorian", - "description": "Sets the calendar system to use with `x` date data." - }, - "ycalendar": { - "valType": "enumerated", - "values": [ - "gregorian", - "chinese", - "coptic", - "discworld", - "ethiopian", - "hebrew", - "islamic", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "jalali", - "taiwan", - "thai", - "ummalqura" - ], - "role": "info", - "editType": "calc", - "dflt": "gregorian", - "description": "Sets the calendar system to use with `y` date data." - }, - "xaxis": { - "valType": "subplotid", - "role": "info", - "dflt": "x", - "editType": "calc+clearAxisTypes", - "description": "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": { - "valType": "subplotid", - "role": "info", - "dflt": "y", - "editType": "calc+clearAxisTypes", - "description": "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." - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - }, - "xsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for x .", - "editType": "none" - }, - "ysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for y .", - "editType": "none" - }, - "textsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for text .", - "editType": "none" - }, - "texttemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for texttemplate .", - "editType": "none" - }, - "hovertextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertext .", - "editType": "none" - }, - "hovertemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertemplate .", - "editType": "none" - }, - "textpositionsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for textposition .", - "editType": "none" - }, - "basesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for base .", - "editType": "none" - }, - "offsetsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for offset .", - "editType": "none" - }, - "widthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for width .", - "editType": "none" - }, - "rsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for r .", - "editType": "none" - }, - "tsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for t .", - "editType": "none" - } - }, - "layoutAttributes": { - "barmode": { - "valType": "enumerated", - "values": [ - "stack", - "group", - "overlay", - "relative" - ], - "dflt": "group", - "role": "info", - "editType": "calc", - "description": "Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *relative*, the bars are stacked on top of one another, with negative values below the axis, positive values above With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to an *opacity* to see multiple bars." - }, - "barnorm": { - "valType": "enumerated", - "values": [ - "", - "fraction", - "percent" - ], - "dflt": "", - "role": "info", - "editType": "calc", - "description": "Sets the normalization for bar traces on the graph. With *fraction*, the value of each bar is divided by the sum of all values at that location coordinate. *percent* is the same but multiplied by 100 to show percentages." - }, - "bargap": { - "valType": "number", - "min": 0, - "max": 1, - "role": "style", - "editType": "calc", - "description": "Sets the gap (in plot fraction) between bars of adjacent location coordinates." - }, - "bargroupgap": { - "valType": "number", - "min": 0, - "max": 1, - "dflt": 0, - "role": "style", - "editType": "calc", - "description": "Sets the gap (in plot fraction) between bars of the same location coordinate." - } - } - }, - "box": { - "meta": { - "description": "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." - }, - "categories": [ - "cartesian", - "svg", - "symbols", - "oriented", - "box-violin", - "showLegend", - "boxLayout", - "zoomScale" - ], - "animatable": false, - "type": "box", - "attributes": { - "type": "box", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "showlegend": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "style", - "description": "Determines whether or not an item corresponding to this trace is shown in the legend." - }, - "legendgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "style", - "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items." - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "editType": "style", - "description": "Sets the opacity of the trace." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "selectedpoints": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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." - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "x", - "y", - "z", - "text", - "name" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "all", - "editType": "none", - "description": "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": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "transforms": { - "items": { - "transform": { - "editType": "calc", - "description": "An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", - "role": "object" - } - }, - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "y": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "description": "Sets the y sample data or coordinates. See overview for more info.", - "role": "data" - }, - "x": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "description": "Sets the x sample data or coordinates. See overview for more info.", - "role": "data" - }, - "x0": { - "valType": "any", - "role": "info", - "editType": "calc+clearAxisTypes", - "description": "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." - }, - "y0": { - "valType": "any", - "role": "info", - "editType": "calc+clearAxisTypes", - "description": "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." - }, - "dx": { - "valType": "number", - "role": "info", - "editType": "calc", - "description": "Sets the x coordinate step for multi-box traces set using q1/median/q3." - }, - "dy": { - "valType": "number", - "role": "info", - "editType": "calc", - "description": "Sets the y coordinate step for multi-box traces set using q1/median/q3." - }, - "xperiod": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer." - }, - "yperiod": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the y axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer." - }, - "xperiod0": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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." - }, - "yperiod0": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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." - }, - "xperiodalignment": { - "valType": "enumerated", - "values": [ - "start", - "middle", - "end" - ], - "dflt": "middle", - "role": "style", - "editType": "calc", - "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis." - }, - "yperiodalignment": { - "valType": "enumerated", - "values": [ - "start", - "middle", - "end" - ], - "dflt": "middle", - "role": "style", - "editType": "calc", - "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "calc+clearAxisTypes", - "description": "Sets the trace name. The trace name appear 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" - }, - "q1": { - "valType": "data_array", - "role": "data", - "editType": "calc+clearAxisTypes", - "description": "Sets the Quartile 1 values. There should be as many items as the number of boxes desired." - }, - "median": { - "valType": "data_array", - "role": "data", - "editType": "calc+clearAxisTypes", - "description": "Sets the median values. There should be as many items as the number of boxes desired." - }, - "q3": { - "valType": "data_array", - "role": "data", - "editType": "calc+clearAxisTypes", - "description": "Sets the Quartile 3 values. There should be as many items as the number of boxes desired." - }, - "lowerfence": { - "valType": "data_array", - "role": "data", - "editType": "calc", - "description": "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." - }, - "upperfence": { - "valType": "data_array", - "role": "data", - "editType": "calc", - "description": "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 lower as the last sample point above 1.5 times the IQR." - }, - "notched": { - "valType": "boolean", - "role": "info", - "editType": "calc", - "description": "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." - }, - "notchwidth": { - "valType": "number", - "min": 0, - "max": 0.5, - "dflt": 0.25, - "role": "style", - "editType": "calc", - "description": "Sets the width of the notches relative to the box' width. For example, with 0, the notches are as wide as the box(es)." - }, - "notchspan": { - "valType": "data_array", - "role": "data", - "editType": "calc", - "description": "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." - }, - "boxpoints": { - "valType": "enumerated", - "values": [ - "all", - "outliers", - "suspectedoutliers", - false - ], - "role": "style", - "editType": "calc", - "description": "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*." - }, - "jitter": { - "valType": "number", - "min": 0, - "max": 1, - "role": "style", - "editType": "calc", - "description": "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)." - }, - "pointpos": { - "valType": "number", - "min": -2, - "max": 2, - "role": "style", - "editType": "calc", - "description": "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" - }, - "boxmean": { - "valType": "enumerated", - "values": [ - true, - "sd", - false - ], - "role": "style", - "editType": "calc", - "description": "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*." - }, - "mean": { - "valType": "data_array", - "role": "data", - "editType": "calc", - "description": "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." - }, - "sd": { - "valType": "data_array", - "role": "data", - "editType": "calc", - "description": "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." - }, - "orientation": { - "valType": "enumerated", - "values": [ - "v", - "h" - ], - "role": "style", - "editType": "calc+clearAxisTypes", - "description": "Sets the orientation of the box(es). If *v* (*h*), the distribution is visualized along the vertical (horizontal)." - }, - "quartilemethod": { - "valType": "enumerated", - "values": [ - "linear", - "exclusive", - "inclusive" - ], - "dflt": "linear", - "role": "info", - "editType": "calc", - "description": "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://www.amstat.org/publications/jse/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." - }, - "width": { - "valType": "number", - "min": 0, - "role": "info", - "dflt": 0, - "editType": "calc", - "description": "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." - }, - "marker": { - "outliercolor": { - "valType": "color", - "dflt": "rgba(0, 0, 0, 0)", - "role": "style", - "editType": "style", - "description": "Sets the color of the outlier sample points." - }, - "symbol": { - "valType": "enumerated", - "values": [ - 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" - ], - "dflt": "circle", - "arrayOk": false, - "role": "style", - "editType": "plot", - "description": "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." - }, - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "arrayOk": false, - "role": "style", - "editType": "style", - "description": "Sets the marker opacity.", - "dflt": 1 - }, - "size": { - "valType": "number", - "min": 0, - "dflt": 6, - "arrayOk": false, - "role": "style", - "editType": "calc", - "description": "Sets the marker size (in px)." - }, - "color": { - "valType": "color", - "arrayOk": false, - "role": "style", - "editType": "style", - "description": "Sets themarkercolor. 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": { - "color": { - "valType": "color", - "arrayOk": false, - "role": "style", - "editType": "style", - "description": "Sets themarker.linecolor. 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.", - "dflt": "#444" - }, - "width": { - "valType": "number", - "min": 0, - "arrayOk": false, - "role": "style", - "editType": "style", - "description": "Sets the width (in px) of the lines bounding the marker points.", - "dflt": 0 - }, - "outliercolor": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the border line color of the outlier sample points. Defaults to marker.color" - }, - "outlierwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "style", - "description": "Sets the border line width (in px) of the outlier sample points." - }, - "editType": "style", - "role": "object" - }, - "editType": "plot", - "role": "object" - }, - "line": { - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the color of line bounding the box(es)." - }, - "width": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 2, - "editType": "style", - "description": "Sets the width (in px) of line bounding the box(es)." - }, - "editType": "plot", - "role": "object" - }, - "fillcolor": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available." - }, - "whiskerwidth": { - "valType": "number", - "min": 0, - "max": 1, - "dflt": 0.5, - "role": "style", - "editType": "calc", - "description": "Sets the width of the whiskers relative to the box' width. For example, with 1, the whiskers are as wide as the box(es)." - }, - "offsetgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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." - }, - "alignmentgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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." - }, - "selected": { - "marker": { - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "role": "style", - "editType": "style", - "description": "Sets the marker opacity of selected points." - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the marker color of selected points." - }, - "size": { - "valType": "number", - "min": 0, - "role": "style", - "editType": "style", - "description": "Sets the marker size of selected points." - }, - "editType": "style", - "role": "object" - }, - "editType": "style", - "role": "object" - }, - "unselected": { - "marker": { - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "role": "style", - "editType": "style", - "description": "Sets the marker opacity of unselected points, applied only when a selection exists." - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the marker color of unselected points, applied only when a selection exists." - }, - "size": { - "valType": "number", - "min": 0, - "role": "style", - "editType": "style", - "description": "Sets the marker size of unselected points, applied only when a selection exists." - }, - "editType": "style", - "role": "object" - }, - "editType": "style", - "role": "object" - }, - "text": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "calc", - "description": "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." - }, - "hovertext": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "style", - "description": "Same as `text`." - }, - "hovertemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "none", - "description": "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}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "arrayOk": true - }, - "hoveron": { - "valType": "flaglist", - "flags": [ - "boxes", - "points" - ], - "dflt": "boxes+points", - "role": "info", - "editType": "style", - "description": "Do the hover effects highlight individual boxes or sample points or both?" - }, - "xcalendar": { - "valType": "enumerated", - "values": [ - "gregorian", - "chinese", - "coptic", - "discworld", - "ethiopian", - "hebrew", - "islamic", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "jalali", - "taiwan", - "thai", - "ummalqura" - ], - "role": "info", - "editType": "calc", - "dflt": "gregorian", - "description": "Sets the calendar system to use with `x` date data." - }, - "ycalendar": { - "valType": "enumerated", - "values": [ - "gregorian", - "chinese", - "coptic", - "discworld", - "ethiopian", - "hebrew", - "islamic", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "jalali", - "taiwan", - "thai", - "ummalqura" - ], - "role": "info", - "editType": "calc", - "dflt": "gregorian", - "description": "Sets the calendar system to use with `y` date data." - }, - "xaxis": { - "valType": "subplotid", - "role": "info", - "dflt": "x", - "editType": "calc+clearAxisTypes", - "description": "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": { - "valType": "subplotid", - "role": "info", - "dflt": "y", - "editType": "calc+clearAxisTypes", - "description": "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." - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - }, - "ysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for y .", - "editType": "none" - }, - "xsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for x .", - "editType": "none" - }, - "q1src": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for q1 .", - "editType": "none" - }, - "mediansrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for median .", - "editType": "none" - }, - "q3src": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for q3 .", - "editType": "none" - }, - "lowerfencesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for lowerfence .", - "editType": "none" - }, - "upperfencesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for upperfence .", - "editType": "none" - }, - "notchspansrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for notchspan .", - "editType": "none" - }, - "meansrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for mean .", - "editType": "none" - }, - "sdsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for sd .", - "editType": "none" - }, - "textsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for text .", - "editType": "none" - }, - "hovertextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertext .", - "editType": "none" - }, - "hovertemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertemplate .", - "editType": "none" - } - }, - "layoutAttributes": { - "boxmode": { - "valType": "enumerated", - "values": [ - "group", - "overlay" - ], - "dflt": "overlay", - "role": "info", - "editType": "calc", - "description": "Determines how boxes at the same location coordinate are displayed on the graph. If *group*, the boxes are plotted next to one another centered around the shared location. If *overlay*, the boxes are plotted over one another, you might need to set *opacity* to see them multiple boxes. Has no effect on traces that have *width* set." - }, - "boxgap": { - "valType": "number", - "min": 0, - "max": 1, - "dflt": 0.3, - "role": "style", - "editType": "calc", - "description": "Sets the gap (in plot fraction) between boxes of adjacent location coordinates. Has no effect on traces that have *width* set." - }, - "boxgroupgap": { - "valType": "number", - "min": 0, - "max": 1, - "dflt": 0.3, - "role": "style", - "editType": "calc", - "description": "Sets the gap (in plot fraction) between boxes of the same location coordinate. Has no effect on traces that have *width* set." - } - } - }, - "heatmap": { - "meta": { - "description": "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." - }, - "categories": [ - "cartesian", - "svg", - "2dMap", - "showLegend" - ], - "animatable": false, - "type": "heatmap", - "attributes": { - "type": "heatmap", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "legendgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "style", - "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items." - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "editType": "style", - "description": "Sets the opacity of the trace." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "x", - "y", - "z", - "text", - "name" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "all", - "editType": "none", - "description": "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": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "transforms": { - "items": { - "transform": { - "editType": "calc", - "description": "An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", - "role": "object" - } - }, - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "z": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the z data.", - "role": "data" - }, - "x": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "description": "Sets the x coordinates.", - "impliedEdits": { - "xtype": "array" - }, - "role": "data" - }, - "x0": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc+clearAxisTypes", - "description": "Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.", - "impliedEdits": { - "xtype": "scaled" - } - }, - "dx": { - "valType": "number", - "dflt": 1, - "role": "info", - "editType": "calc", - "description": "Sets the x coordinate step. See `x0` for more info.", - "impliedEdits": { - "xtype": "scaled" - } - }, - "y": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "description": "Sets the y coordinates.", - "impliedEdits": { - "ytype": "array" - }, - "role": "data" - }, - "y0": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc+clearAxisTypes", - "description": "Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.", - "impliedEdits": { - "ytype": "scaled" - } - }, - "dy": { - "valType": "number", - "dflt": 1, - "role": "info", - "editType": "calc", - "description": "Sets the y coordinate step. See `y0` for more info.", - "impliedEdits": { - "ytype": "scaled" - } - }, - "xperiod": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer.", - "impliedEdits": { - "xtype": "scaled" - } - }, - "yperiod": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the y axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer.", - "impliedEdits": { - "ytype": "scaled" - } - }, - "xperiod0": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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.", - "impliedEdits": { - "xtype": "scaled" - } - }, - "yperiod0": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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.", - "impliedEdits": { - "ytype": "scaled" - } - }, - "xperiodalignment": { - "valType": "enumerated", - "values": [ - "start", - "middle", - "end" - ], - "dflt": "middle", - "role": "style", - "editType": "calc", - "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.", - "impliedEdits": { - "xtype": "scaled" - } - }, - "yperiodalignment": { - "valType": "enumerated", - "values": [ - "start", - "middle", - "end" - ], - "dflt": "middle", - "role": "style", - "editType": "calc", - "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.", - "impliedEdits": { - "ytype": "scaled" - } - }, - "text": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the text elements associated with each z value.", - "role": "data" - }, - "hovertext": { - "valType": "data_array", - "editType": "calc", - "description": "Same as `text`.", - "role": "data" - }, - "transpose": { - "valType": "boolean", - "dflt": false, - "role": "info", - "editType": "calc", - "description": "Transposes the z data." - }, - "xtype": { - "valType": "enumerated", - "values": [ - "array", - "scaled" - ], - "role": "info", - "editType": "calc+clearAxisTypes", - "description": "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)." - }, - "ytype": { - "valType": "enumerated", - "values": [ - "array", - "scaled" - ], - "role": "info", - "editType": "calc+clearAxisTypes", - "description": "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)" - }, - "zsmooth": { - "valType": "enumerated", - "values": [ - "fast", - "best", - false - ], - "dflt": false, - "role": "style", - "editType": "calc", - "description": "Picks a smoothing algorithm use to smooth `z` data." - }, - "hoverongaps": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "none", - "description": "Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data have hover labels associated with them." - }, - "connectgaps": { - "valType": "boolean", - "role": "info", - "editType": "calc", - "description": "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." - }, - "xgap": { - "valType": "number", - "dflt": 0, - "min": 0, - "role": "style", - "editType": "plot", - "description": "Sets the horizontal gap (in pixels) between bricks." - }, - "ygap": { - "valType": "number", - "dflt": 0, - "min": 0, - "role": "style", - "editType": "plot", - "description": "Sets the vertical gap (in pixels) between bricks." - }, - "zhoverformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "none", - "description": "Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. See: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format" - }, - "hovertemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "none", - "description": "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}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "arrayOk": true - }, - "showlegend": { - "valType": "boolean", - "role": "info", - "dflt": false, - "editType": "style", - "description": "Determines whether or not an item corresponding to this trace is shown in the legend." - }, - "zauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "zmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "zauto": false - }, - "description": "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." - }, - "zmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "zauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "calc", - "impliedEdits": {}, - "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "plot", - "description": "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." - }, - "showscale": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "description": "Determines whether or not a colorbar is displayed for this trace." - }, - "colorbar": { - "thicknessmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "style", - "dflt": "pixels", - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "editType": "colorbars" - }, - "thickness": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 30, - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "editType": "colorbars" - }, - "lenmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "info", - "dflt": "fraction", - "description": "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.", - "editType": "colorbars" - }, - "len": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "description": "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.", - "editType": "colorbars" - }, - "x": { - "valType": "number", - "dflt": 1.02, - "min": -2, - "max": 3, - "role": "style", - "description": "Sets the x position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "left", - "role": "style", - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", - "editType": "colorbars" - }, - "xpad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the x direction.", - "editType": "colorbars" - }, - "y": { - "valType": "number", - "role": "style", - "dflt": 0.5, - "min": -2, - "max": 3, - "description": "Sets the y position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ], - "role": "style", - "dflt": "middle", - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", - "editType": "colorbars" - }, - "ypad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the y direction.", - "editType": "colorbars" - }, - "outlinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "outlinewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the width (in px) of the axis line." - }, - "bordercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "borderwidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 0, - "description": "Sets the width (in px) or the border enclosing this color bar.", - "editType": "colorbars" - }, - "bgcolor": { - "valType": "color", - "role": "style", - "dflt": "rgba(0,0,0,0)", - "description": "Sets the color of padded area.", - "editType": "colorbars" - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "colorbars", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "colorbars", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "colorbars", - "description": "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.", - "dflt": "" - }, - "ticklabelposition": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside bottom", - "inside bottom" - ], - "dflt": "outside", - "role": "info", - "description": "Determines where tick labels are drawn.", - "editType": "colorbars" - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "colorbars", - "description": "Determines whether or not the tick labels are drawn." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets the color bar's tick label font", - "editType": "colorbars", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "colorbars", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "colorbars", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "colorbars" - }, - { - "valType": "any", - "editType": "colorbars" - } - ], - "editType": "colorbars", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "colorbars", - "name": { - "valType": "string", - "role": "style", - "editType": "colorbars", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "colorbars", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "colorbars", - "description": "If \"true\", even 4-digit integers are separated" - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "colorbars", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", - "editType": "colorbars" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "editType": "colorbars", - "role": "object" - }, - "side": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.", - "editType": "colorbars" - }, - "editType": "colorbars", - "role": "object" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars" - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars" - }, - "titleside": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Deprecated in favor of color bar's `title.side`.", - "editType": "colorbars" - } - }, - "editType": "colorbars", - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "xcalendar": { - "valType": "enumerated", - "values": [ - "gregorian", - "chinese", - "coptic", - "discworld", - "ethiopian", - "hebrew", - "islamic", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "jalali", - "taiwan", - "thai", - "ummalqura" - ], - "role": "info", - "editType": "calc", - "dflt": "gregorian", - "description": "Sets the calendar system to use with `x` date data." - }, - "ycalendar": { - "valType": "enumerated", - "values": [ - "gregorian", - "chinese", - "coptic", - "discworld", - "ethiopian", - "hebrew", - "islamic", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "jalali", - "taiwan", - "thai", - "ummalqura" - ], - "role": "info", - "editType": "calc", - "dflt": "gregorian", - "description": "Sets the calendar system to use with `y` date data." - }, - "xaxis": { - "valType": "subplotid", - "role": "info", - "dflt": "x", - "editType": "calc+clearAxisTypes", - "description": "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": { - "valType": "subplotid", - "role": "info", - "dflt": "y", - "editType": "calc+clearAxisTypes", - "description": "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." - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - }, - "zsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for z .", - "editType": "none" - }, - "xsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for x .", - "editType": "none" - }, - "ysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for y .", - "editType": "none" - }, - "textsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for text .", - "editType": "none" - }, - "hovertextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertext .", - "editType": "none" - }, - "hovertemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertemplate .", - "editType": "none" - } - } - }, - "histogram": { - "meta": { - "description": "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." - }, - "categories": [ - "bar-like", - "cartesian", - "svg", - "bar", - "histogram", - "oriented", - "errorBarsOK", - "showLegend" - ], - "animatable": false, - "type": "histogram", - "attributes": { - "type": "histogram", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "showlegend": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "style", - "description": "Determines whether or not an item corresponding to this trace is shown in the legend." - }, - "legendgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "style", - "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items." - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "editType": "style", - "description": "Sets the opacity of the trace." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "selectedpoints": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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." - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "x", - "y", - "z", - "text", - "name" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "all", - "editType": "none", - "description": "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": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "transforms": { - "items": { - "transform": { - "editType": "calc", - "description": "An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", - "role": "object" - } - }, - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "x": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "description": "Sets the sample data to be binned on the x axis.", - "role": "data" - }, - "y": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "description": "Sets the sample data to be binned on the y axis.", - "role": "data" - }, - "text": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "calc", - "description": "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." - }, - "hovertext": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "style", - "description": "Same as `text`." - }, - "orientation": { - "valType": "enumerated", - "role": "info", - "values": [ - "v", - "h" - ], - "editType": "calc+clearAxisTypes", - "description": "Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal)." - }, - "histfunc": { - "valType": "enumerated", - "values": [ - "count", - "sum", - "avg", - "min", - "max" - ], - "role": "style", - "dflt": "count", - "editType": "calc", - "description": "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": { - "valType": "enumerated", - "values": [ - "", - "percent", - "probability", - "density", - "probability density" - ], - "dflt": "", - "role": "style", - "editType": "calc", - "description": "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)." - }, - "cumulative": { - "enabled": { - "valType": "boolean", - "dflt": false, - "role": "info", - "editType": "calc", - "description": "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." - }, - "direction": { - "valType": "enumerated", - "values": [ - "increasing", - "decreasing" - ], - "dflt": "increasing", - "role": "info", - "editType": "calc", - "description": "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." - }, - "currentbin": { - "valType": "enumerated", - "values": [ - "include", - "exclude", - "half" - ], - "dflt": "include", - "role": "info", - "editType": "calc", - "description": "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." - }, - "editType": "calc", - "role": "object" - }, - "nbinsx": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "calc", - "description": "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." - }, - "xbins": { - "start": { - "valType": "any", - "role": "style", - "editType": "calc", - "description": "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." - }, - "end": { - "valType": "any", - "role": "style", - "editType": "calc", - "description": "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": { - "valType": "any", - "role": "style", - "editType": "calc", - "description": "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* 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." - }, - "editType": "calc", - "role": "object" - }, - "nbinsy": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "calc", - "description": "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." - }, - "ybins": { - "start": { - "valType": "any", - "role": "style", - "editType": "calc", - "description": "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." - }, - "end": { - "valType": "any", - "role": "style", - "editType": "calc", - "description": "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": { - "valType": "any", - "role": "style", - "editType": "calc", - "description": "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* 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." - }, - "editType": "calc", - "role": "object" - }, - "autobinx": { - "valType": "boolean", - "dflt": null, - "role": "style", - "editType": "calc", - "description": "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": { - "valType": "boolean", - "dflt": null, - "role": "style", - "editType": "calc", - "description": "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": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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`" - }, - "hovertemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "none", - "description": "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}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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. variable `binNumber` Anything contained in tag `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "arrayOk": true - }, - "marker": { - "line": { - "width": { - "valType": "number", - "min": 0, - "arrayOk": true, - "role": "style", - "editType": "style", - "description": "Sets the width (in px) of the lines bounding the marker points.", - "dflt": 0 - }, - "editType": "calc", - "color": { - "valType": "color", - "arrayOk": true, - "role": "style", - "editType": "style", - "description": "Sets themarker.linecolor. 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." - }, - "cauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "cmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "description": "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." - }, - "cmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "plot", - "description": "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." - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "role": "object", - "widthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for width .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "editType": "calc", - "color": { - "valType": "color", - "arrayOk": true, - "role": "style", - "editType": "style", - "description": "Sets themarkercolor. 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." - }, - "cauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "cmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "description": "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." - }, - "cmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "plot", - "description": "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": { - "valType": "boolean", - "role": "info", - "dflt": false, - "editType": "calc", - "description": "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." - }, - "colorbar": { - "thicknessmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "style", - "dflt": "pixels", - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "editType": "colorbars" - }, - "thickness": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 30, - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "editType": "colorbars" - }, - "lenmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "info", - "dflt": "fraction", - "description": "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.", - "editType": "colorbars" - }, - "len": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "description": "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.", - "editType": "colorbars" - }, - "x": { - "valType": "number", - "dflt": 1.02, - "min": -2, - "max": 3, - "role": "style", - "description": "Sets the x position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "left", - "role": "style", - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", - "editType": "colorbars" - }, - "xpad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the x direction.", - "editType": "colorbars" - }, - "y": { - "valType": "number", - "role": "style", - "dflt": 0.5, - "min": -2, - "max": 3, - "description": "Sets the y position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ], - "role": "style", - "dflt": "middle", - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", - "editType": "colorbars" - }, - "ypad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the y direction.", - "editType": "colorbars" - }, - "outlinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "outlinewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the width (in px) of the axis line." - }, - "bordercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "borderwidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 0, - "description": "Sets the width (in px) or the border enclosing this color bar.", - "editType": "colorbars" - }, - "bgcolor": { - "valType": "color", - "role": "style", - "dflt": "rgba(0,0,0,0)", - "description": "Sets the color of padded area.", - "editType": "colorbars" - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "colorbars", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "colorbars", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "colorbars", - "description": "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.", - "dflt": "" - }, - "ticklabelposition": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside bottom", - "inside bottom" - ], - "dflt": "outside", - "role": "info", - "description": "Determines where tick labels are drawn.", - "editType": "colorbars" - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "colorbars", - "description": "Determines whether or not the tick labels are drawn." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets the color bar's tick label font", - "editType": "colorbars", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "colorbars", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "colorbars", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "colorbars" - }, - { - "valType": "any", - "editType": "colorbars" - } - ], - "editType": "colorbars", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "colorbars", - "name": { - "valType": "string", - "role": "style", - "editType": "colorbars", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "colorbars", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "colorbars", - "description": "If \"true\", even 4-digit integers are separated" - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "colorbars", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", - "editType": "colorbars" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "editType": "colorbars", - "role": "object" - }, - "side": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.", - "editType": "colorbars" - }, - "editType": "colorbars", - "role": "object" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars" - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars" - }, - "titleside": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Deprecated in favor of color bar's `title.side`.", - "editType": "colorbars" - } - }, - "editType": "colorbars", - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "opacity": { - "valType": "number", - "arrayOk": true, - "dflt": 1, - "min": 0, - "max": 1, - "role": "style", - "editType": "style", - "description": "Sets the opacity of the bars." - }, - "role": "object", - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - }, - "opacitysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for opacity .", - "editType": "none" - } - }, - "offsetgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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." - }, - "alignmentgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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." - }, - "selected": { - "marker": { - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "role": "style", - "editType": "style", - "description": "Sets the marker opacity of selected points." - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the marker color of selected points." - }, - "editType": "style", - "role": "object" - }, - "textfont": { - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the text font color of selected points." - }, - "editType": "style", - "role": "object" - }, - "editType": "style", - "role": "object" - }, - "unselected": { - "marker": { - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "role": "style", - "editType": "style", - "description": "Sets the marker opacity of unselected points, applied only when a selection exists." - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the marker color of unselected points, applied only when a selection exists." - }, - "editType": "style", - "role": "object" - }, - "textfont": { - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the text font color of unselected points, applied only when a selection exists." - }, - "editType": "style", - "role": "object" - }, - "editType": "style", - "role": "object" - }, - "_deprecated": { - "bardir": { - "valType": "enumerated", - "role": "info", - "editType": "calc", - "values": [ - "v", - "h" - ], - "description": "Renamed to `orientation`." - } - }, - "error_x": { - "visible": { - "valType": "boolean", - "role": "info", - "editType": "calc", - "description": "Determines whether or not this set of error bars is visible." - }, - "type": { - "valType": "enumerated", - "values": [ - "percent", - "constant", - "sqrt", - "data" - ], - "role": "info", - "editType": "calc", - "description": "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`." - }, - "symmetric": { - "valType": "boolean", - "role": "info", - "editType": "calc", - "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars." - }, - "array": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", - "role": "data" - }, - "arrayminus": { - "valType": "data_array", - "editType": "calc", - "description": "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.", - "role": "data" - }, - "value": { - "valType": "number", - "min": 0, - "dflt": 10, - "role": "info", - "editType": "calc", - "description": "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": { - "valType": "number", - "min": 0, - "dflt": 10, - "role": "info", - "editType": "calc", - "description": "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" - }, - "traceref": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "style" - }, - "tracerefminus": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "style" - }, - "copy_ystyle": { - "valType": "boolean", - "role": "style", - "editType": "plot" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the stoke color of the error bars." - }, - "thickness": { - "valType": "number", - "min": 0, - "dflt": 2, - "role": "style", - "editType": "style", - "description": "Sets the thickness (in px) of the error bars." - }, - "width": { - "valType": "number", - "min": 0, - "role": "style", - "editType": "plot", - "description": "Sets the width (in px) of the cross-bar at both ends of the error bars." - }, - "editType": "calc", - "_deprecated": { - "opacity": { - "valType": "number", - "role": "style", - "editType": "style", - "description": "Obsolete. Use the alpha channel in error bar `color` to set the opacity." - } - }, - "role": "object", - "arraysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for array .", - "editType": "none" - }, - "arrayminussrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for arrayminus .", - "editType": "none" - } - }, - "error_y": { - "visible": { - "valType": "boolean", - "role": "info", - "editType": "calc", - "description": "Determines whether or not this set of error bars is visible." - }, - "type": { - "valType": "enumerated", - "values": [ - "percent", - "constant", - "sqrt", - "data" - ], - "role": "info", - "editType": "calc", - "description": "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`." - }, - "symmetric": { - "valType": "boolean", - "role": "info", - "editType": "calc", - "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars." - }, - "array": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", - "role": "data" - }, - "arrayminus": { - "valType": "data_array", - "editType": "calc", - "description": "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.", - "role": "data" - }, - "value": { - "valType": "number", - "min": 0, - "dflt": 10, - "role": "info", - "editType": "calc", - "description": "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": { - "valType": "number", - "min": 0, - "dflt": 10, - "role": "info", - "editType": "calc", - "description": "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" - }, - "traceref": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "style" - }, - "tracerefminus": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "style" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the stoke color of the error bars." - }, - "thickness": { - "valType": "number", - "min": 0, - "dflt": 2, - "role": "style", - "editType": "style", - "description": "Sets the thickness (in px) of the error bars." - }, - "width": { - "valType": "number", - "min": 0, - "role": "style", - "editType": "plot", - "description": "Sets the width (in px) of the cross-bar at both ends of the error bars." - }, - "editType": "calc", - "_deprecated": { - "opacity": { - "valType": "number", - "role": "style", - "editType": "style", - "description": "Obsolete. Use the alpha channel in error bar `color` to set the opacity." - } - }, - "role": "object", - "arraysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for array .", - "editType": "none" - }, - "arrayminussrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for arrayminus .", - "editType": "none" - } - }, - "xcalendar": { - "valType": "enumerated", - "values": [ - "gregorian", - "chinese", - "coptic", - "discworld", - "ethiopian", - "hebrew", - "islamic", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "jalali", - "taiwan", - "thai", - "ummalqura" - ], - "role": "info", - "editType": "calc", - "dflt": "gregorian", - "description": "Sets the calendar system to use with `x` date data." - }, - "ycalendar": { - "valType": "enumerated", - "values": [ - "gregorian", - "chinese", - "coptic", - "discworld", - "ethiopian", - "hebrew", - "islamic", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "jalali", - "taiwan", - "thai", - "ummalqura" - ], - "role": "info", - "editType": "calc", - "dflt": "gregorian", - "description": "Sets the calendar system to use with `y` date data." - }, - "xaxis": { - "valType": "subplotid", - "role": "info", - "dflt": "x", - "editType": "calc+clearAxisTypes", - "description": "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": { - "valType": "subplotid", - "role": "info", - "dflt": "y", - "editType": "calc+clearAxisTypes", - "description": "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." - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - }, - "xsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for x .", - "editType": "none" - }, - "ysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for y .", - "editType": "none" - }, - "textsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for text .", - "editType": "none" - }, - "hovertextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertext .", - "editType": "none" - }, - "hovertemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertemplate .", - "editType": "none" - } - }, - "layoutAttributes": { - "barmode": { - "valType": "enumerated", - "values": [ - "stack", - "group", - "overlay", - "relative" - ], - "dflt": "group", - "role": "info", - "editType": "calc", - "description": "Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *relative*, the bars are stacked on top of one another, with negative values below the axis, positive values above With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to an *opacity* to see multiple bars." - }, - "barnorm": { - "valType": "enumerated", - "values": [ - "", - "fraction", - "percent" - ], - "dflt": "", - "role": "info", - "editType": "calc", - "description": "Sets the normalization for bar traces on the graph. With *fraction*, the value of each bar is divided by the sum of all values at that location coordinate. *percent* is the same but multiplied by 100 to show percentages." - }, - "bargap": { - "valType": "number", - "min": 0, - "max": 1, - "role": "style", - "editType": "calc", - "description": "Sets the gap (in plot fraction) between bars of adjacent location coordinates." - }, - "bargroupgap": { - "valType": "number", - "min": 0, - "max": 1, - "dflt": 0, - "role": "style", - "editType": "calc", - "description": "Sets the gap (in plot fraction) between bars of the same location coordinate." - } - } - }, - "histogram2d": { - "meta": { - "hrName": "histogram_2d", - "description": "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." - }, - "categories": [ - "cartesian", - "svg", - "2dMap", - "histogram", - "showLegend" - ], - "animatable": false, - "type": "histogram2d", - "attributes": { - "type": "histogram2d", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "legendgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "style", - "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items." - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "editType": "style", - "description": "Sets the opacity of the trace." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "x", - "y", - "z", - "text", - "name" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "all", - "editType": "none", - "description": "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": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "transforms": { - "items": { - "transform": { - "editType": "calc", - "description": "An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", - "role": "object" - } - }, - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "x": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "description": "Sets the sample data to be binned on the x axis.", - "role": "data" - }, - "y": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "description": "Sets the sample data to be binned on the y axis.", - "role": "data" - }, - "z": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the aggregation data.", - "role": "data" - }, - "marker": { - "color": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the aggregation data.", - "role": "data" - }, - "editType": "calc", - "role": "object", - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "histnorm": { - "valType": "enumerated", - "values": [ - "", - "percent", - "probability", - "density", - "probability density" - ], - "dflt": "", - "role": "style", - "editType": "calc", - "description": "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)." - }, - "histfunc": { - "valType": "enumerated", - "values": [ - "count", - "sum", - "avg", - "min", - "max" - ], - "role": "style", - "dflt": "count", - "editType": "calc", - "description": "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." - }, - "nbinsx": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "calc", - "description": "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." - }, - "xbins": { - "start": { - "valType": "any", - "role": "style", - "editType": "calc", - "description": "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. " - }, - "end": { - "valType": "any", - "role": "style", - "editType": "calc", - "description": "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": { - "valType": "any", - "role": "style", - "editType": "calc", - "description": "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* for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). " - }, - "editType": "calc", - "role": "object" - }, - "nbinsy": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "calc", - "description": "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." - }, - "ybins": { - "start": { - "valType": "any", - "role": "style", - "editType": "calc", - "description": "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. " - }, - "end": { - "valType": "any", - "role": "style", - "editType": "calc", - "description": "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": { - "valType": "any", - "role": "style", - "editType": "calc", - "description": "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* for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). " - }, - "editType": "calc", - "role": "object" - }, - "autobinx": { - "valType": "boolean", - "dflt": null, - "role": "style", - "editType": "calc", - "description": "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": { - "valType": "boolean", - "dflt": null, - "role": "style", - "editType": "calc", - "description": "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": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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." - }, - "xbingroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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`" - }, - "ybingroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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`" - }, - "xgap": { - "valType": "number", - "dflt": 0, - "min": 0, - "role": "style", - "editType": "plot", - "description": "Sets the horizontal gap (in pixels) between bricks." - }, - "ygap": { - "valType": "number", - "dflt": 0, - "min": 0, - "role": "style", - "editType": "plot", - "description": "Sets the vertical gap (in pixels) between bricks." - }, - "zsmooth": { - "valType": "enumerated", - "values": [ - "fast", - "best", - false - ], - "dflt": false, - "role": "style", - "editType": "calc", - "description": "Picks a smoothing algorithm use to smooth `z` data." - }, - "zhoverformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "none", - "description": "Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. See: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format" - }, - "hovertemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "none", - "description": "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}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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. variable `z` Anything contained in tag `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "arrayOk": true - }, - "showlegend": { - "valType": "boolean", - "role": "info", - "dflt": false, - "editType": "style", - "description": "Determines whether or not an item corresponding to this trace is shown in the legend." - }, - "zauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "zmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "zauto": false - }, - "description": "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." - }, - "zmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "zauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "calc", - "impliedEdits": {}, - "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "plot", - "description": "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." - }, - "showscale": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "description": "Determines whether or not a colorbar is displayed for this trace." - }, - "colorbar": { - "thicknessmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "style", - "dflt": "pixels", - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "editType": "colorbars" - }, - "thickness": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 30, - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "editType": "colorbars" - }, - "lenmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "info", - "dflt": "fraction", - "description": "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.", - "editType": "colorbars" - }, - "len": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "description": "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.", - "editType": "colorbars" - }, - "x": { - "valType": "number", - "dflt": 1.02, - "min": -2, - "max": 3, - "role": "style", - "description": "Sets the x position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "left", - "role": "style", - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", - "editType": "colorbars" - }, - "xpad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the x direction.", - "editType": "colorbars" - }, - "y": { - "valType": "number", - "role": "style", - "dflt": 0.5, - "min": -2, - "max": 3, - "description": "Sets the y position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ], - "role": "style", - "dflt": "middle", - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", - "editType": "colorbars" - }, - "ypad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the y direction.", - "editType": "colorbars" - }, - "outlinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "outlinewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the width (in px) of the axis line." - }, - "bordercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "borderwidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 0, - "description": "Sets the width (in px) or the border enclosing this color bar.", - "editType": "colorbars" - }, - "bgcolor": { - "valType": "color", - "role": "style", - "dflt": "rgba(0,0,0,0)", - "description": "Sets the color of padded area.", - "editType": "colorbars" - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "colorbars", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "colorbars", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "colorbars", - "description": "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.", - "dflt": "" - }, - "ticklabelposition": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside bottom", - "inside bottom" - ], - "dflt": "outside", - "role": "info", - "description": "Determines where tick labels are drawn.", - "editType": "colorbars" - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "colorbars", - "description": "Determines whether or not the tick labels are drawn." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets the color bar's tick label font", - "editType": "colorbars", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "colorbars", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "colorbars", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "colorbars" - }, - { - "valType": "any", - "editType": "colorbars" - } - ], - "editType": "colorbars", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "colorbars", - "name": { - "valType": "string", - "role": "style", - "editType": "colorbars", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "colorbars", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "colorbars", - "description": "If \"true\", even 4-digit integers are separated" - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "colorbars", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", - "editType": "colorbars" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "editType": "colorbars", - "role": "object" - }, - "side": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.", - "editType": "colorbars" - }, - "editType": "colorbars", - "role": "object" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars" - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars" - }, - "titleside": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Deprecated in favor of color bar's `title.side`.", - "editType": "colorbars" - } - }, - "editType": "colorbars", - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "xcalendar": { - "valType": "enumerated", - "values": [ - "gregorian", - "chinese", - "coptic", - "discworld", - "ethiopian", - "hebrew", - "islamic", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "jalali", - "taiwan", - "thai", - "ummalqura" - ], - "role": "info", - "editType": "calc", - "dflt": "gregorian", - "description": "Sets the calendar system to use with `x` date data." - }, - "ycalendar": { - "valType": "enumerated", - "values": [ - "gregorian", - "chinese", - "coptic", - "discworld", - "ethiopian", - "hebrew", - "islamic", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "jalali", - "taiwan", - "thai", - "ummalqura" - ], - "role": "info", - "editType": "calc", - "dflt": "gregorian", - "description": "Sets the calendar system to use with `y` date data." - }, - "xaxis": { - "valType": "subplotid", - "role": "info", - "dflt": "x", - "editType": "calc+clearAxisTypes", - "description": "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": { - "valType": "subplotid", - "role": "info", - "dflt": "y", - "editType": "calc+clearAxisTypes", - "description": "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." - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - }, - "xsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for x .", - "editType": "none" - }, - "ysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for y .", - "editType": "none" - }, - "zsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for z .", - "editType": "none" - }, - "hovertemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertemplate .", - "editType": "none" - } - } - }, - "histogram2dcontour": { - "meta": { - "hrName": "histogram_2d_contour", - "description": "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." - }, - "categories": [ - "cartesian", - "svg", - "2dMap", - "contour", - "histogram", - "showLegend" - ], - "animatable": false, - "type": "histogram2dcontour", - "attributes": { - "type": "histogram2dcontour", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "showlegend": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "style", - "description": "Determines whether or not an item corresponding to this trace is shown in the legend." - }, - "legendgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "style", - "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items." - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "editType": "style", - "description": "Sets the opacity of the trace." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "x", - "y", - "z", - "text", - "name" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "all", - "editType": "none", - "description": "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": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "transforms": { - "items": { - "transform": { - "editType": "calc", - "description": "An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", - "role": "object" - } - }, - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "x": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "description": "Sets the sample data to be binned on the x axis.", - "role": "data" - }, - "y": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "description": "Sets the sample data to be binned on the y axis.", - "role": "data" - }, - "z": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the aggregation data.", - "role": "data" - }, - "marker": { - "color": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the aggregation data.", - "role": "data" - }, - "editType": "calc", - "role": "object", - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "histnorm": { - "valType": "enumerated", - "values": [ - "", - "percent", - "probability", - "density", - "probability density" - ], - "dflt": "", - "role": "style", - "editType": "calc", - "description": "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)." - }, - "histfunc": { - "valType": "enumerated", - "values": [ - "count", - "sum", - "avg", - "min", - "max" - ], - "role": "style", - "dflt": "count", - "editType": "calc", - "description": "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." - }, - "nbinsx": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "calc", - "description": "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." - }, - "xbins": { - "start": { - "valType": "any", - "role": "style", - "editType": "calc", - "description": "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. " - }, - "end": { - "valType": "any", - "role": "style", - "editType": "calc", - "description": "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": { - "valType": "any", - "role": "style", - "editType": "calc", - "description": "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* for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). " - }, - "editType": "calc", - "role": "object" - }, - "nbinsy": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "calc", - "description": "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." - }, - "ybins": { - "start": { - "valType": "any", - "role": "style", - "editType": "calc", - "description": "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. " - }, - "end": { - "valType": "any", - "role": "style", - "editType": "calc", - "description": "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": { - "valType": "any", - "role": "style", - "editType": "calc", - "description": "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* for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). " - }, - "editType": "calc", - "role": "object" - }, - "autobinx": { - "valType": "boolean", - "dflt": null, - "role": "style", - "editType": "calc", - "description": "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": { - "valType": "boolean", - "dflt": null, - "role": "style", - "editType": "calc", - "description": "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": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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." - }, - "xbingroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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`" - }, - "ybingroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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`" - }, - "autocontour": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "ncontours": { - "valType": "integer", - "dflt": 15, - "min": 1, - "role": "style", - "editType": "calc", - "description": "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." - }, - "contours": { - "type": { - "valType": "enumerated", - "values": [ - "levels", - "constraint" - ], - "dflt": "levels", - "role": "info", - "editType": "calc", - "description": "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." - }, - "start": { - "valType": "number", - "dflt": null, - "role": "style", - "editType": "plot", - "impliedEdits": { - "^autocontour": false - }, - "description": "Sets the starting contour level value. Must be less than `contours.end`" - }, - "end": { - "valType": "number", - "dflt": null, - "role": "style", - "editType": "plot", - "impliedEdits": { - "^autocontour": false - }, - "description": "Sets the end contour level value. Must be more than `contours.start`" - }, - "size": { - "valType": "number", - "dflt": null, - "min": 0, - "role": "style", - "editType": "plot", - "impliedEdits": { - "^autocontour": false - }, - "description": "Sets the step between each contour level. Must be positive." - }, - "coloring": { - "valType": "enumerated", - "values": [ - "fill", - "heatmap", - "lines", - "none" - ], - "dflt": "fill", - "role": "style", - "editType": "calc", - "description": "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." - }, - "showlines": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "plot", - "description": "Determines whether or not the contour lines are drawn. Has an effect only if `contours.coloring` is set to *fill*." - }, - "showlabels": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "plot", - "description": "Determines whether to label the contour lines with their values." - }, - "labelfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style" - }, - "editType": "plot", - "description": "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`.", - "role": "object" - }, - "labelformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "Sets the contour label formatting rule using d3 formatting mini-language which is very similar to Python, see: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format" - }, - "operation": { - "valType": "enumerated", - "values": [ - "=", - "<", - ">=", - ">", - "<=", - "[]", - "()", - "[)", - "(]", - "][", - ")(", - "](", - ")[" - ], - "role": "info", - "dflt": "=", - "editType": "calc", - "description": "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." - }, - "value": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "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." - }, - "editType": "calc", - "impliedEdits": { - "autocontour": false, - "role": "object" - }, - "role": "object" - }, - "line": { - "color": { - "valType": "color", - "role": "style", - "editType": "style+colorbars", - "description": "Sets the color of the contour level. Has no effect if `contours.coloring` is set to *lines*." - }, - "width": { - "valType": "number", - "min": 0, - "role": "style", - "editType": "style+colorbars", - "description": "Sets the contour line width in (in px)", - "dflt": 0.5 - }, - "dash": { - "valType": "string", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" - ], - "dflt": "solid", - "role": "style", - "editType": "style", - "description": "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": { - "valType": "number", - "min": 0, - "max": 1.3, - "dflt": 1, - "role": "style", - "editType": "plot", - "description": "Sets the amount of smoothing for the contour lines, where *0* corresponds to no smoothing." - }, - "editType": "plot", - "role": "object" - }, - "zhoverformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "none", - "description": "Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. See: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format" - }, - "hovertemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "none", - "description": "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}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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. variable `z` Anything contained in tag `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "arrayOk": true - }, - "zauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "zmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "zauto": false - }, - "description": "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." - }, - "zmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "zauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "plot", - "description": "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." - }, - "showscale": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "description": "Determines whether or not a colorbar is displayed for this trace." - }, - "colorbar": { - "thicknessmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "style", - "dflt": "pixels", - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "editType": "colorbars" - }, - "thickness": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 30, - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "editType": "colorbars" - }, - "lenmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "info", - "dflt": "fraction", - "description": "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.", - "editType": "colorbars" - }, - "len": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "description": "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.", - "editType": "colorbars" - }, - "x": { - "valType": "number", - "dflt": 1.02, - "min": -2, - "max": 3, - "role": "style", - "description": "Sets the x position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "left", - "role": "style", - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", - "editType": "colorbars" - }, - "xpad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the x direction.", - "editType": "colorbars" - }, - "y": { - "valType": "number", - "role": "style", - "dflt": 0.5, - "min": -2, - "max": 3, - "description": "Sets the y position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ], - "role": "style", - "dflt": "middle", - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", - "editType": "colorbars" - }, - "ypad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the y direction.", - "editType": "colorbars" - }, - "outlinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "outlinewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the width (in px) of the axis line." - }, - "bordercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "borderwidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 0, - "description": "Sets the width (in px) or the border enclosing this color bar.", - "editType": "colorbars" - }, - "bgcolor": { - "valType": "color", - "role": "style", - "dflt": "rgba(0,0,0,0)", - "description": "Sets the color of padded area.", - "editType": "colorbars" - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "colorbars", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "colorbars", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "colorbars", - "description": "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.", - "dflt": "" - }, - "ticklabelposition": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside bottom", - "inside bottom" - ], - "dflt": "outside", - "role": "info", - "description": "Determines where tick labels are drawn.", - "editType": "colorbars" - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "colorbars", - "description": "Determines whether or not the tick labels are drawn." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets the color bar's tick label font", - "editType": "colorbars", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "colorbars", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "colorbars", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "colorbars" - }, - { - "valType": "any", - "editType": "colorbars" - } - ], - "editType": "colorbars", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "colorbars", - "name": { - "valType": "string", - "role": "style", - "editType": "colorbars", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "colorbars", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "colorbars", - "description": "If \"true\", even 4-digit integers are separated" - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "colorbars", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", - "editType": "colorbars" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "editType": "colorbars", - "role": "object" - }, - "side": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.", - "editType": "colorbars" - }, - "editType": "colorbars", - "role": "object" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars" - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars" - }, - "titleside": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Deprecated in favor of color bar's `title.side`.", - "editType": "colorbars" - } - }, - "editType": "colorbars", - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "xcalendar": { - "valType": "enumerated", - "values": [ - "gregorian", - "chinese", - "coptic", - "discworld", - "ethiopian", - "hebrew", - "islamic", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "jalali", - "taiwan", - "thai", - "ummalqura" - ], - "role": "info", - "editType": "calc", - "dflt": "gregorian", - "description": "Sets the calendar system to use with `x` date data." - }, - "ycalendar": { - "valType": "enumerated", - "values": [ - "gregorian", - "chinese", - "coptic", - "discworld", - "ethiopian", - "hebrew", - "islamic", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "jalali", - "taiwan", - "thai", - "ummalqura" - ], - "role": "info", - "editType": "calc", - "dflt": "gregorian", - "description": "Sets the calendar system to use with `y` date data." - }, - "xaxis": { - "valType": "subplotid", - "role": "info", - "dflt": "x", - "editType": "calc+clearAxisTypes", - "description": "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": { - "valType": "subplotid", - "role": "info", - "dflt": "y", - "editType": "calc+clearAxisTypes", - "description": "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." - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - }, - "xsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for x .", - "editType": "none" - }, - "ysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for y .", - "editType": "none" - }, - "zsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for z .", - "editType": "none" - }, - "hovertemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertemplate .", - "editType": "none" - } - } - }, - "contour": { - "meta": { - "description": "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." - }, - "categories": [ - "cartesian", - "svg", - "2dMap", - "contour", - "showLegend" - ], - "animatable": false, - "type": "contour", - "attributes": { - "type": "contour", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "showlegend": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "style", - "description": "Determines whether or not an item corresponding to this trace is shown in the legend." - }, - "legendgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "style", - "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items." - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "editType": "style", - "description": "Sets the opacity of the trace." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "x", - "y", - "z", - "text", - "name" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "all", - "editType": "none", - "description": "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": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "transforms": { - "items": { - "transform": { - "editType": "calc", - "description": "An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", - "role": "object" - } - }, - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "z": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the z data.", - "role": "data" - }, - "x": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "description": "Sets the x coordinates.", - "impliedEdits": { - "xtype": "array" - }, - "role": "data" - }, - "x0": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc+clearAxisTypes", - "description": "Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.", - "impliedEdits": { - "xtype": "scaled" - } - }, - "dx": { - "valType": "number", - "dflt": 1, - "role": "info", - "editType": "calc", - "description": "Sets the x coordinate step. See `x0` for more info.", - "impliedEdits": { - "xtype": "scaled" - } - }, - "y": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "description": "Sets the y coordinates.", - "impliedEdits": { - "ytype": "array" - }, - "role": "data" - }, - "y0": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc+clearAxisTypes", - "description": "Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.", - "impliedEdits": { - "ytype": "scaled" - } - }, - "dy": { - "valType": "number", - "dflt": 1, - "role": "info", - "editType": "calc", - "description": "Sets the y coordinate step. See `y0` for more info.", - "impliedEdits": { - "ytype": "scaled" - } - }, - "xperiod": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer.", - "impliedEdits": { - "xtype": "scaled" - } - }, - "yperiod": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the y axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer.", - "impliedEdits": { - "ytype": "scaled" - } - }, - "xperiod0": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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." - }, - "yperiod0": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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." - }, - "xperiodalignment": { - "valType": "enumerated", - "values": [ - "start", - "middle", - "end" - ], - "dflt": "middle", - "role": "style", - "editType": "calc", - "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.", - "impliedEdits": { - "xtype": "scaled" - } - }, - "yperiodalignment": { - "valType": "enumerated", - "values": [ - "start", - "middle", - "end" - ], - "dflt": "middle", - "role": "style", - "editType": "calc", - "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.", - "impliedEdits": { - "ytype": "scaled" - } - }, - "text": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the text elements associated with each z value.", - "role": "data" - }, - "hovertext": { - "valType": "data_array", - "editType": "calc", - "description": "Same as `text`.", - "role": "data" - }, - "transpose": { - "valType": "boolean", - "dflt": false, - "role": "info", - "editType": "calc", - "description": "Transposes the z data." - }, - "xtype": { - "valType": "enumerated", - "values": [ - "array", - "scaled" - ], - "role": "info", - "editType": "calc+clearAxisTypes", - "description": "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)." - }, - "ytype": { - "valType": "enumerated", - "values": [ - "array", - "scaled" - ], - "role": "info", - "editType": "calc+clearAxisTypes", - "description": "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)" - }, - "zhoverformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "none", - "description": "Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. See: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format" - }, - "hovertemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "none", - "description": "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}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "arrayOk": true - }, - "hoverongaps": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "none", - "description": "Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data have hover labels associated with them." - }, - "connectgaps": { - "valType": "boolean", - "role": "info", - "editType": "calc", - "description": "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." - }, - "fillcolor": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "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." - }, - "autocontour": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "ncontours": { - "valType": "integer", - "dflt": 15, - "min": 1, - "role": "style", - "editType": "calc", - "description": "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." - }, - "contours": { - "type": { - "valType": "enumerated", - "values": [ - "levels", - "constraint" - ], - "dflt": "levels", - "role": "info", - "editType": "calc", - "description": "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." - }, - "start": { - "valType": "number", - "dflt": null, - "role": "style", - "editType": "plot", - "impliedEdits": { - "^autocontour": false - }, - "description": "Sets the starting contour level value. Must be less than `contours.end`" - }, - "end": { - "valType": "number", - "dflt": null, - "role": "style", - "editType": "plot", - "impliedEdits": { - "^autocontour": false - }, - "description": "Sets the end contour level value. Must be more than `contours.start`" - }, - "size": { - "valType": "number", - "dflt": null, - "min": 0, - "role": "style", - "editType": "plot", - "impliedEdits": { - "^autocontour": false - }, - "description": "Sets the step between each contour level. Must be positive." - }, - "coloring": { - "valType": "enumerated", - "values": [ - "fill", - "heatmap", - "lines", - "none" - ], - "dflt": "fill", - "role": "style", - "editType": "calc", - "description": "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." - }, - "showlines": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "plot", - "description": "Determines whether or not the contour lines are drawn. Has an effect only if `contours.coloring` is set to *fill*." - }, - "showlabels": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "plot", - "description": "Determines whether to label the contour lines with their values." - }, - "labelfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style" - }, - "editType": "plot", - "description": "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`.", - "role": "object" - }, - "labelformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "Sets the contour label formatting rule using d3 formatting mini-language which is very similar to Python, see: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format" - }, - "operation": { - "valType": "enumerated", - "values": [ - "=", - "<", - ">=", - ">", - "<=", - "[]", - "()", - "[)", - "(]", - "][", - ")(", - "](", - ")[" - ], - "role": "info", - "dflt": "=", - "editType": "calc", - "description": "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." - }, - "value": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "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." - }, - "editType": "calc", - "impliedEdits": { - "autocontour": false, - "role": "object" - }, - "role": "object" - }, - "line": { - "color": { - "valType": "color", - "role": "style", - "editType": "style+colorbars", - "description": "Sets the color of the contour level. Has no effect if `contours.coloring` is set to *lines*." - }, - "width": { - "valType": "number", - "min": 0, - "role": "style", - "editType": "style+colorbars", - "description": "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*." - }, - "dash": { - "valType": "string", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" - ], - "dflt": "solid", - "role": "style", - "editType": "style", - "description": "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": { - "valType": "number", - "min": 0, - "max": 1.3, - "dflt": 1, - "role": "style", - "editType": "plot", - "description": "Sets the amount of smoothing for the contour lines, where *0* corresponds to no smoothing." - }, - "editType": "plot", - "role": "object" - }, - "zauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "zmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "zauto": false - }, - "description": "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." - }, - "zmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "zauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "calc", - "impliedEdits": {}, - "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "plot", - "description": "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." - }, - "showscale": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "description": "Determines whether or not a colorbar is displayed for this trace." - }, - "colorbar": { - "thicknessmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "style", - "dflt": "pixels", - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "editType": "colorbars" - }, - "thickness": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 30, - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "editType": "colorbars" - }, - "lenmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "info", - "dflt": "fraction", - "description": "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.", - "editType": "colorbars" - }, - "len": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "description": "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.", - "editType": "colorbars" - }, - "x": { - "valType": "number", - "dflt": 1.02, - "min": -2, - "max": 3, - "role": "style", - "description": "Sets the x position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "left", - "role": "style", - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", - "editType": "colorbars" - }, - "xpad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the x direction.", - "editType": "colorbars" - }, - "y": { - "valType": "number", - "role": "style", - "dflt": 0.5, - "min": -2, - "max": 3, - "description": "Sets the y position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ], - "role": "style", - "dflt": "middle", - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", - "editType": "colorbars" - }, - "ypad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the y direction.", - "editType": "colorbars" - }, - "outlinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "outlinewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the width (in px) of the axis line." - }, - "bordercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "borderwidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 0, - "description": "Sets the width (in px) or the border enclosing this color bar.", - "editType": "colorbars" - }, - "bgcolor": { - "valType": "color", - "role": "style", - "dflt": "rgba(0,0,0,0)", - "description": "Sets the color of padded area.", - "editType": "colorbars" - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "colorbars", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "colorbars", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "colorbars", - "description": "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.", - "dflt": "" - }, - "ticklabelposition": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside bottom", - "inside bottom" - ], - "dflt": "outside", - "role": "info", - "description": "Determines where tick labels are drawn.", - "editType": "colorbars" - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "colorbars", - "description": "Determines whether or not the tick labels are drawn." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets the color bar's tick label font", - "editType": "colorbars", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "colorbars", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "colorbars", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "colorbars" - }, - { - "valType": "any", - "editType": "colorbars" - } - ], - "editType": "colorbars", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "colorbars", - "name": { - "valType": "string", - "role": "style", - "editType": "colorbars", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "colorbars", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "colorbars", - "description": "If \"true\", even 4-digit integers are separated" - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "colorbars", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", - "editType": "colorbars" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "editType": "colorbars", - "role": "object" - }, - "side": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.", - "editType": "colorbars" - }, - "editType": "colorbars", - "role": "object" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars" - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars" - }, - "titleside": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Deprecated in favor of color bar's `title.side`.", - "editType": "colorbars" - } - }, - "editType": "colorbars", - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "xcalendar": { - "valType": "enumerated", - "values": [ - "gregorian", - "chinese", - "coptic", - "discworld", - "ethiopian", - "hebrew", - "islamic", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "jalali", - "taiwan", - "thai", - "ummalqura" - ], - "role": "info", - "editType": "calc", - "dflt": "gregorian", - "description": "Sets the calendar system to use with `x` date data." - }, - "ycalendar": { - "valType": "enumerated", - "values": [ - "gregorian", - "chinese", - "coptic", - "discworld", - "ethiopian", - "hebrew", - "islamic", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "jalali", - "taiwan", - "thai", - "ummalqura" - ], - "role": "info", - "editType": "calc", - "dflt": "gregorian", - "description": "Sets the calendar system to use with `y` date data." - }, - "xaxis": { - "valType": "subplotid", - "role": "info", - "dflt": "x", - "editType": "calc+clearAxisTypes", - "description": "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": { - "valType": "subplotid", - "role": "info", - "dflt": "y", - "editType": "calc+clearAxisTypes", - "description": "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." - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - }, - "zsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for z .", - "editType": "none" - }, - "xsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for x .", - "editType": "none" - }, - "ysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for y .", - "editType": "none" - }, - "textsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for text .", - "editType": "none" - }, - "hovertextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertext .", - "editType": "none" - }, - "hovertemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertemplate .", - "editType": "none" - } - } - }, - "scatterternary": { - "meta": { - "hrName": "scatter_ternary", - "description": "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." - }, - "categories": [ - "ternary", - "symbols", - "showLegend", - "scatter-like" - ], - "animatable": false, - "type": "scatterternary", - "attributes": { - "type": "scatterternary", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "showlegend": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "style", - "description": "Determines whether or not an item corresponding to this trace is shown in the legend." - }, - "legendgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "style", - "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items." - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "editType": "style", - "description": "Sets the opacity of the trace." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "selectedpoints": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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." - }, - "hoverlabel": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "transforms": { - "items": { - "transform": { - "editType": "calc", - "description": "An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", - "role": "object" - } - }, - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "a": { - "valType": "data_array", - "editType": "calc", - "description": "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.sum`.", - "role": "data" - }, - "b": { - "valType": "data_array", - "editType": "calc", - "description": "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.sum`.", - "role": "data" - }, - "c": { - "valType": "data_array", - "editType": "calc", - "description": "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.sum`.", - "role": "data" - }, - "sum": { - "valType": "number", - "role": "info", - "dflt": 0, - "min": 0, - "editType": "calc", - "description": "The number each triplet should sum to, if only two of `a`, `b`, and `c` are provided. This overrides `ternary.sum` to normalize this specific trace, but does not affect the values displayed on the axes. 0 (or missing) means to use ternary.sum" - }, - "mode": { - "valType": "flaglist", - "flags": [ - "lines", - "markers", - "text" - ], - "extras": [ - "none" - ], - "role": "info", - "editType": "calc", - "description": "Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.", - "dflt": "markers" - }, - "text": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "calc", - "description": "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." - }, - "texttemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "plot", - "description": "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-3.x-api-reference/blob/master/Formatting.md#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#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. variables `a`, `b`, `c` and `text`.", - "arrayOk": true - }, - "hovertext": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "style", - "description": "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." - }, - "line": { - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the line color." - }, - "width": { - "valType": "number", - "min": 0, - "dflt": 2, - "role": "style", - "editType": "style", - "description": "Sets the line width (in px)." - }, - "dash": { - "valType": "string", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" - ], - "dflt": "solid", - "role": "style", - "editType": "style", - "description": "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": { - "valType": "enumerated", - "values": [ - "linear", - "spline" - ], - "dflt": "linear", - "role": "style", - "editType": "plot", - "description": "Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes." - }, - "smoothing": { - "valType": "number", - "min": 0, - "max": 1.3, - "dflt": 1, - "role": "style", - "editType": "plot", - "description": "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)." - }, - "editType": "calc", - "role": "object" - }, - "connectgaps": { - "valType": "boolean", - "dflt": false, - "role": "info", - "editType": "calc", - "description": "Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected." - }, - "cliponaxis": { - "valType": "boolean", - "dflt": true, - "role": "info", - "editType": "plot", - "description": "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*." - }, - "fill": { - "valType": "enumerated", - "values": [ - "none", - "toself", - "tonext" - ], - "role": "style", - "editType": "calc", - "description": "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.", - "dflt": "none" - }, - "fillcolor": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available." - }, - "marker": { - "symbol": { - "valType": "enumerated", - "values": [ - 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" - ], - "dflt": "circle", - "arrayOk": true, - "role": "style", - "editType": "style", - "description": "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." - }, - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "arrayOk": true, - "role": "style", - "editType": "style", - "description": "Sets the marker opacity." - }, - "maxdisplayed": { - "valType": "number", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "plot", - "description": "Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit." - }, - "size": { - "valType": "number", - "min": 0, - "dflt": 6, - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets the marker size (in px)." - }, - "sizeref": { - "valType": "number", - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "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`." - }, - "sizemin": { - "valType": "number", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "calc", - "description": "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": { - "valType": "enumerated", - "values": [ - "diameter", - "area" - ], - "dflt": "diameter", - "role": "info", - "editType": "calc", - "description": "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." - }, - "line": { - "width": { - "valType": "number", - "min": 0, - "arrayOk": true, - "role": "style", - "editType": "style", - "description": "Sets the width (in px) of the lines bounding the marker points." - }, - "editType": "calc", - "color": { - "valType": "color", - "arrayOk": true, - "role": "style", - "editType": "style", - "description": "Sets themarker.linecolor. 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." - }, - "cauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "cmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "description": "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." - }, - "cmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "plot", - "description": "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." - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "role": "object", - "widthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for width .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "gradient": { - "type": { - "valType": "enumerated", - "values": [ - "radial", - "horizontal", - "vertical", - "none" - ], - "arrayOk": true, - "dflt": "none", - "role": "style", - "editType": "calc", - "description": "Sets the type of gradient used to fill the markers" - }, - "color": { - "valType": "color", - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical." - }, - "editType": "calc", - "role": "object", - "typesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for type .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "editType": "calc", - "color": { - "valType": "color", - "arrayOk": true, - "role": "style", - "editType": "style", - "description": "Sets themarkercolor. 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." - }, - "cauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "cmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "description": "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." - }, - "cmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "plot", - "description": "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": { - "valType": "boolean", - "role": "info", - "dflt": false, - "editType": "calc", - "description": "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." - }, - "colorbar": { - "thicknessmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "style", - "dflt": "pixels", - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "editType": "colorbars" - }, - "thickness": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 30, - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "editType": "colorbars" - }, - "lenmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "info", - "dflt": "fraction", - "description": "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.", - "editType": "colorbars" - }, - "len": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "description": "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.", - "editType": "colorbars" - }, - "x": { - "valType": "number", - "dflt": 1.02, - "min": -2, - "max": 3, - "role": "style", - "description": "Sets the x position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "left", - "role": "style", - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", - "editType": "colorbars" - }, - "xpad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the x direction.", - "editType": "colorbars" - }, - "y": { - "valType": "number", - "role": "style", - "dflt": 0.5, - "min": -2, - "max": 3, - "description": "Sets the y position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ], - "role": "style", - "dflt": "middle", - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", - "editType": "colorbars" - }, - "ypad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the y direction.", - "editType": "colorbars" - }, - "outlinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "outlinewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the width (in px) of the axis line." - }, - "bordercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "borderwidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 0, - "description": "Sets the width (in px) or the border enclosing this color bar.", - "editType": "colorbars" - }, - "bgcolor": { - "valType": "color", - "role": "style", - "dflt": "rgba(0,0,0,0)", - "description": "Sets the color of padded area.", - "editType": "colorbars" - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "colorbars", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "colorbars", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "colorbars", - "description": "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.", - "dflt": "" - }, - "ticklabelposition": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside bottom", - "inside bottom" - ], - "dflt": "outside", - "role": "info", - "description": "Determines where tick labels are drawn.", - "editType": "colorbars" - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "colorbars", - "description": "Determines whether or not the tick labels are drawn." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets the color bar's tick label font", - "editType": "colorbars", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "colorbars", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "colorbars", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "colorbars" - }, - { - "valType": "any", - "editType": "colorbars" - } - ], - "editType": "colorbars", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "colorbars", - "name": { - "valType": "string", - "role": "style", - "editType": "colorbars", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "colorbars", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "colorbars", - "description": "If \"true\", even 4-digit integers are separated" - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "colorbars", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", - "editType": "colorbars" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "editType": "colorbars", - "role": "object" - }, - "side": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.", - "editType": "colorbars" - }, - "editType": "colorbars", - "role": "object" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars" - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars" - }, - "titleside": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Deprecated in favor of color bar's `title.side`.", - "editType": "colorbars" - } - }, - "editType": "colorbars", - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "role": "object", - "symbolsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for symbol .", - "editType": "none" - }, - "opacitysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for opacity .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "textfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "calc", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "arrayOk": true - }, - "editType": "calc", - "description": "Sets the text font.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "textposition": { - "valType": "enumerated", - "values": [ - "top left", - "top center", - "top right", - "middle left", - "middle center", - "middle right", - "bottom left", - "bottom center", - "bottom right" - ], - "dflt": "middle center", - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets the positions of the `text` elements with respects to the (x,y) coordinates." - }, - "selected": { - "marker": { - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "role": "style", - "editType": "style", - "description": "Sets the marker opacity of selected points." - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the marker color of selected points." - }, - "size": { - "valType": "number", - "min": 0, - "role": "style", - "editType": "style", - "description": "Sets the marker size of selected points." - }, - "editType": "style", - "role": "object" - }, - "textfont": { - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the text font color of selected points." - }, - "editType": "style", - "role": "object" - }, - "editType": "style", - "role": "object" - }, - "unselected": { - "marker": { - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "role": "style", - "editType": "style", - "description": "Sets the marker opacity of unselected points, applied only when a selection exists." - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the marker color of unselected points, applied only when a selection exists." - }, - "size": { - "valType": "number", - "min": 0, - "role": "style", - "editType": "style", - "description": "Sets the marker size of unselected points, applied only when a selection exists." - }, - "editType": "style", - "role": "object" - }, - "textfont": { - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the text font color of unselected points, applied only when a selection exists." - }, - "editType": "style", - "role": "object" - }, - "editType": "style", - "role": "object" - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "a", - "b", - "c", - "text", - "name" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "all", - "editType": "none", - "description": "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": { - "valType": "flaglist", - "flags": [ - "points", - "fills" - ], - "role": "info", - "editType": "style", - "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*." - }, - "hovertemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "none", - "description": "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}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "arrayOk": true - }, - "subplot": { - "valType": "subplotid", - "role": "info", - "dflt": "ternary", - "editType": "calc", - "description": "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." - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "asrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for a .", - "editType": "none" - }, - "bsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for b .", - "editType": "none" - }, - "csrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for c .", - "editType": "none" - }, - "textsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for text .", - "editType": "none" - }, - "texttemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for texttemplate .", - "editType": "none" - }, - "hovertextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertext .", - "editType": "none" - }, - "textpositionsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for textposition .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - }, - "hovertemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertemplate .", - "editType": "none" - } - } - }, - "violin": { - "meta": { - "description": "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." - }, - "categories": [ - "cartesian", - "svg", - "symbols", - "oriented", - "box-violin", - "showLegend", - "violinLayout", - "zoomScale" - ], - "animatable": false, - "type": "violin", - "attributes": { - "type": "violin", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "showlegend": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "style", - "description": "Determines whether or not an item corresponding to this trace is shown in the legend." - }, - "legendgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "style", - "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items." - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "editType": "style", - "description": "Sets the opacity of the trace." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "selectedpoints": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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." - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "x", - "y", - "z", - "text", - "name" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "all", - "editType": "none", - "description": "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": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "transforms": { - "items": { - "transform": { - "editType": "calc", - "description": "An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", - "role": "object" - } - }, - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "y": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "description": "Sets the y sample data or coordinates. See overview for more info.", - "role": "data" - }, - "x": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "description": "Sets the x sample data or coordinates. See overview for more info.", - "role": "data" - }, - "x0": { - "valType": "any", - "role": "info", - "editType": "calc+clearAxisTypes", - "description": "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." - }, - "y0": { - "valType": "any", - "role": "info", - "editType": "calc+clearAxisTypes", - "description": "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." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "calc+clearAxisTypes", - "description": "Sets the trace name. The trace name appear 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)." - }, - "orientation": { - "valType": "enumerated", - "values": [ - "v", - "h" - ], - "role": "style", - "editType": "calc+clearAxisTypes", - "description": "Sets the orientation of the violin(s). If *v* (*h*), the distribution is visualized along the vertical (horizontal)." - }, - "bandwidth": { - "valType": "number", - "min": 0, - "role": "info", - "editType": "calc", - "description": "Sets the bandwidth used to compute the kernel density estimate. By default, the bandwidth is determined by Silverman's rule of thumb." - }, - "scalegroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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": { - "valType": "enumerated", - "values": [ - "width", - "count" - ], - "dflt": "width", - "role": "info", - "editType": "calc", - "description": "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 makingup each violin." - }, - "spanmode": { - "valType": "enumerated", - "values": [ - "soft", - "hard", - "manual" - ], - "dflt": "soft", - "role": "info", - "editType": "calc", - "description": "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." - }, - "span": { - "valType": "info_array", - "items": [ - { - "valType": "any", - "editType": "calc" - }, - { - "valType": "any", - "editType": "calc" - } - ], - "role": "info", - "editType": "calc", - "description": "Sets the span in data space for which the density function will be computed. Has an effect only when `spanmode` is set to *manual*." - }, - "line": { - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the color of line bounding the violin(s)." - }, - "width": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 2, - "editType": "style", - "description": "Sets the width (in px) of line bounding the violin(s)." - }, - "editType": "plot", - "role": "object" - }, - "fillcolor": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available." - }, - "points": { - "valType": "enumerated", - "values": [ - "all", - "outliers", - "suspectedoutliers", - false - ], - "role": "style", - "editType": "calc", - "description": "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*." - }, - "jitter": { - "valType": "number", - "min": 0, - "max": 1, - "role": "style", - "editType": "calc", - "description": "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." - }, - "pointpos": { - "valType": "number", - "min": -2, - "max": 2, - "role": "style", - "editType": "calc", - "description": "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." - }, - "width": { - "valType": "number", - "min": 0, - "role": "info", - "dflt": 0, - "editType": "calc", - "description": "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." - }, - "marker": { - "outliercolor": { - "valType": "color", - "dflt": "rgba(0, 0, 0, 0)", - "role": "style", - "editType": "style", - "description": "Sets the color of the outlier sample points." - }, - "symbol": { - "valType": "enumerated", - "values": [ - 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" - ], - "dflt": "circle", - "arrayOk": false, - "role": "style", - "editType": "plot", - "description": "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." - }, - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "arrayOk": false, - "role": "style", - "editType": "style", - "description": "Sets the marker opacity.", - "dflt": 1 - }, - "size": { - "valType": "number", - "min": 0, - "dflt": 6, - "arrayOk": false, - "role": "style", - "editType": "calc", - "description": "Sets the marker size (in px)." - }, - "color": { - "valType": "color", - "arrayOk": false, - "role": "style", - "editType": "style", - "description": "Sets themarkercolor. 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": { - "color": { - "valType": "color", - "arrayOk": false, - "role": "style", - "editType": "style", - "description": "Sets themarker.linecolor. 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.", - "dflt": "#444" - }, - "width": { - "valType": "number", - "min": 0, - "arrayOk": false, - "role": "style", - "editType": "style", - "description": "Sets the width (in px) of the lines bounding the marker points.", - "dflt": 0 - }, - "outliercolor": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the border line color of the outlier sample points. Defaults to marker.color" - }, - "outlierwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "style", - "description": "Sets the border line width (in px) of the outlier sample points." - }, - "editType": "style", - "role": "object" - }, - "editType": "plot", - "role": "object" - }, - "text": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "calc", - "description": "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." - }, - "hovertext": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "style", - "description": "Same as `text`." - }, - "hovertemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "none", - "description": "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}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "arrayOk": true - }, - "box": { - "visible": { - "valType": "boolean", - "dflt": false, - "role": "info", - "editType": "plot", - "description": "Determines if an miniature box plot is drawn inside the violins. " - }, - "width": { - "valType": "number", - "min": 0, - "max": 1, - "dflt": 0.25, - "role": "info", - "editType": "plot", - "description": "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." - }, - "fillcolor": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the inner box plot fill color." - }, - "line": { - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the inner box plot bounding line color." - }, - "width": { - "valType": "number", - "min": 0, - "role": "style", - "editType": "style", - "description": "Sets the inner box plot bounding line width." - }, - "editType": "style", - "role": "object" - }, - "editType": "plot", - "role": "object" - }, - "meanline": { - "visible": { - "valType": "boolean", - "dflt": false, - "role": "info", - "editType": "plot", - "description": "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." - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the mean line color." - }, - "width": { - "valType": "number", - "min": 0, - "role": "style", - "editType": "style", - "description": "Sets the mean line width." - }, - "editType": "plot", - "role": "object" - }, - "side": { - "valType": "enumerated", - "values": [ - "both", - "positive", - "negative" - ], - "dflt": "both", - "role": "info", - "editType": "calc", - "description": "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*." - }, - "offsetgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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." - }, - "alignmentgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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." - }, - "selected": { - "marker": { - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "role": "style", - "editType": "style", - "description": "Sets the marker opacity of selected points." - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the marker color of selected points." - }, - "size": { - "valType": "number", - "min": 0, - "role": "style", - "editType": "style", - "description": "Sets the marker size of selected points." - }, - "editType": "style", - "role": "object" - }, - "editType": "style", - "role": "object" - }, - "unselected": { - "marker": { - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "role": "style", - "editType": "style", - "description": "Sets the marker opacity of unselected points, applied only when a selection exists." - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the marker color of unselected points, applied only when a selection exists." - }, - "size": { - "valType": "number", - "min": 0, - "role": "style", - "editType": "style", - "description": "Sets the marker size of unselected points, applied only when a selection exists." - }, - "editType": "style", - "role": "object" - }, - "editType": "style", - "role": "object" - }, - "hoveron": { - "valType": "flaglist", - "flags": [ - "violins", - "points", - "kde" - ], - "dflt": "violins+points+kde", - "extras": [ - "all" - ], - "role": "info", - "editType": "style", - "description": "Do the hover effects highlight individual violins or sample points or the kernel density estimate or any combination of them?" - }, - "xaxis": { - "valType": "subplotid", - "role": "info", - "dflt": "x", - "editType": "calc+clearAxisTypes", - "description": "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": { - "valType": "subplotid", - "role": "info", - "dflt": "y", - "editType": "calc+clearAxisTypes", - "description": "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." - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - }, - "ysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for y .", - "editType": "none" - }, - "xsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for x .", - "editType": "none" - }, - "textsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for text .", - "editType": "none" - }, - "hovertextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertext .", - "editType": "none" - }, - "hovertemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertemplate .", - "editType": "none" - } - }, - "layoutAttributes": { - "violinmode": { - "valType": "enumerated", - "values": [ - "group", - "overlay" - ], - "dflt": "overlay", - "role": "info", - "editType": "calc", - "description": "Determines how violins at the same location coordinate are displayed on the graph. If *group*, the violins are plotted next to one another centered around the shared location. If *overlay*, the violins are plotted over one another, you might need to set *opacity* to see them multiple violins. Has no effect on traces that have *width* set." - }, - "violingap": { - "valType": "number", - "min": 0, - "max": 1, - "dflt": 0.3, - "role": "style", - "editType": "calc", - "description": "Sets the gap (in plot fraction) between violins of adjacent location coordinates. Has no effect on traces that have *width* set." - }, - "violingroupgap": { - "valType": "number", - "min": 0, - "max": 1, - "dflt": 0.3, - "role": "style", - "editType": "calc", - "description": "Sets the gap (in plot fraction) between violins of the same location coordinate. Has no effect on traces that have *width* set." - } - } - }, - "funnel": { - "meta": { - "description": "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." - }, - "categories": [ - "bar-like", - "cartesian", - "svg", - "oriented", - "showLegend", - "zoomScale" - ], - "animatable": false, - "type": "funnel", - "attributes": { - "type": "funnel", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "showlegend": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "style", - "description": "Determines whether or not an item corresponding to this trace is shown in the legend." - }, - "legendgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "style", - "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items." - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "editType": "style", - "description": "Sets the opacity of the trace." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "selectedpoints": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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." - }, - "hoverlabel": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "transforms": { - "items": { - "transform": { - "editType": "calc", - "description": "An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", - "role": "object" - } - }, - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "x": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "description": "Sets the x coordinates.", - "role": "data" - }, - "x0": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc+clearAxisTypes", - "description": "Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step." - }, - "dx": { - "valType": "number", - "dflt": 1, - "role": "info", - "editType": "calc", - "description": "Sets the x coordinate step. See `x0` for more info." - }, - "y": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "description": "Sets the y coordinates.", - "role": "data" - }, - "y0": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc+clearAxisTypes", - "description": "Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step." - }, - "dy": { - "valType": "number", - "dflt": 1, - "role": "info", - "editType": "calc", - "description": "Sets the y coordinate step. See `y0` for more info." - }, - "xperiod": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer." - }, - "yperiod": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the y axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer." - }, - "xperiod0": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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." - }, - "yperiod0": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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." - }, - "xperiodalignment": { - "valType": "enumerated", - "values": [ - "start", - "middle", - "end" - ], - "dflt": "middle", - "role": "style", - "editType": "calc", - "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis." - }, - "yperiodalignment": { - "valType": "enumerated", - "values": [ - "start", - "middle", - "end" - ], - "dflt": "middle", - "role": "style", - "editType": "calc", - "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis." - }, - "hovertext": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "style", - "description": "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." - }, - "hovertemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "none", - "description": "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}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `percentInitial`, `percentPrevious` and `percentTotal`. Anything contained in tag `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "arrayOk": true - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "name", - "x", - "y", - "text", - "percent initial", - "percent previous", - "percent total" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "all", - "editType": "none", - "description": "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." - }, - "textinfo": { - "valType": "flaglist", - "flags": [ - "label", - "text", - "percent initial", - "percent previous", - "percent total", - "value" - ], - "extras": [ - "none" - ], - "role": "info", - "editType": "plot", - "arrayOk": false, - "description": "Determines which trace information appear on the graph. In the case of having multiple funnels, percentages & totals are computed separately (per trace)." - }, - "texttemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "plot", - "description": "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-3.x-api-reference/blob/master/Formatting.md#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#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. variables `percentInitial`, `percentPrevious`, `percentTotal`, `label` and `value`.", - "arrayOk": true - }, - "text": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "calc", - "description": "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." - }, - "textposition": { - "valType": "enumerated", - "role": "info", - "values": [ - "inside", - "outside", - "auto", - "none" - ], - "dflt": "auto", - "arrayOk": true, - "editType": "calc", - "description": "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." - }, - "insidetextanchor": { - "valType": "enumerated", - "values": [ - "end", - "middle", - "start" - ], - "dflt": "middle", - "role": "info", - "editType": "plot", - "description": "Determines if texts are kept at center or start/end points in `textposition` *inside* mode." - }, - "textangle": { - "valType": "angle", - "dflt": 0, - "role": "info", - "editType": "plot", - "description": "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": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "calc", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "arrayOk": true - }, - "editType": "calc", - "description": "Sets the font used for `text`.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "insidetextfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "calc", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "arrayOk": true - }, - "editType": "calc", - "description": "Sets the font used for `text` lying inside the bar.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "outsidetextfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "calc", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "arrayOk": true - }, - "editType": "calc", - "description": "Sets the font used for `text` lying outside the bar.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "constraintext": { - "valType": "enumerated", - "values": [ - "inside", - "outside", - "both", - "none" - ], - "role": "info", - "dflt": "both", - "editType": "calc", - "description": "Constrain the size of text inside or outside a bar to be no larger than the bar itself." - }, - "cliponaxis": { - "valType": "boolean", - "dflt": true, - "role": "info", - "editType": "plot", - "description": "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*." - }, - "orientation": { - "valType": "enumerated", - "role": "info", - "values": [ - "v", - "h" - ], - "editType": "calc+clearAxisTypes", - "description": "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*." - }, - "offset": { - "valType": "number", - "dflt": null, - "arrayOk": false, - "role": "info", - "editType": "calc", - "description": "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." - }, - "width": { - "valType": "number", - "dflt": null, - "min": 0, - "arrayOk": false, - "role": "info", - "editType": "calc", - "description": "Sets the bar width (in position axis units)." - }, - "marker": { - "line": { - "width": { - "valType": "number", - "min": 0, - "arrayOk": true, - "role": "style", - "editType": "style", - "description": "Sets the width (in px) of the lines bounding the marker points.", - "dflt": 0 - }, - "editType": "calc", - "color": { - "valType": "color", - "arrayOk": true, - "role": "style", - "editType": "style", - "description": "Sets themarker.linecolor. 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." - }, - "cauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "cmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "description": "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." - }, - "cmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "plot", - "description": "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." - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "role": "object", - "widthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for width .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "editType": "calc", - "color": { - "valType": "color", - "arrayOk": true, - "role": "style", - "editType": "style", - "description": "Sets themarkercolor. 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." - }, - "cauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "cmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "description": "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." - }, - "cmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "plot", - "description": "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": { - "valType": "boolean", - "role": "info", - "dflt": false, - "editType": "calc", - "description": "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." - }, - "colorbar": { - "thicknessmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "style", - "dflt": "pixels", - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "editType": "colorbars" - }, - "thickness": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 30, - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "editType": "colorbars" - }, - "lenmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "info", - "dflt": "fraction", - "description": "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.", - "editType": "colorbars" - }, - "len": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "description": "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.", - "editType": "colorbars" - }, - "x": { - "valType": "number", - "dflt": 1.02, - "min": -2, - "max": 3, - "role": "style", - "description": "Sets the x position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "left", - "role": "style", - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", - "editType": "colorbars" - }, - "xpad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the x direction.", - "editType": "colorbars" - }, - "y": { - "valType": "number", - "role": "style", - "dflt": 0.5, - "min": -2, - "max": 3, - "description": "Sets the y position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ], - "role": "style", - "dflt": "middle", - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", - "editType": "colorbars" - }, - "ypad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the y direction.", - "editType": "colorbars" - }, - "outlinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "outlinewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the width (in px) of the axis line." - }, - "bordercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "borderwidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 0, - "description": "Sets the width (in px) or the border enclosing this color bar.", - "editType": "colorbars" - }, - "bgcolor": { - "valType": "color", - "role": "style", - "dflt": "rgba(0,0,0,0)", - "description": "Sets the color of padded area.", - "editType": "colorbars" - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "colorbars", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "colorbars", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "colorbars", - "description": "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.", - "dflt": "" - }, - "ticklabelposition": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside bottom", - "inside bottom" - ], - "dflt": "outside", - "role": "info", - "description": "Determines where tick labels are drawn.", - "editType": "colorbars" - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "colorbars", - "description": "Determines whether or not the tick labels are drawn." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets the color bar's tick label font", - "editType": "colorbars", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "colorbars", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "colorbars", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "colorbars" - }, - { - "valType": "any", - "editType": "colorbars" - } - ], - "editType": "colorbars", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "colorbars", - "name": { - "valType": "string", - "role": "style", - "editType": "colorbars", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "colorbars", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "colorbars", - "description": "If \"true\", even 4-digit integers are separated" - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "colorbars", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", - "editType": "colorbars" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "editType": "colorbars", - "role": "object" - }, - "side": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.", - "editType": "colorbars" - }, - "editType": "colorbars", - "role": "object" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars" - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars" - }, - "titleside": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Deprecated in favor of color bar's `title.side`.", - "editType": "colorbars" - } - }, - "editType": "colorbars", - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "opacity": { - "valType": "number", - "arrayOk": true, - "dflt": 1, - "min": 0, - "max": 1, - "role": "style", - "editType": "style", - "description": "Sets the opacity of the bars." - }, - "role": "object", - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - }, - "opacitysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for opacity .", - "editType": "none" - } - }, - "connector": { - "fillcolor": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the fill color." - }, - "line": { - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the line color.", - "dflt": "#444" - }, - "width": { - "valType": "number", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "plot", - "description": "Sets the line width (in px)." - }, - "dash": { - "valType": "string", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" - ], - "dflt": "solid", - "role": "style", - "editType": "style", - "description": "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*)." - }, - "editType": "style", - "role": "object" - }, - "visible": { - "valType": "boolean", - "dflt": true, - "role": "info", - "editType": "plot", - "description": "Determines if connector regions and lines are drawn." - }, - "editType": "plot", - "role": "object" - }, - "offsetgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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." - }, - "alignmentgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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." - }, - "xaxis": { - "valType": "subplotid", - "role": "info", - "dflt": "x", - "editType": "calc+clearAxisTypes", - "description": "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": { - "valType": "subplotid", - "role": "info", - "dflt": "y", - "editType": "calc+clearAxisTypes", - "description": "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." - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "xsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for x .", - "editType": "none" - }, - "ysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for y .", - "editType": "none" - }, - "hovertextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertext .", - "editType": "none" - }, - "hovertemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertemplate .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - }, - "texttemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for texttemplate .", - "editType": "none" - }, - "textsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for text .", - "editType": "none" - }, - "textpositionsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for textposition .", - "editType": "none" - } - }, - "layoutAttributes": { - "funnelmode": { - "valType": "enumerated", - "values": [ - "stack", - "group", - "overlay" - ], - "dflt": "stack", - "role": "info", - "editType": "calc", - "description": "Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to an *opacity* to see multiple bars." - }, - "funnelgap": { - "valType": "number", - "min": 0, - "max": 1, - "role": "style", - "editType": "calc", - "description": "Sets the gap (in plot fraction) between bars of adjacent location coordinates." - }, - "funnelgroupgap": { - "valType": "number", - "min": 0, - "max": 1, - "dflt": 0, - "role": "style", - "editType": "calc", - "description": "Sets the gap (in plot fraction) between bars of the same location coordinate." - } - } - }, - "waterfall": { - "meta": { - "description": "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 th *v* (the default) and the labels are set in `x`. By setting `orientation` to *h*, the roles are interchanged." - }, - "categories": [ - "bar-like", - "cartesian", - "svg", - "oriented", - "showLegend", - "zoomScale" - ], - "animatable": false, - "type": "waterfall", - "attributes": { - "type": "waterfall", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "showlegend": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "style", - "description": "Determines whether or not an item corresponding to this trace is shown in the legend." - }, - "legendgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "style", - "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items." - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "editType": "style", - "description": "Sets the opacity of the trace." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "selectedpoints": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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." - }, - "hoverlabel": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "transforms": { - "items": { - "transform": { - "editType": "calc", - "description": "An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", - "role": "object" - } - }, - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "measure": { - "valType": "data_array", - "dflt": [], - "role": "data", - "editType": "calc", - "description": "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." - }, - "base": { - "valType": "number", - "dflt": null, - "arrayOk": false, - "role": "info", - "editType": "calc", - "description": "Sets where the bar base is drawn (in position axis units)." - }, - "x": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "description": "Sets the x coordinates.", - "role": "data" - }, - "x0": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc+clearAxisTypes", - "description": "Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step." - }, - "dx": { - "valType": "number", - "dflt": 1, - "role": "info", - "editType": "calc", - "description": "Sets the x coordinate step. See `x0` for more info." - }, - "y": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "description": "Sets the y coordinates.", - "role": "data" - }, - "y0": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc+clearAxisTypes", - "description": "Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step." - }, - "dy": { - "valType": "number", - "dflt": 1, - "role": "info", - "editType": "calc", - "description": "Sets the y coordinate step. See `y0` for more info." - }, - "xperiod": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer." - }, - "yperiod": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the y axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer." - }, - "xperiod0": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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." - }, - "yperiod0": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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." - }, - "xperiodalignment": { - "valType": "enumerated", - "values": [ - "start", - "middle", - "end" - ], - "dflt": "middle", - "role": "style", - "editType": "calc", - "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis." - }, - "yperiodalignment": { - "valType": "enumerated", - "values": [ - "start", - "middle", - "end" - ], - "dflt": "middle", - "role": "style", - "editType": "calc", - "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis." - }, - "hovertext": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "style", - "description": "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." - }, - "hovertemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "none", - "description": "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}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `initial`, `delta` and `final`. Anything contained in tag `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "arrayOk": true - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "name", - "x", - "y", - "text", - "initial", - "delta", - "final" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "all", - "editType": "none", - "description": "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." - }, - "textinfo": { - "valType": "flaglist", - "flags": [ - "label", - "text", - "initial", - "delta", - "final" - ], - "extras": [ - "none" - ], - "role": "info", - "editType": "plot", - "arrayOk": false, - "description": "Determines which trace information appear on the graph. In the case of having multiple waterfalls, totals are computed separately (per trace)." - }, - "texttemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "plot", - "description": "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-3.x-api-reference/blob/master/Formatting.md#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#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. variables `initial`, `delta`, `final` and `label`.", - "arrayOk": true - }, - "text": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "calc", - "description": "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." - }, - "textposition": { - "valType": "enumerated", - "role": "info", - "values": [ - "inside", - "outside", - "auto", - "none" - ], - "dflt": "none", - "arrayOk": true, - "editType": "calc", - "description": "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." - }, - "insidetextanchor": { - "valType": "enumerated", - "values": [ - "end", - "middle", - "start" - ], - "dflt": "end", - "role": "info", - "editType": "plot", - "description": "Determines if texts are kept at center or start/end points in `textposition` *inside* mode." - }, - "textangle": { - "valType": "angle", - "dflt": "auto", - "role": "info", - "editType": "plot", - "description": "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": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "calc", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "arrayOk": true - }, - "editType": "calc", - "description": "Sets the font used for `text`.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "insidetextfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "calc", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "arrayOk": true - }, - "editType": "calc", - "description": "Sets the font used for `text` lying inside the bar.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "outsidetextfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "calc", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "arrayOk": true - }, - "editType": "calc", - "description": "Sets the font used for `text` lying outside the bar.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "constraintext": { - "valType": "enumerated", - "values": [ - "inside", - "outside", - "both", - "none" - ], - "role": "info", - "dflt": "both", - "editType": "calc", - "description": "Constrain the size of text inside or outside a bar to be no larger than the bar itself." - }, - "cliponaxis": { - "valType": "boolean", - "dflt": true, - "role": "info", - "editType": "plot", - "description": "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*." - }, - "orientation": { - "valType": "enumerated", - "role": "info", - "values": [ - "v", - "h" - ], - "editType": "calc+clearAxisTypes", - "description": "Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal)." - }, - "offset": { - "valType": "number", - "dflt": null, - "arrayOk": true, - "role": "info", - "editType": "calc", - "description": "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." - }, - "width": { - "valType": "number", - "dflt": null, - "min": 0, - "arrayOk": true, - "role": "info", - "editType": "calc", - "description": "Sets the bar width (in position axis units)." - }, - "increasing": { - "marker": { - "color": { - "valType": "color", - "arrayOk": false, - "role": "style", - "editType": "style", - "description": "Sets the marker color of all increasing values." - }, - "line": { - "color": { - "valType": "color", - "arrayOk": false, - "role": "style", - "editType": "style", - "description": "Sets the line color of all increasing values." - }, - "width": { - "valType": "number", - "min": 0, - "arrayOk": false, - "role": "style", - "editType": "style", - "description": "Sets the line width of all increasing values.", - "dflt": 0 - }, - "editType": "style", - "role": "object" - }, - "editType": "style", - "role": "object" - }, - "editType": "style", - "role": "object" - }, - "decreasing": { - "marker": { - "color": { - "valType": "color", - "arrayOk": false, - "role": "style", - "editType": "style", - "description": "Sets the marker color of all decreasing values." - }, - "line": { - "color": { - "valType": "color", - "arrayOk": false, - "role": "style", - "editType": "style", - "description": "Sets the line color of all decreasing values." - }, - "width": { - "valType": "number", - "min": 0, - "arrayOk": false, - "role": "style", - "editType": "style", - "description": "Sets the line width of all decreasing values.", - "dflt": 0 - }, - "editType": "style", - "role": "object" - }, - "editType": "style", - "role": "object" - }, - "editType": "style", - "role": "object" - }, - "totals": { - "marker": { - "color": { - "valType": "color", - "arrayOk": false, - "role": "style", - "editType": "style", - "description": "Sets the marker color of all intermediate sums and total values." - }, - "line": { - "color": { - "valType": "color", - "arrayOk": false, - "role": "style", - "editType": "style", - "description": "Sets the line color of all intermediate sums and total values." - }, - "width": { - "valType": "number", - "min": 0, - "arrayOk": false, - "role": "style", - "editType": "style", - "description": "Sets the line width of all intermediate sums and total values.", - "dflt": 0 - }, - "editType": "style", - "role": "object" - }, - "editType": "style", - "role": "object" - }, - "editType": "style", - "role": "object" - }, - "connector": { - "line": { - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the line color.", - "dflt": "#444" - }, - "width": { - "valType": "number", - "min": 0, - "dflt": 2, - "role": "style", - "editType": "plot", - "description": "Sets the line width (in px)." - }, - "dash": { - "valType": "string", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" - ], - "dflt": "solid", - "role": "style", - "editType": "style", - "description": "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*)." - }, - "editType": "plot", - "role": "object" - }, - "mode": { - "valType": "enumerated", - "values": [ - "spanning", - "between" - ], - "dflt": "between", - "role": "info", - "editType": "plot", - "description": "Sets the shape of connector lines." - }, - "visible": { - "valType": "boolean", - "dflt": true, - "role": "info", - "editType": "plot", - "description": "Determines if connector lines are drawn. " - }, - "editType": "plot", - "role": "object" - }, - "offsetgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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." - }, - "alignmentgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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." - }, - "xaxis": { - "valType": "subplotid", - "role": "info", - "dflt": "x", - "editType": "calc+clearAxisTypes", - "description": "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": { - "valType": "subplotid", - "role": "info", - "dflt": "y", - "editType": "calc+clearAxisTypes", - "description": "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." - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "measuresrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for measure .", - "editType": "none" - }, - "xsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for x .", - "editType": "none" - }, - "ysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for y .", - "editType": "none" - }, - "hovertextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertext .", - "editType": "none" - }, - "hovertemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertemplate .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - }, - "texttemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for texttemplate .", - "editType": "none" - }, - "textsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for text .", - "editType": "none" - }, - "textpositionsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for textposition .", - "editType": "none" - }, - "offsetsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for offset .", - "editType": "none" - }, - "widthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for width .", - "editType": "none" - } - }, - "layoutAttributes": { - "waterfallmode": { - "valType": "enumerated", - "values": [ - "group", - "overlay" - ], - "dflt": "group", - "role": "info", - "editType": "calc", - "description": "Determines how bars at the same location coordinate are displayed on the graph. With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to an *opacity* to see multiple bars." - }, - "waterfallgap": { - "valType": "number", - "min": 0, - "max": 1, - "role": "style", - "editType": "calc", - "description": "Sets the gap (in plot fraction) between bars of adjacent location coordinates." - }, - "waterfallgroupgap": { - "valType": "number", - "min": 0, - "max": 1, - "dflt": 0, - "role": "style", - "editType": "calc", - "description": "Sets the gap (in plot fraction) between bars of the same location coordinate." - } - } - }, - "image": { - "meta": { - "description": "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." - }, - "categories": [ - "cartesian", - "svg", - "2dMap", - "noSortingByValue" - ], - "animatable": false, - "type": "image", - "attributes": { - "type": "image", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "editType": "style", - "description": "Sets the opacity of the trace." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "hoverlabel": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "source": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "Specifies the data URI of the image to be visualized. The URI consists of \"data:image/[][;base64],\"" - }, - "z": { - "valType": "data_array", - "role": "data", - "editType": "calc", - "description": "A 2-dimensional array in which each element is an array of 3 or 4 numbers representing a color." - }, - "colormodel": { - "valType": "enumerated", - "values": [ - "rgb", - "rgba", - "rgba256", - "hsl", - "hsla" - ], - "role": "info", - "editType": "calc", - "description": "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`." - }, - "zmin": { - "valType": "info_array", - "items": [ - { - "valType": "number", - "editType": "calc" - }, - { - "valType": "number", - "editType": "calc" - }, - { - "valType": "number", - "editType": "calc" - }, - { - "valType": "number", - "editType": "calc" - } - ], - "role": "info", - "editType": "calc", - "description": "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]." - }, - "zmax": { - "valType": "info_array", - "items": [ - { - "valType": "number", - "editType": "calc" - }, - { - "valType": "number", - "editType": "calc" - }, - { - "valType": "number", - "editType": "calc" - }, - { - "valType": "number", - "editType": "calc" - } - ], - "role": "info", - "editType": "calc", - "description": "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]." - }, - "x0": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc+clearAxisTypes", - "description": "Set the image's x position." - }, - "y0": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc+clearAxisTypes", - "description": "Set the image's y position." - }, - "dx": { - "valType": "number", - "dflt": 1, - "role": "info", - "editType": "calc", - "description": "Set the pixel's horizontal size." - }, - "dy": { - "valType": "number", - "dflt": 1, - "role": "info", - "editType": "calc", - "description": "Set the pixel's vertical size" - }, - "text": { - "valType": "data_array", - "editType": "plot", - "description": "Sets the text elements associated with each z value.", - "role": "data" - }, - "hovertext": { - "valType": "data_array", - "editType": "plot", - "description": "Same as `text`.", - "role": "data" - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "x", - "y", - "z", - "color", - "name", - "text" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "x+y+z+text+name", - "editType": "none", - "description": "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." - }, - "hovertemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "none", - "description": "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}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `z`, `color` and `colormodel`. Anything contained in tag `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "arrayOk": true - }, - "xaxis": { - "valType": "subplotid", - "role": "info", - "dflt": "x", - "editType": "calc+clearAxisTypes", - "description": "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": { - "valType": "subplotid", - "role": "info", - "dflt": "y", - "editType": "calc+clearAxisTypes", - "description": "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." - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "zsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for z .", - "editType": "none" - }, - "textsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for text .", - "editType": "none" - }, - "hovertextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertext .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - }, - "hovertemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertemplate .", - "editType": "none" - } - } - }, - "pie": { - "meta": { - "description": "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`" - }, - "categories": [ - "pie-like", - "pie", - "showLegend" - ], - "animatable": false, - "type": "pie", - "attributes": { - "type": "pie", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "showlegend": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "style", - "description": "Determines whether or not an item corresponding to this trace is shown in the legend." - }, - "legendgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "style", - "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items." - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "editType": "style", - "description": "Sets the opacity of the trace." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "hoverlabel": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "transforms": { - "items": { - "transform": { - "editType": "calc", - "description": "An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", - "role": "object" - } - }, - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "labels": { - "valType": "data_array", - "editType": "calc", - "description": "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.", - "role": "data" - }, - "label0": { - "valType": "number", - "role": "info", - "dflt": 0, - "editType": "calc", - "description": "Alternate to `labels`. Builds a numeric set of labels. Use with `dlabel` where `label0` is the starting label and `dlabel` the step." - }, - "dlabel": { - "valType": "number", - "role": "info", - "dflt": 1, - "editType": "calc", - "description": "Sets the label step. See `label0` for more info." - }, - "values": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the values of the sectors. If omitted, we count occurrences of each label.", - "role": "data" - }, - "marker": { - "colors": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the color of each sector. If not specified, the default trace color set is used to pick the sector colors.", - "role": "data" - }, - "line": { - "color": { - "valType": "color", - "role": "style", - "dflt": "#444", - "arrayOk": true, - "editType": "style", - "description": "Sets the color of the line enclosing each sector." - }, - "width": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 0, - "arrayOk": true, - "editType": "style", - "description": "Sets the width (in px) of the line enclosing each sector." - }, - "editType": "calc", - "role": "object", - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - }, - "widthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for width .", - "editType": "none" - } - }, - "editType": "calc", - "role": "object", - "colorssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for colors .", - "editType": "none" - } - }, - "text": { - "valType": "data_array", - "editType": "plot", - "description": "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.", - "role": "data" - }, - "hovertext": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "style", - "description": "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." - }, - "scalegroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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." - }, - "textinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "label", - "text", - "value", - "percent" - ], - "extras": [ - "none" - ], - "editType": "calc", - "description": "Determines which trace information appear on the graph." - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "label", - "text", - "value", - "percent", - "name" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "all", - "editType": "none", - "description": "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." - }, - "hovertemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "none", - "description": "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}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `label`, `color`, `value`, `percent` and `text`. Anything contained in tag `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "arrayOk": true - }, - "texttemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "plot", - "description": "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-3.x-api-reference/blob/master/Formatting.md#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#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. variables `label`, `color`, `value`, `percent` and `text`.", - "arrayOk": true - }, - "textposition": { - "valType": "enumerated", - "role": "info", - "values": [ - "inside", - "outside", - "auto", - "none" - ], - "dflt": "auto", - "arrayOk": true, - "editType": "plot", - "description": "Specifies the location of the `textinfo`." - }, - "textfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot", - "arrayOk": true - }, - "editType": "plot", - "description": "Sets the font used for `textinfo`.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "insidetextorientation": { - "valType": "enumerated", - "role": "info", - "values": [ - "horizontal", - "radial", - "tangential", - "auto" - ], - "dflt": "auto", - "editType": "plot", - "description": "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." - }, - "insidetextfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot", - "arrayOk": true - }, - "editType": "plot", - "description": "Sets the font used for `textinfo` lying inside the sector.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "outsidetextfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot", - "arrayOk": true - }, - "editType": "plot", - "description": "Sets the font used for `textinfo` lying outside the sector.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "automargin": { - "valType": "boolean", - "dflt": false, - "role": "info", - "editType": "plot", - "description": "Determines whether outside text labels can push the margins." - }, - "title": { - "text": { - "valType": "string", - "dflt": "", - "role": "info", - "editType": "plot", - "description": "Sets the title of the chart. If it is empty, no title is displayed. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated." - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot", - "arrayOk": true - }, - "editType": "plot", - "description": "Sets the font used for `title`. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "position": { - "valType": "enumerated", - "values": [ - "top left", - "top center", - "top right", - "middle center", - "bottom left", - "bottom center", - "bottom right" - ], - "role": "info", - "editType": "plot", - "description": "Specifies the location of the `title`. Note that the title's position used to be set by the now deprecated `titleposition` attribute." - }, - "editType": "plot", - "role": "object" - }, - "domain": { - "x": { - "valType": "info_array", - "role": "info", - "editType": "calc", - "items": [ - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "calc" - }, - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "calc" - } - ], - "dflt": [ - 0, - 1 - ], - "description": "Sets the horizontal domain of this pie trace (in plot fraction)." - }, - "y": { - "valType": "info_array", - "role": "info", - "editType": "calc", - "items": [ - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "calc" - }, - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "calc" - } - ], - "dflt": [ - 0, - 1 - ], - "description": "Sets the vertical domain of this pie trace (in plot fraction)." - }, - "editType": "calc", - "row": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "If there is a layout grid, use the domain for this row in the grid for this pie trace ." - }, - "column": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "If there is a layout grid, use the domain for this column in the grid for this pie trace ." - }, - "role": "object" - }, - "hole": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 0, - "editType": "calc", - "description": "Sets the fraction of the radius to cut out of the pie. Use this to make a donut chart." - }, - "sort": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "description": "Determines whether or not the sectors are reordered from largest to smallest." - }, - "direction": { - "valType": "enumerated", - "values": [ - "clockwise", - "counterclockwise" - ], - "role": "style", - "dflt": "counterclockwise", - "editType": "calc", - "description": "Specifies the direction at which succeeding sectors follow one another." - }, - "rotation": { - "valType": "number", - "role": "style", - "min": -360, - "max": 360, - "dflt": 0, - "editType": "calc", - "description": "Instead of the first slice starting at 12 o'clock, rotate to some other angle." - }, - "pull": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 0, - "arrayOk": true, - "editType": "calc", - "description": "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." - }, - "_deprecated": { - "title": { - "valType": "string", - "dflt": "", - "role": "info", - "editType": "calc", - "description": "Deprecated in favor of `title.text`. Note that value of `title` is no longer a simple *string* but a set of sub-attributes." - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot", - "arrayOk": true - }, - "editType": "plot", - "description": "Deprecated in favor of `title.font`." - }, - "titleposition": { - "valType": "enumerated", - "values": [ - "top left", - "top center", - "top right", - "middle center", - "bottom left", - "bottom center", - "bottom right" - ], - "role": "info", - "editType": "calc", - "description": "Deprecated in favor of `title.position`." - } - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "labelssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for labels .", - "editType": "none" - }, - "valuessrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for values .", - "editType": "none" - }, - "textsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for text .", - "editType": "none" - }, - "hovertextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertext .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - }, - "hovertemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertemplate .", - "editType": "none" - }, - "texttemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for texttemplate .", - "editType": "none" - }, - "textpositionsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for textposition .", - "editType": "none" - }, - "pullsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for pull .", - "editType": "none" - } - }, - "layoutAttributes": { - "hiddenlabels": { - "valType": "data_array", - "role": "data", - "editType": "calc", - "description": "hiddenlabels is the funnelarea & pie chart analog of visible:'legendonly' but it can contain many labels, and can simultaneously hide slices from several pies/funnelarea charts" - }, - "piecolorway": { - "valType": "colorlist", - "role": "style", - "editType": "calc", - "description": "Sets the default pie slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendpiecolors`." - }, - "extendpiecolors": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "calc", - "description": "If `true`, the pie slice colors (whether given by `piecolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended." - }, - "hiddenlabelssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hiddenlabels .", - "editType": "none" - } - } - }, - "sunburst": { - "meta": { - "description": "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*." - }, - "categories": [], - "animatable": true, - "type": "sunburst", - "attributes": { - "type": "sunburst", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "editType": "style", - "description": "Sets the opacity of the trace." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "anim": true, - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "anim": true, - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "hoverlabel": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "transforms": { - "items": { - "transform": { - "editType": "calc", - "description": "An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", - "role": "object" - } - }, - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "labels": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the labels of each of the sectors.", - "role": "data" - }, - "parents": { - "valType": "data_array", - "editType": "calc", - "description": "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.", - "role": "data" - }, - "values": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed.", - "role": "data" - }, - "branchvalues": { - "valType": "enumerated", - "values": [ - "remainder", - "total" - ], - "dflt": "remainder", - "editType": "calc", - "role": "info", - "description": "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": { - "valType": "flaglist", - "flags": [ - "branches", - "leaves" - ], - "dflt": "leaves", - "editType": "calc", - "role": "info", - "description": "Determines default for `values` when it is not provided, by inferring a 1 for each of the *leaves* and/or *branches*, otherwise 0." - }, - "level": { - "valType": "any", - "editType": "plot", - "anim": true, - "role": "info", - "description": "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`." - }, - "maxdepth": { - "valType": "integer", - "editType": "plot", - "role": "info", - "dflt": -1, - "description": "Sets the number of rendered sectors from any given `level`. Set `maxdepth` to *-1* to render all the levels in the hierarchy." - }, - "marker": { - "colors": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the color of each sector of this trace. If not specified, the default trace color set is used to pick the sector colors.", - "role": "data" - }, - "line": { - "color": { - "valType": "color", - "role": "style", - "dflt": null, - "arrayOk": true, - "editType": "style", - "description": "Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value." - }, - "width": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 1, - "arrayOk": true, - "editType": "style", - "description": "Sets the width (in px) of the line enclosing each sector." - }, - "editType": "calc", - "role": "object", - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - }, - "widthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for width .", - "editType": "none" - } - }, - "editType": "calc", - "cauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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 colorsis set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user." - }, - "cmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "description": "Sets the lower bound of the color domain. Has an effect only if colorsis set to a numerical array. Value should have the same units as colors and if set, `marker.cmax` must be set as well." - }, - "cmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "description": "Sets the upper bound of the color domain. Has an effect only if colorsis set to a numerical array. Value should have the same units as colors and if set, `marker.cmin` must be set as well." - }, - "cmid": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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 colorsis set to a numerical array. Value should have the same units as colors. Has no effect when `marker.cauto` is `false`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "Sets the colorscale. Has an effect only if colorsis 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if colorsis 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." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "plot", - "description": "Reverses the color mapping if true. Has an effect only if colorsis 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": { - "valType": "boolean", - "role": "info", - "dflt": false, - "editType": "calc", - "description": "Determines whether or not a colorbar is displayed for this trace. Has an effect only if colorsis set to a numerical array." - }, - "colorbar": { - "thicknessmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "style", - "dflt": "pixels", - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "editType": "colorbars" - }, - "thickness": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 30, - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "editType": "colorbars" - }, - "lenmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "info", - "dflt": "fraction", - "description": "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.", - "editType": "colorbars" - }, - "len": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "description": "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.", - "editType": "colorbars" - }, - "x": { - "valType": "number", - "dflt": 1.02, - "min": -2, - "max": 3, - "role": "style", - "description": "Sets the x position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "left", - "role": "style", - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", - "editType": "colorbars" - }, - "xpad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the x direction.", - "editType": "colorbars" - }, - "y": { - "valType": "number", - "role": "style", - "dflt": 0.5, - "min": -2, - "max": 3, - "description": "Sets the y position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ], - "role": "style", - "dflt": "middle", - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", - "editType": "colorbars" - }, - "ypad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the y direction.", - "editType": "colorbars" - }, - "outlinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "outlinewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the width (in px) of the axis line." - }, - "bordercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "borderwidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 0, - "description": "Sets the width (in px) or the border enclosing this color bar.", - "editType": "colorbars" - }, - "bgcolor": { - "valType": "color", - "role": "style", - "dflt": "rgba(0,0,0,0)", - "description": "Sets the color of padded area.", - "editType": "colorbars" - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "colorbars", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "colorbars", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "colorbars", - "description": "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.", - "dflt": "" - }, - "ticklabelposition": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside bottom", - "inside bottom" - ], - "dflt": "outside", - "role": "info", - "description": "Determines where tick labels are drawn.", - "editType": "colorbars" - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "colorbars", - "description": "Determines whether or not the tick labels are drawn." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets the color bar's tick label font", - "editType": "colorbars", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "colorbars", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "colorbars", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "colorbars" - }, - { - "valType": "any", - "editType": "colorbars" - } - ], - "editType": "colorbars", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "colorbars", - "name": { - "valType": "string", - "role": "style", - "editType": "colorbars", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "colorbars", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "colorbars", - "description": "If \"true\", even 4-digit integers are separated" - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "colorbars", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", - "editType": "colorbars" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "editType": "colorbars", - "role": "object" - }, - "side": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.", - "editType": "colorbars" - }, - "editType": "colorbars", - "role": "object" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars" - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars" - }, - "titleside": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Deprecated in favor of color bar's `title.side`.", - "editType": "colorbars" - } - }, - "editType": "colorbars", - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "role": "object", - "colorssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for colors .", - "editType": "none" - } - }, - "leaf": { - "opacity": { - "valType": "number", - "editType": "style", - "role": "style", - "min": 0, - "max": 1, - "description": "Sets the opacity of the leaves. With colorscale it is defaulted to 1; otherwise it is defaulted to 0.7" - }, - "editType": "plot", - "role": "object" - }, - "text": { - "valType": "data_array", - "editType": "plot", - "description": "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.", - "role": "data" - }, - "textinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "label", - "text", - "value", - "current path", - "percent root", - "percent entry", - "percent parent" - ], - "extras": [ - "none" - ], - "editType": "plot", - "description": "Determines which trace information appear on the graph." - }, - "texttemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "plot", - "description": "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-3.x-api-reference/blob/master/Formatting.md#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#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. variables `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry`, `percentParent`, `label` and `value`.", - "arrayOk": true - }, - "hovertext": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "style", - "description": "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." - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "label", - "text", - "value", - "name", - "current path", - "percent root", - "percent entry", - "percent parent" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "label+text+value+name", - "editType": "none", - "description": "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." - }, - "hovertemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "none", - "description": "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}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry` and `percentParent`. Anything contained in tag `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "arrayOk": true - }, - "textfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot", - "arrayOk": true - }, - "editType": "plot", - "description": "Sets the font used for `textinfo`.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "insidetextorientation": { - "valType": "enumerated", - "role": "info", - "values": [ - "horizontal", - "radial", - "tangential", - "auto" - ], - "dflt": "auto", - "editType": "plot", - "description": "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." - }, - "insidetextfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot", - "arrayOk": true - }, - "editType": "plot", - "description": "Sets the font used for `textinfo` lying inside the sector.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "outsidetextfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot", - "arrayOk": true - }, - "editType": "plot", - "description": "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.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "rotation": { - "valType": "angle", - "role": "style", - "dflt": 0, - "editType": "plot", - "description": "Rotates the whole diagram counterclockwise by some angle. By default the first slice starts at 3 o'clock." - }, - "sort": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "description": "Determines whether or not the sectors are reordered from largest to smallest." - }, - "root": { - "color": { - "valType": "color", - "editType": "calc", - "role": "style", - "dflt": "rgba(0,0,0,0)", - "description": "sets the color of the root node for a sunburst or a treemap trace. this has no effect when a colorscale is used to set the markers." - }, - "editType": "calc", - "role": "object" - }, - "domain": { - "x": { - "valType": "info_array", - "role": "info", - "editType": "calc", - "items": [ - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "calc" - }, - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "calc" - } - ], - "dflt": [ - 0, - 1 - ], - "description": "Sets the horizontal domain of this sunburst trace (in plot fraction)." - }, - "y": { - "valType": "info_array", - "role": "info", - "editType": "calc", - "items": [ - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "calc" - }, - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "calc" - } - ], - "dflt": [ - 0, - 1 - ], - "description": "Sets the vertical domain of this sunburst trace (in plot fraction)." - }, - "editType": "calc", - "row": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "If there is a layout grid, use the domain for this row in the grid for this sunburst trace ." - }, - "column": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "If there is a layout grid, use the domain for this column in the grid for this sunburst trace ." - }, - "role": "object" - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "labelssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for labels .", - "editType": "none" - }, - "parentssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for parents .", - "editType": "none" - }, - "valuessrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for values .", - "editType": "none" - }, - "textsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for text .", - "editType": "none" - }, - "texttemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for texttemplate .", - "editType": "none" - }, - "hovertextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertext .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - }, - "hovertemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertemplate .", - "editType": "none" - } - }, - "layoutAttributes": { - "sunburstcolorway": { - "valType": "colorlist", - "role": "style", - "editType": "calc", - "description": "Sets the default sunburst slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendsunburstcolors`." - }, - "extendsunburstcolors": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "calc", - "description": "If `true`, the sunburst slice colors (whether given by `sunburstcolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended." - } - } - }, - "treemap": { - "meta": { - "description": "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*." - }, - "categories": [], - "animatable": true, - "type": "treemap", - "attributes": { - "type": "treemap", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "editType": "style", - "description": "Sets the opacity of the trace." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "anim": true, - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "anim": true, - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "hoverlabel": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "transforms": { - "items": { - "transform": { - "editType": "calc", - "description": "An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", - "role": "object" - } - }, - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "labels": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the labels of each of the sectors.", - "role": "data" - }, - "parents": { - "valType": "data_array", - "editType": "calc", - "description": "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.", - "role": "data" - }, - "values": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed.", - "role": "data" - }, - "branchvalues": { - "valType": "enumerated", - "values": [ - "remainder", - "total" - ], - "dflt": "remainder", - "editType": "calc", - "role": "info", - "description": "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": { - "valType": "flaglist", - "flags": [ - "branches", - "leaves" - ], - "dflt": "leaves", - "editType": "calc", - "role": "info", - "description": "Determines default for `values` when it is not provided, by inferring a 1 for each of the *leaves* and/or *branches*, otherwise 0." - }, - "level": { - "valType": "any", - "editType": "plot", - "anim": true, - "role": "info", - "description": "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`." - }, - "maxdepth": { - "valType": "integer", - "editType": "plot", - "role": "info", - "dflt": -1, - "description": "Sets the number of rendered sectors from any given `level`. Set `maxdepth` to *-1* to render all the levels in the hierarchy." - }, - "tiling": { - "packing": { - "valType": "enumerated", - "values": [ - "squarify", - "binary", - "dice", - "slice", - "slice-dice", - "dice-slice" - ], - "dflt": "squarify", - "role": "info", - "editType": "plot", - "description": "Determines d3 treemap solver. For more info please refer to https://github.com/d3/d3-hierarchy#treemap-tiling" - }, - "squarifyratio": { - "valType": "number", - "role": "info", - "min": 1, - "dflt": 1, - "editType": "plot", - "description": "When using *squarify* `packing` algorithm, according to https://github.com/d3/d3-hierarchy/blob/master/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." - }, - "flip": { - "valType": "flaglist", - "role": "info", - "flags": [ - "x", - "y" - ], - "dflt": "", - "editType": "plot", - "description": "Determines if the positions obtained from solver are flipped on each axis." - }, - "pad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 3, - "editType": "plot", - "description": "Sets the inner padding (in px)." - }, - "editType": "calc", - "role": "object" - }, - "marker": { - "pad": { - "t": { - "valType": "number", - "role": "style", - "min": 0, - "editType": "plot", - "description": "Sets the padding form the top (in px)." - }, - "l": { - "valType": "number", - "role": "style", - "min": 0, - "editType": "plot", - "description": "Sets the padding form the left (in px)." - }, - "r": { - "valType": "number", - "role": "style", - "min": 0, - "editType": "plot", - "description": "Sets the padding form the right (in px)." - }, - "b": { - "valType": "number", - "role": "style", - "min": 0, - "editType": "plot", - "description": "Sets the padding form the bottom (in px)." - }, - "editType": "calc", - "role": "object" - }, - "colors": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the color of each sector of this trace. If not specified, the default trace color set is used to pick the sector colors.", - "role": "data" - }, - "depthfade": { - "valType": "enumerated", - "values": [ - true, - false, - "reversed" - ], - "editType": "style", - "role": "style", - "description": "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": { - "color": { - "valType": "color", - "role": "style", - "dflt": null, - "arrayOk": true, - "editType": "style", - "description": "Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value." - }, - "width": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 1, - "arrayOk": true, - "editType": "style", - "description": "Sets the width (in px) of the line enclosing each sector." - }, - "editType": "calc", - "role": "object", - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - }, - "widthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for width .", - "editType": "none" - } - }, - "editType": "calc", - "cauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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 colorsis set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user." - }, - "cmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "description": "Sets the lower bound of the color domain. Has an effect only if colorsis set to a numerical array. Value should have the same units as colors and if set, `marker.cmax` must be set as well." - }, - "cmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "description": "Sets the upper bound of the color domain. Has an effect only if colorsis set to a numerical array. Value should have the same units as colors and if set, `marker.cmin` must be set as well." - }, - "cmid": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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 colorsis set to a numerical array. Value should have the same units as colors. Has no effect when `marker.cauto` is `false`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "Sets the colorscale. Has an effect only if colorsis 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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if colorsis 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." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "plot", - "description": "Reverses the color mapping if true. Has an effect only if colorsis 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": { - "valType": "boolean", - "role": "info", - "dflt": false, - "editType": "calc", - "description": "Determines whether or not a colorbar is displayed for this trace. Has an effect only if colorsis set to a numerical array." - }, - "colorbar": { - "thicknessmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "style", - "dflt": "pixels", - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "editType": "colorbars" - }, - "thickness": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 30, - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "editType": "colorbars" - }, - "lenmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "info", - "dflt": "fraction", - "description": "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.", - "editType": "colorbars" - }, - "len": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "description": "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.", - "editType": "colorbars" - }, - "x": { - "valType": "number", - "dflt": 1.02, - "min": -2, - "max": 3, - "role": "style", - "description": "Sets the x position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "left", - "role": "style", - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", - "editType": "colorbars" - }, - "xpad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the x direction.", - "editType": "colorbars" - }, - "y": { - "valType": "number", - "role": "style", - "dflt": 0.5, - "min": -2, - "max": 3, - "description": "Sets the y position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ], - "role": "style", - "dflt": "middle", - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", - "editType": "colorbars" - }, - "ypad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the y direction.", - "editType": "colorbars" - }, - "outlinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "outlinewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the width (in px) of the axis line." - }, - "bordercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "borderwidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 0, - "description": "Sets the width (in px) or the border enclosing this color bar.", - "editType": "colorbars" - }, - "bgcolor": { - "valType": "color", - "role": "style", - "dflt": "rgba(0,0,0,0)", - "description": "Sets the color of padded area.", - "editType": "colorbars" - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "colorbars", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "colorbars", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "colorbars", - "description": "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.", - "dflt": "" - }, - "ticklabelposition": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside bottom", - "inside bottom" - ], - "dflt": "outside", - "role": "info", - "description": "Determines where tick labels are drawn.", - "editType": "colorbars" - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "colorbars", - "description": "Determines whether or not the tick labels are drawn." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets the color bar's tick label font", - "editType": "colorbars", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "colorbars", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "colorbars", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "colorbars" - }, - { - "valType": "any", - "editType": "colorbars" - } - ], - "editType": "colorbars", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "colorbars", - "name": { - "valType": "string", - "role": "style", - "editType": "colorbars", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "colorbars", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "colorbars", - "description": "If \"true\", even 4-digit integers are separated" - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "colorbars", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", - "editType": "colorbars" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "editType": "colorbars", - "role": "object" - }, - "side": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.", - "editType": "colorbars" - }, - "editType": "colorbars", - "role": "object" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars" - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars" - }, - "titleside": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Deprecated in favor of color bar's `title.side`.", - "editType": "colorbars" - } - }, - "editType": "colorbars", - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "role": "object", - "colorssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for colors .", - "editType": "none" - } - }, - "pathbar": { - "visible": { - "valType": "boolean", - "dflt": true, - "role": "info", - "editType": "plot", - "description": "Determines if the path bar is drawn i.e. outside the trace `domain` and with one pixel gap." - }, - "side": { - "valType": "enumerated", - "values": [ - "top", - "bottom" - ], - "dflt": "top", - "role": "info", - "editType": "plot", - "description": "Determines on which side of the the treemap the `pathbar` should be presented." - }, - "edgeshape": { - "valType": "enumerated", - "values": [ - ">", - "<", - "|", - "/", - "\\" - ], - "dflt": ">", - "role": "style", - "editType": "plot", - "description": "Determines which shape is used for edges between `barpath` labels." - }, - "thickness": { - "valType": "number", - "min": 12, - "role": "info", - "editType": "plot", - "description": "Sets the thickness of `pathbar` (in px). If not specified the `pathbar.textfont.size` is used with 3 pixles extra padding on each side." - }, - "textfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot", - "arrayOk": true - }, - "editType": "plot", - "description": "Sets the font used inside `pathbar`.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "editType": "calc", - "role": "object" - }, - "text": { - "valType": "data_array", - "editType": "plot", - "description": "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.", - "role": "data" - }, - "textinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "label", - "text", - "value", - "current path", - "percent root", - "percent entry", - "percent parent" - ], - "extras": [ - "none" - ], - "editType": "plot", - "description": "Determines which trace information appear on the graph." - }, - "texttemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "plot", - "description": "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-3.x-api-reference/blob/master/Formatting.md#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#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. variables `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry`, `percentParent`, `label` and `value`.", - "arrayOk": true - }, - "hovertext": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "style", - "description": "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." - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "label", - "text", - "value", - "name", - "current path", - "percent root", - "percent entry", - "percent parent" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "label+text+value+name", - "editType": "none", - "description": "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." - }, - "hovertemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "none", - "description": "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}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry` and `percentParent`. Anything contained in tag `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "arrayOk": true - }, - "textfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot", - "arrayOk": true - }, - "editType": "plot", - "description": "Sets the font used for `textinfo`.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "insidetextfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot", - "arrayOk": true - }, - "editType": "plot", - "description": "Sets the font used for `textinfo` lying inside the sector.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "outsidetextfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot", - "arrayOk": true - }, - "editType": "plot", - "description": "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.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "textposition": { - "valType": "enumerated", - "values": [ - "top left", - "top center", - "top right", - "middle left", - "middle center", - "middle right", - "bottom left", - "bottom center", - "bottom right" - ], - "dflt": "top left", - "role": "style", - "editType": "plot", - "description": "Sets the positions of the `text` elements." - }, - "sort": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "description": "Determines whether or not the sectors are reordered from largest to smallest." - }, - "root": { - "color": { - "valType": "color", - "editType": "calc", - "role": "style", - "dflt": "rgba(0,0,0,0)", - "description": "sets the color of the root node for a sunburst or a treemap trace. this has no effect when a colorscale is used to set the markers." - }, - "editType": "calc", - "role": "object" - }, - "domain": { - "x": { - "valType": "info_array", - "role": "info", - "editType": "calc", - "items": [ - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "calc" - }, - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "calc" - } - ], - "dflt": [ - 0, - 1 - ], - "description": "Sets the horizontal domain of this treemap trace (in plot fraction)." - }, - "y": { - "valType": "info_array", - "role": "info", - "editType": "calc", - "items": [ - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "calc" - }, - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "calc" - } - ], - "dflt": [ - 0, - 1 - ], - "description": "Sets the vertical domain of this treemap trace (in plot fraction)." - }, - "editType": "calc", - "row": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "If there is a layout grid, use the domain for this row in the grid for this treemap trace ." - }, - "column": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "If there is a layout grid, use the domain for this column in the grid for this treemap trace ." - }, - "role": "object" - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "labelssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for labels .", - "editType": "none" - }, - "parentssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for parents .", - "editType": "none" - }, - "valuessrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for values .", - "editType": "none" - }, - "textsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for text .", - "editType": "none" - }, - "texttemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for texttemplate .", - "editType": "none" - }, - "hovertextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertext .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - }, - "hovertemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertemplate .", - "editType": "none" - } - }, - "layoutAttributes": { - "treemapcolorway": { - "valType": "colorlist", - "role": "style", - "editType": "calc", - "description": "Sets the default treemap slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendtreemapcolors`." - }, - "extendtreemapcolors": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "calc", - "description": "If `true`, the treemap slice colors (whether given by `treemapcolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended." - } - } - }, - "funnelarea": { - "meta": { - "description": "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." - }, - "categories": [ - "pie-like", - "funnelarea", - "showLegend" - ], - "animatable": false, - "type": "funnelarea", - "attributes": { - "type": "funnelarea", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "showlegend": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "style", - "description": "Determines whether or not an item corresponding to this trace is shown in the legend." - }, - "legendgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "style", - "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items." - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "editType": "style", - "description": "Sets the opacity of the trace." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "hoverlabel": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "transforms": { - "items": { - "transform": { - "editType": "calc", - "description": "An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", - "role": "object" - } - }, - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "labels": { - "valType": "data_array", - "editType": "calc", - "description": "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.", - "role": "data" - }, - "label0": { - "valType": "number", - "role": "info", - "dflt": 0, - "editType": "calc", - "description": "Alternate to `labels`. Builds a numeric set of labels. Use with `dlabel` where `label0` is the starting label and `dlabel` the step." - }, - "dlabel": { - "valType": "number", - "role": "info", - "dflt": 1, - "editType": "calc", - "description": "Sets the label step. See `label0` for more info." - }, - "values": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the values of the sectors. If omitted, we count occurrences of each label.", - "role": "data" - }, - "marker": { - "colors": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the color of each sector. If not specified, the default trace color set is used to pick the sector colors.", - "role": "data" - }, - "line": { - "color": { - "valType": "color", - "role": "style", - "dflt": null, - "arrayOk": true, - "editType": "style", - "description": "Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value." - }, - "width": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 1, - "arrayOk": true, - "editType": "style", - "description": "Sets the width (in px) of the line enclosing each sector." - }, - "editType": "calc", - "role": "object", - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - }, - "widthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for width .", - "editType": "none" - } - }, - "editType": "calc", - "role": "object", - "colorssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for colors .", - "editType": "none" - } - }, - "text": { - "valType": "data_array", - "editType": "plot", - "description": "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.", - "role": "data" - }, - "hovertext": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "style", - "description": "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." - }, - "scalegroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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." - }, - "textinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "label", - "text", - "value", - "percent" - ], - "extras": [ - "none" - ], - "editType": "calc", - "description": "Determines which trace information appear on the graph." - }, - "texttemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "plot", - "description": "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-3.x-api-reference/blob/master/Formatting.md#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#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. variables `label`, `color`, `value`, `text` and `percent`.", - "arrayOk": true - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "label", - "text", - "value", - "percent", - "name" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "all", - "editType": "none", - "description": "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." - }, - "hovertemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "none", - "description": "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}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `label`, `color`, `value`, `text` and `percent`. Anything contained in tag `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "arrayOk": true - }, - "textposition": { - "valType": "enumerated", - "role": "info", - "values": [ - "inside", - "none" - ], - "dflt": "inside", - "arrayOk": true, - "editType": "plot", - "description": "Specifies the location of the `textinfo`." - }, - "textfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot", - "arrayOk": true - }, - "editType": "plot", - "description": "Sets the font used for `textinfo`.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "insidetextfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot", - "arrayOk": true - }, - "editType": "plot", - "description": "Sets the font used for `textinfo` lying inside the sector.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "title": { - "text": { - "valType": "string", - "dflt": "", - "role": "info", - "editType": "plot", - "description": "Sets the title of the chart. If it is empty, no title is displayed. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated." - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot", - "arrayOk": true - }, - "editType": "plot", - "description": "Sets the font used for `title`. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "position": { - "valType": "enumerated", - "values": [ - "top left", - "top center", - "top right" - ], - "role": "info", - "editType": "plot", - "description": "Specifies the location of the `title`. Note that the title's position used to be set by the now deprecated `titleposition` attribute.", - "dflt": "top center" - }, - "editType": "plot", - "role": "object" - }, - "domain": { - "x": { - "valType": "info_array", - "role": "info", - "editType": "calc", - "items": [ - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "calc" - }, - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "calc" - } - ], - "dflt": [ - 0, - 1 - ], - "description": "Sets the horizontal domain of this funnelarea trace (in plot fraction)." - }, - "y": { - "valType": "info_array", - "role": "info", - "editType": "calc", - "items": [ - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "calc" - }, - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "calc" - } - ], - "dflt": [ - 0, - 1 - ], - "description": "Sets the vertical domain of this funnelarea trace (in plot fraction)." - }, - "editType": "calc", - "row": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "If there is a layout grid, use the domain for this row in the grid for this funnelarea trace ." - }, - "column": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "If there is a layout grid, use the domain for this column in the grid for this funnelarea trace ." - }, - "role": "object" - }, - "aspectratio": { - "valType": "number", - "role": "info", - "min": 0, - "dflt": 1, - "editType": "plot", - "description": "Sets the ratio between height and width" - }, - "baseratio": { - "valType": "number", - "role": "info", - "min": 0, - "max": 1, - "dflt": 0.333, - "editType": "plot", - "description": "Sets the ratio between bottom length and maximum top length." - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "labelssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for labels .", - "editType": "none" - }, - "valuessrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for values .", - "editType": "none" - }, - "textsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for text .", - "editType": "none" - }, - "hovertextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertext .", - "editType": "none" - }, - "texttemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for texttemplate .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - }, - "hovertemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertemplate .", - "editType": "none" - }, - "textpositionsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for textposition .", - "editType": "none" - } - }, - "layoutAttributes": { - "hiddenlabels": { - "valType": "data_array", - "role": "data", - "editType": "calc", - "description": "hiddenlabels is the funnelarea & pie chart analog of visible:'legendonly' but it can contain many labels, and can simultaneously hide slices from several pies/funnelarea charts" - }, - "funnelareacolorway": { - "valType": "colorlist", - "role": "style", - "editType": "calc", - "description": "Sets the default funnelarea slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendfunnelareacolors`." - }, - "extendfunnelareacolors": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "calc", - "description": "If `true`, the funnelarea slice colors (whether given by `funnelareacolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended." - }, - "hiddenlabelssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hiddenlabels .", - "editType": "none" - } - } - }, - "scatter3d": { - "meta": { - "hrName": "scatter_3d", - "description": "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`." - }, - "categories": [ - "gl3d", - "symbols", - "showLegend", - "scatter-like" - ], - "animatable": false, - "type": "scatter3d", - "attributes": { - "type": "scatter3d", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "showlegend": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "style", - "description": "Determines whether or not an item corresponding to this trace is shown in the legend." - }, - "legendgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "style", - "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items." - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "editType": "style", - "description": "Sets the opacity of the trace." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "hoverlabel": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "transforms": { - "items": { - "transform": { - "editType": "calc", - "description": "An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", - "role": "object" - } - }, - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "x": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "description": "Sets the x coordinates.", - "role": "data" - }, - "y": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "description": "Sets the y coordinates.", - "role": "data" - }, - "z": { - "valType": "data_array", - "description": "Sets the z coordinates.", - "editType": "calc+clearAxisTypes", - "role": "data" - }, - "text": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "calc", - "description": "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." - }, - "texttemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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-3.x-api-reference/blob/master/Formatting.md#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#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. ", - "arrayOk": true - }, - "hovertext": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "calc", - "description": "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." - }, - "hovertemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "arrayOk": true - }, - "mode": { - "valType": "flaglist", - "flags": [ - "lines", - "markers", - "text" - ], - "extras": [ - "none" - ], - "role": "info", - "editType": "calc", - "description": "Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.", - "dflt": "lines+markers" - }, - "surfaceaxis": { - "valType": "enumerated", - "role": "info", - "values": [ - -1, - 0, - 1, - 2 - ], - "dflt": -1, - "description": "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.", - "editType": "calc" - }, - "surfacecolor": { - "valType": "color", - "role": "style", - "description": "Sets the surface fill color.", - "editType": "calc" - }, - "projection": { - "x": { - "show": { - "valType": "boolean", - "role": "info", - "dflt": false, - "description": "Sets whether or not projections are shown along the x axis.", - "editType": "calc" - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "description": "Sets the projection color.", - "editType": "calc" - }, - "scale": { - "valType": "number", - "role": "style", - "min": 0, - "max": 10, - "dflt": 0.6666666666666666, - "description": "Sets the scale factor determining the size of the projection marker points.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "y": { - "show": { - "valType": "boolean", - "role": "info", - "dflt": false, - "description": "Sets whether or not projections are shown along the y axis.", - "editType": "calc" - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "description": "Sets the projection color.", - "editType": "calc" - }, - "scale": { - "valType": "number", - "role": "style", - "min": 0, - "max": 10, - "dflt": 0.6666666666666666, - "description": "Sets the scale factor determining the size of the projection marker points.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "z": { - "show": { - "valType": "boolean", - "role": "info", - "dflt": false, - "description": "Sets whether or not projections are shown along the z axis.", - "editType": "calc" - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "description": "Sets the projection color.", - "editType": "calc" - }, - "scale": { - "valType": "number", - "role": "style", - "min": 0, - "max": 10, - "dflt": 0.6666666666666666, - "description": "Sets the scale factor determining the size of the projection marker points.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "editType": "calc", - "role": "object" - }, - "connectgaps": { - "valType": "boolean", - "dflt": false, - "role": "info", - "editType": "calc", - "description": "Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected." - }, - "line": { - "width": { - "valType": "number", - "min": 0, - "dflt": 2, - "role": "style", - "editType": "calc", - "description": "Sets the line width (in px)." - }, - "dash": { - "valType": "enumerated", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" - ], - "dflt": "solid", - "role": "style", - "description": "Sets the dash style of the lines.", - "editType": "calc" - }, - "color": { - "valType": "color", - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets thelinecolor. 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." - }, - "cauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "cmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "description": "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." - }, - "cmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "calc", - "description": "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": { - "valType": "boolean", - "role": "info", - "dflt": false, - "editType": "calc", - "description": "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." - }, - "colorbar": { - "thicknessmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "style", - "dflt": "pixels", - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "editType": "calc" - }, - "thickness": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 30, - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "editType": "calc" - }, - "lenmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "info", - "dflt": "fraction", - "description": "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.", - "editType": "calc" - }, - "len": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "description": "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.", - "editType": "calc" - }, - "x": { - "valType": "number", - "dflt": 1.02, - "min": -2, - "max": 3, - "role": "style", - "description": "Sets the x position of the color bar (in plot fraction).", - "editType": "calc" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "left", - "role": "style", - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", - "editType": "calc" - }, - "xpad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the x direction.", - "editType": "calc" - }, - "y": { - "valType": "number", - "role": "style", - "dflt": 0.5, - "min": -2, - "max": 3, - "description": "Sets the y position of the color bar (in plot fraction).", - "editType": "calc" - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ], - "role": "style", - "dflt": "middle", - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", - "editType": "calc" - }, - "ypad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the y direction.", - "editType": "calc" - }, - "outlinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "calc", - "description": "Sets the axis line color." - }, - "outlinewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "Sets the width (in px) of the axis line." - }, - "bordercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "calc", - "description": "Sets the axis line color." - }, - "borderwidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 0, - "description": "Sets the width (in px) or the border enclosing this color bar.", - "editType": "calc" - }, - "bgcolor": { - "valType": "color", - "role": "style", - "dflt": "rgba(0,0,0,0)", - "description": "Sets the color of padded area.", - "editType": "calc" - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "calc", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "calc", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "calc", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "calc", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "calc", - "description": "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.", - "dflt": "" - }, - "ticklabelposition": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside bottom", - "inside bottom" - ], - "dflt": "outside", - "role": "info", - "description": "Determines where tick labels are drawn.", - "editType": "calc" - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "calc", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "calc", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "calc", - "description": "Determines whether or not the tick labels are drawn." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "description": "Sets the color bar's tick label font", - "editType": "calc", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "calc", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "calc" - }, - { - "valType": "any", - "editType": "calc" - } - ], - "editType": "calc", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "calc", - "name": { - "valType": "string", - "role": "style", - "editType": "calc", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "calc", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "calc", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "calc", - "description": "If \"true\", even 4-digit integers are separated" - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "calc", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "calc", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "calc", - "description": "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." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", - "editType": "calc" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "editType": "calc", - "role": "object" - }, - "side": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "calc" - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "calc" - }, - "titleside": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Deprecated in favor of color bar's `title.side`.", - "editType": "calc" - } - }, - "editType": "calc", - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "editType": "calc", - "role": "object", - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "marker": { - "symbol": { - "valType": "enumerated", - "values": [ - "circle", - "circle-open", - "square", - "square-open", - "diamond", - "diamond-open", - "cross", - "x" - ], - "role": "style", - "dflt": "circle", - "arrayOk": true, - "description": "Sets the marker symbol type.", - "editType": "calc" - }, - "size": { - "valType": "number", - "min": 0, - "dflt": 8, - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets the marker size (in px)." - }, - "sizeref": { - "valType": "number", - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "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`." - }, - "sizemin": { - "valType": "number", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "calc", - "description": "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": { - "valType": "enumerated", - "values": [ - "diameter", - "area" - ], - "dflt": "diameter", - "role": "info", - "editType": "calc", - "description": "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." - }, - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "arrayOk": false, - "role": "style", - "editType": "calc", - "description": "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." - }, - "colorbar": { - "thicknessmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "style", - "dflt": "pixels", - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "editType": "calc" - }, - "thickness": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 30, - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "editType": "calc" - }, - "lenmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "info", - "dflt": "fraction", - "description": "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.", - "editType": "calc" - }, - "len": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "description": "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.", - "editType": "calc" - }, - "x": { - "valType": "number", - "dflt": 1.02, - "min": -2, - "max": 3, - "role": "style", - "description": "Sets the x position of the color bar (in plot fraction).", - "editType": "calc" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "left", - "role": "style", - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", - "editType": "calc" - }, - "xpad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the x direction.", - "editType": "calc" - }, - "y": { - "valType": "number", - "role": "style", - "dflt": 0.5, - "min": -2, - "max": 3, - "description": "Sets the y position of the color bar (in plot fraction).", - "editType": "calc" - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ], - "role": "style", - "dflt": "middle", - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", - "editType": "calc" - }, - "ypad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the y direction.", - "editType": "calc" - }, - "outlinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "calc", - "description": "Sets the axis line color." - }, - "outlinewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "Sets the width (in px) of the axis line." - }, - "bordercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "calc", - "description": "Sets the axis line color." - }, - "borderwidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 0, - "description": "Sets the width (in px) or the border enclosing this color bar.", - "editType": "calc" - }, - "bgcolor": { - "valType": "color", - "role": "style", - "dflt": "rgba(0,0,0,0)", - "description": "Sets the color of padded area.", - "editType": "calc" - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "calc", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "calc", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "calc", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "calc", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "calc", - "description": "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.", - "dflt": "" - }, - "ticklabelposition": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside bottom", - "inside bottom" - ], - "dflt": "outside", - "role": "info", - "description": "Determines where tick labels are drawn.", - "editType": "calc" - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "calc", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "calc", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "calc", - "description": "Determines whether or not the tick labels are drawn." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "description": "Sets the color bar's tick label font", - "editType": "calc", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "calc", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "calc" - }, - { - "valType": "any", - "editType": "calc" - } - ], - "editType": "calc", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "calc", - "name": { - "valType": "string", - "role": "style", - "editType": "calc", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "calc", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "calc", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "calc", - "description": "If \"true\", even 4-digit integers are separated" - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "calc", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "calc", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "calc", - "description": "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." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", - "editType": "calc" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "editType": "calc", - "role": "object" - }, - "side": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "calc" - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "calc" - }, - "titleside": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Deprecated in favor of color bar's `title.side`.", - "editType": "calc" - } - }, - "editType": "calc", - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "line": { - "width": { - "valType": "number", - "min": 0, - "arrayOk": false, - "role": "style", - "editType": "calc", - "description": "Sets the width (in px) of the lines bounding the marker points." - }, - "color": { - "valType": "color", - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets themarker.linecolor. 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." - }, - "cauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "cmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "description": "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." - }, - "cmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "calc", - "description": "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." - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "editType": "calc", - "role": "object", - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "color": { - "valType": "color", - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets themarkercolor. 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." - }, - "cauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "cmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "description": "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." - }, - "cmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "calc", - "description": "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": { - "valType": "boolean", - "role": "info", - "dflt": false, - "editType": "calc", - "description": "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." - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "editType": "calc", - "role": "object", - "symbolsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for symbol .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "textposition": { - "valType": "enumerated", - "values": [ - "top left", - "top center", - "top right", - "middle left", - "middle center", - "middle right", - "bottom left", - "bottom center", - "bottom right" - ], - "dflt": "top center", - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets the positions of the `text` elements with respects to the (x,y) coordinates." - }, - "textfont": { - "color": { - "valType": "color", - "role": "style", - "editType": "calc", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc", - "arrayOk": true - }, - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "calc", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": false - }, - "editType": "calc", - "role": "object", - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - } - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "x", - "y", - "z", - "text", - "name" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "all", - "editType": "calc", - "description": "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." - }, - "error_x": { - "visible": { - "valType": "boolean", - "role": "info", - "editType": "calc", - "description": "Determines whether or not this set of error bars is visible." - }, - "type": { - "valType": "enumerated", - "values": [ - "percent", - "constant", - "sqrt", - "data" - ], - "role": "info", - "editType": "calc", - "description": "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`." - }, - "symmetric": { - "valType": "boolean", - "role": "info", - "editType": "calc", - "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars." - }, - "array": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", - "role": "data" - }, - "arrayminus": { - "valType": "data_array", - "editType": "calc", - "description": "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.", - "role": "data" - }, - "value": { - "valType": "number", - "min": 0, - "dflt": 10, - "role": "info", - "editType": "calc", - "description": "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": { - "valType": "number", - "min": 0, - "dflt": 10, - "role": "info", - "editType": "calc", - "description": "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" - }, - "traceref": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "calc" - }, - "tracerefminus": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "calc" - }, - "copy_zstyle": { - "valType": "boolean", - "role": "style", - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the stoke color of the error bars." - }, - "thickness": { - "valType": "number", - "min": 0, - "dflt": 2, - "role": "style", - "editType": "calc", - "description": "Sets the thickness (in px) of the error bars." - }, - "width": { - "valType": "number", - "min": 0, - "role": "style", - "editType": "calc", - "description": "Sets the width (in px) of the cross-bar at both ends of the error bars." - }, - "editType": "calc", - "_deprecated": { - "opacity": { - "valType": "number", - "role": "style", - "editType": "calc", - "description": "Obsolete. Use the alpha channel in error bar `color` to set the opacity." - } - }, - "role": "object", - "arraysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for array .", - "editType": "none" - }, - "arrayminussrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for arrayminus .", - "editType": "none" - } - }, - "error_y": { - "visible": { - "valType": "boolean", - "role": "info", - "editType": "calc", - "description": "Determines whether or not this set of error bars is visible." - }, - "type": { - "valType": "enumerated", - "values": [ - "percent", - "constant", - "sqrt", - "data" - ], - "role": "info", - "editType": "calc", - "description": "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`." - }, - "symmetric": { - "valType": "boolean", - "role": "info", - "editType": "calc", - "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars." - }, - "array": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", - "role": "data" - }, - "arrayminus": { - "valType": "data_array", - "editType": "calc", - "description": "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.", - "role": "data" - }, - "value": { - "valType": "number", - "min": 0, - "dflt": 10, - "role": "info", - "editType": "calc", - "description": "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": { - "valType": "number", - "min": 0, - "dflt": 10, - "role": "info", - "editType": "calc", - "description": "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" - }, - "traceref": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "calc" - }, - "tracerefminus": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "calc" - }, - "copy_zstyle": { - "valType": "boolean", - "role": "style", - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the stoke color of the error bars." - }, - "thickness": { - "valType": "number", - "min": 0, - "dflt": 2, - "role": "style", - "editType": "calc", - "description": "Sets the thickness (in px) of the error bars." - }, - "width": { - "valType": "number", - "min": 0, - "role": "style", - "editType": "calc", - "description": "Sets the width (in px) of the cross-bar at both ends of the error bars." - }, - "editType": "calc", - "_deprecated": { - "opacity": { - "valType": "number", - "role": "style", - "editType": "calc", - "description": "Obsolete. Use the alpha channel in error bar `color` to set the opacity." - } - }, - "role": "object", - "arraysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for array .", - "editType": "none" - }, - "arrayminussrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for arrayminus .", - "editType": "none" - } - }, - "error_z": { - "visible": { - "valType": "boolean", - "role": "info", - "editType": "calc", - "description": "Determines whether or not this set of error bars is visible." - }, - "type": { - "valType": "enumerated", - "values": [ - "percent", - "constant", - "sqrt", - "data" - ], - "role": "info", - "editType": "calc", - "description": "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`." - }, - "symmetric": { - "valType": "boolean", - "role": "info", - "editType": "calc", - "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars." - }, - "array": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", - "role": "data" - }, - "arrayminus": { - "valType": "data_array", - "editType": "calc", - "description": "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.", - "role": "data" - }, - "value": { - "valType": "number", - "min": 0, - "dflt": 10, - "role": "info", - "editType": "calc", - "description": "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": { - "valType": "number", - "min": 0, - "dflt": 10, - "role": "info", - "editType": "calc", - "description": "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" - }, - "traceref": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "calc" - }, - "tracerefminus": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the stoke color of the error bars." - }, - "thickness": { - "valType": "number", - "min": 0, - "dflt": 2, - "role": "style", - "editType": "calc", - "description": "Sets the thickness (in px) of the error bars." - }, - "width": { - "valType": "number", - "min": 0, - "role": "style", - "editType": "calc", - "description": "Sets the width (in px) of the cross-bar at both ends of the error bars." - }, - "editType": "calc", - "_deprecated": { - "opacity": { - "valType": "number", - "role": "style", - "editType": "calc", - "description": "Obsolete. Use the alpha channel in error bar `color` to set the opacity." - } - }, - "role": "object", - "arraysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for array .", - "editType": "none" - }, - "arrayminussrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for arrayminus .", - "editType": "none" - } - }, - "xcalendar": { - "valType": "enumerated", - "values": [ - "gregorian", - "chinese", - "coptic", - "discworld", - "ethiopian", - "hebrew", - "islamic", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "jalali", - "taiwan", - "thai", - "ummalqura" - ], - "role": "info", - "editType": "calc", - "dflt": "gregorian", - "description": "Sets the calendar system to use with `x` date data." - }, - "ycalendar": { - "valType": "enumerated", - "values": [ - "gregorian", - "chinese", - "coptic", - "discworld", - "ethiopian", - "hebrew", - "islamic", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "jalali", - "taiwan", - "thai", - "ummalqura" - ], - "role": "info", - "editType": "calc", - "dflt": "gregorian", - "description": "Sets the calendar system to use with `y` date data." - }, - "zcalendar": { - "valType": "enumerated", - "values": [ - "gregorian", - "chinese", - "coptic", - "discworld", - "ethiopian", - "hebrew", - "islamic", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "jalali", - "taiwan", - "thai", - "ummalqura" - ], - "role": "info", - "editType": "calc", - "dflt": "gregorian", - "description": "Sets the calendar system to use with `z` date data." - }, - "scene": { - "valType": "subplotid", - "role": "info", - "dflt": "scene", - "editType": "calc+clearAxisTypes", - "description": "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." - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "xsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for x .", - "editType": "none" - }, - "ysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for y .", - "editType": "none" - }, - "zsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for z .", - "editType": "none" - }, - "textsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for text .", - "editType": "none" - }, - "texttemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for texttemplate .", - "editType": "none" - }, - "hovertextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertext .", - "editType": "none" - }, - "hovertemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertemplate .", - "editType": "none" - }, - "textpositionsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for textposition .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - } - } - }, - "surface": { - "meta": { - "description": "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`." - }, - "categories": [ - "gl3d", - "2dMap", - "showLegend" - ], - "animatable": false, - "type": "surface", - "attributes": { - "type": "surface", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "legendgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "style", - "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "hoverlabel": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "z": { - "valType": "data_array", - "description": "Sets the z coordinates.", - "editType": "calc+clearAxisTypes", - "role": "data" - }, - "x": { - "valType": "data_array", - "description": "Sets the x coordinates.", - "editType": "calc+clearAxisTypes", - "role": "data" - }, - "y": { - "valType": "data_array", - "description": "Sets the y coordinates.", - "editType": "calc+clearAxisTypes", - "role": "data" - }, - "text": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "description": "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.", - "editType": "calc" - }, - "hovertext": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "description": "Same as `text`.", - "editType": "calc" - }, - "hovertemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "arrayOk": true - }, - "connectgaps": { - "valType": "boolean", - "dflt": false, - "role": "info", - "editType": "calc", - "description": "Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data are filled in." - }, - "surfacecolor": { - "valType": "data_array", - "description": "Sets the surface color values, used for setting a color scale independent of `z`.", - "editType": "calc", - "role": "data" - }, - "cauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "cmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "description": "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." - }, - "cmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "calc", - "impliedEdits": {}, - "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "calc", - "description": "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." - }, - "showscale": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "description": "Determines whether or not a colorbar is displayed for this trace." - }, - "colorbar": { - "thicknessmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "style", - "dflt": "pixels", - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "editType": "calc" - }, - "thickness": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 30, - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "editType": "calc" - }, - "lenmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "info", - "dflt": "fraction", - "description": "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.", - "editType": "calc" - }, - "len": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "description": "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.", - "editType": "calc" - }, - "x": { - "valType": "number", - "dflt": 1.02, - "min": -2, - "max": 3, - "role": "style", - "description": "Sets the x position of the color bar (in plot fraction).", - "editType": "calc" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "left", - "role": "style", - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", - "editType": "calc" - }, - "xpad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the x direction.", - "editType": "calc" - }, - "y": { - "valType": "number", - "role": "style", - "dflt": 0.5, - "min": -2, - "max": 3, - "description": "Sets the y position of the color bar (in plot fraction).", - "editType": "calc" - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ], - "role": "style", - "dflt": "middle", - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", - "editType": "calc" - }, - "ypad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the y direction.", - "editType": "calc" - }, - "outlinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "calc", - "description": "Sets the axis line color." - }, - "outlinewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "Sets the width (in px) of the axis line." - }, - "bordercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "calc", - "description": "Sets the axis line color." - }, - "borderwidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 0, - "description": "Sets the width (in px) or the border enclosing this color bar.", - "editType": "calc" - }, - "bgcolor": { - "valType": "color", - "role": "style", - "dflt": "rgba(0,0,0,0)", - "description": "Sets the color of padded area.", - "editType": "calc" - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "calc", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "calc", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "calc", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "calc", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "calc", - "description": "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.", - "dflt": "" - }, - "ticklabelposition": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside bottom", - "inside bottom" - ], - "dflt": "outside", - "role": "info", - "description": "Determines where tick labels are drawn.", - "editType": "calc" - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "calc", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "calc", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "calc", - "description": "Determines whether or not the tick labels are drawn." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "description": "Sets the color bar's tick label font", - "editType": "calc", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "calc", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "calc" - }, - { - "valType": "any", - "editType": "calc" - } - ], - "editType": "calc", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "calc", - "name": { - "valType": "string", - "role": "style", - "editType": "calc", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "calc", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "calc", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "calc", - "description": "If \"true\", even 4-digit integers are separated" - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "calc", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "calc", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "calc", - "description": "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." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", - "editType": "calc" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "editType": "calc", - "role": "object" - }, - "side": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "calc" - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "calc" - }, - "titleside": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Deprecated in favor of color bar's `title.side`.", - "editType": "calc" - } - }, - "editType": "calc", - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "contours": { - "x": { - "show": { - "valType": "boolean", - "role": "info", - "dflt": false, - "description": "Determines whether or not contour lines about the x dimension are drawn.", - "editType": "calc" - }, - "start": { - "valType": "number", - "dflt": null, - "role": "style", - "editType": "calc", - "description": "Sets the starting contour level value. Must be less than `contours.end`" - }, - "end": { - "valType": "number", - "dflt": null, - "role": "style", - "editType": "calc", - "description": "Sets the end contour level value. Must be more than `contours.start`" - }, - "size": { - "valType": "number", - "dflt": null, - "min": 0, - "role": "style", - "editType": "calc", - "description": "Sets the step between each contour level. Must be positive." - }, - "project": { - "x": { - "valType": "boolean", - "role": "info", - "dflt": false, - "description": "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.", - "editType": "calc" - }, - "y": { - "valType": "boolean", - "role": "info", - "dflt": false, - "description": "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.", - "editType": "calc" - }, - "z": { - "valType": "boolean", - "role": "info", - "dflt": false, - "description": "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.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "color": { - "valType": "color", - "role": "style", - "dflt": "#444", - "description": "Sets the color of the contour lines.", - "editType": "calc" - }, - "usecolormap": { - "valType": "boolean", - "role": "info", - "dflt": false, - "description": "An alternate to *color*. Determines whether or not the contour lines are colored using the trace *colorscale*.", - "editType": "calc" - }, - "width": { - "valType": "number", - "role": "style", - "min": 1, - "max": 16, - "dflt": 2, - "description": "Sets the width of the contour lines.", - "editType": "calc" - }, - "highlight": { - "valType": "boolean", - "role": "info", - "dflt": true, - "description": "Determines whether or not contour lines about the x dimension are highlighted on hover.", - "editType": "calc" - }, - "highlightcolor": { - "valType": "color", - "role": "style", - "dflt": "#444", - "description": "Sets the color of the highlighted contour lines.", - "editType": "calc" - }, - "highlightwidth": { - "valType": "number", - "role": "style", - "min": 1, - "max": 16, - "dflt": 2, - "description": "Sets the width of the highlighted contour lines.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "y": { - "show": { - "valType": "boolean", - "role": "info", - "dflt": false, - "description": "Determines whether or not contour lines about the y dimension are drawn.", - "editType": "calc" - }, - "start": { - "valType": "number", - "dflt": null, - "role": "style", - "editType": "calc", - "description": "Sets the starting contour level value. Must be less than `contours.end`" - }, - "end": { - "valType": "number", - "dflt": null, - "role": "style", - "editType": "calc", - "description": "Sets the end contour level value. Must be more than `contours.start`" - }, - "size": { - "valType": "number", - "dflt": null, - "min": 0, - "role": "style", - "editType": "calc", - "description": "Sets the step between each contour level. Must be positive." - }, - "project": { - "x": { - "valType": "boolean", - "role": "info", - "dflt": false, - "description": "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.", - "editType": "calc" - }, - "y": { - "valType": "boolean", - "role": "info", - "dflt": false, - "description": "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.", - "editType": "calc" - }, - "z": { - "valType": "boolean", - "role": "info", - "dflt": false, - "description": "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.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "color": { - "valType": "color", - "role": "style", - "dflt": "#444", - "description": "Sets the color of the contour lines.", - "editType": "calc" - }, - "usecolormap": { - "valType": "boolean", - "role": "info", - "dflt": false, - "description": "An alternate to *color*. Determines whether or not the contour lines are colored using the trace *colorscale*.", - "editType": "calc" - }, - "width": { - "valType": "number", - "role": "style", - "min": 1, - "max": 16, - "dflt": 2, - "description": "Sets the width of the contour lines.", - "editType": "calc" - }, - "highlight": { - "valType": "boolean", - "role": "info", - "dflt": true, - "description": "Determines whether or not contour lines about the y dimension are highlighted on hover.", - "editType": "calc" - }, - "highlightcolor": { - "valType": "color", - "role": "style", - "dflt": "#444", - "description": "Sets the color of the highlighted contour lines.", - "editType": "calc" - }, - "highlightwidth": { - "valType": "number", - "role": "style", - "min": 1, - "max": 16, - "dflt": 2, - "description": "Sets the width of the highlighted contour lines.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "z": { - "show": { - "valType": "boolean", - "role": "info", - "dflt": false, - "description": "Determines whether or not contour lines about the z dimension are drawn.", - "editType": "calc" - }, - "start": { - "valType": "number", - "dflt": null, - "role": "style", - "editType": "calc", - "description": "Sets the starting contour level value. Must be less than `contours.end`" - }, - "end": { - "valType": "number", - "dflt": null, - "role": "style", - "editType": "calc", - "description": "Sets the end contour level value. Must be more than `contours.start`" - }, - "size": { - "valType": "number", - "dflt": null, - "min": 0, - "role": "style", - "editType": "calc", - "description": "Sets the step between each contour level. Must be positive." - }, - "project": { - "x": { - "valType": "boolean", - "role": "info", - "dflt": false, - "description": "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.", - "editType": "calc" - }, - "y": { - "valType": "boolean", - "role": "info", - "dflt": false, - "description": "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.", - "editType": "calc" - }, - "z": { - "valType": "boolean", - "role": "info", - "dflt": false, - "description": "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.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "color": { - "valType": "color", - "role": "style", - "dflt": "#444", - "description": "Sets the color of the contour lines.", - "editType": "calc" - }, - "usecolormap": { - "valType": "boolean", - "role": "info", - "dflt": false, - "description": "An alternate to *color*. Determines whether or not the contour lines are colored using the trace *colorscale*.", - "editType": "calc" - }, - "width": { - "valType": "number", - "role": "style", - "min": 1, - "max": 16, - "dflt": 2, - "description": "Sets the width of the contour lines.", - "editType": "calc" - }, - "highlight": { - "valType": "boolean", - "role": "info", - "dflt": true, - "description": "Determines whether or not contour lines about the z dimension are highlighted on hover.", - "editType": "calc" - }, - "highlightcolor": { - "valType": "color", - "role": "style", - "dflt": "#444", - "description": "Sets the color of the highlighted contour lines.", - "editType": "calc" - }, - "highlightwidth": { - "valType": "number", - "role": "style", - "min": 1, - "max": 16, - "dflt": 2, - "description": "Sets the width of the highlighted contour lines.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "editType": "calc", - "role": "object" - }, - "hidesurface": { - "valType": "boolean", - "role": "info", - "dflt": false, - "description": "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.", - "editType": "calc" - }, - "lightposition": { - "x": { - "valType": "number", - "role": "style", - "min": -100000, - "max": 100000, - "dflt": 10, - "description": "Numeric vector, representing the X coordinate for each vertex.", - "editType": "calc" - }, - "y": { - "valType": "number", - "role": "style", - "min": -100000, - "max": 100000, - "dflt": 10000, - "description": "Numeric vector, representing the Y coordinate for each vertex.", - "editType": "calc" - }, - "z": { - "valType": "number", - "role": "style", - "min": -100000, - "max": 100000, - "dflt": 0, - "description": "Numeric vector, representing the Z coordinate for each vertex.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "lighting": { - "ambient": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 0.8, - "description": "Ambient light increases overall color visibility but can wash out the image.", - "editType": "calc" - }, - "diffuse": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 0.8, - "description": "Represents the extent that incident rays are reflected in a range of angles.", - "editType": "calc" - }, - "specular": { - "valType": "number", - "role": "style", - "min": 0, - "max": 2, - "dflt": 0.05, - "description": "Represents the level that incident rays are reflected in a single direction, causing shine.", - "editType": "calc" - }, - "roughness": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 0.5, - "description": "Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.", - "editType": "calc" - }, - "fresnel": { - "valType": "number", - "role": "style", - "min": 0, - "max": 5, - "dflt": 0.2, - "description": "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.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "description": "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.", - "editType": "calc" - }, - "opacityscale": { - "valType": "any", - "role": "style", - "editType": "calc", - "description": "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'." - }, - "_deprecated": { - "zauto": { - "description": "Obsolete. Use `cauto` instead.", - "editType": "calc" - }, - "zmin": { - "description": "Obsolete. Use `cmin` instead.", - "editType": "calc" - }, - "zmax": { - "description": "Obsolete. Use `cmax` instead.", - "editType": "calc" - } - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "x", - "y", - "z", - "text", - "name" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "all", - "editType": "calc", - "description": "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." - }, - "showlegend": { - "valType": "boolean", - "role": "info", - "dflt": false, - "editType": "calc", - "description": "Determines whether or not an item corresponding to this trace is shown in the legend." - }, - "xcalendar": { - "valType": "enumerated", - "values": [ - "gregorian", - "chinese", - "coptic", - "discworld", - "ethiopian", - "hebrew", - "islamic", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "jalali", - "taiwan", - "thai", - "ummalqura" - ], - "role": "info", - "editType": "calc", - "dflt": "gregorian", - "description": "Sets the calendar system to use with `x` date data." - }, - "ycalendar": { - "valType": "enumerated", - "values": [ - "gregorian", - "chinese", - "coptic", - "discworld", - "ethiopian", - "hebrew", - "islamic", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "jalali", - "taiwan", - "thai", - "ummalqura" - ], - "role": "info", - "editType": "calc", - "dflt": "gregorian", - "description": "Sets the calendar system to use with `y` date data." - }, - "zcalendar": { - "valType": "enumerated", - "values": [ - "gregorian", - "chinese", - "coptic", - "discworld", - "ethiopian", - "hebrew", - "islamic", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "jalali", - "taiwan", - "thai", - "ummalqura" - ], - "role": "info", - "editType": "calc", - "dflt": "gregorian", - "description": "Sets the calendar system to use with `z` date data." - }, - "scene": { - "valType": "subplotid", - "role": "info", - "dflt": "scene", - "editType": "calc+clearAxisTypes", - "description": "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." - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "zsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for z .", - "editType": "none" - }, - "xsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for x .", - "editType": "none" - }, - "ysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for y .", - "editType": "none" - }, - "textsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for text .", - "editType": "none" - }, - "hovertextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertext .", - "editType": "none" - }, - "hovertemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertemplate .", - "editType": "none" - }, - "surfacecolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for surfacecolor .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - } - } - }, - "isosurface": { - "meta": { - "description": "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." - }, - "categories": [ - "gl3d", - "showLegend" - ], - "animatable": false, - "type": "isosurface", - "attributes": { - "type": "isosurface", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "legendgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "style", - "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "hoverlabel": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "x": { - "valType": "data_array", - "role": "data", - "description": "Sets the X coordinates of the vertices on X axis.", - "editType": "calc+clearAxisTypes" - }, - "y": { - "valType": "data_array", - "role": "data", - "description": "Sets the Y coordinates of the vertices on Y axis.", - "editType": "calc+clearAxisTypes" - }, - "z": { - "valType": "data_array", - "role": "data", - "description": "Sets the Z coordinates of the vertices on Z axis.", - "editType": "calc+clearAxisTypes" - }, - "value": { - "valType": "data_array", - "role": "data", - "description": "Sets the 4th dimension (value) of the vertices.", - "editType": "calc+clearAxisTypes" - }, - "isomin": { - "valType": "number", - "role": "info", - "description": "Sets the minimum boundary for iso-surface plot.", - "editType": "calc" - }, - "isomax": { - "valType": "number", - "role": "info", - "description": "Sets the maximum boundary for iso-surface plot.", - "editType": "calc" - }, - "surface": { - "show": { - "valType": "boolean", - "role": "info", - "dflt": true, - "description": "Hides/displays surfaces between minimum and maximum iso-values.", - "editType": "calc" - }, - "count": { - "valType": "integer", - "role": "info", - "dflt": 2, - "min": 1, - "description": "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.", - "editType": "calc" - }, - "fill": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "description": "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.", - "editType": "calc" - }, - "pattern": { - "valType": "flaglist", - "flags": [ - "A", - "B", - "C", - "D", - "E" - ], - "extras": [ - "all", - "odd", - "even" - ], - "dflt": "all", - "role": "style", - "description": "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.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "spaceframe": { - "show": { - "valType": "boolean", - "role": "info", - "dflt": false, - "description": "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.", - "editType": "calc" - }, - "fill": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 0.15, - "description": "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).", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "slices": { - "x": { - "show": { - "valType": "boolean", - "role": "info", - "dflt": false, - "description": "Determines whether or not slice planes about the x dimension are drawn.", - "editType": "calc" - }, - "locations": { - "valType": "data_array", - "dflt": [], - "role": "data", - "description": "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.", - "editType": "calc" - }, - "fill": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "description": "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.", - "editType": "calc" - }, - "editType": "calc", - "role": "object", - "locationssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for locations .", - "editType": "none" - } - }, - "y": { - "show": { - "valType": "boolean", - "role": "info", - "dflt": false, - "description": "Determines whether or not slice planes about the y dimension are drawn.", - "editType": "calc" - }, - "locations": { - "valType": "data_array", - "dflt": [], - "role": "data", - "description": "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.", - "editType": "calc" - }, - "fill": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "description": "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.", - "editType": "calc" - }, - "editType": "calc", - "role": "object", - "locationssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for locations .", - "editType": "none" - } - }, - "z": { - "show": { - "valType": "boolean", - "role": "info", - "dflt": false, - "description": "Determines whether or not slice planes about the z dimension are drawn.", - "editType": "calc" - }, - "locations": { - "valType": "data_array", - "dflt": [], - "role": "data", - "description": "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.", - "editType": "calc" - }, - "fill": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "description": "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.", - "editType": "calc" - }, - "editType": "calc", - "role": "object", - "locationssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for locations .", - "editType": "none" - } - }, - "editType": "calc", - "role": "object" - }, - "caps": { - "x": { - "show": { - "valType": "boolean", - "role": "info", - "dflt": true, - "description": "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.", - "editType": "calc" - }, - "fill": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "description": "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.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "y": { - "show": { - "valType": "boolean", - "role": "info", - "dflt": true, - "description": "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.", - "editType": "calc" - }, - "fill": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "description": "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.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "z": { - "show": { - "valType": "boolean", - "role": "info", - "dflt": true, - "description": "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.", - "editType": "calc" - }, - "fill": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "description": "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.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "editType": "calc", - "role": "object" - }, - "text": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "description": "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.", - "editType": "calc" - }, - "hovertext": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "description": "Same as `text`.", - "editType": "calc" - }, - "hovertemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "arrayOk": true - }, - "showlegend": { - "valType": "boolean", - "role": "info", - "dflt": false, - "editType": "calc", - "description": "Determines whether or not an item corresponding to this trace is shown in the legend." - }, - "cauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "cmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "description": "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." - }, - "cmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "calc", - "description": "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." - }, - "showscale": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "description": "Determines whether or not a colorbar is displayed for this trace." - }, - "colorbar": { - "thicknessmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "style", - "dflt": "pixels", - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "editType": "calc" - }, - "thickness": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 30, - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "editType": "calc" - }, - "lenmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "info", - "dflt": "fraction", - "description": "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.", - "editType": "calc" - }, - "len": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "description": "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.", - "editType": "calc" - }, - "x": { - "valType": "number", - "dflt": 1.02, - "min": -2, - "max": 3, - "role": "style", - "description": "Sets the x position of the color bar (in plot fraction).", - "editType": "calc" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "left", - "role": "style", - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", - "editType": "calc" - }, - "xpad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the x direction.", - "editType": "calc" - }, - "y": { - "valType": "number", - "role": "style", - "dflt": 0.5, - "min": -2, - "max": 3, - "description": "Sets the y position of the color bar (in plot fraction).", - "editType": "calc" - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ], - "role": "style", - "dflt": "middle", - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", - "editType": "calc" - }, - "ypad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the y direction.", - "editType": "calc" - }, - "outlinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "calc", - "description": "Sets the axis line color." - }, - "outlinewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "Sets the width (in px) of the axis line." - }, - "bordercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "calc", - "description": "Sets the axis line color." - }, - "borderwidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 0, - "description": "Sets the width (in px) or the border enclosing this color bar.", - "editType": "calc" - }, - "bgcolor": { - "valType": "color", - "role": "style", - "dflt": "rgba(0,0,0,0)", - "description": "Sets the color of padded area.", - "editType": "calc" - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "calc", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "calc", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "calc", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "calc", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "calc", - "description": "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.", - "dflt": "" - }, - "ticklabelposition": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside bottom", - "inside bottom" - ], - "dflt": "outside", - "role": "info", - "description": "Determines where tick labels are drawn.", - "editType": "calc" - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "calc", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "calc", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "calc", - "description": "Determines whether or not the tick labels are drawn." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "description": "Sets the color bar's tick label font", - "editType": "calc", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "calc", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "calc" - }, - { - "valType": "any", - "editType": "calc" - } - ], - "editType": "calc", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "calc", - "name": { - "valType": "string", - "role": "style", - "editType": "calc", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "calc", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "calc", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "calc", - "description": "If \"true\", even 4-digit integers are separated" - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "calc", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "calc", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "calc", - "description": "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." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", - "editType": "calc" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "editType": "calc", - "role": "object" - }, - "side": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "calc" - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "calc" - }, - "titleside": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Deprecated in favor of color bar's `title.side`.", - "editType": "calc" - } - }, - "editType": "calc", - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "description": "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.", - "editType": "calc" - }, - "lightposition": { - "x": { - "valType": "number", - "role": "style", - "min": -100000, - "max": 100000, - "dflt": 100000, - "description": "Numeric vector, representing the X coordinate for each vertex.", - "editType": "calc" - }, - "y": { - "valType": "number", - "role": "style", - "min": -100000, - "max": 100000, - "dflt": 100000, - "description": "Numeric vector, representing the Y coordinate for each vertex.", - "editType": "calc" - }, - "z": { - "valType": "number", - "role": "style", - "min": -100000, - "max": 100000, - "dflt": 0, - "description": "Numeric vector, representing the Z coordinate for each vertex.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "lighting": { - "vertexnormalsepsilon": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1e-12, - "editType": "calc", - "description": "Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry." - }, - "facenormalsepsilon": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 0, - "editType": "calc", - "description": "Epsilon for face normals calculation avoids math issues arising from degenerate geometry." - }, - "editType": "calc", - "ambient": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 0.8, - "description": "Ambient light increases overall color visibility but can wash out the image.", - "editType": "calc" - }, - "diffuse": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 0.8, - "description": "Represents the extent that incident rays are reflected in a range of angles.", - "editType": "calc" - }, - "specular": { - "valType": "number", - "role": "style", - "min": 0, - "max": 2, - "dflt": 0.05, - "description": "Represents the level that incident rays are reflected in a single direction, causing shine.", - "editType": "calc" - }, - "roughness": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 0.5, - "description": "Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.", - "editType": "calc" - }, - "fresnel": { - "valType": "number", - "role": "style", - "min": 0, - "max": 5, - "dflt": 0.2, - "description": "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.", - "editType": "calc" - }, - "role": "object" - }, - "flatshading": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "description": "Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low-poly look via flat reflections." - }, - "contour": { - "show": { - "valType": "boolean", - "role": "info", - "dflt": false, - "description": "Sets whether or not dynamic contours are shown on hover", - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "dflt": "#444", - "description": "Sets the color of the contour lines.", - "editType": "calc" - }, - "width": { - "valType": "number", - "role": "style", - "min": 1, - "max": 16, - "dflt": 2, - "description": "Sets the width of the contour lines.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "x", - "y", - "z", - "text", - "name" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "all", - "editType": "calc", - "description": "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." - }, - "scene": { - "valType": "subplotid", - "role": "info", - "dflt": "scene", - "editType": "calc+clearAxisTypes", - "description": "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." - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "xsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for x .", - "editType": "none" - }, - "ysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for y .", - "editType": "none" - }, - "zsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for z .", - "editType": "none" - }, - "valuesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for value .", - "editType": "none" - }, - "textsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for text .", - "editType": "none" - }, - "hovertextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertext .", - "editType": "none" - }, - "hovertemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertemplate .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - } - } - }, - "volume": { - "meta": { - "description": "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." - }, - "categories": [ - "gl3d", - "showLegend" - ], - "animatable": false, - "type": "volume", - "attributes": { - "type": "volume", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "legendgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "style", - "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "hoverlabel": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "x": { - "valType": "data_array", - "role": "data", - "description": "Sets the X coordinates of the vertices on X axis.", - "editType": "calc+clearAxisTypes" - }, - "y": { - "valType": "data_array", - "role": "data", - "description": "Sets the Y coordinates of the vertices on Y axis.", - "editType": "calc+clearAxisTypes" - }, - "z": { - "valType": "data_array", - "role": "data", - "description": "Sets the Z coordinates of the vertices on Z axis.", - "editType": "calc+clearAxisTypes" - }, - "value": { - "valType": "data_array", - "role": "data", - "description": "Sets the 4th dimension (value) of the vertices.", - "editType": "calc+clearAxisTypes" - }, - "isomin": { - "valType": "number", - "role": "info", - "description": "Sets the minimum boundary for iso-surface plot.", - "editType": "calc" - }, - "isomax": { - "valType": "number", - "role": "info", - "description": "Sets the maximum boundary for iso-surface plot.", - "editType": "calc" - }, - "surface": { - "show": { - "valType": "boolean", - "role": "info", - "dflt": true, - "description": "Hides/displays surfaces between minimum and maximum iso-values.", - "editType": "calc" - }, - "count": { - "valType": "integer", - "role": "info", - "dflt": 2, - "min": 1, - "description": "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.", - "editType": "calc" - }, - "fill": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "description": "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.", - "editType": "calc" - }, - "pattern": { - "valType": "flaglist", - "flags": [ - "A", - "B", - "C", - "D", - "E" - ], - "extras": [ - "all", - "odd", - "even" - ], - "dflt": "all", - "role": "style", - "description": "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.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "spaceframe": { - "show": { - "valType": "boolean", - "role": "info", - "dflt": false, - "description": "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.", - "editType": "calc" - }, - "fill": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "description": "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.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "slices": { - "x": { - "show": { - "valType": "boolean", - "role": "info", - "dflt": false, - "description": "Determines whether or not slice planes about the x dimension are drawn.", - "editType": "calc" - }, - "locations": { - "valType": "data_array", - "dflt": [], - "role": "data", - "description": "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.", - "editType": "calc" - }, - "fill": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "description": "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.", - "editType": "calc" - }, - "editType": "calc", - "role": "object", - "locationssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for locations .", - "editType": "none" - } - }, - "y": { - "show": { - "valType": "boolean", - "role": "info", - "dflt": false, - "description": "Determines whether or not slice planes about the y dimension are drawn.", - "editType": "calc" - }, - "locations": { - "valType": "data_array", - "dflt": [], - "role": "data", - "description": "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.", - "editType": "calc" - }, - "fill": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "description": "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.", - "editType": "calc" - }, - "editType": "calc", - "role": "object", - "locationssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for locations .", - "editType": "none" - } - }, - "z": { - "show": { - "valType": "boolean", - "role": "info", - "dflt": false, - "description": "Determines whether or not slice planes about the z dimension are drawn.", - "editType": "calc" - }, - "locations": { - "valType": "data_array", - "dflt": [], - "role": "data", - "description": "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.", - "editType": "calc" - }, - "fill": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "description": "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.", - "editType": "calc" - }, - "editType": "calc", - "role": "object", - "locationssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for locations .", - "editType": "none" - } - }, - "editType": "calc", - "role": "object" - }, - "caps": { - "x": { - "show": { - "valType": "boolean", - "role": "info", - "dflt": true, - "description": "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.", - "editType": "calc" - }, - "fill": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "description": "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.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "y": { - "show": { - "valType": "boolean", - "role": "info", - "dflt": true, - "description": "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.", - "editType": "calc" - }, - "fill": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "description": "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.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "z": { - "show": { - "valType": "boolean", - "role": "info", - "dflt": true, - "description": "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.", - "editType": "calc" - }, - "fill": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "description": "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.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "editType": "calc", - "role": "object" - }, - "text": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "description": "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.", - "editType": "calc" - }, - "hovertext": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "description": "Same as `text`.", - "editType": "calc" - }, - "hovertemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "arrayOk": true - }, - "cauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "cmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "description": "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." - }, - "cmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "calc", - "description": "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." - }, - "showscale": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "description": "Determines whether or not a colorbar is displayed for this trace." - }, - "colorbar": { - "thicknessmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "style", - "dflt": "pixels", - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "editType": "calc" - }, - "thickness": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 30, - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "editType": "calc" - }, - "lenmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "info", - "dflt": "fraction", - "description": "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.", - "editType": "calc" - }, - "len": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "description": "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.", - "editType": "calc" - }, - "x": { - "valType": "number", - "dflt": 1.02, - "min": -2, - "max": 3, - "role": "style", - "description": "Sets the x position of the color bar (in plot fraction).", - "editType": "calc" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "left", - "role": "style", - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", - "editType": "calc" - }, - "xpad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the x direction.", - "editType": "calc" - }, - "y": { - "valType": "number", - "role": "style", - "dflt": 0.5, - "min": -2, - "max": 3, - "description": "Sets the y position of the color bar (in plot fraction).", - "editType": "calc" - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ], - "role": "style", - "dflt": "middle", - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", - "editType": "calc" - }, - "ypad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the y direction.", - "editType": "calc" - }, - "outlinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "calc", - "description": "Sets the axis line color." - }, - "outlinewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "Sets the width (in px) of the axis line." - }, - "bordercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "calc", - "description": "Sets the axis line color." - }, - "borderwidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 0, - "description": "Sets the width (in px) or the border enclosing this color bar.", - "editType": "calc" - }, - "bgcolor": { - "valType": "color", - "role": "style", - "dflt": "rgba(0,0,0,0)", - "description": "Sets the color of padded area.", - "editType": "calc" - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "calc", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "calc", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "calc", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "calc", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "calc", - "description": "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.", - "dflt": "" - }, - "ticklabelposition": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside bottom", - "inside bottom" - ], - "dflt": "outside", - "role": "info", - "description": "Determines where tick labels are drawn.", - "editType": "calc" - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "calc", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "calc", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "calc", - "description": "Determines whether or not the tick labels are drawn." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "description": "Sets the color bar's tick label font", - "editType": "calc", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "calc", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "calc" - }, - { - "valType": "any", - "editType": "calc" - } - ], - "editType": "calc", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "calc", - "name": { - "valType": "string", - "role": "style", - "editType": "calc", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "calc", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "calc", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "calc", - "description": "If \"true\", even 4-digit integers are separated" - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "calc", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "calc", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "calc", - "description": "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." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", - "editType": "calc" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "editType": "calc", - "role": "object" - }, - "side": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "calc" - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "calc" - }, - "titleside": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Deprecated in favor of color bar's `title.side`.", - "editType": "calc" - } - }, - "editType": "calc", - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "description": "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.", - "editType": "calc" - }, - "opacityscale": { - "valType": "any", - "role": "style", - "editType": "calc", - "description": "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'." - }, - "lightposition": { - "x": { - "valType": "number", - "role": "style", - "min": -100000, - "max": 100000, - "dflt": 100000, - "description": "Numeric vector, representing the X coordinate for each vertex.", - "editType": "calc" - }, - "y": { - "valType": "number", - "role": "style", - "min": -100000, - "max": 100000, - "dflt": 100000, - "description": "Numeric vector, representing the Y coordinate for each vertex.", - "editType": "calc" - }, - "z": { - "valType": "number", - "role": "style", - "min": -100000, - "max": 100000, - "dflt": 0, - "description": "Numeric vector, representing the Z coordinate for each vertex.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "lighting": { - "vertexnormalsepsilon": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1e-12, - "editType": "calc", - "description": "Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry." - }, - "facenormalsepsilon": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 0, - "editType": "calc", - "description": "Epsilon for face normals calculation avoids math issues arising from degenerate geometry." - }, - "editType": "calc", - "ambient": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 0.8, - "description": "Ambient light increases overall color visibility but can wash out the image.", - "editType": "calc" - }, - "diffuse": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 0.8, - "description": "Represents the extent that incident rays are reflected in a range of angles.", - "editType": "calc" - }, - "specular": { - "valType": "number", - "role": "style", - "min": 0, - "max": 2, - "dflt": 0.05, - "description": "Represents the level that incident rays are reflected in a single direction, causing shine.", - "editType": "calc" - }, - "roughness": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 0.5, - "description": "Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.", - "editType": "calc" - }, - "fresnel": { - "valType": "number", - "role": "style", - "min": 0, - "max": 5, - "dflt": 0.2, - "description": "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.", - "editType": "calc" - }, - "role": "object" - }, - "flatshading": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "description": "Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low-poly look via flat reflections." - }, - "contour": { - "show": { - "valType": "boolean", - "role": "info", - "dflt": false, - "description": "Sets whether or not dynamic contours are shown on hover", - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "dflt": "#444", - "description": "Sets the color of the contour lines.", - "editType": "calc" - }, - "width": { - "valType": "number", - "role": "style", - "min": 1, - "max": 16, - "dflt": 2, - "description": "Sets the width of the contour lines.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "x", - "y", - "z", - "text", - "name" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "all", - "editType": "calc", - "description": "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." - }, - "showlegend": { - "valType": "boolean", - "role": "info", - "dflt": false, - "editType": "calc", - "description": "Determines whether or not an item corresponding to this trace is shown in the legend." - }, - "scene": { - "valType": "subplotid", - "role": "info", - "dflt": "scene", - "editType": "calc+clearAxisTypes", - "description": "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." - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "xsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for x .", - "editType": "none" - }, - "ysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for y .", - "editType": "none" - }, - "zsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for z .", - "editType": "none" - }, - "valuesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for value .", - "editType": "none" - }, - "textsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for text .", - "editType": "none" - }, - "hovertextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertext .", - "editType": "none" - }, - "hovertemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertemplate .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - } - } - }, - "mesh3d": { - "meta": { - "description": "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" - }, - "categories": [ - "gl3d", - "showLegend" - ], - "animatable": false, - "type": "mesh3d", - "attributes": { - "type": "mesh3d", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "legendgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "style", - "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "hoverlabel": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "x": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "description": "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.", - "role": "data" - }, - "y": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "description": "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.", - "role": "data" - }, - "z": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "description": "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.", - "role": "data" - }, - "i": { - "valType": "data_array", - "editType": "calc", - "description": "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.", - "role": "data" - }, - "j": { - "valType": "data_array", - "editType": "calc", - "description": "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.", - "role": "data" - }, - "k": { - "valType": "data_array", - "editType": "calc", - "description": "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.", - "role": "data" - }, - "text": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "calc", - "description": "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." - }, - "hovertext": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "calc", - "description": "Same as `text`." - }, - "hovertemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "arrayOk": true - }, - "delaunayaxis": { - "valType": "enumerated", - "role": "info", - "values": [ - "x", - "y", - "z" - ], - "dflt": "z", - "editType": "calc", - "description": "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." - }, - "alphahull": { - "valType": "number", - "role": "style", - "dflt": -1, - "editType": "calc", - "description": "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." - }, - "intensity": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the intensity values for vertices or cells as defined by `intensitymode`. It can be used for plotting fields on meshes.", - "role": "data" - }, - "intensitymode": { - "valType": "enumerated", - "values": [ - "vertex", - "cell" - ], - "dflt": "vertex", - "editType": "calc", - "role": "info", - "description": "Determines the source of `intensity` values." - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the color of the whole mesh" - }, - "vertexcolor": { - "valType": "data_array", - "role": "data", - "editType": "calc", - "description": "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." - }, - "facecolor": { - "valType": "data_array", - "role": "data", - "editType": "calc", - "description": "Sets the color of each face Overrides *color* and *vertexcolor*." - }, - "cauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "cmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "description": "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." - }, - "cmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "plot", - "description": "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." - }, - "showscale": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "description": "Determines whether or not a colorbar is displayed for this trace." - }, - "colorbar": { - "thicknessmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "style", - "dflt": "pixels", - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "editType": "colorbars" - }, - "thickness": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 30, - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "editType": "colorbars" - }, - "lenmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "info", - "dflt": "fraction", - "description": "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.", - "editType": "colorbars" - }, - "len": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "description": "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.", - "editType": "colorbars" - }, - "x": { - "valType": "number", - "dflt": 1.02, - "min": -2, - "max": 3, - "role": "style", - "description": "Sets the x position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "left", - "role": "style", - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", - "editType": "colorbars" - }, - "xpad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the x direction.", - "editType": "colorbars" - }, - "y": { - "valType": "number", - "role": "style", - "dflt": 0.5, - "min": -2, - "max": 3, - "description": "Sets the y position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ], - "role": "style", - "dflt": "middle", - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", - "editType": "colorbars" - }, - "ypad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the y direction.", - "editType": "colorbars" - }, - "outlinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "outlinewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the width (in px) of the axis line." - }, - "bordercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "borderwidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 0, - "description": "Sets the width (in px) or the border enclosing this color bar.", - "editType": "colorbars" - }, - "bgcolor": { - "valType": "color", - "role": "style", - "dflt": "rgba(0,0,0,0)", - "description": "Sets the color of padded area.", - "editType": "colorbars" - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "colorbars", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "colorbars", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "colorbars", - "description": "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.", - "dflt": "" - }, - "ticklabelposition": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside bottom", - "inside bottom" - ], - "dflt": "outside", - "role": "info", - "description": "Determines where tick labels are drawn.", - "editType": "colorbars" - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "colorbars", - "description": "Determines whether or not the tick labels are drawn." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets the color bar's tick label font", - "editType": "colorbars", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "colorbars", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "colorbars", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "colorbars" - }, - { - "valType": "any", - "editType": "colorbars" - } - ], - "editType": "colorbars", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "colorbars", - "name": { - "valType": "string", - "role": "style", - "editType": "colorbars", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "colorbars", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "colorbars", - "description": "If \"true\", even 4-digit integers are separated" - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "colorbars", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", - "editType": "colorbars" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "editType": "colorbars", - "role": "object" - }, - "side": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.", - "editType": "colorbars" - }, - "editType": "colorbars", - "role": "object" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars" - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars" - }, - "titleside": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Deprecated in favor of color bar's `title.side`.", - "editType": "colorbars" - } - }, - "editType": "colorbars", - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "description": "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.", - "editType": "calc" - }, - "flatshading": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "calc", - "description": "Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low-poly look via flat reflections." - }, - "contour": { - "show": { - "valType": "boolean", - "role": "info", - "dflt": false, - "description": "Sets whether or not dynamic contours are shown on hover", - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "dflt": "#444", - "description": "Sets the color of the contour lines.", - "editType": "calc" - }, - "width": { - "valType": "number", - "role": "style", - "min": 1, - "max": 16, - "dflt": 2, - "description": "Sets the width of the contour lines.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "lightposition": { - "x": { - "valType": "number", - "role": "style", - "min": -100000, - "max": 100000, - "dflt": 100000, - "description": "Numeric vector, representing the X coordinate for each vertex.", - "editType": "calc" - }, - "y": { - "valType": "number", - "role": "style", - "min": -100000, - "max": 100000, - "dflt": 100000, - "description": "Numeric vector, representing the Y coordinate for each vertex.", - "editType": "calc" - }, - "z": { - "valType": "number", - "role": "style", - "min": -100000, - "max": 100000, - "dflt": 0, - "description": "Numeric vector, representing the Z coordinate for each vertex.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "lighting": { - "vertexnormalsepsilon": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1e-12, - "editType": "calc", - "description": "Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry." - }, - "facenormalsepsilon": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1e-06, - "editType": "calc", - "description": "Epsilon for face normals calculation avoids math issues arising from degenerate geometry." - }, - "editType": "calc", - "ambient": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 0.8, - "description": "Ambient light increases overall color visibility but can wash out the image.", - "editType": "calc" - }, - "diffuse": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 0.8, - "description": "Represents the extent that incident rays are reflected in a range of angles.", - "editType": "calc" - }, - "specular": { - "valType": "number", - "role": "style", - "min": 0, - "max": 2, - "dflt": 0.05, - "description": "Represents the level that incident rays are reflected in a single direction, causing shine.", - "editType": "calc" - }, - "roughness": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 0.5, - "description": "Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.", - "editType": "calc" - }, - "fresnel": { - "valType": "number", - "role": "style", - "min": 0, - "max": 5, - "dflt": 0.2, - "description": "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.", - "editType": "calc" - }, - "role": "object" - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "x", - "y", - "z", - "text", - "name" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "all", - "editType": "calc", - "description": "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." - }, - "showlegend": { - "valType": "boolean", - "role": "info", - "dflt": false, - "editType": "style", - "description": "Determines whether or not an item corresponding to this trace is shown in the legend." - }, - "xcalendar": { - "valType": "enumerated", - "values": [ - "gregorian", - "chinese", - "coptic", - "discworld", - "ethiopian", - "hebrew", - "islamic", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "jalali", - "taiwan", - "thai", - "ummalqura" - ], - "role": "info", - "editType": "calc", - "dflt": "gregorian", - "description": "Sets the calendar system to use with `x` date data." - }, - "ycalendar": { - "valType": "enumerated", - "values": [ - "gregorian", - "chinese", - "coptic", - "discworld", - "ethiopian", - "hebrew", - "islamic", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "jalali", - "taiwan", - "thai", - "ummalqura" - ], - "role": "info", - "editType": "calc", - "dflt": "gregorian", - "description": "Sets the calendar system to use with `y` date data." - }, - "zcalendar": { - "valType": "enumerated", - "values": [ - "gregorian", - "chinese", - "coptic", - "discworld", - "ethiopian", - "hebrew", - "islamic", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "jalali", - "taiwan", - "thai", - "ummalqura" - ], - "role": "info", - "editType": "calc", - "dflt": "gregorian", - "description": "Sets the calendar system to use with `z` date data." - }, - "scene": { - "valType": "subplotid", - "role": "info", - "dflt": "scene", - "editType": "calc+clearAxisTypes", - "description": "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." - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "xsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for x .", - "editType": "none" - }, - "ysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for y .", - "editType": "none" - }, - "zsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for z .", - "editType": "none" - }, - "isrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for i .", - "editType": "none" - }, - "jsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for j .", - "editType": "none" - }, - "ksrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for k .", - "editType": "none" - }, - "textsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for text .", - "editType": "none" - }, - "hovertextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertext .", - "editType": "none" - }, - "hovertemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertemplate .", - "editType": "none" - }, - "intensitysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for intensity .", - "editType": "none" - }, - "vertexcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for vertexcolor .", - "editType": "none" - }, - "facecolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for facecolor .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - } - } - }, - "cone": { - "meta": { - "description": "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`." - }, - "categories": [ - "gl3d", - "showLegend" - ], - "animatable": false, - "type": "cone", - "attributes": { - "type": "cone", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "legendgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "style", - "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "hoverlabel": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "x": { - "valType": "data_array", - "role": "data", - "editType": "calc+clearAxisTypes", - "description": "Sets the x coordinates of the vector field and of the displayed cones." - }, - "y": { - "valType": "data_array", - "role": "data", - "editType": "calc+clearAxisTypes", - "description": "Sets the y coordinates of the vector field and of the displayed cones." - }, - "z": { - "valType": "data_array", - "role": "data", - "editType": "calc+clearAxisTypes", - "description": "Sets the z coordinates of the vector field and of the displayed cones." - }, - "u": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the x components of the vector field.", - "role": "data" - }, - "v": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the y components of the vector field.", - "role": "data" - }, - "w": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the z components of the vector field.", - "role": "data" - }, - "sizemode": { - "valType": "enumerated", - "values": [ - "scaled", - "absolute" - ], - "role": "info", - "editType": "calc", - "dflt": "scaled", - "description": "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)." - }, - "sizeref": { - "valType": "number", - "role": "info", - "editType": "calc", - "min": 0, - "description": "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 *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." - }, - "anchor": { - "valType": "enumerated", - "role": "info", - "editType": "calc", - "values": [ - "tip", - "tail", - "cm", - "center" - ], - "dflt": "cm", - "description": "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." - }, - "text": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "calc", - "description": "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." - }, - "hovertext": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "calc", - "description": "Same as `text`." - }, - "hovertemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "arrayOk": true - }, - "showlegend": { - "valType": "boolean", - "role": "info", - "dflt": false, - "editType": "style", - "description": "Determines whether or not an item corresponding to this trace is shown in the legend." - }, - "cauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "cmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "description": "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." - }, - "cmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "plot", - "description": "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." - }, - "showscale": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "description": "Determines whether or not a colorbar is displayed for this trace." - }, - "colorbar": { - "thicknessmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "style", - "dflt": "pixels", - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "editType": "colorbars" - }, - "thickness": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 30, - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "editType": "colorbars" - }, - "lenmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "info", - "dflt": "fraction", - "description": "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.", - "editType": "colorbars" - }, - "len": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "description": "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.", - "editType": "colorbars" - }, - "x": { - "valType": "number", - "dflt": 1.02, - "min": -2, - "max": 3, - "role": "style", - "description": "Sets the x position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "left", - "role": "style", - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", - "editType": "colorbars" - }, - "xpad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the x direction.", - "editType": "colorbars" - }, - "y": { - "valType": "number", - "role": "style", - "dflt": 0.5, - "min": -2, - "max": 3, - "description": "Sets the y position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ], - "role": "style", - "dflt": "middle", - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", - "editType": "colorbars" - }, - "ypad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the y direction.", - "editType": "colorbars" - }, - "outlinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "outlinewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the width (in px) of the axis line." - }, - "bordercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "borderwidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 0, - "description": "Sets the width (in px) or the border enclosing this color bar.", - "editType": "colorbars" - }, - "bgcolor": { - "valType": "color", - "role": "style", - "dflt": "rgba(0,0,0,0)", - "description": "Sets the color of padded area.", - "editType": "colorbars" - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "colorbars", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "colorbars", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "colorbars", - "description": "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.", - "dflt": "" - }, - "ticklabelposition": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside bottom", - "inside bottom" - ], - "dflt": "outside", - "role": "info", - "description": "Determines where tick labels are drawn.", - "editType": "colorbars" - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "colorbars", - "description": "Determines whether or not the tick labels are drawn." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets the color bar's tick label font", - "editType": "colorbars", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "colorbars", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "colorbars", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "colorbars" - }, - { - "valType": "any", - "editType": "colorbars" - } - ], - "editType": "colorbars", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "colorbars", - "name": { - "valType": "string", - "role": "style", - "editType": "colorbars", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "colorbars", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "colorbars", - "description": "If \"true\", even 4-digit integers are separated" - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "colorbars", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", - "editType": "colorbars" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "editType": "colorbars", - "role": "object" - }, - "side": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.", - "editType": "colorbars" - }, - "editType": "colorbars", - "role": "object" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars" - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars" - }, - "titleside": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Deprecated in favor of color bar's `title.side`.", - "editType": "colorbars" - } - }, - "editType": "colorbars", - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "description": "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.", - "editType": "calc" - }, - "lightposition": { - "x": { - "valType": "number", - "role": "style", - "min": -100000, - "max": 100000, - "dflt": 100000, - "description": "Numeric vector, representing the X coordinate for each vertex.", - "editType": "calc" - }, - "y": { - "valType": "number", - "role": "style", - "min": -100000, - "max": 100000, - "dflt": 100000, - "description": "Numeric vector, representing the Y coordinate for each vertex.", - "editType": "calc" - }, - "z": { - "valType": "number", - "role": "style", - "min": -100000, - "max": 100000, - "dflt": 0, - "description": "Numeric vector, representing the Z coordinate for each vertex.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "lighting": { - "vertexnormalsepsilon": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1e-12, - "editType": "calc", - "description": "Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry." - }, - "facenormalsepsilon": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1e-06, - "editType": "calc", - "description": "Epsilon for face normals calculation avoids math issues arising from degenerate geometry." - }, - "editType": "calc", - "ambient": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 0.8, - "description": "Ambient light increases overall color visibility but can wash out the image.", - "editType": "calc" - }, - "diffuse": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 0.8, - "description": "Represents the extent that incident rays are reflected in a range of angles.", - "editType": "calc" - }, - "specular": { - "valType": "number", - "role": "style", - "min": 0, - "max": 2, - "dflt": 0.05, - "description": "Represents the level that incident rays are reflected in a single direction, causing shine.", - "editType": "calc" - }, - "roughness": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 0.5, - "description": "Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.", - "editType": "calc" - }, - "fresnel": { - "valType": "number", - "role": "style", - "min": 0, - "max": 5, - "dflt": 0.2, - "description": "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.", - "editType": "calc" - }, - "role": "object" - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "x", - "y", - "z", - "u", - "v", - "w", - "norm", - "text", - "name" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "x+y+z+norm+text+name", - "editType": "calc", - "description": "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." - }, - "scene": { - "valType": "subplotid", - "role": "info", - "dflt": "scene", - "editType": "calc+clearAxisTypes", - "description": "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." - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "xsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for x .", - "editType": "none" - }, - "ysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for y .", - "editType": "none" - }, - "zsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for z .", - "editType": "none" - }, - "usrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for u .", - "editType": "none" - }, - "vsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for v .", - "editType": "none" - }, - "wsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for w .", - "editType": "none" - }, - "textsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for text .", - "editType": "none" - }, - "hovertextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertext .", - "editType": "none" - }, - "hovertemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertemplate .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - } - } - }, - "streamtube": { - "meta": { - "description": "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)." - }, - "categories": [ - "gl3d", - "showLegend" - ], - "animatable": false, - "type": "streamtube", - "attributes": { - "type": "streamtube", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "legendgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "style", - "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "hoverlabel": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "x": { - "valType": "data_array", - "role": "data", - "editType": "calc+clearAxisTypes", - "description": "Sets the x coordinates of the vector field." - }, - "y": { - "valType": "data_array", - "role": "data", - "editType": "calc+clearAxisTypes", - "description": "Sets the y coordinates of the vector field." - }, - "z": { - "valType": "data_array", - "role": "data", - "editType": "calc+clearAxisTypes", - "description": "Sets the z coordinates of the vector field." - }, - "u": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the x components of the vector field.", - "role": "data" - }, - "v": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the y components of the vector field.", - "role": "data" - }, - "w": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the z components of the vector field.", - "role": "data" - }, - "starts": { - "x": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the x components of the starting position of the streamtubes", - "role": "data" - }, - "y": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the y components of the starting position of the streamtubes", - "role": "data" - }, - "z": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the z components of the starting position of the streamtubes", - "role": "data" - }, - "editType": "calc", - "role": "object", - "xsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for x .", - "editType": "none" - }, - "ysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for y .", - "editType": "none" - }, - "zsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for z .", - "editType": "none" - } - }, - "maxdisplayed": { - "valType": "integer", - "min": 0, - "dflt": 1000, - "role": "info", - "editType": "calc", - "description": "The maximum number of displayed segments in a streamtube." - }, - "sizeref": { - "valType": "number", - "role": "info", - "editType": "calc", - "min": 0, - "dflt": 1, - "description": "The scaling factor for the streamtubes. The default is 1, which avoids two max divergence tubes from touching at adjacent starting positions." - }, - "text": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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." - }, - "hovertext": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "Same as `text`." - }, - "hovertemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `tubex`, `tubey`, `tubez`, `tubeu`, `tubev`, `tubew`, `norm` and `divergence`. Anything contained in tag `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "arrayOk": true - }, - "showlegend": { - "valType": "boolean", - "role": "info", - "dflt": false, - "editType": "style", - "description": "Determines whether or not an item corresponding to this trace is shown in the legend." - }, - "cauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "cmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "description": "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." - }, - "cmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "plot", - "description": "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." - }, - "showscale": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "description": "Determines whether or not a colorbar is displayed for this trace." - }, - "colorbar": { - "thicknessmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "style", - "dflt": "pixels", - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "editType": "colorbars" - }, - "thickness": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 30, - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "editType": "colorbars" - }, - "lenmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "info", - "dflt": "fraction", - "description": "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.", - "editType": "colorbars" - }, - "len": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "description": "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.", - "editType": "colorbars" - }, - "x": { - "valType": "number", - "dflt": 1.02, - "min": -2, - "max": 3, - "role": "style", - "description": "Sets the x position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "left", - "role": "style", - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", - "editType": "colorbars" - }, - "xpad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the x direction.", - "editType": "colorbars" - }, - "y": { - "valType": "number", - "role": "style", - "dflt": 0.5, - "min": -2, - "max": 3, - "description": "Sets the y position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ], - "role": "style", - "dflt": "middle", - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", - "editType": "colorbars" - }, - "ypad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the y direction.", - "editType": "colorbars" - }, - "outlinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "outlinewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the width (in px) of the axis line." - }, - "bordercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "borderwidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 0, - "description": "Sets the width (in px) or the border enclosing this color bar.", - "editType": "colorbars" - }, - "bgcolor": { - "valType": "color", - "role": "style", - "dflt": "rgba(0,0,0,0)", - "description": "Sets the color of padded area.", - "editType": "colorbars" - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "colorbars", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "colorbars", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "colorbars", - "description": "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.", - "dflt": "" - }, - "ticklabelposition": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside bottom", - "inside bottom" - ], - "dflt": "outside", - "role": "info", - "description": "Determines where tick labels are drawn.", - "editType": "colorbars" - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "colorbars", - "description": "Determines whether or not the tick labels are drawn." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets the color bar's tick label font", - "editType": "colorbars", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "colorbars", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "colorbars", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "colorbars" - }, - { - "valType": "any", - "editType": "colorbars" - } - ], - "editType": "colorbars", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "colorbars", - "name": { - "valType": "string", - "role": "style", - "editType": "colorbars", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "colorbars", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "colorbars", - "description": "If \"true\", even 4-digit integers are separated" - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "colorbars", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", - "editType": "colorbars" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "editType": "colorbars", - "role": "object" - }, - "side": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.", - "editType": "colorbars" - }, - "editType": "colorbars", - "role": "object" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars" - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars" - }, - "titleside": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Deprecated in favor of color bar's `title.side`.", - "editType": "colorbars" - } - }, - "editType": "colorbars", - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "description": "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.", - "editType": "calc" - }, - "lightposition": { - "x": { - "valType": "number", - "role": "style", - "min": -100000, - "max": 100000, - "dflt": 100000, - "description": "Numeric vector, representing the X coordinate for each vertex.", - "editType": "calc" - }, - "y": { - "valType": "number", - "role": "style", - "min": -100000, - "max": 100000, - "dflt": 100000, - "description": "Numeric vector, representing the Y coordinate for each vertex.", - "editType": "calc" - }, - "z": { - "valType": "number", - "role": "style", - "min": -100000, - "max": 100000, - "dflt": 0, - "description": "Numeric vector, representing the Z coordinate for each vertex.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "lighting": { - "vertexnormalsepsilon": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1e-12, - "editType": "calc", - "description": "Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry." - }, - "facenormalsepsilon": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1e-06, - "editType": "calc", - "description": "Epsilon for face normals calculation avoids math issues arising from degenerate geometry." - }, - "editType": "calc", - "ambient": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 0.8, - "description": "Ambient light increases overall color visibility but can wash out the image.", - "editType": "calc" - }, - "diffuse": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 0.8, - "description": "Represents the extent that incident rays are reflected in a range of angles.", - "editType": "calc" - }, - "specular": { - "valType": "number", - "role": "style", - "min": 0, - "max": 2, - "dflt": 0.05, - "description": "Represents the level that incident rays are reflected in a single direction, causing shine.", - "editType": "calc" - }, - "roughness": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 0.5, - "description": "Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.", - "editType": "calc" - }, - "fresnel": { - "valType": "number", - "role": "style", - "min": 0, - "max": 5, - "dflt": 0.2, - "description": "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.", - "editType": "calc" - }, - "role": "object" - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "x", - "y", - "z", - "u", - "v", - "w", - "norm", - "divergence", - "text", - "name" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "x+y+z+norm+text+name", - "editType": "calc", - "description": "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." - }, - "scene": { - "valType": "subplotid", - "role": "info", - "dflt": "scene", - "editType": "calc+clearAxisTypes", - "description": "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." - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "xsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for x .", - "editType": "none" - }, - "ysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for y .", - "editType": "none" - }, - "zsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for z .", - "editType": "none" - }, - "usrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for u .", - "editType": "none" - }, - "vsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for v .", - "editType": "none" - }, - "wsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for w .", - "editType": "none" - }, - "hovertemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertemplate .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - } - } - }, - "scattergeo": { - "meta": { - "hrName": "scatter_geo", - "description": "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`." - }, - "categories": [ - "geo", - "symbols", - "showLegend", - "scatter-like" - ], - "animatable": false, - "type": "scattergeo", - "attributes": { - "type": "scattergeo", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "showlegend": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "style", - "description": "Determines whether or not an item corresponding to this trace is shown in the legend." - }, - "legendgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "style", - "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items." - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "editType": "style", - "description": "Sets the opacity of the trace." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "selectedpoints": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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." - }, - "hoverlabel": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "transforms": { - "items": { - "transform": { - "editType": "calc", - "description": "An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", - "role": "object" - } - }, - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "lon": { - "valType": "data_array", - "description": "Sets the longitude coordinates (in degrees East).", - "editType": "calc", - "role": "data" - }, - "lat": { - "valType": "data_array", - "description": "Sets the latitude coordinates (in degrees North).", - "editType": "calc", - "role": "data" - }, - "locations": { - "valType": "data_array", - "description": "Sets the coordinates via location IDs or names. Coordinates correspond to the centroid of each location given. See `locationmode` for more info.", - "editType": "calc", - "role": "data" - }, - "locationmode": { - "valType": "enumerated", - "values": [ - "ISO-3", - "USA-states", - "country names", - "geojson-id" - ], - "role": "info", - "dflt": "ISO-3", - "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.", - "editType": "calc" - }, - "geojson": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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*." - }, - "featureidkey": { - "valType": "string", - "role": "info", - "editType": "calc", - "dflt": "id", - "description": "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*." - }, - "mode": { - "valType": "flaglist", - "flags": [ - "lines", - "markers", - "text" - ], - "extras": [ - "none" - ], - "role": "info", - "editType": "calc", - "description": "Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.", - "dflt": "markers" - }, - "text": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "calc", - "description": "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." - }, - "texttemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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-3.x-api-reference/blob/master/Formatting.md#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#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. variables `lat`, `lon`, `location` and `text`.", - "arrayOk": true - }, - "hovertext": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "calc", - "description": "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." - }, - "textfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "calc", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc", - "arrayOk": true - }, - "editType": "calc", - "description": "Sets the text font.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "textposition": { - "valType": "enumerated", - "values": [ - "top left", - "top center", - "top right", - "middle left", - "middle center", - "middle right", - "bottom left", - "bottom center", - "bottom right" - ], - "dflt": "middle center", - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets the positions of the `text` elements with respects to the (x,y) coordinates." - }, - "line": { - "color": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the line color." - }, - "width": { - "valType": "number", - "min": 0, - "dflt": 2, - "role": "style", - "editType": "calc", - "description": "Sets the line width (in px)." - }, - "dash": { - "valType": "string", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" - ], - "dflt": "solid", - "role": "style", - "editType": "calc", - "description": "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*)." - }, - "editType": "calc", - "role": "object" - }, - "connectgaps": { - "valType": "boolean", - "dflt": false, - "role": "info", - "editType": "calc", - "description": "Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected." - }, - "marker": { - "symbol": { - "valType": "enumerated", - "values": [ - 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" - ], - "dflt": "circle", - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "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." - }, - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets the marker opacity." - }, - "size": { - "valType": "number", - "min": 0, - "dflt": 6, - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets the marker size (in px)." - }, - "sizeref": { - "valType": "number", - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "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`." - }, - "sizemin": { - "valType": "number", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "calc", - "description": "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": { - "valType": "enumerated", - "values": [ - "diameter", - "area" - ], - "dflt": "diameter", - "role": "info", - "editType": "calc", - "description": "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." - }, - "colorbar": { - "thicknessmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "style", - "dflt": "pixels", - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "editType": "calc" - }, - "thickness": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 30, - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "editType": "calc" - }, - "lenmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "info", - "dflt": "fraction", - "description": "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.", - "editType": "calc" - }, - "len": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "description": "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.", - "editType": "calc" - }, - "x": { - "valType": "number", - "dflt": 1.02, - "min": -2, - "max": 3, - "role": "style", - "description": "Sets the x position of the color bar (in plot fraction).", - "editType": "calc" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "left", - "role": "style", - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", - "editType": "calc" - }, - "xpad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the x direction.", - "editType": "calc" - }, - "y": { - "valType": "number", - "role": "style", - "dflt": 0.5, - "min": -2, - "max": 3, - "description": "Sets the y position of the color bar (in plot fraction).", - "editType": "calc" - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ], - "role": "style", - "dflt": "middle", - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", - "editType": "calc" - }, - "ypad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the y direction.", - "editType": "calc" - }, - "outlinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "calc", - "description": "Sets the axis line color." - }, - "outlinewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "Sets the width (in px) of the axis line." - }, - "bordercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "calc", - "description": "Sets the axis line color." - }, - "borderwidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 0, - "description": "Sets the width (in px) or the border enclosing this color bar.", - "editType": "calc" - }, - "bgcolor": { - "valType": "color", - "role": "style", - "dflt": "rgba(0,0,0,0)", - "description": "Sets the color of padded area.", - "editType": "calc" - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "calc", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "calc", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "calc", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "calc", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "calc", - "description": "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.", - "dflt": "" - }, - "ticklabelposition": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside bottom", - "inside bottom" - ], - "dflt": "outside", - "role": "info", - "description": "Determines where tick labels are drawn.", - "editType": "calc" - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "calc", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "calc", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "calc", - "description": "Determines whether or not the tick labels are drawn." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "description": "Sets the color bar's tick label font", - "editType": "calc", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "calc", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "calc" - }, - { - "valType": "any", - "editType": "calc" - } - ], - "editType": "calc", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "calc", - "name": { - "valType": "string", - "role": "style", - "editType": "calc", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "calc", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "calc", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "calc", - "description": "If \"true\", even 4-digit integers are separated" - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "calc", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "calc", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "calc", - "description": "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." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", - "editType": "calc" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "editType": "calc", - "role": "object" - }, - "side": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "calc" - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "calc" - }, - "titleside": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Deprecated in favor of color bar's `title.side`.", - "editType": "calc" - } - }, - "editType": "calc", - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "line": { - "width": { - "valType": "number", - "min": 0, - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets the width (in px) of the lines bounding the marker points." - }, - "color": { - "valType": "color", - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets themarker.linecolor. 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." - }, - "cauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "cmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "description": "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." - }, - "cmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "calc", - "description": "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." - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "editType": "calc", - "role": "object", - "widthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for width .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "gradient": { - "type": { - "valType": "enumerated", - "values": [ - "radial", - "horizontal", - "vertical", - "none" - ], - "arrayOk": true, - "dflt": "none", - "role": "style", - "editType": "calc", - "description": "Sets the type of gradient used to fill the markers" - }, - "color": { - "valType": "color", - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical." - }, - "editType": "calc", - "role": "object", - "typesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for type .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "color": { - "valType": "color", - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets themarkercolor. 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." - }, - "cauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "cmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "description": "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." - }, - "cmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "calc", - "description": "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": { - "valType": "boolean", - "role": "info", - "dflt": false, - "editType": "calc", - "description": "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." - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "editType": "calc", - "role": "object", - "symbolsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for symbol .", - "editType": "none" - }, - "opacitysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for opacity .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "fill": { - "valType": "enumerated", - "values": [ - "none", - "toself" - ], - "dflt": "none", - "role": "style", - "description": "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.", - "editType": "calc" - }, - "fillcolor": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available." - }, - "selected": { - "marker": { - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "role": "style", - "editType": "calc", - "description": "Sets the marker opacity of selected points." - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the marker color of selected points." - }, - "size": { - "valType": "number", - "min": 0, - "role": "style", - "editType": "calc", - "description": "Sets the marker size of selected points." - }, - "editType": "calc", - "role": "object" - }, - "textfont": { - "color": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the text font color of selected points." - }, - "editType": "calc", - "role": "object" - }, - "editType": "calc", - "role": "object" - }, - "unselected": { - "marker": { - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "role": "style", - "editType": "calc", - "description": "Sets the marker opacity of unselected points, applied only when a selection exists." - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the marker color of unselected points, applied only when a selection exists." - }, - "size": { - "valType": "number", - "min": 0, - "role": "style", - "editType": "calc", - "description": "Sets the marker size of unselected points, applied only when a selection exists." - }, - "editType": "calc", - "role": "object" - }, - "textfont": { - "color": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the text font color of unselected points, applied only when a selection exists." - }, - "editType": "calc", - "role": "object" - }, - "editType": "calc", - "role": "object" - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "lon", - "lat", - "location", - "text", - "name" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "all", - "editType": "calc", - "description": "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." - }, - "hovertemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "arrayOk": true - }, - "geo": { - "valType": "subplotid", - "role": "info", - "dflt": "geo", - "editType": "calc", - "description": "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." - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "lonsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for lon .", - "editType": "none" - }, - "latsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for lat .", - "editType": "none" - }, - "locationssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for locations .", - "editType": "none" - }, - "textsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for text .", - "editType": "none" - }, - "texttemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for texttemplate .", - "editType": "none" - }, - "hovertextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertext .", - "editType": "none" - }, - "textpositionsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for textposition .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - }, - "hovertemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertemplate .", - "editType": "none" - } - } - }, - "choropleth": { - "meta": { - "description": "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`." - }, - "categories": [ - "geo", - "noOpacity", - "showLegend" - ], - "animatable": false, - "type": "choropleth", - "attributes": { - "type": "choropleth", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "legendgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "style", - "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "selectedpoints": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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." - }, - "hoverlabel": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "transforms": { - "items": { - "transform": { - "editType": "calc", - "description": "An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", - "role": "object" - } - }, - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "locations": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the coordinates via location IDs or names. See `locationmode` for more info.", - "role": "data" - }, - "locationmode": { - "valType": "enumerated", - "values": [ - "ISO-3", - "USA-states", - "country names", - "geojson-id" - ], - "role": "info", - "dflt": "ISO-3", - "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.", - "editType": "calc" - }, - "z": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the color values.", - "role": "data" - }, - "geojson": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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*." - }, - "featureidkey": { - "valType": "string", - "role": "info", - "editType": "calc", - "dflt": "id", - "description": "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*." - }, - "text": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "calc", - "description": "Sets the text elements associated with each location." - }, - "hovertext": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "calc", - "description": "Same as `text`." - }, - "marker": { - "line": { - "color": { - "valType": "color", - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets themarker.linecolor. 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.", - "dflt": "#444" - }, - "width": { - "valType": "number", - "min": 0, - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets the width (in px) of the lines bounding the marker points.", - "dflt": 1 - }, - "editType": "calc", - "role": "object", - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - }, - "widthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for width .", - "editType": "none" - } - }, - "opacity": { - "valType": "number", - "arrayOk": true, - "min": 0, - "max": 1, - "dflt": 1, - "role": "style", - "editType": "style", - "description": "Sets the opacity of the locations." - }, - "editType": "calc", - "role": "object", - "opacitysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for opacity .", - "editType": "none" - } - }, - "selected": { - "marker": { - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "role": "style", - "editType": "calc", - "description": "Sets the marker opacity of selected points." - }, - "editType": "plot", - "role": "object" - }, - "editType": "plot", - "role": "object" - }, - "unselected": { - "marker": { - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "role": "style", - "editType": "calc", - "description": "Sets the marker opacity of unselected points, applied only when a selection exists." - }, - "editType": "plot", - "role": "object" - }, - "editType": "plot", - "role": "object" - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "location", - "z", - "text", - "name" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "all", - "editType": "calc", - "description": "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." - }, - "hovertemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "none", - "description": "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}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "arrayOk": true - }, - "showlegend": { - "valType": "boolean", - "role": "info", - "dflt": false, - "editType": "style", - "description": "Determines whether or not an item corresponding to this trace is shown in the legend." - }, - "zauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "zmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "zauto": false - }, - "description": "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." - }, - "zmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "zauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "plot", - "description": "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." - }, - "showscale": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "description": "Determines whether or not a colorbar is displayed for this trace." - }, - "colorbar": { - "thicknessmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "style", - "dflt": "pixels", - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "editType": "colorbars" - }, - "thickness": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 30, - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "editType": "colorbars" - }, - "lenmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "info", - "dflt": "fraction", - "description": "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.", - "editType": "colorbars" - }, - "len": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "description": "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.", - "editType": "colorbars" - }, - "x": { - "valType": "number", - "dflt": 1.02, - "min": -2, - "max": 3, - "role": "style", - "description": "Sets the x position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "left", - "role": "style", - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", - "editType": "colorbars" - }, - "xpad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the x direction.", - "editType": "colorbars" - }, - "y": { - "valType": "number", - "role": "style", - "dflt": 0.5, - "min": -2, - "max": 3, - "description": "Sets the y position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ], - "role": "style", - "dflt": "middle", - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", - "editType": "colorbars" - }, - "ypad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the y direction.", - "editType": "colorbars" - }, - "outlinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "outlinewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the width (in px) of the axis line." - }, - "bordercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "borderwidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 0, - "description": "Sets the width (in px) or the border enclosing this color bar.", - "editType": "colorbars" - }, - "bgcolor": { - "valType": "color", - "role": "style", - "dflt": "rgba(0,0,0,0)", - "description": "Sets the color of padded area.", - "editType": "colorbars" - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "colorbars", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "colorbars", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "colorbars", - "description": "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.", - "dflt": "" - }, - "ticklabelposition": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside bottom", - "inside bottom" - ], - "dflt": "outside", - "role": "info", - "description": "Determines where tick labels are drawn.", - "editType": "colorbars" - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "colorbars", - "description": "Determines whether or not the tick labels are drawn." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets the color bar's tick label font", - "editType": "colorbars", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "colorbars", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "colorbars", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "colorbars" - }, - { - "valType": "any", - "editType": "colorbars" - } - ], - "editType": "colorbars", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "colorbars", - "name": { - "valType": "string", - "role": "style", - "editType": "colorbars", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "colorbars", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "colorbars", - "description": "If \"true\", even 4-digit integers are separated" - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "colorbars", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", - "editType": "colorbars" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "editType": "colorbars", - "role": "object" - }, - "side": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.", - "editType": "colorbars" - }, - "editType": "colorbars", - "role": "object" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars" - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars" - }, - "titleside": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Deprecated in favor of color bar's `title.side`.", - "editType": "colorbars" - } - }, - "editType": "colorbars", - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "geo": { - "valType": "subplotid", - "role": "info", - "dflt": "geo", - "editType": "calc", - "description": "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." - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "locationssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for locations .", - "editType": "none" - }, - "zsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for z .", - "editType": "none" - }, - "textsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for text .", - "editType": "none" - }, - "hovertextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertext .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - }, - "hovertemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertemplate .", - "editType": "none" - } - } - }, - "scattergl": { - "meta": { - "hrName": "scatter_gl", - "description": "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." - }, - "categories": [ - "gl", - "regl", - "cartesian", - "symbols", - "errorBarsOK", - "showLegend", - "scatter-like" - ], - "animatable": false, - "type": "scattergl", - "attributes": { - "type": "scattergl", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "showlegend": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "style", - "description": "Determines whether or not an item corresponding to this trace is shown in the legend." - }, - "legendgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "style", - "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "selectedpoints": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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." - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "x", - "y", - "z", - "text", - "name" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "all", - "editType": "none", - "description": "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": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "transforms": { - "items": { - "transform": { - "editType": "calc", - "description": "An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", - "role": "object" - } - }, - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "x": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "description": "Sets the x coordinates.", - "role": "data" - }, - "x0": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc+clearAxisTypes", - "description": "Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step." - }, - "dx": { - "valType": "number", - "dflt": 1, - "role": "info", - "editType": "calc", - "description": "Sets the x coordinate step. See `x0` for more info." - }, - "y": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "description": "Sets the y coordinates.", - "role": "data" - }, - "y0": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc+clearAxisTypes", - "description": "Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step." - }, - "dy": { - "valType": "number", - "dflt": 1, - "role": "info", - "editType": "calc", - "description": "Sets the y coordinate step. See `y0` for more info." - }, - "xperiod": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer." - }, - "yperiod": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the y axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer." - }, - "xperiod0": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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." - }, - "yperiod0": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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." - }, - "xperiodalignment": { - "valType": "enumerated", - "values": [ - "start", - "middle", - "end" - ], - "dflt": "middle", - "role": "style", - "editType": "calc", - "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis." - }, - "yperiodalignment": { - "valType": "enumerated", - "values": [ - "start", - "middle", - "end" - ], - "dflt": "middle", - "role": "style", - "editType": "calc", - "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis." - }, - "text": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "calc", - "description": "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." - }, - "hovertext": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "calc", - "description": "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." - }, - "textposition": { - "valType": "enumerated", - "values": [ - "top left", - "top center", - "top right", - "middle left", - "middle center", - "middle right", - "bottom left", - "bottom center", - "bottom right" - ], - "dflt": "middle center", - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets the positions of the `text` elements with respects to the (x,y) coordinates." - }, - "textfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "calc", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc", - "arrayOk": true - }, - "editType": "calc", - "description": "Sets the text font.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "mode": { - "valType": "flaglist", - "flags": [ - "lines", - "markers", - "text" - ], - "extras": [ - "none" - ], - "role": "info", - "description": "Determines the drawing mode for this scatter trace.", - "editType": "calc" - }, - "line": { - "color": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the line color." - }, - "width": { - "valType": "number", - "min": 0, - "dflt": 2, - "role": "style", - "editType": "calc", - "description": "Sets the line width (in px)." - }, - "shape": { - "valType": "enumerated", - "values": [ - "linear", - "hv", - "vh", - "hvh", - "vhv" - ], - "dflt": "linear", - "role": "style", - "editType": "calc", - "description": "Determines the line shape. The values correspond to step-wise line shapes." - }, - "dash": { - "valType": "enumerated", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" - ], - "dflt": "solid", - "role": "style", - "description": "Sets the style of the lines.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "marker": { - "color": { - "valType": "color", - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets themarkercolor. 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." - }, - "cauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "cmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "description": "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." - }, - "cmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "calc", - "description": "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": { - "valType": "boolean", - "role": "info", - "dflt": false, - "editType": "calc", - "description": "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." - }, - "colorbar": { - "thicknessmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "style", - "dflt": "pixels", - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "editType": "calc" - }, - "thickness": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 30, - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "editType": "calc" - }, - "lenmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "info", - "dflt": "fraction", - "description": "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.", - "editType": "calc" - }, - "len": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "description": "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.", - "editType": "calc" - }, - "x": { - "valType": "number", - "dflt": 1.02, - "min": -2, - "max": 3, - "role": "style", - "description": "Sets the x position of the color bar (in plot fraction).", - "editType": "calc" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "left", - "role": "style", - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", - "editType": "calc" - }, - "xpad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the x direction.", - "editType": "calc" - }, - "y": { - "valType": "number", - "role": "style", - "dflt": 0.5, - "min": -2, - "max": 3, - "description": "Sets the y position of the color bar (in plot fraction).", - "editType": "calc" - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ], - "role": "style", - "dflt": "middle", - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", - "editType": "calc" - }, - "ypad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the y direction.", - "editType": "calc" - }, - "outlinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "calc", - "description": "Sets the axis line color." - }, - "outlinewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "Sets the width (in px) of the axis line." - }, - "bordercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "calc", - "description": "Sets the axis line color." - }, - "borderwidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 0, - "description": "Sets the width (in px) or the border enclosing this color bar.", - "editType": "calc" - }, - "bgcolor": { - "valType": "color", - "role": "style", - "dflt": "rgba(0,0,0,0)", - "description": "Sets the color of padded area.", - "editType": "calc" - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "calc", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "calc", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "calc", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "calc", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "calc", - "description": "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.", - "dflt": "" - }, - "ticklabelposition": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside bottom", - "inside bottom" - ], - "dflt": "outside", - "role": "info", - "description": "Determines where tick labels are drawn.", - "editType": "calc" - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "calc", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "calc", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "calc", - "description": "Determines whether or not the tick labels are drawn." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "description": "Sets the color bar's tick label font", - "editType": "calc", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "calc", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "calc" - }, - { - "valType": "any", - "editType": "calc" - } - ], - "editType": "calc", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "calc", - "name": { - "valType": "string", - "role": "style", - "editType": "calc", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "calc", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "calc", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "calc", - "description": "If \"true\", even 4-digit integers are separated" - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "calc", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "calc", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "calc", - "description": "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." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", - "editType": "calc" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "editType": "calc", - "role": "object" - }, - "side": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "calc" - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "calc" - }, - "titleside": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Deprecated in favor of color bar's `title.side`.", - "editType": "calc" - } - }, - "editType": "calc", - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "symbol": { - "valType": "enumerated", - "values": [ - 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" - ], - "dflt": "circle", - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "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." - }, - "size": { - "valType": "number", - "min": 0, - "dflt": 6, - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets the marker size (in px)." - }, - "sizeref": { - "valType": "number", - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "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`." - }, - "sizemin": { - "valType": "number", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "calc", - "description": "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": { - "valType": "enumerated", - "values": [ - "diameter", - "area" - ], - "dflt": "diameter", - "role": "info", - "editType": "calc", - "description": "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." - }, - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets the marker opacity." - }, - "line": { - "color": { - "valType": "color", - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets themarker.linecolor. 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." - }, - "cauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "cmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "description": "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." - }, - "cmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "calc", - "description": "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." - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "width": { - "valType": "number", - "min": 0, - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets the width (in px) of the lines bounding the marker points." - }, - "editType": "calc", - "role": "object", - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - }, - "widthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for width .", - "editType": "none" - } - }, - "editType": "calc", - "role": "object", - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - }, - "symbolsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for symbol .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "opacitysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for opacity .", - "editType": "none" - } - }, - "connectgaps": { - "valType": "boolean", - "dflt": false, - "role": "info", - "editType": "calc", - "description": "Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected." - }, - "fill": { - "valType": "enumerated", - "values": [ - "none", - "tozeroy", - "tozerox", - "tonexty", - "tonextx", - "toself", - "tonext" - ], - "role": "style", - "editType": "calc", - "description": "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.", - "dflt": "none" - }, - "fillcolor": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available." - }, - "selected": { - "marker": { - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "role": "style", - "editType": "calc", - "description": "Sets the marker opacity of selected points." - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the marker color of selected points." - }, - "size": { - "valType": "number", - "min": 0, - "role": "style", - "editType": "calc", - "description": "Sets the marker size of selected points." - }, - "editType": "calc", - "role": "object" - }, - "textfont": { - "color": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the text font color of selected points." - }, - "editType": "calc", - "role": "object" - }, - "editType": "calc", - "role": "object" - }, - "unselected": { - "marker": { - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "role": "style", - "editType": "calc", - "description": "Sets the marker opacity of unselected points, applied only when a selection exists." - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the marker color of unselected points, applied only when a selection exists." - }, - "size": { - "valType": "number", - "min": 0, - "role": "style", - "editType": "calc", - "description": "Sets the marker size of unselected points, applied only when a selection exists." - }, - "editType": "calc", - "role": "object" - }, - "textfont": { - "color": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the text font color of unselected points, applied only when a selection exists." - }, - "editType": "calc", - "role": "object" - }, - "editType": "calc", - "role": "object" - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "editType": "calc", - "description": "Sets the opacity of the trace." - }, - "hovertemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "none", - "description": "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}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "arrayOk": true - }, - "texttemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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-3.x-api-reference/blob/master/Formatting.md#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#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. ", - "arrayOk": true - }, - "error_x": { - "visible": { - "valType": "boolean", - "role": "info", - "editType": "calc", - "description": "Determines whether or not this set of error bars is visible." - }, - "type": { - "valType": "enumerated", - "values": [ - "percent", - "constant", - "sqrt", - "data" - ], - "role": "info", - "editType": "calc", - "description": "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`." - }, - "symmetric": { - "valType": "boolean", - "role": "info", - "editType": "calc", - "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars." - }, - "array": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", - "role": "data" - }, - "arrayminus": { - "valType": "data_array", - "editType": "calc", - "description": "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.", - "role": "data" - }, - "value": { - "valType": "number", - "min": 0, - "dflt": 10, - "role": "info", - "editType": "calc", - "description": "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": { - "valType": "number", - "min": 0, - "dflt": 10, - "role": "info", - "editType": "calc", - "description": "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" - }, - "traceref": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "calc" - }, - "tracerefminus": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "calc" - }, - "copy_ystyle": { - "valType": "boolean", - "role": "style", - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the stoke color of the error bars." - }, - "thickness": { - "valType": "number", - "min": 0, - "dflt": 2, - "role": "style", - "editType": "calc", - "description": "Sets the thickness (in px) of the error bars." - }, - "width": { - "valType": "number", - "min": 0, - "role": "style", - "editType": "calc", - "description": "Sets the width (in px) of the cross-bar at both ends of the error bars." - }, - "editType": "calc", - "_deprecated": { - "opacity": { - "valType": "number", - "role": "style", - "editType": "calc", - "description": "Obsolete. Use the alpha channel in error bar `color` to set the opacity." - } - }, - "role": "object", - "arraysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for array .", - "editType": "none" - }, - "arrayminussrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for arrayminus .", - "editType": "none" - } - }, - "error_y": { - "visible": { - "valType": "boolean", - "role": "info", - "editType": "calc", - "description": "Determines whether or not this set of error bars is visible." - }, - "type": { - "valType": "enumerated", - "values": [ - "percent", - "constant", - "sqrt", - "data" - ], - "role": "info", - "editType": "calc", - "description": "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`." - }, - "symmetric": { - "valType": "boolean", - "role": "info", - "editType": "calc", - "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars." - }, - "array": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", - "role": "data" - }, - "arrayminus": { - "valType": "data_array", - "editType": "calc", - "description": "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.", - "role": "data" - }, - "value": { - "valType": "number", - "min": 0, - "dflt": 10, - "role": "info", - "editType": "calc", - "description": "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": { - "valType": "number", - "min": 0, - "dflt": 10, - "role": "info", - "editType": "calc", - "description": "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" - }, - "traceref": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "calc" - }, - "tracerefminus": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the stoke color of the error bars." - }, - "thickness": { - "valType": "number", - "min": 0, - "dflt": 2, - "role": "style", - "editType": "calc", - "description": "Sets the thickness (in px) of the error bars." - }, - "width": { - "valType": "number", - "min": 0, - "role": "style", - "editType": "calc", - "description": "Sets the width (in px) of the cross-bar at both ends of the error bars." - }, - "editType": "calc", - "_deprecated": { - "opacity": { - "valType": "number", - "role": "style", - "editType": "calc", - "description": "Obsolete. Use the alpha channel in error bar `color` to set the opacity." - } - }, - "role": "object", - "arraysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for array .", - "editType": "none" - }, - "arrayminussrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for arrayminus .", - "editType": "none" - } - }, - "xcalendar": { - "valType": "enumerated", - "values": [ - "gregorian", - "chinese", - "coptic", - "discworld", - "ethiopian", - "hebrew", - "islamic", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "jalali", - "taiwan", - "thai", - "ummalqura" - ], - "role": "info", - "editType": "calc", - "dflt": "gregorian", - "description": "Sets the calendar system to use with `x` date data." - }, - "ycalendar": { - "valType": "enumerated", - "values": [ - "gregorian", - "chinese", - "coptic", - "discworld", - "ethiopian", - "hebrew", - "islamic", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "jalali", - "taiwan", - "thai", - "ummalqura" - ], - "role": "info", - "editType": "calc", - "dflt": "gregorian", - "description": "Sets the calendar system to use with `y` date data." - }, - "xaxis": { - "valType": "subplotid", - "role": "info", - "dflt": "x", - "editType": "calc+clearAxisTypes", - "description": "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": { - "valType": "subplotid", - "role": "info", - "dflt": "y", - "editType": "calc+clearAxisTypes", - "description": "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." - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - }, - "xsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for x .", - "editType": "none" - }, - "ysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for y .", - "editType": "none" - }, - "textsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for text .", - "editType": "none" - }, - "hovertextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertext .", - "editType": "none" - }, - "textpositionsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for textposition .", - "editType": "none" - }, - "hovertemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertemplate .", - "editType": "none" - }, - "texttemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for texttemplate .", - "editType": "none" - } - } - }, - "splom": { - "meta": { - "description": "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. " - }, - "categories": [ - "gl", - "regl", - "cartesian", - "symbols", - "showLegend", - "scatter-like" - ], - "animatable": false, - "type": "splom", - "attributes": { - "type": "splom", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "showlegend": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "style", - "description": "Determines whether or not an item corresponding to this trace is shown in the legend." - }, - "legendgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "style", - "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "selectedpoints": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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." - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "x", - "y", - "z", - "text", - "name" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "all", - "editType": "none", - "description": "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": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "transforms": { - "items": { - "transform": { - "editType": "calc", - "description": "An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", - "role": "object" - } - }, - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "dimensions": { - "items": { - "dimension": { - "visible": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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." - }, - "label": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "Sets the label corresponding to this splom dimension." - }, - "values": { - "valType": "data_array", - "role": "data", - "editType": "calc+clearAxisTypes", - "description": "Sets the dimension values to be plotted." - }, - "axis": { - "type": { - "valType": "enumerated", - "values": [ - "linear", - "log", - "date", - "category" - ], - "role": "info", - "editType": "calc+clearAxisTypes", - "description": "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." - }, - "matches": { - "valType": "boolean", - "dflt": false, - "role": "info", - "editType": "calc", - "description": "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." - }, - "editType": "calc+clearAxisTypes", - "role": "object" - }, - "editType": "calc+clearAxisTypes", - "name": { - "valType": "string", - "role": "style", - "editType": "none", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object", - "valuessrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for values .", - "editType": "none" - } - } - }, - "role": "object" - }, - "text": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "calc", - "description": "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." - }, - "hovertext": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "calc", - "description": "Same as `text`." - }, - "hovertemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "none", - "description": "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}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "arrayOk": true - }, - "marker": { - "color": { - "valType": "color", - "arrayOk": true, - "role": "style", - "editType": "style", - "description": "Sets themarkercolor. 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." - }, - "cauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "cmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "style", - "impliedEdits": { - "cauto": false - }, - "description": "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." - }, - "cmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "style", - "impliedEdits": { - "cauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "plot", - "description": "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": { - "valType": "boolean", - "role": "info", - "dflt": false, - "editType": "calc", - "description": "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." - }, - "colorbar": { - "thicknessmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "style", - "dflt": "pixels", - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "editType": "colorbars" - }, - "thickness": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 30, - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "editType": "colorbars" - }, - "lenmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "info", - "dflt": "fraction", - "description": "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.", - "editType": "colorbars" - }, - "len": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "description": "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.", - "editType": "colorbars" - }, - "x": { - "valType": "number", - "dflt": 1.02, - "min": -2, - "max": 3, - "role": "style", - "description": "Sets the x position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "left", - "role": "style", - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", - "editType": "colorbars" - }, - "xpad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the x direction.", - "editType": "colorbars" - }, - "y": { - "valType": "number", - "role": "style", - "dflt": 0.5, - "min": -2, - "max": 3, - "description": "Sets the y position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ], - "role": "style", - "dflt": "middle", - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", - "editType": "colorbars" - }, - "ypad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the y direction.", - "editType": "colorbars" - }, - "outlinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "outlinewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the width (in px) of the axis line." - }, - "bordercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "borderwidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 0, - "description": "Sets the width (in px) or the border enclosing this color bar.", - "editType": "colorbars" - }, - "bgcolor": { - "valType": "color", - "role": "style", - "dflt": "rgba(0,0,0,0)", - "description": "Sets the color of padded area.", - "editType": "colorbars" - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "colorbars", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "colorbars", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "colorbars", - "description": "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.", - "dflt": "" - }, - "ticklabelposition": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside bottom", - "inside bottom" - ], - "dflt": "outside", - "role": "info", - "description": "Determines where tick labels are drawn.", - "editType": "colorbars" - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "colorbars", - "description": "Determines whether or not the tick labels are drawn." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets the color bar's tick label font", - "editType": "colorbars", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "colorbars", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "colorbars", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "colorbars" - }, - { - "valType": "any", - "editType": "colorbars" - } - ], - "editType": "colorbars", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "colorbars", - "name": { - "valType": "string", - "role": "style", - "editType": "colorbars", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "colorbars", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "colorbars", - "description": "If \"true\", even 4-digit integers are separated" - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "colorbars", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", - "editType": "colorbars" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "editType": "colorbars", - "role": "object" - }, - "side": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.", - "editType": "colorbars" - }, - "editType": "colorbars", - "role": "object" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars" - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars" - }, - "titleside": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Deprecated in favor of color bar's `title.side`.", - "editType": "colorbars" - } - }, - "editType": "colorbars", - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "symbol": { - "valType": "enumerated", - "values": [ - 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" - ], - "dflt": "circle", - "arrayOk": true, - "role": "style", - "editType": "style", - "description": "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." - }, - "size": { - "valType": "number", - "min": 0, - "dflt": 6, - "arrayOk": true, - "role": "style", - "editType": "markerSize", - "description": "Sets the marker size (in px)." - }, - "sizeref": { - "valType": "number", - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "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`." - }, - "sizemin": { - "valType": "number", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "calc", - "description": "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": { - "valType": "enumerated", - "values": [ - "diameter", - "area" - ], - "dflt": "diameter", - "role": "info", - "editType": "calc", - "description": "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." - }, - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "arrayOk": true, - "role": "style", - "editType": "style", - "description": "Sets the marker opacity." - }, - "line": { - "color": { - "valType": "color", - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets themarker.linecolor. 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." - }, - "cauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "cmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "description": "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." - }, - "cmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "plot", - "description": "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." - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "width": { - "valType": "number", - "min": 0, - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets the width (in px) of the lines bounding the marker points." - }, - "editType": "calc", - "role": "object", - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - }, - "widthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for width .", - "editType": "none" - } - }, - "editType": "calc", - "role": "object", - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - }, - "symbolsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for symbol .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "opacitysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for opacity .", - "editType": "none" - } - }, - "xaxes": { - "valType": "info_array", - "freeLength": true, - "role": "info", - "editType": "calc", - "items": { - "valType": "subplotid", - "regex": "/^x([2-9]|[1-9][0-9]+)?( domain)?$/", - "editType": "plot" - }, - "description": "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." - }, - "yaxes": { - "valType": "info_array", - "freeLength": true, - "role": "info", - "editType": "calc", - "items": { - "valType": "subplotid", - "regex": "/^y([2-9]|[1-9][0-9]+)?( domain)?$/", - "editType": "plot" - }, - "description": "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." - }, - "diagonal": { - "visible": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "description": "Determines whether or not subplots on the diagonal are displayed." - }, - "editType": "calc", - "role": "object" - }, - "showupperhalf": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "description": "Determines whether or not subplots on the upper half from the diagonal are displayed." - }, - "showlowerhalf": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "description": "Determines whether or not subplots on the lower half from the diagonal are displayed." - }, - "selected": { - "marker": { - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "role": "style", - "editType": "calc", - "description": "Sets the marker opacity of selected points." - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the marker color of selected points." - }, - "size": { - "valType": "number", - "min": 0, - "role": "style", - "editType": "calc", - "description": "Sets the marker size of selected points." - }, - "editType": "calc", - "role": "object" - }, - "editType": "calc", - "role": "object" - }, - "unselected": { - "marker": { - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "role": "style", - "editType": "calc", - "description": "Sets the marker opacity of unselected points, applied only when a selection exists." - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the marker color of unselected points, applied only when a selection exists." - }, - "size": { - "valType": "number", - "min": 0, - "role": "style", - "editType": "calc", - "description": "Sets the marker size of unselected points, applied only when a selection exists." - }, - "editType": "calc", - "role": "object" - }, - "editType": "calc", - "role": "object" - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "editType": "calc", - "description": "Sets the opacity of the trace." - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - }, - "textsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for text .", - "editType": "none" - }, - "hovertextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertext .", - "editType": "none" - }, - "hovertemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertemplate .", - "editType": "none" - } - } - }, - "pointcloud": { - "meta": { - "description": "The data visualized as a point cloud set in `x` and `y` using the WebGl plotting engine." - }, - "categories": [ - "gl", - "gl2d", - "showLegend" - ], - "animatable": false, - "type": "pointcloud", - "attributes": { - "type": "pointcloud", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "showlegend": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "style", - "description": "Determines whether or not an item corresponding to this trace is shown in the legend." - }, - "legendgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "style", - "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items." - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "editType": "style", - "description": "Sets the opacity of the trace." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "x", - "y", - "z", - "text", - "name" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "all", - "editType": "none", - "description": "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": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "x": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "description": "Sets the x coordinates.", - "role": "data" - }, - "y": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "description": "Sets the y coordinates.", - "role": "data" - }, - "xy": { - "valType": "data_array", - "editType": "calc", - "description": "Faster alternative to specifying `x` and `y` separately. If supplied, it must be a typed `Float32Array` array that represents points such that `xy[i * 2] = x[i]` and `xy[i * 2 + 1] = y[i]`", - "role": "data" - }, - "indices": { - "valType": "data_array", - "editType": "calc", - "description": "A sequential value, 0..n, supply it to avoid creating this array inside plotting. If specified, it must be a typed `Int32Array` array. Its length must be equal to or greater than the number of points. For the best performance and memory use, create one large `indices` typed array that is guaranteed to be at least as long as the largest number of points during use, and reuse it on each `Plotly.restyle()` call.", - "role": "data" - }, - "xbounds": { - "valType": "data_array", - "editType": "calc", - "description": "Specify `xbounds` in the shape of `[xMin, xMax] to avoid looping through the `xy` typed array. Use it in conjunction with `xy` and `ybounds` for the performance benefits.", - "role": "data" - }, - "ybounds": { - "valType": "data_array", - "editType": "calc", - "description": "Specify `ybounds` in the shape of `[yMin, yMax] to avoid looping through the `xy` typed array. Use it in conjunction with `xy` and `xbounds` for the performance benefits.", - "role": "data" - }, - "text": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "calc", - "description": "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." - }, - "marker": { - "color": { - "valType": "color", - "arrayOk": false, - "role": "style", - "editType": "calc", - "description": "Sets the marker fill color. It accepts a specific color.If the color is not fully opaque and there are hundreds of thousandsof points, it may cause slower zooming and panning." - }, - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "dflt": 1, - "arrayOk": false, - "role": "style", - "editType": "calc", - "description": "Sets the marker opacity. The default value is `1` (fully opaque). If the markers are not fully opaque and there are hundreds of thousands of points, it may cause slower zooming and panning. Opacity fades the color even if `blend` is left on `false` even if there is no translucency effect in that case." - }, - "blend": { - "valType": "boolean", - "dflt": null, - "role": "style", - "editType": "calc", - "description": "Determines if colors are blended together for a translucency effect in case `opacity` is specified as a value less then `1`. Setting `blend` to `true` reduces zoom/pan speed if used with large numbers of points." - }, - "sizemin": { - "valType": "number", - "min": 0.1, - "max": 2, - "dflt": 0.5, - "role": "style", - "editType": "calc", - "description": "Sets the minimum size (in px) of the rendered marker points, effective when the `pointcloud` shows a million or more points." - }, - "sizemax": { - "valType": "number", - "min": 0.1, - "dflt": 20, - "role": "style", - "editType": "calc", - "description": "Sets the maximum size (in px) of the rendered marker points. Effective when the `pointcloud` shows only few points." - }, - "border": { - "color": { - "valType": "color", - "arrayOk": false, - "role": "style", - "editType": "calc", - "description": "Sets the stroke color. It accepts a specific color. If the color is not fully opaque and there are hundreds of thousands of points, it may cause slower zooming and panning." - }, - "arearatio": { - "valType": "number", - "min": 0, - "max": 1, - "dflt": 0, - "role": "style", - "editType": "calc", - "description": "Specifies what fraction of the marker area is covered with the border." - }, - "editType": "calc", - "role": "object" - }, - "editType": "calc", - "role": "object" - }, - "xaxis": { - "valType": "subplotid", - "role": "info", - "dflt": "x", - "editType": "calc+clearAxisTypes", - "description": "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": { - "valType": "subplotid", - "role": "info", - "dflt": "y", - "editType": "calc+clearAxisTypes", - "description": "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." - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - }, - "xsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for x .", - "editType": "none" - }, - "ysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for y .", - "editType": "none" - }, - "xysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for xy .", - "editType": "none" - }, - "indicessrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for indices .", - "editType": "none" - }, - "xboundssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for xbounds .", - "editType": "none" - }, - "yboundssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ybounds .", - "editType": "none" - }, - "textsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for text .", - "editType": "none" - } - } - }, - "heatmapgl": { - "meta": { - "description": "WebGL version of the heatmap trace type." - }, - "categories": [ - "gl", - "gl2d", - "2dMap" - ], - "animatable": false, - "type": "heatmapgl", - "attributes": { - "type": "heatmapgl", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "editType": "style", - "description": "Sets the opacity of the trace." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "x", - "y", - "z", - "text", - "name" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "all", - "editType": "none", - "description": "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": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "transforms": { - "items": { - "transform": { - "editType": "calc", - "description": "An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", - "role": "object" - } - }, - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "z": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the z data.", - "role": "data" - }, - "x": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the x coordinates.", - "impliedEdits": { - "xtype": "array" - }, - "role": "data" - }, - "x0": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.", - "impliedEdits": { - "xtype": "scaled" - } - }, - "dx": { - "valType": "number", - "dflt": 1, - "role": "info", - "editType": "calc", - "description": "Sets the x coordinate step. See `x0` for more info.", - "impliedEdits": { - "xtype": "scaled" - } - }, - "y": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the y coordinates.", - "impliedEdits": { - "ytype": "array" - }, - "role": "data" - }, - "y0": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.", - "impliedEdits": { - "ytype": "scaled" - } - }, - "dy": { - "valType": "number", - "dflt": 1, - "role": "info", - "editType": "calc", - "description": "Sets the y coordinate step. See `y0` for more info.", - "impliedEdits": { - "ytype": "scaled" - } - }, - "text": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the text elements associated with each z value.", - "role": "data" - }, - "transpose": { - "valType": "boolean", - "dflt": false, - "role": "info", - "editType": "calc", - "description": "Transposes the z data." - }, - "xtype": { - "valType": "enumerated", - "values": [ - "array", - "scaled" - ], - "role": "info", - "editType": "calc", - "description": "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)." - }, - "ytype": { - "valType": "enumerated", - "values": [ - "array", - "scaled" - ], - "role": "info", - "editType": "calc", - "description": "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)" - }, - "zsmooth": { - "valType": "enumerated", - "values": [ - "fast", - false - ], - "dflt": "fast", - "role": "style", - "editType": "calc", - "description": "Picks a smoothing algorithm use to smooth `z` data." - }, - "zauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "zmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "zauto": false - }, - "description": "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." - }, - "zmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "zauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "calc", - "impliedEdits": {}, - "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "calc", - "description": "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." - }, - "showscale": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "description": "Determines whether or not a colorbar is displayed for this trace." - }, - "colorbar": { - "thicknessmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "style", - "dflt": "pixels", - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "editType": "calc" - }, - "thickness": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 30, - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "editType": "calc" - }, - "lenmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "info", - "dflt": "fraction", - "description": "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.", - "editType": "calc" - }, - "len": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "description": "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.", - "editType": "calc" - }, - "x": { - "valType": "number", - "dflt": 1.02, - "min": -2, - "max": 3, - "role": "style", - "description": "Sets the x position of the color bar (in plot fraction).", - "editType": "calc" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "left", - "role": "style", - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", - "editType": "calc" - }, - "xpad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the x direction.", - "editType": "calc" - }, - "y": { - "valType": "number", - "role": "style", - "dflt": 0.5, - "min": -2, - "max": 3, - "description": "Sets the y position of the color bar (in plot fraction).", - "editType": "calc" - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ], - "role": "style", - "dflt": "middle", - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", - "editType": "calc" - }, - "ypad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the y direction.", - "editType": "calc" - }, - "outlinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "calc", - "description": "Sets the axis line color." - }, - "outlinewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "Sets the width (in px) of the axis line." - }, - "bordercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "calc", - "description": "Sets the axis line color." - }, - "borderwidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 0, - "description": "Sets the width (in px) or the border enclosing this color bar.", - "editType": "calc" - }, - "bgcolor": { - "valType": "color", - "role": "style", - "dflt": "rgba(0,0,0,0)", - "description": "Sets the color of padded area.", - "editType": "calc" - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "calc", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "calc", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "calc", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "calc", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "calc", - "description": "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.", - "dflt": "" - }, - "ticklabelposition": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside bottom", - "inside bottom" - ], - "dflt": "outside", - "role": "info", - "description": "Determines where tick labels are drawn.", - "editType": "calc" - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "calc", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "calc", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "calc", - "description": "Determines whether or not the tick labels are drawn." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "description": "Sets the color bar's tick label font", - "editType": "calc", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "calc", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "calc" - }, - { - "valType": "any", - "editType": "calc" - } - ], - "editType": "calc", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "calc", - "name": { - "valType": "string", - "role": "style", - "editType": "calc", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "calc", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "calc", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "calc", - "description": "If \"true\", even 4-digit integers are separated" - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "calc", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "calc", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "calc", - "description": "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." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", - "editType": "calc" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "editType": "calc", - "role": "object" - }, - "side": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "calc" - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "calc" - }, - "titleside": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Deprecated in favor of color bar's `title.side`.", - "editType": "calc" - } - }, - "editType": "calc", - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "xaxis": { - "valType": "subplotid", - "role": "info", - "dflt": "x", - "editType": "calc+clearAxisTypes", - "description": "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": { - "valType": "subplotid", - "role": "info", - "dflt": "y", - "editType": "calc+clearAxisTypes", - "description": "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." - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - }, - "zsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for z .", - "editType": "none" - }, - "xsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for x .", - "editType": "none" - }, - "ysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for y .", - "editType": "none" - }, - "textsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for text .", - "editType": "none" - } - } - }, - "parcoords": { - "meta": { - "description": "Parallel coordinates for multidimensional exploratory data analysis. The samples are specified in `dimensions`. The colors are set in `line.color`." - }, - "categories": [ - "gl", - "regl", - "noOpacity", - "noHover" - ], - "animatable": false, - "type": "parcoords", - "attributes": { - "type": "parcoords", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "transforms": { - "items": { - "transform": { - "editType": "calc", - "description": "An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", - "role": "object" - } - }, - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "domain": { - "x": { - "valType": "info_array", - "role": "info", - "editType": "plot", - "items": [ - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "plot" - }, - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "plot" - } - ], - "dflt": [ - 0, - 1 - ], - "description": "Sets the horizontal domain of this parcoords trace (in plot fraction)." - }, - "y": { - "valType": "info_array", - "role": "info", - "editType": "plot", - "items": [ - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "plot" - }, - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "plot" - } - ], - "dflt": [ - 0, - 1 - ], - "description": "Sets the vertical domain of this parcoords trace (in plot fraction)." - }, - "editType": "plot", - "row": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "plot", - "description": "If there is a layout grid, use the domain for this row in the grid for this parcoords trace ." - }, - "column": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "plot", - "description": "If there is a layout grid, use the domain for this column in the grid for this parcoords trace ." - }, - "role": "object" - }, - "labelangle": { - "valType": "angle", - "dflt": 0, - "role": "info", - "editType": "plot", - "description": "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*." - }, - "labelside": { - "valType": "enumerated", - "role": "info", - "values": [ - "top", - "bottom" - ], - "dflt": "top", - "editType": "plot", - "description": "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*." - }, - "labelfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot" - }, - "editType": "plot", - "description": "Sets the font for the `dimension` labels.", - "role": "object" - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot" - }, - "editType": "plot", - "description": "Sets the font for the `dimension` tick values.", - "role": "object" - }, - "rangefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot" - }, - "editType": "plot", - "description": "Sets the font for the `dimension` range values.", - "role": "object" - }, - "dimensions": { - "items": { - "dimension": { - "label": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "The shown name of the dimension." - }, - "tickvals": { - "valType": "data_array", - "editType": "plot", - "description": "Sets the values at which ticks on this axis appear.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "plot", - "description": "Sets the text displayed at the ticks position via `tickvals`.", - "role": "data" - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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*" - }, - "visible": { - "valType": "boolean", - "dflt": true, - "role": "info", - "editType": "plot", - "description": "Shows the dimension when set to `true` (the default). Hides the dimension for `false`." - }, - "range": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "number", - "editType": "plot" - }, - { - "valType": "number", - "editType": "plot" - } - ], - "editType": "plot", - "description": "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." - }, - "constraintrange": { - "valType": "info_array", - "role": "info", - "freeLength": true, - "dimensions": "1-2", - "items": [ - { - "valType": "number", - "editType": "plot" - }, - { - "valType": "number", - "editType": "plot" - } - ], - "editType": "plot", - "description": "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]`." - }, - "multiselect": { - "valType": "boolean", - "dflt": true, - "role": "info", - "editType": "plot", - "description": "Do we allow multiple selection ranges or just a single range?" - }, - "values": { - "valType": "data_array", - "role": "data", - "editType": "calc", - "description": "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." - }, - "editType": "calc", - "description": "The dimensions (variables) of the parallel coordinates chart. 2..60 dimensions are supported.", - "name": { - "valType": "string", - "role": "style", - "editType": "none", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - }, - "valuessrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for values .", - "editType": "none" - } - } - }, - "role": "object" - }, - "line": { - "editType": "calc", - "color": { - "valType": "color", - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets thelinecolor. 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." - }, - "cauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "cmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "description": "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." - }, - "cmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": [ - [ - 0, - "#440154" - ], - [ - 0.06274509803921569, - "#48186a" - ], - [ - 0.12549019607843137, - "#472d7b" - ], - [ - 0.18823529411764706, - "#424086" - ], - [ - 0.25098039215686274, - "#3b528b" - ], - [ - 0.3137254901960784, - "#33638d" - ], - [ - 0.3764705882352941, - "#2c728e" - ], - [ - 0.4392156862745098, - "#26828e" - ], - [ - 0.5019607843137255, - "#21918c" - ], - [ - 0.5647058823529412, - "#1fa088" - ], - [ - 0.6274509803921569, - "#28ae80" - ], - [ - 0.6901960784313725, - "#3fbc73" - ], - [ - 0.7529411764705882, - "#5ec962" - ], - [ - 0.8156862745098039, - "#84d44b" - ], - [ - 0.8784313725490196, - "#addc30" - ], - [ - 0.9411764705882353, - "#d8e219" - ], - [ - 1, - "#fde725" - ] - ], - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "plot", - "description": "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": { - "valType": "boolean", - "role": "info", - "dflt": false, - "editType": "calc", - "description": "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." - }, - "colorbar": { - "thicknessmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "style", - "dflt": "pixels", - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "editType": "colorbars" - }, - "thickness": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 30, - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "editType": "colorbars" - }, - "lenmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "info", - "dflt": "fraction", - "description": "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.", - "editType": "colorbars" - }, - "len": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "description": "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.", - "editType": "colorbars" - }, - "x": { - "valType": "number", - "dflt": 1.02, - "min": -2, - "max": 3, - "role": "style", - "description": "Sets the x position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "left", - "role": "style", - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", - "editType": "colorbars" - }, - "xpad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the x direction.", - "editType": "colorbars" - }, - "y": { - "valType": "number", - "role": "style", - "dflt": 0.5, - "min": -2, - "max": 3, - "description": "Sets the y position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ], - "role": "style", - "dflt": "middle", - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", - "editType": "colorbars" - }, - "ypad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the y direction.", - "editType": "colorbars" - }, - "outlinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "outlinewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the width (in px) of the axis line." - }, - "bordercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "borderwidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 0, - "description": "Sets the width (in px) or the border enclosing this color bar.", - "editType": "colorbars" - }, - "bgcolor": { - "valType": "color", - "role": "style", - "dflt": "rgba(0,0,0,0)", - "description": "Sets the color of padded area.", - "editType": "colorbars" - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "colorbars", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "colorbars", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "colorbars", - "description": "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.", - "dflt": "" - }, - "ticklabelposition": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside bottom", - "inside bottom" - ], - "dflt": "outside", - "role": "info", - "description": "Determines where tick labels are drawn.", - "editType": "colorbars" - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "colorbars", - "description": "Determines whether or not the tick labels are drawn." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets the color bar's tick label font", - "editType": "colorbars", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "colorbars", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "colorbars", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "colorbars" - }, - { - "valType": "any", - "editType": "colorbars" - } - ], - "editType": "colorbars", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "colorbars", - "name": { - "valType": "string", - "role": "style", - "editType": "colorbars", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "colorbars", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "colorbars", - "description": "If \"true\", even 4-digit integers are separated" - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "colorbars", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", - "editType": "colorbars" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "editType": "colorbars", - "role": "object" - }, - "side": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.", - "editType": "colorbars" - }, - "editType": "colorbars", - "role": "object" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars" - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars" - }, - "titleside": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Deprecated in favor of color bar's `title.side`.", - "editType": "colorbars" - } - }, - "editType": "colorbars", - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "role": "object", - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - } - } - }, - "parcats": { - "meta": { - "description": "Parallel categories diagram for multidimensional categorical data." - }, - "categories": [ - "noOpacity" - ], - "animatable": false, - "type": "parcats", - "attributes": { - "type": "parcats", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "transforms": { - "items": { - "transform": { - "editType": "calc", - "description": "An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", - "role": "object" - } - }, - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "domain": { - "x": { - "valType": "info_array", - "role": "info", - "editType": "calc", - "items": [ - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "calc" - }, - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "calc" - } - ], - "dflt": [ - 0, - 1 - ], - "description": "Sets the horizontal domain of this parcats trace (in plot fraction)." - }, - "y": { - "valType": "info_array", - "role": "info", - "editType": "calc", - "items": [ - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "calc" - }, - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "calc" - } - ], - "dflt": [ - 0, - 1 - ], - "description": "Sets the vertical domain of this parcats trace (in plot fraction)." - }, - "editType": "calc", - "row": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "If there is a layout grid, use the domain for this row in the grid for this parcats trace ." - }, - "column": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "If there is a layout grid, use the domain for this column in the grid for this parcats trace ." - }, - "role": "object" - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "count", - "probability" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": false, - "dflt": "all", - "editType": "plot", - "description": "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": { - "valType": "enumerated", - "values": [ - "category", - "color", - "dimension" - ], - "dflt": "category", - "role": "info", - "editType": "plot", - "description": "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": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "plot", - "description": "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}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `count`, `probability`, `category`, `categorycount`, `colorcount` and `bandcolorcount`. Anything contained in tag `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``." - }, - "arrangement": { - "valType": "enumerated", - "values": [ - "perpendicular", - "freeform", - "fixed" - ], - "dflt": "perpendicular", - "role": "style", - "editType": "plot", - "description": "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": { - "valType": "boolean", - "dflt": true, - "role": "info", - "editType": "plot", - "description": "Sort paths so that like colors are bundled together within each category." - }, - "sortpaths": { - "valType": "enumerated", - "values": [ - "forward", - "backward" - ], - "dflt": "forward", - "role": "info", - "editType": "plot", - "description": "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." - }, - "labelfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "calc", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "editType": "calc", - "description": "Sets the font for the `dimension` labels.", - "role": "object" - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "calc", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "editType": "calc", - "description": "Sets the font for the `category` labels.", - "role": "object" - }, - "dimensions": { - "items": { - "dimension": { - "label": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "The shown name of the dimension." - }, - "categoryorder": { - "valType": "enumerated", - "values": [ - "trace", - "category ascending", - "category descending", - "array" - ], - "dflt": "trace", - "role": "info", - "editType": "calc", - "description": "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`." - }, - "categoryarray": { - "valType": "data_array", - "role": "data", - "editType": "calc", - "description": "Sets the order in which categories in this dimension appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`." - }, - "ticktext": { - "valType": "data_array", - "role": "data", - "editType": "calc", - "description": "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": { - "valType": "data_array", - "role": "data", - "dflt": [], - "editType": "calc", - "description": "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)." - }, - "displayindex": { - "valType": "integer", - "role": "info", - "editType": "calc", - "description": "The display index of dimension, from left to right, zero indexed, defaults to dimension index." - }, - "editType": "calc", - "description": "The dimensions (variables) of the parallel categories diagram.", - "visible": { - "valType": "boolean", - "dflt": true, - "role": "info", - "editType": "calc", - "description": "Shows the dimension when set to `true` (the default). Hides the dimension for `false`." - }, - "role": "object", - "categoryarraysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for categoryarray .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - }, - "valuessrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for values .", - "editType": "none" - } - } - }, - "role": "object" - }, - "line": { - "editType": "calc", - "color": { - "valType": "color", - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets thelinecolor. 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." - }, - "cauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "cmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "description": "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." - }, - "cmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "plot", - "description": "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": { - "valType": "boolean", - "role": "info", - "dflt": false, - "editType": "calc", - "description": "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." - }, - "colorbar": { - "thicknessmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "style", - "dflt": "pixels", - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "editType": "colorbars" - }, - "thickness": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 30, - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "editType": "colorbars" - }, - "lenmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "info", - "dflt": "fraction", - "description": "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.", - "editType": "colorbars" - }, - "len": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "description": "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.", - "editType": "colorbars" - }, - "x": { - "valType": "number", - "dflt": 1.02, - "min": -2, - "max": 3, - "role": "style", - "description": "Sets the x position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "left", - "role": "style", - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", - "editType": "colorbars" - }, - "xpad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the x direction.", - "editType": "colorbars" - }, - "y": { - "valType": "number", - "role": "style", - "dflt": 0.5, - "min": -2, - "max": 3, - "description": "Sets the y position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ], - "role": "style", - "dflt": "middle", - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", - "editType": "colorbars" - }, - "ypad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the y direction.", - "editType": "colorbars" - }, - "outlinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "outlinewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the width (in px) of the axis line." - }, - "bordercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "borderwidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 0, - "description": "Sets the width (in px) or the border enclosing this color bar.", - "editType": "colorbars" - }, - "bgcolor": { - "valType": "color", - "role": "style", - "dflt": "rgba(0,0,0,0)", - "description": "Sets the color of padded area.", - "editType": "colorbars" - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "colorbars", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "colorbars", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "colorbars", - "description": "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.", - "dflt": "" - }, - "ticklabelposition": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside bottom", - "inside bottom" - ], - "dflt": "outside", - "role": "info", - "description": "Determines where tick labels are drawn.", - "editType": "colorbars" - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "colorbars", - "description": "Determines whether or not the tick labels are drawn." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets the color bar's tick label font", - "editType": "colorbars", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "colorbars", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "colorbars", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "colorbars" - }, - { - "valType": "any", - "editType": "colorbars" - } - ], - "editType": "colorbars", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "colorbars", - "name": { - "valType": "string", - "role": "style", - "editType": "colorbars", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "colorbars", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "colorbars", - "description": "If \"true\", even 4-digit integers are separated" - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "colorbars", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", - "editType": "colorbars" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "editType": "colorbars", - "role": "object" - }, - "side": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.", - "editType": "colorbars" - }, - "editType": "colorbars", - "role": "object" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars" - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars" - }, - "titleside": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Deprecated in favor of color bar's `title.side`.", - "editType": "colorbars" - } - }, - "editType": "colorbars", - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "shape": { - "valType": "enumerated", - "values": [ - "linear", - "hspline" - ], - "dflt": "linear", - "role": "info", - "editType": "plot", - "description": "Sets the shape of the paths. If `linear`, paths are composed of straight lines. If `hspline`, paths are composed of horizontal curved splines" - }, - "hovertemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "plot", - "description": "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}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `count` and `probability`. Anything contained in tag `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``." - }, - "role": "object", - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "counts": { - "valType": "number", - "min": 0, - "dflt": 1, - "arrayOk": true, - "role": "info", - "editType": "calc", - "description": "The number of observations represented by each state. Defaults to 1 so that each state represents one observation" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "countssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for counts .", - "editType": "none" - } - } - }, - "scattermapbox": { - "meta": { - "hrName": "scatter_mapbox", - "description": "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`." - }, - "categories": [ - "mapbox", - "gl", - "symbols", - "showLegend", - "scatter-like" - ], - "animatable": false, - "type": "scattermapbox", - "attributes": { - "type": "scattermapbox", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "showlegend": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "style", - "description": "Determines whether or not an item corresponding to this trace is shown in the legend." - }, - "legendgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "style", - "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items." - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "editType": "style", - "description": "Sets the opacity of the trace." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "selectedpoints": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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." - }, - "hoverlabel": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "transforms": { - "items": { - "transform": { - "editType": "calc", - "description": "An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", - "role": "object" - } - }, - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "lon": { - "valType": "data_array", - "description": "Sets the longitude coordinates (in degrees East).", - "editType": "calc", - "role": "data" - }, - "lat": { - "valType": "data_array", - "description": "Sets the latitude coordinates (in degrees North).", - "editType": "calc", - "role": "data" - }, - "mode": { - "valType": "flaglist", - "flags": [ - "lines", - "markers", - "text" - ], - "extras": [ - "none" - ], - "role": "info", - "editType": "calc", - "description": "Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover.", - "dflt": "markers" - }, - "text": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "calc", - "description": "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." - }, - "texttemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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-3.x-api-reference/blob/master/Formatting.md#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#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. variables `lat`, `lon` and `text`.", - "arrayOk": true - }, - "hovertext": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "calc", - "description": "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." - }, - "line": { - "color": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the line color." - }, - "width": { - "valType": "number", - "min": 0, - "dflt": 2, - "role": "style", - "editType": "calc", - "description": "Sets the line width (in px)." - }, - "editType": "calc", - "role": "object" - }, - "connectgaps": { - "valType": "boolean", - "dflt": false, - "role": "info", - "editType": "calc", - "description": "Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected." - }, - "marker": { - "symbol": { - "valType": "string", - "dflt": "circle", - "role": "style", - "arrayOk": true, - "description": "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.", - "editType": "calc" - }, - "angle": { - "valType": "number", - "dflt": "auto", - "role": "style", - "arrayOk": true, - "description": "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.", - "editType": "calc" - }, - "allowoverlap": { - "valType": "boolean", - "dflt": false, - "role": "style", - "description": "Flag to draw all symbols, even if they overlap.", - "editType": "calc" - }, - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets the marker opacity." - }, - "size": { - "valType": "number", - "min": 0, - "dflt": 6, - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets the marker size (in px)." - }, - "sizeref": { - "valType": "number", - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "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`." - }, - "sizemin": { - "valType": "number", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "calc", - "description": "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": { - "valType": "enumerated", - "values": [ - "diameter", - "area" - ], - "dflt": "diameter", - "role": "info", - "editType": "calc", - "description": "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." - }, - "color": { - "valType": "color", - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets themarkercolor. 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." - }, - "cauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "cmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "description": "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." - }, - "cmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "calc", - "description": "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": { - "valType": "boolean", - "role": "info", - "dflt": false, - "editType": "calc", - "description": "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." - }, - "colorbar": { - "thicknessmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "style", - "dflt": "pixels", - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "editType": "calc" - }, - "thickness": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 30, - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "editType": "calc" - }, - "lenmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "info", - "dflt": "fraction", - "description": "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.", - "editType": "calc" - }, - "len": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "description": "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.", - "editType": "calc" - }, - "x": { - "valType": "number", - "dflt": 1.02, - "min": -2, - "max": 3, - "role": "style", - "description": "Sets the x position of the color bar (in plot fraction).", - "editType": "calc" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "left", - "role": "style", - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", - "editType": "calc" - }, - "xpad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the x direction.", - "editType": "calc" - }, - "y": { - "valType": "number", - "role": "style", - "dflt": 0.5, - "min": -2, - "max": 3, - "description": "Sets the y position of the color bar (in plot fraction).", - "editType": "calc" - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ], - "role": "style", - "dflt": "middle", - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", - "editType": "calc" - }, - "ypad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the y direction.", - "editType": "calc" - }, - "outlinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "calc", - "description": "Sets the axis line color." - }, - "outlinewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "Sets the width (in px) of the axis line." - }, - "bordercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "calc", - "description": "Sets the axis line color." - }, - "borderwidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 0, - "description": "Sets the width (in px) or the border enclosing this color bar.", - "editType": "calc" - }, - "bgcolor": { - "valType": "color", - "role": "style", - "dflt": "rgba(0,0,0,0)", - "description": "Sets the color of padded area.", - "editType": "calc" - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "calc", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "calc", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "calc", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "calc", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "calc", - "description": "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.", - "dflt": "" - }, - "ticklabelposition": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside bottom", - "inside bottom" - ], - "dflt": "outside", - "role": "info", - "description": "Determines where tick labels are drawn.", - "editType": "calc" - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "calc", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "calc", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "calc", - "description": "Determines whether or not the tick labels are drawn." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "description": "Sets the color bar's tick label font", - "editType": "calc", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "calc", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "calc" - }, - { - "valType": "any", - "editType": "calc" - } - ], - "editType": "calc", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "calc", - "name": { - "valType": "string", - "role": "style", - "editType": "calc", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "calc", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "calc", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "calc", - "description": "If \"true\", even 4-digit integers are separated" - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "calc", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "calc", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "calc", - "description": "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." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", - "editType": "calc" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "editType": "calc", - "role": "object" - }, - "side": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "calc" - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "calc" - }, - "titleside": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Deprecated in favor of color bar's `title.side`.", - "editType": "calc" - } - }, - "editType": "calc", - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "editType": "calc", - "role": "object", - "symbolsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for symbol .", - "editType": "none" - }, - "anglesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for angle .", - "editType": "none" - }, - "opacitysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for opacity .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "fill": { - "valType": "enumerated", - "values": [ - "none", - "toself" - ], - "dflt": "none", - "role": "style", - "description": "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.", - "editType": "calc" - }, - "fillcolor": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available." - }, - "textfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "dflt": "Open Sans Regular, Arial Unicode MS Regular", - "editType": "calc" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "description": "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*.", - "editType": "calc", - "role": "object" - }, - "textposition": { - "valType": "enumerated", - "values": [ - "top left", - "top center", - "top right", - "middle left", - "middle center", - "middle right", - "bottom left", - "bottom center", - "bottom right" - ], - "dflt": "middle center", - "arrayOk": false, - "role": "style", - "editType": "calc", - "description": "Sets the positions of the `text` elements with respects to the (x,y) coordinates." - }, - "below": { - "valType": "string", - "role": "info", - "description": "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 *''*.", - "editType": "calc" - }, - "selected": { - "marker": { - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "role": "style", - "editType": "calc", - "description": "Sets the marker opacity of selected points." - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the marker color of selected points." - }, - "size": { - "valType": "number", - "min": 0, - "role": "style", - "editType": "calc", - "description": "Sets the marker size of selected points." - }, - "editType": "calc", - "role": "object" - }, - "editType": "calc", - "role": "object" - }, - "unselected": { - "marker": { - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "role": "style", - "editType": "calc", - "description": "Sets the marker opacity of unselected points, applied only when a selection exists." - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the marker color of unselected points, applied only when a selection exists." - }, - "size": { - "valType": "number", - "min": 0, - "role": "style", - "editType": "calc", - "description": "Sets the marker size of unselected points, applied only when a selection exists." - }, - "editType": "calc", - "role": "object" - }, - "editType": "calc", - "role": "object" - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "lon", - "lat", - "text", - "name" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "all", - "editType": "calc", - "description": "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." - }, - "hovertemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "arrayOk": true - }, - "subplot": { - "valType": "subplotid", - "role": "info", - "dflt": "mapbox", - "editType": "calc", - "description": "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." - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "lonsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for lon .", - "editType": "none" - }, - "latsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for lat .", - "editType": "none" - }, - "textsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for text .", - "editType": "none" - }, - "texttemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for texttemplate .", - "editType": "none" - }, - "hovertextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertext .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - }, - "hovertemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertemplate .", - "editType": "none" - } - } - }, - "choroplethmapbox": { - "meta": { - "hr_name": "choropleth_mapbox", - "description": "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`." - }, - "categories": [ - "mapbox", - "gl", - "noOpacity", - "showLegend" - ], - "animatable": false, - "type": "choroplethmapbox", - "attributes": { - "type": "choroplethmapbox", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "legendgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "style", - "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "selectedpoints": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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." - }, - "hoverlabel": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "transforms": { - "items": { - "transform": { - "editType": "calc", - "description": "An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", - "role": "object" - } - }, - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "locations": { - "valType": "data_array", - "editType": "calc", - "description": "Sets which features found in *geojson* to plot using their feature `id` field.", - "role": "data" - }, - "z": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the color values.", - "role": "data" - }, - "geojson": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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*." - }, - "featureidkey": { - "valType": "string", - "role": "info", - "editType": "calc", - "dflt": "id", - "description": "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*." - }, - "below": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "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." - }, - "text": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "calc", - "description": "Sets the text elements associated with each location." - }, - "hovertext": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "calc", - "description": "Same as `text`." - }, - "marker": { - "line": { - "color": { - "valType": "color", - "arrayOk": true, - "role": "style", - "editType": "plot", - "description": "Sets themarker.linecolor. 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.", - "dflt": "#444" - }, - "width": { - "valType": "number", - "min": 0, - "arrayOk": true, - "role": "style", - "editType": "plot", - "description": "Sets the width (in px) of the lines bounding the marker points.", - "dflt": 1 - }, - "editType": "calc", - "role": "object", - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - }, - "widthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for width .", - "editType": "none" - } - }, - "opacity": { - "valType": "number", - "arrayOk": true, - "min": 0, - "max": 1, - "dflt": 1, - "role": "style", - "editType": "plot", - "description": "Sets the opacity of the locations." - }, - "editType": "calc", - "role": "object", - "opacitysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for opacity .", - "editType": "none" - } - }, - "selected": { - "marker": { - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "role": "style", - "editType": "plot", - "description": "Sets the marker opacity of selected points." - }, - "editType": "plot", - "role": "object" - }, - "editType": "plot", - "role": "object" - }, - "unselected": { - "marker": { - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "role": "style", - "editType": "plot", - "description": "Sets the marker opacity of unselected points, applied only when a selection exists." - }, - "editType": "plot", - "role": "object" - }, - "editType": "plot", - "role": "object" - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "location", - "z", - "text", - "name" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "all", - "editType": "calc", - "description": "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." - }, - "hovertemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "none", - "description": "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}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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. variable `properties` Anything contained in tag `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "arrayOk": true - }, - "showlegend": { - "valType": "boolean", - "role": "info", - "dflt": false, - "editType": "style", - "description": "Determines whether or not an item corresponding to this trace is shown in the legend." - }, - "zauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "zmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "zauto": false - }, - "description": "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." - }, - "zmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "zauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "plot", - "description": "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." - }, - "showscale": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "description": "Determines whether or not a colorbar is displayed for this trace." - }, - "colorbar": { - "thicknessmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "style", - "dflt": "pixels", - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "editType": "colorbars" - }, - "thickness": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 30, - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "editType": "colorbars" - }, - "lenmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "info", - "dflt": "fraction", - "description": "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.", - "editType": "colorbars" - }, - "len": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "description": "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.", - "editType": "colorbars" - }, - "x": { - "valType": "number", - "dflt": 1.02, - "min": -2, - "max": 3, - "role": "style", - "description": "Sets the x position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "left", - "role": "style", - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", - "editType": "colorbars" - }, - "xpad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the x direction.", - "editType": "colorbars" - }, - "y": { - "valType": "number", - "role": "style", - "dflt": 0.5, - "min": -2, - "max": 3, - "description": "Sets the y position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ], - "role": "style", - "dflt": "middle", - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", - "editType": "colorbars" - }, - "ypad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the y direction.", - "editType": "colorbars" - }, - "outlinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "outlinewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the width (in px) of the axis line." - }, - "bordercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "borderwidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 0, - "description": "Sets the width (in px) or the border enclosing this color bar.", - "editType": "colorbars" - }, - "bgcolor": { - "valType": "color", - "role": "style", - "dflt": "rgba(0,0,0,0)", - "description": "Sets the color of padded area.", - "editType": "colorbars" - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "colorbars", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "colorbars", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "colorbars", - "description": "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.", - "dflt": "" - }, - "ticklabelposition": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside bottom", - "inside bottom" - ], - "dflt": "outside", - "role": "info", - "description": "Determines where tick labels are drawn.", - "editType": "colorbars" - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "colorbars", - "description": "Determines whether or not the tick labels are drawn." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets the color bar's tick label font", - "editType": "colorbars", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "colorbars", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "colorbars", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "colorbars" - }, - { - "valType": "any", - "editType": "colorbars" - } - ], - "editType": "colorbars", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "colorbars", - "name": { - "valType": "string", - "role": "style", - "editType": "colorbars", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "colorbars", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "colorbars", - "description": "If \"true\", even 4-digit integers are separated" - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "colorbars", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", - "editType": "colorbars" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "editType": "colorbars", - "role": "object" - }, - "side": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.", - "editType": "colorbars" - }, - "editType": "colorbars", - "role": "object" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars" - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars" - }, - "titleside": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Deprecated in favor of color bar's `title.side`.", - "editType": "colorbars" - } - }, - "editType": "colorbars", - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "subplot": { - "valType": "subplotid", - "role": "info", - "dflt": "mapbox", - "editType": "calc", - "description": "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." - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "locationssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for locations .", - "editType": "none" - }, - "zsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for z .", - "editType": "none" - }, - "textsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for text .", - "editType": "none" - }, - "hovertextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertext .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - }, - "hovertemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertemplate .", - "editType": "none" - } - } - }, - "densitymapbox": { - "meta": { - "hr_name": "density_mapbox", - "description": "Draws a bivariate kernel density estimation with a Gaussian kernel from `lon` and `lat` coordinates and optional `z` values using a colorscale." - }, - "categories": [ - "mapbox", - "gl", - "showLegend" - ], - "animatable": false, - "type": "densitymapbox", - "attributes": { - "type": "densitymapbox", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "legendgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "style", - "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items." - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "editType": "style", - "description": "Sets the opacity of the trace." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "hoverlabel": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "transforms": { - "items": { - "transform": { - "editType": "calc", - "description": "An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", - "role": "object" - } - }, - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "lon": { - "valType": "data_array", - "description": "Sets the longitude coordinates (in degrees East).", - "editType": "calc", - "role": "data" - }, - "lat": { - "valType": "data_array", - "description": "Sets the latitude coordinates (in degrees North).", - "editType": "calc", - "role": "data" - }, - "z": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the points' weight. For example, a value of 10 would be equivalent to having 10 points of weight 1 in the same spot", - "role": "data" - }, - "radius": { - "valType": "number", - "role": "info", - "editType": "plot", - "arrayOk": true, - "min": 1, - "dflt": 30, - "description": "Sets the radius of influence of one `lon` / `lat` point in pixels. Increasing the value makes the densitymapbox trace smoother, but less detailed." - }, - "below": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "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." - }, - "text": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "calc", - "description": "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." - }, - "hovertext": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "calc", - "description": "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." - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "lon", - "lat", - "z", - "text", - "name" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "all", - "editType": "none", - "description": "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." - }, - "hovertemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "none", - "description": "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}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "arrayOk": true - }, - "showlegend": { - "valType": "boolean", - "role": "info", - "dflt": false, - "editType": "style", - "description": "Determines whether or not an item corresponding to this trace is shown in the legend." - }, - "zauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "zmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "zauto": false - }, - "description": "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." - }, - "zmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "zauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "plot", - "description": "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." - }, - "showscale": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "description": "Determines whether or not a colorbar is displayed for this trace." - }, - "colorbar": { - "thicknessmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "style", - "dflt": "pixels", - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "editType": "colorbars" - }, - "thickness": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 30, - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "editType": "colorbars" - }, - "lenmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "info", - "dflt": "fraction", - "description": "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.", - "editType": "colorbars" - }, - "len": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "description": "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.", - "editType": "colorbars" - }, - "x": { - "valType": "number", - "dflt": 1.02, - "min": -2, - "max": 3, - "role": "style", - "description": "Sets the x position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "left", - "role": "style", - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", - "editType": "colorbars" - }, - "xpad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the x direction.", - "editType": "colorbars" - }, - "y": { - "valType": "number", - "role": "style", - "dflt": 0.5, - "min": -2, - "max": 3, - "description": "Sets the y position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ], - "role": "style", - "dflt": "middle", - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", - "editType": "colorbars" - }, - "ypad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the y direction.", - "editType": "colorbars" - }, - "outlinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "outlinewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the width (in px) of the axis line." - }, - "bordercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "borderwidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 0, - "description": "Sets the width (in px) or the border enclosing this color bar.", - "editType": "colorbars" - }, - "bgcolor": { - "valType": "color", - "role": "style", - "dflt": "rgba(0,0,0,0)", - "description": "Sets the color of padded area.", - "editType": "colorbars" - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "colorbars", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "colorbars", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "colorbars", - "description": "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.", - "dflt": "" - }, - "ticklabelposition": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside bottom", - "inside bottom" - ], - "dflt": "outside", - "role": "info", - "description": "Determines where tick labels are drawn.", - "editType": "colorbars" - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "colorbars", - "description": "Determines whether or not the tick labels are drawn." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets the color bar's tick label font", - "editType": "colorbars", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "colorbars", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "colorbars", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "colorbars" - }, - { - "valType": "any", - "editType": "colorbars" - } - ], - "editType": "colorbars", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "colorbars", - "name": { - "valType": "string", - "role": "style", - "editType": "colorbars", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "colorbars", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "colorbars", - "description": "If \"true\", even 4-digit integers are separated" - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "colorbars", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", - "editType": "colorbars" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "editType": "colorbars", - "role": "object" - }, - "side": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.", - "editType": "colorbars" - }, - "editType": "colorbars", - "role": "object" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars" - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars" - }, - "titleside": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Deprecated in favor of color bar's `title.side`.", - "editType": "colorbars" - } - }, - "editType": "colorbars", - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "subplot": { - "valType": "subplotid", - "role": "info", - "dflt": "mapbox", - "editType": "calc", - "description": "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." - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "lonsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for lon .", - "editType": "none" - }, - "latsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for lat .", - "editType": "none" - }, - "zsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for z .", - "editType": "none" - }, - "radiussrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for radius .", - "editType": "none" - }, - "textsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for text .", - "editType": "none" - }, - "hovertextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertext .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - }, - "hovertemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertemplate .", - "editType": "none" - } - } - }, - "sankey": { - "meta": { - "description": "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." - }, - "categories": [ - "noOpacity" - ], - "animatable": false, - "type": "sankey", - "attributes": { - "type": "sankey", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "selectedpoints": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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." - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": false, - "dflt": "all", - "editType": "calc", - "description": "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": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "calc", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc", - "arrayOk": true - }, - "editType": "calc", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "calc", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "calc", - "description": "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.", - "arrayOk": true - }, - "editType": "calc", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "domain": { - "x": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "calc" - }, - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "calc" - } - ], - "dflt": [ - 0, - 1 - ], - "description": "Sets the horizontal domain of this sankey trace (in plot fraction).", - "editType": "calc" - }, - "y": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "calc" - }, - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "calc" - } - ], - "dflt": [ - 0, - 1 - ], - "description": "Sets the vertical domain of this sankey trace (in plot fraction).", - "editType": "calc" - }, - "row": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "description": "If there is a layout grid, use the domain for this row in the grid for this sankey trace .", - "editType": "calc" - }, - "column": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "description": "If there is a layout grid, use the domain for this column in the grid for this sankey trace .", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "orientation": { - "valType": "enumerated", - "values": [ - "v", - "h" - ], - "dflt": "h", - "role": "style", - "description": "Sets the orientation of the Sankey diagram.", - "editType": "calc" - }, - "valueformat": { - "valType": "string", - "dflt": ".3s", - "role": "style", - "description": "Sets the value formatting rule using d3 formatting mini-language which is similar to those of Python. See https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format", - "editType": "calc" - }, - "valuesuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "description": "Adds a unit to follow the value in the hover tooltip. Add a space if a separation is necessary from the value.", - "editType": "calc" - }, - "arrangement": { - "valType": "enumerated", - "values": [ - "snap", - "perpendicular", - "freeform", - "fixed" - ], - "dflt": "snap", - "role": "style", - "description": "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.", - "editType": "calc" - }, - "textfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "description": "Sets the font for node labels", - "editType": "calc", - "role": "object" - }, - "node": { - "label": { - "valType": "data_array", - "dflt": [], - "role": "data", - "description": "The shown name of the node.", - "editType": "calc" - }, - "groups": { - "valType": "info_array", - "impliedEdits": { - "x": [], - "y": [] - }, - "dimensions": 2, - "freeLength": true, - "dflt": [], - "items": { - "valType": "number", - "editType": "calc" - }, - "role": "info", - "description": "Groups of nodes. Each group is defined by an array with the indices of the nodes it contains. Multiple groups can be specified.", - "editType": "calc" - }, - "x": { - "valType": "data_array", - "dflt": [], - "role": "data", - "description": "The normalized horizontal position of the node.", - "editType": "calc" - }, - "y": { - "valType": "data_array", - "dflt": [], - "role": "data", - "description": "The normalized vertical position of the node.", - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "arrayOk": true, - "description": "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.", - "editType": "calc" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "Assigns extra data to each node.", - "role": "data" - }, - "line": { - "color": { - "valType": "color", - "role": "style", - "dflt": "#444", - "arrayOk": true, - "description": "Sets the color of the `line` around each `node`.", - "editType": "calc" - }, - "width": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 0.5, - "arrayOk": true, - "description": "Sets the width (in px) of the `line` around each `node`.", - "editType": "calc" - }, - "editType": "calc", - "role": "object", - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - }, - "widthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for width .", - "editType": "none" - } - }, - "pad": { - "valType": "number", - "arrayOk": false, - "min": 0, - "dflt": 20, - "role": "style", - "description": "Sets the padding (in px) between the `nodes`.", - "editType": "calc" - }, - "thickness": { - "valType": "number", - "arrayOk": false, - "min": 1, - "dflt": 20, - "role": "style", - "description": "Sets the thickness (in px) of the `nodes`.", - "editType": "calc" - }, - "hoverinfo": { - "valType": "enumerated", - "values": [ - "all", - "none", - "skip" - ], - "dflt": "all", - "role": "info", - "description": "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.", - "editType": "calc" - }, - "hoverlabel": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "calc", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc", - "arrayOk": true - }, - "editType": "calc", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "calc", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "calc", - "description": "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.", - "arrayOk": true - }, - "editType": "calc", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "hovertemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `value` and `label`. Anything contained in tag `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "arrayOk": true - }, - "description": "The nodes of the Sankey plot.", - "editType": "calc", - "role": "object", - "labelsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for label .", - "editType": "none" - }, - "xsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for x .", - "editType": "none" - }, - "ysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for y .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "hovertemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertemplate .", - "editType": "none" - } - }, - "link": { - "label": { - "valType": "data_array", - "dflt": [], - "role": "data", - "description": "The shown name of the link.", - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "arrayOk": true, - "description": "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.", - "editType": "calc" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "Assigns extra data to each link.", - "role": "data" - }, - "line": { - "color": { - "valType": "color", - "role": "style", - "dflt": "#444", - "arrayOk": true, - "description": "Sets the color of the `line` around each `link`.", - "editType": "calc" - }, - "width": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 0, - "arrayOk": true, - "description": "Sets the width (in px) of the `line` around each `link`.", - "editType": "calc" - }, - "editType": "calc", - "role": "object", - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - }, - "widthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for width .", - "editType": "none" - } - }, - "source": { - "valType": "data_array", - "role": "data", - "dflt": [], - "description": "An integer number `[0..nodes.length - 1]` that represents the source node.", - "editType": "calc" - }, - "target": { - "valType": "data_array", - "role": "data", - "dflt": [], - "description": "An integer number `[0..nodes.length - 1]` that represents the target node.", - "editType": "calc" - }, - "value": { - "valType": "data_array", - "dflt": [], - "role": "data", - "description": "A numeric value representing the flow volume value.", - "editType": "calc" - }, - "hoverinfo": { - "valType": "enumerated", - "values": [ - "all", - "none", - "skip" - ], - "dflt": "all", - "role": "info", - "description": "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.", - "editType": "calc" - }, - "hoverlabel": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "calc", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc", - "arrayOk": true - }, - "editType": "calc", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "calc", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "calc", - "description": "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.", - "arrayOk": true - }, - "editType": "calc", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "hovertemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "calc", - "description": "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}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `value` and `label`. Anything contained in tag `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "arrayOk": true - }, - "colorscales": { - "items": { - "concentrationscales": { - "editType": "calc", - "label": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "The label of the links to color based on their concentration within a flow.", - "dflt": "" - }, - "cmax": { - "valType": "number", - "role": "info", - "editType": "calc", - "dflt": 1, - "description": "Sets the upper bound of the color domain." - }, - "cmin": { - "valType": "number", - "role": "info", - "editType": "calc", - "dflt": 0, - "description": "Sets the lower bound of the color domain." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": [ - [ - 0, - "white" - ], - [ - 1, - "black" - ] - ], - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "name": { - "valType": "string", - "role": "style", - "editType": "calc", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "description": "The links of the Sankey plot.", - "role": "object", - "editType": "calc", - "labelsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for label .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "sourcesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for source .", - "editType": "none" - }, - "targetsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for target .", - "editType": "none" - }, - "valuesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for value .", - "editType": "none" - }, - "hovertemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertemplate .", - "editType": "none" - } - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - } - } - }, - "indicator": { - "meta": { - "description": "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." - }, - "categories": [ - "svg", - "noOpacity", - "noHover" - ], - "animatable": true, - "type": "indicator", - "attributes": { - "type": "indicator", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "anim": true, - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "anim": true, - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "transforms": { - "items": { - "transform": { - "editType": "calc", - "description": "An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", - "role": "object" - } - }, - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "mode": { - "valType": "flaglist", - "editType": "calc", - "role": "info", - "flags": [ - "number", - "delta", - "gauge" - ], - "dflt": "number", - "description": "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." - }, - "value": { - "valType": "number", - "editType": "calc", - "role": "info", - "anim": true, - "description": "Sets the number to be displayed." - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "role": "info", - "editType": "plot", - "description": "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" - }, - "domain": { - "x": { - "valType": "info_array", - "role": "info", - "editType": "calc", - "items": [ - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "calc" - }, - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "calc" - } - ], - "dflt": [ - 0, - 1 - ], - "description": "Sets the horizontal domain of this indicator trace (in plot fraction)." - }, - "y": { - "valType": "info_array", - "role": "info", - "editType": "calc", - "items": [ - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "calc" - }, - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "calc" - } - ], - "dflt": [ - 0, - 1 - ], - "description": "Sets the vertical domain of this indicator trace (in plot fraction)." - }, - "editType": "calc", - "row": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "If there is a layout grid, use the domain for this row in the grid for this indicator trace ." - }, - "column": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "If there is a layout grid, use the domain for this column in the grid for this indicator trace ." - }, - "role": "object" - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Sets the title of this indicator." - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "role": "info", - "editType": "plot", - "description": "Sets the horizontal alignment of the title. It defaults to `center` except for bullet charts for which it defaults to right." - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot" - }, - "editType": "plot", - "description": "Set the font used to display the title", - "role": "object" - }, - "editType": "plot", - "role": "object" - }, - "number": { - "valueformat": { - "valType": "string", - "dflt": "", - "role": "info", - "editType": "plot", - "description": "Sets the value formatting rule using d3 formatting mini-language which is similar to those of Python. See https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot" - }, - "editType": "plot", - "description": "Set the font used to display main number", - "role": "object" - }, - "prefix": { - "valType": "string", - "dflt": "", - "role": "info", - "editType": "plot", - "description": "Sets a prefix appearing before the number." - }, - "suffix": { - "valType": "string", - "dflt": "", - "role": "info", - "editType": "plot", - "description": "Sets a suffix appearing next to the number." - }, - "editType": "plot", - "role": "object" - }, - "delta": { - "reference": { - "valType": "number", - "role": "info", - "editType": "calc", - "description": "Sets the reference value to compute the delta. By default, it is set to the current value." - }, - "position": { - "valType": "enumerated", - "values": [ - "top", - "bottom", - "left", - "right" - ], - "role": "info", - "dflt": "bottom", - "editType": "plot", - "description": "Sets the position of delta with respect to the number." - }, - "relative": { - "valType": "boolean", - "editType": "plot", - "role": "info", - "dflt": false, - "description": "Show relative change" - }, - "valueformat": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Sets the value formatting rule using d3 formatting mini-language which is similar to those of Python. See https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format" - }, - "increasing": { - "symbol": { - "valType": "string", - "role": "info", - "dflt": "â–²", - "editType": "plot", - "description": "Sets the symbol to display for increasing value" - }, - "color": { - "valType": "color", - "role": "info", - "dflt": "#3D9970", - "editType": "plot", - "description": "Sets the color for increasing value." - }, - "editType": "plot", - "role": "object" - }, - "decreasing": { - "symbol": { - "valType": "string", - "role": "info", - "dflt": "â–¼", - "editType": "plot", - "description": "Sets the symbol to display for increasing value" - }, - "color": { - "valType": "color", - "role": "info", - "dflt": "#FF4136", - "editType": "plot", - "description": "Sets the color for increasing value." - }, - "editType": "plot", - "role": "object" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot" - }, - "editType": "plot", - "description": "Set the font used to display the delta", - "role": "object" - }, - "editType": "calc", - "role": "object" - }, - "gauge": { - "shape": { - "valType": "enumerated", - "editType": "plot", - "role": "info", - "dflt": "angular", - "values": [ - "angular", - "bullet" - ], - "description": "Set the shape of the gauge" - }, - "bar": { - "color": { - "valType": "color", - "editType": "plot", - "role": "info", - "description": "Sets the background color of the arc.", - "dflt": "green" - }, - "line": { - "color": { - "valType": "color", - "role": "info", - "dflt": "#444", - "editType": "plot", - "description": "Sets the color of the line enclosing each sector." - }, - "width": { - "valType": "number", - "role": "info", - "min": 0, - "dflt": 0, - "editType": "plot", - "description": "Sets the width (in px) of the line enclosing each sector." - }, - "editType": "calc", - "role": "object" - }, - "thickness": { - "valType": "number", - "role": "info", - "min": 0, - "max": 1, - "dflt": 1, - "editType": "plot", - "description": "Sets the thickness of the bar as a fraction of the total thickness of the gauge." - }, - "editType": "calc", - "description": "Set the appearance of the gauge's value", - "role": "object" - }, - "bgcolor": { - "valType": "color", - "role": "info", - "editType": "plot", - "description": "Sets the gauge background color." - }, - "bordercolor": { - "valType": "color", - "dflt": "#444", - "role": "info", - "editType": "plot", - "description": "Sets the color of the border enclosing the gauge." - }, - "borderwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "info", - "editType": "plot", - "description": "Sets the width (in px) of the border enclosing the gauge." - }, - "axis": { - "range": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "number", - "editType": "plot" - }, - { - "valType": "number", - "editType": "plot" - } - ], - "editType": "plot", - "description": "Sets the range of this axis." - }, - "visible": { - "valType": "boolean", - "role": "info", - "editType": "plot", - "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", - "dflt": true - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "plot", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "plot", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "plot", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "plot", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "plot", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "plot", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "plot", - "description": "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.", - "dflt": "outside" - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "plot", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "plot", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "plot", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "plot", - "description": "Determines whether or not the tick labels are drawn." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "plot" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot" - }, - "description": "Sets the color bar's tick label font", - "editType": "plot", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "plot", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "plot", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "plot" - }, - { - "valType": "any", - "editType": "plot" - } - ], - "editType": "plot", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "plot", - "name": { - "valType": "string", - "role": "style", - "editType": "plot", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "plot", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "plot", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "plot", - "description": "If \"true\", even 4-digit integers are separated" - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "plot", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "plot", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "plot", - "description": "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." - }, - "editType": "plot", - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "steps": { - "items": { - "step": { - "color": { - "valType": "color", - "editType": "plot", - "role": "info", - "description": "Sets the background color of the arc." - }, - "line": { - "color": { - "valType": "color", - "role": "info", - "dflt": "#444", - "editType": "plot", - "description": "Sets the color of the line enclosing each sector." - }, - "width": { - "valType": "number", - "role": "info", - "min": 0, - "dflt": 0, - "editType": "plot", - "description": "Sets the width (in px) of the line enclosing each sector." - }, - "editType": "calc", - "role": "object" - }, - "thickness": { - "valType": "number", - "role": "info", - "min": 0, - "max": 1, - "dflt": 1, - "editType": "plot", - "description": "Sets the thickness of the bar as a fraction of the total thickness of the gauge." - }, - "editType": "calc", - "range": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "number", - "editType": "plot" - }, - { - "valType": "number", - "editType": "plot" - } - ], - "editType": "plot", - "description": "Sets the range of this axis." - }, - "name": { - "valType": "string", - "role": "style", - "editType": "none", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "threshold": { - "line": { - "color": { - "valType": "color", - "role": "info", - "dflt": "#444", - "editType": "plot", - "description": "Sets the color of the threshold line." - }, - "width": { - "valType": "number", - "role": "info", - "min": 0, - "dflt": 1, - "editType": "plot", - "description": "Sets the width (in px) of the threshold line." - }, - "editType": "plot", - "role": "object" - }, - "thickness": { - "valType": "number", - "role": "info", - "min": 0, - "max": 1, - "dflt": 0.85, - "editType": "plot", - "description": "Sets the thickness of the threshold line as a fraction of the thickness of the gauge." - }, - "value": { - "valType": "number", - "editType": "calc", - "dflt": false, - "role": "info", - "description": "Sets a treshold value drawn as a line." - }, - "editType": "plot", - "role": "object" - }, - "description": "The gauge of the Indicator plot.", - "editType": "plot", - "role": "object" - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - } - } - }, - "table": { - "meta": { - "description": "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." - }, - "categories": [ - "noOpacity" - ], - "animatable": false, - "type": "table", - "attributes": { - "type": "table", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "x", - "y", - "z", - "text", - "name" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "all", - "editType": "none", - "description": "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": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "domain": { - "x": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "calc" - }, - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "calc" - } - ], - "dflt": [ - 0, - 1 - ], - "description": "Sets the horizontal domain of this table trace (in plot fraction).", - "editType": "calc" - }, - "y": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "calc" - }, - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "calc" - } - ], - "dflt": [ - 0, - 1 - ], - "description": "Sets the vertical domain of this table trace (in plot fraction).", - "editType": "calc" - }, - "row": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "description": "If there is a layout grid, use the domain for this row in the grid for this table trace .", - "editType": "calc" - }, - "column": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "description": "If there is a layout grid, use the domain for this column in the grid for this table trace .", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "columnwidth": { - "valType": "number", - "arrayOk": true, - "dflt": null, - "role": "style", - "description": "The width of columns expressed as a ratio. Columns fill the available width in proportion of their specified column widths.", - "editType": "calc" - }, - "columnorder": { - "valType": "data_array", - "role": "data", - "description": "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.", - "editType": "calc" - }, - "header": { - "values": { - "valType": "data_array", - "role": "data", - "dflt": [], - "description": "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.", - "editType": "calc" - }, - "format": { - "valType": "data_array", - "role": "data", - "dflt": [], - "description": "Sets the cell value formatting rule using d3 formatting mini-language which is similar to those of Python. See https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format", - "editType": "calc" - }, - "prefix": { - "valType": "string", - "arrayOk": true, - "dflt": null, - "role": "style", - "description": "Prefix for cell values.", - "editType": "calc" - }, - "suffix": { - "valType": "string", - "arrayOk": true, - "dflt": null, - "role": "style", - "description": "Suffix for cell values.", - "editType": "calc" - }, - "height": { - "valType": "number", - "dflt": 28, - "role": "style", - "description": "The height of cells.", - "editType": "calc" - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "center", - "role": "style", - "editType": "calc", - "description": "Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more
HTML tags) or if an explicit width is set to override the text width.", - "arrayOk": true - }, - "line": { - "width": { - "valType": "number", - "arrayOk": true, - "dflt": 1, - "role": "style", - "editType": "calc" - }, - "color": { - "valType": "color", - "arrayOk": true, - "dflt": "grey", - "role": "style", - "editType": "calc" - }, - "editType": "calc", - "role": "object", - "widthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for width .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "fill": { - "color": { - "valType": "color", - "arrayOk": true, - "dflt": "white", - "role": "style", - "description": "Sets the cell fill color. It accepts either a specific color or an array of colors or a 2D array of colors.", - "editType": "calc" - }, - "editType": "calc", - "role": "object", - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true, - "editType": "calc" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "arrayOk": true, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "arrayOk": true, - "editType": "calc" - }, - "description": "", - "editType": "calc", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "editType": "calc", - "role": "object", - "valuessrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for values .", - "editType": "none" - }, - "formatsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for format .", - "editType": "none" - }, - "prefixsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for prefix .", - "editType": "none" - }, - "suffixsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for suffix .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - } - }, - "cells": { - "values": { - "valType": "data_array", - "role": "data", - "dflt": [], - "description": "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.", - "editType": "calc" - }, - "format": { - "valType": "data_array", - "role": "data", - "dflt": [], - "description": "Sets the cell value formatting rule using d3 formatting mini-language which is similar to those of Python. See https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format", - "editType": "calc" - }, - "prefix": { - "valType": "string", - "arrayOk": true, - "dflt": null, - "role": "style", - "description": "Prefix for cell values.", - "editType": "calc" - }, - "suffix": { - "valType": "string", - "arrayOk": true, - "dflt": null, - "role": "style", - "description": "Suffix for cell values.", - "editType": "calc" - }, - "height": { - "valType": "number", - "dflt": 20, - "role": "style", - "description": "The height of cells.", - "editType": "calc" - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "center", - "role": "style", - "editType": "calc", - "description": "Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more
HTML tags) or if an explicit width is set to override the text width.", - "arrayOk": true - }, - "line": { - "width": { - "valType": "number", - "arrayOk": true, - "dflt": 1, - "role": "style", - "editType": "calc" - }, - "color": { - "valType": "color", - "arrayOk": true, - "dflt": "grey", - "role": "style", - "editType": "calc" - }, - "editType": "calc", - "role": "object", - "widthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for width .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "fill": { - "color": { - "valType": "color", - "arrayOk": true, - "role": "style", - "dflt": "white", - "description": "Sets the cell fill color. It accepts either a specific color or an array of colors or a 2D array of colors.", - "editType": "calc" - }, - "editType": "calc", - "role": "object", - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true, - "editType": "calc" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "arrayOk": true, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "arrayOk": true, - "editType": "calc" - }, - "description": "", - "editType": "calc", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "editType": "calc", - "role": "object", - "valuessrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for values .", - "editType": "none" - }, - "formatsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for format .", - "editType": "none" - }, - "prefixsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for prefix .", - "editType": "none" - }, - "suffixsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for suffix .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - } - }, - "editType": "calc", - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - }, - "columnwidthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for columnwidth .", - "editType": "none" - }, - "columnordersrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for columnorder .", - "editType": "none" - } - } - }, - "carpet": { - "meta": { - "description": "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`." - }, - "categories": [ - "cartesian", - "svg", - "carpet", - "carpetAxis", - "notLegendIsolatable", - "noMultiCategory", - "noHover", - "noSortingByValue" - ], - "animatable": true, - "type": "carpet", - "attributes": { - "type": "carpet", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "editType": "style", - "description": "Sets the opacity of the trace." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "anim": true, - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "anim": true, - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "carpet": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "An identifier for this carpet, so that `scattercarpet` and `contourcarpet` traces can specify a carpet plot on which they lie" - }, - "x": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "description": "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.", - "role": "data" - }, - "y": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "description": "A two dimensional array of y coordinates at each carpet point.", - "role": "data" - }, - "a": { - "valType": "data_array", - "editType": "calc", - "description": "An array containing values of the first parameter value", - "role": "data" - }, - "a0": { - "valType": "number", - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "Alternate to `a`. Builds a linear space of a coordinates. Use with `da` where `a0` is the starting coordinate and `da` the step." - }, - "da": { - "valType": "number", - "dflt": 1, - "role": "info", - "editType": "calc", - "description": "Sets the a coordinate step. See `a0` for more info." - }, - "b": { - "valType": "data_array", - "editType": "calc", - "description": "A two dimensional array of y coordinates at each carpet point.", - "role": "data" - }, - "b0": { - "valType": "number", - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "Alternate to `b`. Builds a linear space of a coordinates. Use with `db` where `b0` is the starting coordinate and `db` the step." - }, - "db": { - "valType": "number", - "dflt": 1, - "role": "info", - "editType": "calc", - "description": "Sets the b coordinate step. See `b0` for more info." - }, - "cheaterslope": { - "valType": "number", - "role": "info", - "dflt": 1, - "editType": "calc", - "description": "The shift applied to each successive row of data in creating a cheater plot. Only used if `x` is been omitted." - }, - "aaxis": { - "color": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this." - }, - "smoothing": { - "valType": "number", - "dflt": 1, - "min": 0, - "max": 1.3, - "role": "info", - "editType": "calc" - }, - "title": { - "text": { - "valType": "string", - "dflt": "", - "role": "info", - "editType": "calc", - "description": "Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated." - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "calc", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "editType": "calc", - "description": "Sets this axis' title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "role": "object" - }, - "offset": { - "valType": "number", - "role": "info", - "dflt": 10, - "editType": "calc", - "description": "An additional amount by which to offset the title from the tick labels, given in pixels. Note that this used to be set by the now deprecated `titleoffset` attribute." - }, - "editType": "calc", - "role": "object" - }, - "type": { - "valType": "enumerated", - "values": [ - "-", - "linear", - "date", - "category" - ], - "dflt": "-", - "role": "info", - "editType": "calc", - "description": "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." - }, - "autotypenumbers": { - "valType": "enumerated", - "values": [ - "convert types", - "strict" - ], - "dflt": "convert types", - "role": "info", - "editType": "calc", - "description": "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." - }, - "autorange": { - "valType": "enumerated", - "values": [ - true, - false, - "reversed" - ], - "dflt": true, - "role": "style", - "editType": "calc", - "description": "Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided, then `autorange` is set to *false*." - }, - "rangemode": { - "valType": "enumerated", - "values": [ - "normal", - "tozero", - "nonnegative" - ], - "dflt": "normal", - "role": "style", - "editType": "calc", - "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." - }, - "range": { - "valType": "info_array", - "role": "info", - "editType": "calc", - "items": [ - { - "valType": "any", - "editType": "calc" - }, - { - "valType": "any", - "editType": "calc" - } - ], - "description": "Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, 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." - }, - "fixedrange": { - "valType": "boolean", - "dflt": false, - "role": "info", - "editType": "calc", - "description": "Determines whether or not this axis is zoom-able. If true, then zoom is disabled." - }, - "cheatertype": { - "valType": "enumerated", - "values": [ - "index", - "value" - ], - "dflt": "value", - "role": "info", - "editType": "calc" - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "linear", - "array" - ], - "dflt": "array", - "role": "info", - "editType": "calc" - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "calc", - "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*." - }, - "tickvals": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "showticklabels": { - "valType": "enumerated", - "values": [ - "start", - "end", - "both", - "none" - ], - "dflt": "start", - "role": "style", - "editType": "calc", - "description": "Determines whether axis labels are drawn on the low side, the high side, both, or neither side of the axis." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "calc", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "editType": "calc", - "description": "Sets the tick font.", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "calc", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "calc", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "calc", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "calc", - "description": "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." - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "calc", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "calc", - "description": "Hide SI prefix for 10^n if |n| is below this number" - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "calc", - "description": "If \"true\", even 4-digit integers are separated" - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "calc" - }, - { - "valType": "any", - "editType": "calc" - } - ], - "editType": "calc", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "calc", - "name": { - "valType": "string", - "role": "style", - "editType": "calc", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "categoryorder": { - "valType": "enumerated", - "values": [ - "trace", - "category ascending", - "category descending", - "array" - ], - "dflt": "trace", - "role": "info", - "editType": "calc", - "description": "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`." - }, - "categoryarray": { - "valType": "data_array", - "role": "data", - "editType": "calc", - "description": "Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`." - }, - "labelpadding": { - "valType": "integer", - "role": "style", - "dflt": 10, - "editType": "calc", - "description": "Extra padding between label and the axis" - }, - "labelprefix": { - "valType": "string", - "role": "style", - "editType": "calc", - "description": "Sets a axis label prefix." - }, - "labelsuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "Sets a axis label suffix." - }, - "showline": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "calc", - "description": "Determines whether or not a line bounding this axis is drawn." - }, - "linecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "calc", - "description": "Sets the axis line color." - }, - "linewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "Sets the width (in px) of the axis line." - }, - "gridcolor": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the axis line color." - }, - "gridwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "Sets the width (in px) of the axis line." - }, - "showgrid": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "description": "Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark." - }, - "minorgridcount": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "Sets the number of minor grid ticks per major grid tick" - }, - "minorgridwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "Sets the width (in px) of the grid lines." - }, - "minorgridcolor": { - "valType": "color", - "dflt": "#eee", - "role": "style", - "editType": "calc", - "description": "Sets the color of the grid lines." - }, - "startline": { - "valType": "boolean", - "role": "style", - "editType": "calc", - "description": "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": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the line color of the start line." - }, - "startlinewidth": { - "valType": "number", - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "Sets the width (in px) of the start line." - }, - "endline": { - "valType": "boolean", - "role": "style", - "editType": "calc", - "description": "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." - }, - "endlinewidth": { - "valType": "number", - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "Sets the width (in px) of the end line." - }, - "endlinecolor": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the line color of the end line." - }, - "tick0": { - "valType": "number", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "The starting index of grid lines along the axis" - }, - "dtick": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "info", - "editType": "calc", - "description": "The stride between grid lines along the axis" - }, - "arraytick0": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "The starting index of grid lines along the axis" - }, - "arraydtick": { - "valType": "integer", - "min": 1, - "dflt": 1, - "role": "info", - "editType": "calc", - "description": "The stride between grid lines along the axis" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "Deprecated in favor of `title.text`. Note that value of `title` is no longer a simple *string* but a set of sub-attributes." - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "calc", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "editType": "calc", - "description": "Deprecated in favor of `title.font`." - }, - "titleoffset": { - "valType": "number", - "role": "info", - "dflt": 10, - "editType": "calc", - "description": "Deprecated in favor of `title.offset`." - } - }, - "editType": "calc", - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - }, - "categoryarraysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for categoryarray .", - "editType": "none" - } - }, - "baxis": { - "color": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this." - }, - "smoothing": { - "valType": "number", - "dflt": 1, - "min": 0, - "max": 1.3, - "role": "info", - "editType": "calc" - }, - "title": { - "text": { - "valType": "string", - "dflt": "", - "role": "info", - "editType": "calc", - "description": "Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated." - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "calc", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "editType": "calc", - "description": "Sets this axis' title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "role": "object" - }, - "offset": { - "valType": "number", - "role": "info", - "dflt": 10, - "editType": "calc", - "description": "An additional amount by which to offset the title from the tick labels, given in pixels. Note that this used to be set by the now deprecated `titleoffset` attribute." - }, - "editType": "calc", - "role": "object" - }, - "type": { - "valType": "enumerated", - "values": [ - "-", - "linear", - "date", - "category" - ], - "dflt": "-", - "role": "info", - "editType": "calc", - "description": "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." - }, - "autotypenumbers": { - "valType": "enumerated", - "values": [ - "convert types", - "strict" - ], - "dflt": "convert types", - "role": "info", - "editType": "calc", - "description": "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." - }, - "autorange": { - "valType": "enumerated", - "values": [ - true, - false, - "reversed" - ], - "dflt": true, - "role": "style", - "editType": "calc", - "description": "Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided, then `autorange` is set to *false*." - }, - "rangemode": { - "valType": "enumerated", - "values": [ - "normal", - "tozero", - "nonnegative" - ], - "dflt": "normal", - "role": "style", - "editType": "calc", - "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." - }, - "range": { - "valType": "info_array", - "role": "info", - "editType": "calc", - "items": [ - { - "valType": "any", - "editType": "calc" - }, - { - "valType": "any", - "editType": "calc" - } - ], - "description": "Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, 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." - }, - "fixedrange": { - "valType": "boolean", - "dflt": false, - "role": "info", - "editType": "calc", - "description": "Determines whether or not this axis is zoom-able. If true, then zoom is disabled." - }, - "cheatertype": { - "valType": "enumerated", - "values": [ - "index", - "value" - ], - "dflt": "value", - "role": "info", - "editType": "calc" - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "linear", - "array" - ], - "dflt": "array", - "role": "info", - "editType": "calc" - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "calc", - "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*." - }, - "tickvals": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "showticklabels": { - "valType": "enumerated", - "values": [ - "start", - "end", - "both", - "none" - ], - "dflt": "start", - "role": "style", - "editType": "calc", - "description": "Determines whether axis labels are drawn on the low side, the high side, both, or neither side of the axis." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "calc", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "editType": "calc", - "description": "Sets the tick font.", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "calc", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "calc", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "calc", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "calc", - "description": "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." - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "calc", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "calc", - "description": "Hide SI prefix for 10^n if |n| is below this number" - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "calc", - "description": "If \"true\", even 4-digit integers are separated" - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "calc" - }, - { - "valType": "any", - "editType": "calc" - } - ], - "editType": "calc", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "calc", - "name": { - "valType": "string", - "role": "style", - "editType": "calc", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "categoryorder": { - "valType": "enumerated", - "values": [ - "trace", - "category ascending", - "category descending", - "array" - ], - "dflt": "trace", - "role": "info", - "editType": "calc", - "description": "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`." - }, - "categoryarray": { - "valType": "data_array", - "role": "data", - "editType": "calc", - "description": "Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`." - }, - "labelpadding": { - "valType": "integer", - "role": "style", - "dflt": 10, - "editType": "calc", - "description": "Extra padding between label and the axis" - }, - "labelprefix": { - "valType": "string", - "role": "style", - "editType": "calc", - "description": "Sets a axis label prefix." - }, - "labelsuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "Sets a axis label suffix." - }, - "showline": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "calc", - "description": "Determines whether or not a line bounding this axis is drawn." - }, - "linecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "calc", - "description": "Sets the axis line color." - }, - "linewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "Sets the width (in px) of the axis line." - }, - "gridcolor": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the axis line color." - }, - "gridwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "Sets the width (in px) of the axis line." - }, - "showgrid": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "description": "Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark." - }, - "minorgridcount": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "Sets the number of minor grid ticks per major grid tick" - }, - "minorgridwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "Sets the width (in px) of the grid lines." - }, - "minorgridcolor": { - "valType": "color", - "dflt": "#eee", - "role": "style", - "editType": "calc", - "description": "Sets the color of the grid lines." - }, - "startline": { - "valType": "boolean", - "role": "style", - "editType": "calc", - "description": "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": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the line color of the start line." - }, - "startlinewidth": { - "valType": "number", - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "Sets the width (in px) of the start line." - }, - "endline": { - "valType": "boolean", - "role": "style", - "editType": "calc", - "description": "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." - }, - "endlinewidth": { - "valType": "number", - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "Sets the width (in px) of the end line." - }, - "endlinecolor": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the line color of the end line." - }, - "tick0": { - "valType": "number", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "The starting index of grid lines along the axis" - }, - "dtick": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "info", - "editType": "calc", - "description": "The stride between grid lines along the axis" - }, - "arraytick0": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "The starting index of grid lines along the axis" - }, - "arraydtick": { - "valType": "integer", - "min": 1, - "dflt": 1, - "role": "info", - "editType": "calc", - "description": "The stride between grid lines along the axis" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "Deprecated in favor of `title.text`. Note that value of `title` is no longer a simple *string* but a set of sub-attributes." - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "calc", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "editType": "calc", - "description": "Deprecated in favor of `title.font`." - }, - "titleoffset": { - "valType": "number", - "role": "info", - "dflt": 10, - "editType": "calc", - "description": "Deprecated in favor of `title.offset`." - } - }, - "editType": "calc", - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - }, - "categoryarraysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for categoryarray .", - "editType": "none" - } - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "calc", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "dflt": "\"Open Sans\", verdana, arial, sans-serif" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc", - "dflt": 12 - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc", - "dflt": "#444" - }, - "editType": "calc", - "description": "The default font used for axis & tick labels on this carpet", - "role": "object" - }, - "color": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "plot", - "description": "Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this." - }, - "xaxis": { - "valType": "subplotid", - "role": "info", - "dflt": "x", - "editType": "calc+clearAxisTypes", - "description": "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": { - "valType": "subplotid", - "role": "info", - "dflt": "y", - "editType": "calc+clearAxisTypes", - "description": "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." - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "xsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for x .", - "editType": "none" - }, - "ysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for y .", - "editType": "none" - }, - "asrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for a .", - "editType": "none" - }, - "bsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for b .", - "editType": "none" - } - } - }, - "scattercarpet": { - "meta": { - "hrName": "scatter_carpet", - "description": "Plots a scatter trace on either the first carpet axis or the carpet axis with a matching `carpet` attribute." - }, - "categories": [ - "svg", - "carpet", - "symbols", - "showLegend", - "carpetDependent", - "zoomScale" - ], - "animatable": false, - "type": "scattercarpet", - "attributes": { - "type": "scattercarpet", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "showlegend": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "style", - "description": "Determines whether or not an item corresponding to this trace is shown in the legend." - }, - "legendgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "style", - "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items." - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "editType": "style", - "description": "Sets the opacity of the trace." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "selectedpoints": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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." - }, - "hoverlabel": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "transforms": { - "items": { - "transform": { - "editType": "calc", - "description": "An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", - "role": "object" - } - }, - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "carpet": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "An identifier for this carpet, so that `scattercarpet` and `contourcarpet` traces can specify a carpet plot on which they lie" - }, - "a": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the a-axis coordinates.", - "role": "data" - }, - "b": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the b-axis coordinates.", - "role": "data" - }, - "mode": { - "valType": "flaglist", - "flags": [ - "lines", - "markers", - "text" - ], - "extras": [ - "none" - ], - "role": "info", - "editType": "calc", - "description": "Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.", - "dflt": "markers" - }, - "text": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "calc", - "description": "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." - }, - "texttemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "plot", - "description": "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-3.x-api-reference/blob/master/Formatting.md#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#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. variables `a`, `b` and `text`.", - "arrayOk": true - }, - "hovertext": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "style", - "description": "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." - }, - "line": { - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the line color." - }, - "width": { - "valType": "number", - "min": 0, - "dflt": 2, - "role": "style", - "editType": "style", - "description": "Sets the line width (in px)." - }, - "dash": { - "valType": "string", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" - ], - "dflt": "solid", - "role": "style", - "editType": "style", - "description": "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": { - "valType": "enumerated", - "values": [ - "linear", - "spline" - ], - "dflt": "linear", - "role": "style", - "editType": "plot", - "description": "Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes." - }, - "smoothing": { - "valType": "number", - "min": 0, - "max": 1.3, - "dflt": 1, - "role": "style", - "editType": "plot", - "description": "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)." - }, - "editType": "calc", - "role": "object" - }, - "connectgaps": { - "valType": "boolean", - "dflt": false, - "role": "info", - "editType": "calc", - "description": "Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected." - }, - "fill": { - "valType": "enumerated", - "values": [ - "none", - "toself", - "tonext" - ], - "role": "style", - "editType": "calc", - "description": "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.", - "dflt": "none" - }, - "fillcolor": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available." - }, - "marker": { - "symbol": { - "valType": "enumerated", - "values": [ - 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" - ], - "dflt": "circle", - "arrayOk": true, - "role": "style", - "editType": "style", - "description": "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." - }, - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "arrayOk": true, - "role": "style", - "editType": "style", - "description": "Sets the marker opacity." - }, - "maxdisplayed": { - "valType": "number", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "plot", - "description": "Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit." - }, - "size": { - "valType": "number", - "min": 0, - "dflt": 6, - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets the marker size (in px)." - }, - "sizeref": { - "valType": "number", - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "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`." - }, - "sizemin": { - "valType": "number", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "calc", - "description": "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": { - "valType": "enumerated", - "values": [ - "diameter", - "area" - ], - "dflt": "diameter", - "role": "info", - "editType": "calc", - "description": "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." - }, - "line": { - "width": { - "valType": "number", - "min": 0, - "arrayOk": true, - "role": "style", - "editType": "style", - "description": "Sets the width (in px) of the lines bounding the marker points." - }, - "editType": "calc", - "color": { - "valType": "color", - "arrayOk": true, - "role": "style", - "editType": "style", - "description": "Sets themarker.linecolor. 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." - }, - "cauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "cmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "description": "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." - }, - "cmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "plot", - "description": "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." - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "role": "object", - "widthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for width .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "gradient": { - "type": { - "valType": "enumerated", - "values": [ - "radial", - "horizontal", - "vertical", - "none" - ], - "arrayOk": true, - "dflt": "none", - "role": "style", - "editType": "calc", - "description": "Sets the type of gradient used to fill the markers" - }, - "color": { - "valType": "color", - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical." - }, - "editType": "calc", - "role": "object", - "typesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for type .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "editType": "calc", - "color": { - "valType": "color", - "arrayOk": true, - "role": "style", - "editType": "style", - "description": "Sets themarkercolor. 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." - }, - "cauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "cmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "description": "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." - }, - "cmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "plot", - "description": "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": { - "valType": "boolean", - "role": "info", - "dflt": false, - "editType": "calc", - "description": "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." - }, - "colorbar": { - "thicknessmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "style", - "dflt": "pixels", - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "editType": "colorbars" - }, - "thickness": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 30, - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "editType": "colorbars" - }, - "lenmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "info", - "dflt": "fraction", - "description": "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.", - "editType": "colorbars" - }, - "len": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "description": "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.", - "editType": "colorbars" - }, - "x": { - "valType": "number", - "dflt": 1.02, - "min": -2, - "max": 3, - "role": "style", - "description": "Sets the x position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "left", - "role": "style", - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", - "editType": "colorbars" - }, - "xpad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the x direction.", - "editType": "colorbars" - }, - "y": { - "valType": "number", - "role": "style", - "dflt": 0.5, - "min": -2, - "max": 3, - "description": "Sets the y position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ], - "role": "style", - "dflt": "middle", - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", - "editType": "colorbars" - }, - "ypad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the y direction.", - "editType": "colorbars" - }, - "outlinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "outlinewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the width (in px) of the axis line." - }, - "bordercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "borderwidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 0, - "description": "Sets the width (in px) or the border enclosing this color bar.", - "editType": "colorbars" - }, - "bgcolor": { - "valType": "color", - "role": "style", - "dflt": "rgba(0,0,0,0)", - "description": "Sets the color of padded area.", - "editType": "colorbars" - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "colorbars", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "colorbars", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "colorbars", - "description": "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.", - "dflt": "" - }, - "ticklabelposition": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside bottom", - "inside bottom" - ], - "dflt": "outside", - "role": "info", - "description": "Determines where tick labels are drawn.", - "editType": "colorbars" - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "colorbars", - "description": "Determines whether or not the tick labels are drawn." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets the color bar's tick label font", - "editType": "colorbars", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "colorbars", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "colorbars", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "colorbars" - }, - { - "valType": "any", - "editType": "colorbars" - } - ], - "editType": "colorbars", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "colorbars", - "name": { - "valType": "string", - "role": "style", - "editType": "colorbars", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "colorbars", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "colorbars", - "description": "If \"true\", even 4-digit integers are separated" - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "colorbars", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", - "editType": "colorbars" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "editType": "colorbars", - "role": "object" - }, - "side": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.", - "editType": "colorbars" - }, - "editType": "colorbars", - "role": "object" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars" - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars" - }, - "titleside": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Deprecated in favor of color bar's `title.side`.", - "editType": "colorbars" - } - }, - "editType": "colorbars", - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "role": "object", - "symbolsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for symbol .", - "editType": "none" - }, - "opacitysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for opacity .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "textfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "calc", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "arrayOk": true - }, - "editType": "calc", - "description": "Sets the text font.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "textposition": { - "valType": "enumerated", - "values": [ - "top left", - "top center", - "top right", - "middle left", - "middle center", - "middle right", - "bottom left", - "bottom center", - "bottom right" - ], - "dflt": "middle center", - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets the positions of the `text` elements with respects to the (x,y) coordinates." - }, - "selected": { - "marker": { - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "role": "style", - "editType": "style", - "description": "Sets the marker opacity of selected points." - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the marker color of selected points." - }, - "size": { - "valType": "number", - "min": 0, - "role": "style", - "editType": "style", - "description": "Sets the marker size of selected points." - }, - "editType": "style", - "role": "object" - }, - "textfont": { - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the text font color of selected points." - }, - "editType": "style", - "role": "object" - }, - "editType": "style", - "role": "object" - }, - "unselected": { - "marker": { - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "role": "style", - "editType": "style", - "description": "Sets the marker opacity of unselected points, applied only when a selection exists." - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the marker color of unselected points, applied only when a selection exists." - }, - "size": { - "valType": "number", - "min": 0, - "role": "style", - "editType": "style", - "description": "Sets the marker size of unselected points, applied only when a selection exists." - }, - "editType": "style", - "role": "object" - }, - "textfont": { - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the text font color of unselected points, applied only when a selection exists." - }, - "editType": "style", - "role": "object" - }, - "editType": "style", - "role": "object" - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "a", - "b", - "text", - "name" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "all", - "editType": "none", - "description": "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": { - "valType": "flaglist", - "flags": [ - "points", - "fills" - ], - "role": "info", - "editType": "style", - "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*." - }, - "hovertemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "none", - "description": "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}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "arrayOk": true - }, - "xaxis": { - "valType": "subplotid", - "role": "info", - "dflt": "x", - "editType": "calc+clearAxisTypes", - "description": "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": { - "valType": "subplotid", - "role": "info", - "dflt": "y", - "editType": "calc+clearAxisTypes", - "description": "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." - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "asrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for a .", - "editType": "none" - }, - "bsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for b .", - "editType": "none" - }, - "textsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for text .", - "editType": "none" - }, - "texttemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for texttemplate .", - "editType": "none" - }, - "hovertextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertext .", - "editType": "none" - }, - "textpositionsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for textposition .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - }, - "hovertemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertemplate .", - "editType": "none" - } - } - }, - "contourcarpet": { - "meta": { - "hrName": "contour_carpet", - "description": "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." - }, - "categories": [ - "cartesian", - "svg", - "carpet", - "contour", - "symbols", - "showLegend", - "hasLines", - "carpetDependent", - "noHover", - "noSortingByValue" - ], - "animatable": false, - "type": "contourcarpet", - "attributes": { - "type": "contourcarpet", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "showlegend": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "style", - "description": "Determines whether or not an item corresponding to this trace is shown in the legend." - }, - "legendgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "style", - "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items." - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "editType": "style", - "description": "Sets the opacity of the trace." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "carpet": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "The `carpet` of the carpet axes on which this contour trace lies" - }, - "z": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the z data.", - "role": "data" - }, - "a": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "description": "Sets the x coordinates.", - "impliedEdits": { - "xtype": "array" - }, - "role": "data" - }, - "a0": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc+clearAxisTypes", - "description": "Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.", - "impliedEdits": { - "xtype": "scaled" - } - }, - "da": { - "valType": "number", - "dflt": 1, - "role": "info", - "editType": "calc", - "description": "Sets the x coordinate step. See `x0` for more info.", - "impliedEdits": { - "xtype": "scaled" - } - }, - "b": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "description": "Sets the y coordinates.", - "impliedEdits": { - "ytype": "array" - }, - "role": "data" - }, - "b0": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc+clearAxisTypes", - "description": "Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.", - "impliedEdits": { - "ytype": "scaled" - } - }, - "db": { - "valType": "number", - "dflt": 1, - "role": "info", - "editType": "calc", - "description": "Sets the y coordinate step. See `y0` for more info.", - "impliedEdits": { - "ytype": "scaled" - } - }, - "text": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the text elements associated with each z value.", - "role": "data" - }, - "hovertext": { - "valType": "data_array", - "editType": "calc", - "description": "Same as `text`.", - "role": "data" - }, - "transpose": { - "valType": "boolean", - "dflt": false, - "role": "info", - "editType": "calc", - "description": "Transposes the z data." - }, - "atype": { - "valType": "enumerated", - "values": [ - "array", - "scaled" - ], - "role": "info", - "editType": "calc+clearAxisTypes", - "description": "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)." - }, - "btype": { - "valType": "enumerated", - "values": [ - "array", - "scaled" - ], - "role": "info", - "editType": "calc+clearAxisTypes", - "description": "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)" - }, - "fillcolor": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "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." - }, - "autocontour": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "ncontours": { - "valType": "integer", - "dflt": 15, - "min": 1, - "role": "style", - "editType": "calc", - "description": "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." - }, - "contours": { - "type": { - "valType": "enumerated", - "values": [ - "levels", - "constraint" - ], - "dflt": "levels", - "role": "info", - "editType": "calc", - "description": "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." - }, - "start": { - "valType": "number", - "dflt": null, - "role": "style", - "editType": "plot", - "impliedEdits": { - "^autocontour": false - }, - "description": "Sets the starting contour level value. Must be less than `contours.end`" - }, - "end": { - "valType": "number", - "dflt": null, - "role": "style", - "editType": "plot", - "impliedEdits": { - "^autocontour": false - }, - "description": "Sets the end contour level value. Must be more than `contours.start`" - }, - "size": { - "valType": "number", - "dflt": null, - "min": 0, - "role": "style", - "editType": "plot", - "impliedEdits": { - "^autocontour": false - }, - "description": "Sets the step between each contour level. Must be positive." - }, - "coloring": { - "valType": "enumerated", - "values": [ - "fill", - "lines", - "none" - ], - "dflt": "fill", - "role": "style", - "editType": "calc", - "description": "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." - }, - "showlines": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "plot", - "description": "Determines whether or not the contour lines are drawn. Has an effect only if `contours.coloring` is set to *fill*." - }, - "showlabels": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "plot", - "description": "Determines whether to label the contour lines with their values." - }, - "labelfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style" - }, - "editType": "plot", - "description": "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`.", - "role": "object" - }, - "labelformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "Sets the contour label formatting rule using d3 formatting mini-language which is very similar to Python, see: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format" - }, - "operation": { - "valType": "enumerated", - "values": [ - "=", - "<", - ">=", - ">", - "<=", - "[]", - "()", - "[)", - "(]", - "][", - ")(", - "](", - ")[" - ], - "role": "info", - "dflt": "=", - "editType": "calc", - "description": "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." - }, - "value": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "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." - }, - "editType": "calc", - "impliedEdits": { - "autocontour": false, - "role": "object" - }, - "role": "object" - }, - "line": { - "color": { - "valType": "color", - "role": "style", - "editType": "style+colorbars", - "description": "Sets the color of the contour level. Has no effect if `contours.coloring` is set to *lines*." - }, - "width": { - "valType": "number", - "min": 0, - "role": "style", - "editType": "style+colorbars", - "description": "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*." - }, - "dash": { - "valType": "string", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" - ], - "dflt": "solid", - "role": "style", - "editType": "style", - "description": "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": { - "valType": "number", - "min": 0, - "max": 1.3, - "dflt": 1, - "role": "style", - "editType": "plot", - "description": "Sets the amount of smoothing for the contour lines, where *0* corresponds to no smoothing." - }, - "editType": "plot", - "role": "object" - }, - "zauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "zmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "zauto": false - }, - "description": "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." - }, - "zmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "zauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "calc", - "impliedEdits": {}, - "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "plot", - "description": "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." - }, - "showscale": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "description": "Determines whether or not a colorbar is displayed for this trace." - }, - "colorbar": { - "thicknessmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "style", - "dflt": "pixels", - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "editType": "colorbars" - }, - "thickness": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 30, - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "editType": "colorbars" - }, - "lenmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "info", - "dflt": "fraction", - "description": "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.", - "editType": "colorbars" - }, - "len": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "description": "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.", - "editType": "colorbars" - }, - "x": { - "valType": "number", - "dflt": 1.02, - "min": -2, - "max": 3, - "role": "style", - "description": "Sets the x position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "left", - "role": "style", - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", - "editType": "colorbars" - }, - "xpad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the x direction.", - "editType": "colorbars" - }, - "y": { - "valType": "number", - "role": "style", - "dflt": 0.5, - "min": -2, - "max": 3, - "description": "Sets the y position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ], - "role": "style", - "dflt": "middle", - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", - "editType": "colorbars" - }, - "ypad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the y direction.", - "editType": "colorbars" - }, - "outlinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "outlinewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the width (in px) of the axis line." - }, - "bordercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "borderwidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 0, - "description": "Sets the width (in px) or the border enclosing this color bar.", - "editType": "colorbars" - }, - "bgcolor": { - "valType": "color", - "role": "style", - "dflt": "rgba(0,0,0,0)", - "description": "Sets the color of padded area.", - "editType": "colorbars" - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "colorbars", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "colorbars", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "colorbars", - "description": "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.", - "dflt": "" - }, - "ticklabelposition": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside bottom", - "inside bottom" - ], - "dflt": "outside", - "role": "info", - "description": "Determines where tick labels are drawn.", - "editType": "colorbars" - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "colorbars", - "description": "Determines whether or not the tick labels are drawn." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets the color bar's tick label font", - "editType": "colorbars", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "colorbars", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "colorbars", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "colorbars" - }, - { - "valType": "any", - "editType": "colorbars" - } - ], - "editType": "colorbars", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "colorbars", - "name": { - "valType": "string", - "role": "style", - "editType": "colorbars", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "colorbars", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "colorbars", - "description": "If \"true\", even 4-digit integers are separated" - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "colorbars", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", - "editType": "colorbars" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "editType": "colorbars", - "role": "object" - }, - "side": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.", - "editType": "colorbars" - }, - "editType": "colorbars", - "role": "object" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars" - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars" - }, - "titleside": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Deprecated in favor of color bar's `title.side`.", - "editType": "colorbars" - } - }, - "editType": "colorbars", - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "xaxis": { - "valType": "subplotid", - "role": "info", - "dflt": "x", - "editType": "calc+clearAxisTypes", - "description": "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": { - "valType": "subplotid", - "role": "info", - "dflt": "y", - "editType": "calc+clearAxisTypes", - "description": "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." - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "zsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for z .", - "editType": "none" - }, - "asrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for a .", - "editType": "none" - }, - "bsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for b .", - "editType": "none" - }, - "textsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for text .", - "editType": "none" - }, - "hovertextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertext .", - "editType": "none" - } - } - }, - "ohlc": { - "meta": { - "description": "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." - }, - "categories": [ - "cartesian", - "svg", - "showLegend" - ], - "animatable": false, - "type": "ohlc", - "attributes": { - "type": "ohlc", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "showlegend": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "style", - "description": "Determines whether or not an item corresponding to this trace is shown in the legend." - }, - "legendgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "style", - "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items." - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "editType": "style", - "description": "Sets the opacity of the trace." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "selectedpoints": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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." - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "x", - "y", - "z", - "text", - "name" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "all", - "editType": "none", - "description": "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." - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "transforms": { - "items": { - "transform": { - "editType": "calc", - "description": "An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", - "role": "object" - } - }, - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "xperiod": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer." - }, - "xperiod0": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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": { - "valType": "enumerated", - "values": [ - "start", - "middle", - "end" - ], - "dflt": "middle", - "role": "style", - "editType": "calc", - "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis." - }, - "x": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "description": "Sets the x coordinates. If absent, linear coordinate will be generated.", - "role": "data" - }, - "open": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the open values.", - "role": "data" - }, - "high": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the high values.", - "role": "data" - }, - "low": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the low values.", - "role": "data" - }, - "close": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the close values.", - "role": "data" - }, - "line": { - "width": { - "valType": "number", - "min": 0, - "dflt": 2, - "role": "style", - "editType": "style", - "description": "[object Object] Note that this style setting can also be set per direction via `increasing.line.width` and `decreasing.line.width`." - }, - "dash": { - "valType": "string", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" - ], - "dflt": "solid", - "role": "style", - "editType": "style", - "description": "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`." - }, - "editType": "style", - "role": "object" - }, - "increasing": { - "line": { - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the line color.", - "dflt": "#3D9970" - }, - "width": { - "valType": "number", - "min": 0, - "dflt": 2, - "role": "style", - "editType": "style", - "description": "Sets the line width (in px)." - }, - "dash": { - "valType": "string", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" - ], - "dflt": "solid", - "role": "style", - "editType": "style", - "description": "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*)." - }, - "editType": "style", - "role": "object" - }, - "editType": "style", - "role": "object" - }, - "decreasing": { - "line": { - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the line color.", - "dflt": "#FF4136" - }, - "width": { - "valType": "number", - "min": 0, - "dflt": 2, - "role": "style", - "editType": "style", - "description": "Sets the line width (in px)." - }, - "dash": { - "valType": "string", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" - ], - "dflt": "solid", - "role": "style", - "editType": "style", - "description": "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*)." - }, - "editType": "style", - "role": "object" - }, - "editType": "style", - "role": "object" - }, - "text": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "calc", - "description": "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." - }, - "hovertext": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "calc", - "description": "Same as `text`." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "max": 0.5, - "dflt": 0.3, - "role": "style", - "editType": "calc", - "description": "Sets the width of the open/close tick marks relative to the *x* minimal interval." - }, - "hoverlabel": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "split": { - "valType": "boolean", - "role": "info", - "dflt": false, - "editType": "style", - "description": "Show hover information (open, close, high, low) in separate labels." - }, - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "xcalendar": { - "valType": "enumerated", - "values": [ - "gregorian", - "chinese", - "coptic", - "discworld", - "ethiopian", - "hebrew", - "islamic", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "jalali", - "taiwan", - "thai", - "ummalqura" - ], - "role": "info", - "editType": "calc", - "dflt": "gregorian", - "description": "Sets the calendar system to use with `x` date data." - }, - "xaxis": { - "valType": "subplotid", - "role": "info", - "dflt": "x", - "editType": "calc+clearAxisTypes", - "description": "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": { - "valType": "subplotid", - "role": "info", - "dflt": "y", - "editType": "calc+clearAxisTypes", - "description": "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." - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - }, - "xsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for x .", - "editType": "none" - }, - "opensrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for open .", - "editType": "none" - }, - "highsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for high .", - "editType": "none" - }, - "lowsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for low .", - "editType": "none" - }, - "closesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for close .", - "editType": "none" - }, - "textsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for text .", - "editType": "none" - }, - "hovertextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertext .", - "editType": "none" - } - } - }, - "candlestick": { - "meta": { - "description": "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." - }, - "categories": [ - "cartesian", - "svg", - "showLegend", - "candlestick", - "boxLayout" - ], - "animatable": false, - "type": "candlestick", - "attributes": { - "type": "candlestick", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "showlegend": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "style", - "description": "Determines whether or not an item corresponding to this trace is shown in the legend." - }, - "legendgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "style", - "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items." - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "editType": "style", - "description": "Sets the opacity of the trace." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "selectedpoints": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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." - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "x", - "y", - "z", - "text", - "name" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "all", - "editType": "none", - "description": "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." - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "transforms": { - "items": { - "transform": { - "editType": "calc", - "description": "An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", - "role": "object" - } - }, - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "xperiod": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer." - }, - "xperiod0": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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": { - "valType": "enumerated", - "values": [ - "start", - "middle", - "end" - ], - "dflt": "middle", - "role": "style", - "editType": "calc", - "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis." - }, - "x": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "description": "Sets the x coordinates. If absent, linear coordinate will be generated.", - "role": "data" - }, - "open": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the open values.", - "role": "data" - }, - "high": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the high values.", - "role": "data" - }, - "low": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the low values.", - "role": "data" - }, - "close": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the close values.", - "role": "data" - }, - "line": { - "width": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 2, - "editType": "style", - "description": "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`." - }, - "editType": "style", - "role": "object" - }, - "increasing": { - "line": { - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the color of line bounding the box(es).", - "dflt": "#3D9970" - }, - "width": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 2, - "editType": "style", - "description": "Sets the width (in px) of line bounding the box(es)." - }, - "editType": "style", - "role": "object" - }, - "fillcolor": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available." - }, - "editType": "style", - "role": "object" - }, - "decreasing": { - "line": { - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the color of line bounding the box(es).", - "dflt": "#FF4136" - }, - "width": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 2, - "editType": "style", - "description": "Sets the width (in px) of line bounding the box(es)." - }, - "editType": "style", - "role": "object" - }, - "fillcolor": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available." - }, - "editType": "style", - "role": "object" - }, - "text": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "calc", - "description": "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." - }, - "hovertext": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "calc", - "description": "Same as `text`." - }, - "whiskerwidth": { - "valType": "number", - "min": 0, - "max": 1, - "dflt": 0, - "role": "style", - "editType": "calc", - "description": "Sets the width of the whiskers relative to the box' width. For example, with 1, the whiskers are as wide as the box(es)." - }, - "hoverlabel": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "split": { - "valType": "boolean", - "role": "info", - "dflt": false, - "editType": "style", - "description": "Show hover information (open, close, high, low) in separate labels." - }, - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "xcalendar": { - "valType": "enumerated", - "values": [ - "gregorian", - "chinese", - "coptic", - "discworld", - "ethiopian", - "hebrew", - "islamic", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "jalali", - "taiwan", - "thai", - "ummalqura" - ], - "role": "info", - "editType": "calc", - "dflt": "gregorian", - "description": "Sets the calendar system to use with `x` date data." - }, - "xaxis": { - "valType": "subplotid", - "role": "info", - "dflt": "x", - "editType": "calc+clearAxisTypes", - "description": "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": { - "valType": "subplotid", - "role": "info", - "dflt": "y", - "editType": "calc+clearAxisTypes", - "description": "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." - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - }, - "xsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for x .", - "editType": "none" - }, - "opensrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for open .", - "editType": "none" - }, - "highsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for high .", - "editType": "none" - }, - "lowsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for low .", - "editType": "none" - }, - "closesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for close .", - "editType": "none" - }, - "textsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for text .", - "editType": "none" - }, - "hovertextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertext .", - "editType": "none" - } - }, - "layoutAttributes": { - "boxmode": { - "valType": "enumerated", - "values": [ - "group", - "overlay" - ], - "dflt": "overlay", - "role": "info", - "editType": "calc", - "description": "Determines how boxes at the same location coordinate are displayed on the graph. If *group*, the boxes are plotted next to one another centered around the shared location. If *overlay*, the boxes are plotted over one another, you might need to set *opacity* to see them multiple boxes. Has no effect on traces that have *width* set." - }, - "boxgap": { - "valType": "number", - "min": 0, - "max": 1, - "dflt": 0.3, - "role": "style", - "editType": "calc", - "description": "Sets the gap (in plot fraction) between boxes of adjacent location coordinates. Has no effect on traces that have *width* set." - }, - "boxgroupgap": { - "valType": "number", - "min": 0, - "max": 1, - "dflt": 0.3, - "role": "style", - "editType": "calc", - "description": "Sets the gap (in plot fraction) between boxes of the same location coordinate. Has no effect on traces that have *width* set." - } - } - }, - "scatterpolar": { - "meta": { - "hrName": "scatter_polar", - "description": "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." - }, - "categories": [ - "polar", - "symbols", - "showLegend", - "scatter-like" - ], - "animatable": false, - "type": "scatterpolar", - "attributes": { - "type": "scatterpolar", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "showlegend": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "style", - "description": "Determines whether or not an item corresponding to this trace is shown in the legend." - }, - "legendgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "style", - "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items." - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "editType": "style", - "description": "Sets the opacity of the trace." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "selectedpoints": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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." - }, - "hoverlabel": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "transforms": { - "items": { - "transform": { - "editType": "calc", - "description": "An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", - "role": "object" - } - }, - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "mode": { - "valType": "flaglist", - "flags": [ - "lines", - "markers", - "text" - ], - "extras": [ - "none" - ], - "role": "info", - "editType": "calc", - "description": "Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*." - }, - "r": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "description": "Sets the radial coordinates", - "role": "data" - }, - "theta": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "description": "Sets the angular coordinates", - "role": "data" - }, - "r0": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc+clearAxisTypes", - "description": "Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step." - }, - "dr": { - "valType": "number", - "dflt": 1, - "role": "info", - "editType": "calc", - "description": "Sets the r coordinate step." - }, - "theta0": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc+clearAxisTypes", - "description": "Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step." - }, - "dtheta": { - "valType": "number", - "role": "info", - "editType": "calc", - "description": "Sets the theta coordinate step. By default, the `dtheta` step equals the subplot's period divided by the length of the `r` coordinates." - }, - "thetaunit": { - "valType": "enumerated", - "values": [ - "radians", - "degrees", - "gradians" - ], - "dflt": "degrees", - "role": "info", - "editType": "calc+clearAxisTypes", - "description": "Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes." - }, - "text": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "calc", - "description": "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." - }, - "texttemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "plot", - "description": "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-3.x-api-reference/blob/master/Formatting.md#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#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. variables `r`, `theta` and `text`.", - "arrayOk": true - }, - "hovertext": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "style", - "description": "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." - }, - "line": { - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the line color." - }, - "width": { - "valType": "number", - "min": 0, - "dflt": 2, - "role": "style", - "editType": "style", - "description": "Sets the line width (in px)." - }, - "dash": { - "valType": "string", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" - ], - "dflt": "solid", - "role": "style", - "editType": "style", - "description": "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": { - "valType": "enumerated", - "values": [ - "linear", - "spline" - ], - "dflt": "linear", - "role": "style", - "editType": "plot", - "description": "Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes." - }, - "smoothing": { - "valType": "number", - "min": 0, - "max": 1.3, - "dflt": 1, - "role": "style", - "editType": "plot", - "description": "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)." - }, - "editType": "calc", - "role": "object" - }, - "connectgaps": { - "valType": "boolean", - "dflt": false, - "role": "info", - "editType": "calc", - "description": "Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected." - }, - "marker": { - "symbol": { - "valType": "enumerated", - "values": [ - 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" - ], - "dflt": "circle", - "arrayOk": true, - "role": "style", - "editType": "style", - "description": "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." - }, - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "arrayOk": true, - "role": "style", - "editType": "style", - "description": "Sets the marker opacity." - }, - "size": { - "valType": "number", - "min": 0, - "dflt": 6, - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets the marker size (in px)." - }, - "maxdisplayed": { - "valType": "number", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "plot", - "description": "Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit." - }, - "sizeref": { - "valType": "number", - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "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`." - }, - "sizemin": { - "valType": "number", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "calc", - "description": "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": { - "valType": "enumerated", - "values": [ - "diameter", - "area" - ], - "dflt": "diameter", - "role": "info", - "editType": "calc", - "description": "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." - }, - "line": { - "width": { - "valType": "number", - "min": 0, - "arrayOk": true, - "role": "style", - "editType": "style", - "description": "Sets the width (in px) of the lines bounding the marker points." - }, - "editType": "calc", - "color": { - "valType": "color", - "arrayOk": true, - "role": "style", - "editType": "style", - "description": "Sets themarker.linecolor. 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." - }, - "cauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "cmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "description": "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." - }, - "cmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "plot", - "description": "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." - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "role": "object", - "widthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for width .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "gradient": { - "type": { - "valType": "enumerated", - "values": [ - "radial", - "horizontal", - "vertical", - "none" - ], - "arrayOk": true, - "dflt": "none", - "role": "style", - "editType": "calc", - "description": "Sets the type of gradient used to fill the markers" - }, - "color": { - "valType": "color", - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical." - }, - "editType": "calc", - "role": "object", - "typesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for type .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "editType": "calc", - "color": { - "valType": "color", - "arrayOk": true, - "role": "style", - "editType": "style", - "description": "Sets themarkercolor. 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." - }, - "cauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "cmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "description": "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." - }, - "cmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "plot", - "description": "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": { - "valType": "boolean", - "role": "info", - "dflt": false, - "editType": "calc", - "description": "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." - }, - "colorbar": { - "thicknessmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "style", - "dflt": "pixels", - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "editType": "colorbars" - }, - "thickness": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 30, - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "editType": "colorbars" - }, - "lenmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "info", - "dflt": "fraction", - "description": "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.", - "editType": "colorbars" - }, - "len": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "description": "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.", - "editType": "colorbars" - }, - "x": { - "valType": "number", - "dflt": 1.02, - "min": -2, - "max": 3, - "role": "style", - "description": "Sets the x position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "left", - "role": "style", - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", - "editType": "colorbars" - }, - "xpad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the x direction.", - "editType": "colorbars" - }, - "y": { - "valType": "number", - "role": "style", - "dflt": 0.5, - "min": -2, - "max": 3, - "description": "Sets the y position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ], - "role": "style", - "dflt": "middle", - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", - "editType": "colorbars" - }, - "ypad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the y direction.", - "editType": "colorbars" - }, - "outlinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "outlinewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the width (in px) of the axis line." - }, - "bordercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "borderwidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 0, - "description": "Sets the width (in px) or the border enclosing this color bar.", - "editType": "colorbars" - }, - "bgcolor": { - "valType": "color", - "role": "style", - "dflt": "rgba(0,0,0,0)", - "description": "Sets the color of padded area.", - "editType": "colorbars" - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "colorbars", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "colorbars", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "colorbars", - "description": "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.", - "dflt": "" - }, - "ticklabelposition": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside bottom", - "inside bottom" - ], - "dflt": "outside", - "role": "info", - "description": "Determines where tick labels are drawn.", - "editType": "colorbars" - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "colorbars", - "description": "Determines whether or not the tick labels are drawn." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets the color bar's tick label font", - "editType": "colorbars", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "colorbars", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "colorbars", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "colorbars" - }, - { - "valType": "any", - "editType": "colorbars" - } - ], - "editType": "colorbars", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "colorbars", - "name": { - "valType": "string", - "role": "style", - "editType": "colorbars", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "colorbars", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "colorbars", - "description": "If \"true\", even 4-digit integers are separated" - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "colorbars", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", - "editType": "colorbars" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "editType": "colorbars", - "role": "object" - }, - "side": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.", - "editType": "colorbars" - }, - "editType": "colorbars", - "role": "object" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars" - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars" - }, - "titleside": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Deprecated in favor of color bar's `title.side`.", - "editType": "colorbars" - } - }, - "editType": "colorbars", - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "role": "object", - "symbolsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for symbol .", - "editType": "none" - }, - "opacitysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for opacity .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "cliponaxis": { - "valType": "boolean", - "dflt": false, - "role": "info", - "editType": "plot", - "description": "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*." - }, - "textposition": { - "valType": "enumerated", - "values": [ - "top left", - "top center", - "top right", - "middle left", - "middle center", - "middle right", - "bottom left", - "bottom center", - "bottom right" - ], - "dflt": "middle center", - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets the positions of the `text` elements with respects to the (x,y) coordinates." - }, - "textfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "calc", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "arrayOk": true - }, - "editType": "calc", - "description": "Sets the text font.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "fill": { - "valType": "enumerated", - "values": [ - "none", - "toself", - "tonext" - ], - "role": "style", - "editType": "calc", - "description": "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.", - "dflt": "none" - }, - "fillcolor": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available." - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "r", - "theta", - "text", - "name" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "all", - "editType": "none", - "description": "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": { - "valType": "flaglist", - "flags": [ - "points", - "fills" - ], - "role": "info", - "editType": "style", - "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*." - }, - "hovertemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "none", - "description": "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}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "arrayOk": true - }, - "selected": { - "marker": { - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "role": "style", - "editType": "style", - "description": "Sets the marker opacity of selected points." - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the marker color of selected points." - }, - "size": { - "valType": "number", - "min": 0, - "role": "style", - "editType": "style", - "description": "Sets the marker size of selected points." - }, - "editType": "style", - "role": "object" - }, - "textfont": { - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the text font color of selected points." - }, - "editType": "style", - "role": "object" - }, - "editType": "style", - "role": "object" - }, - "unselected": { - "marker": { - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "role": "style", - "editType": "style", - "description": "Sets the marker opacity of unselected points, applied only when a selection exists." - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the marker color of unselected points, applied only when a selection exists." - }, - "size": { - "valType": "number", - "min": 0, - "role": "style", - "editType": "style", - "description": "Sets the marker size of unselected points, applied only when a selection exists." - }, - "editType": "style", - "role": "object" - }, - "textfont": { - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the text font color of unselected points, applied only when a selection exists." - }, - "editType": "style", - "role": "object" - }, - "editType": "style", - "role": "object" - }, - "subplot": { - "valType": "subplotid", - "role": "info", - "dflt": "polar", - "editType": "calc", - "description": "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." - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "rsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for r .", - "editType": "none" - }, - "thetasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for theta .", - "editType": "none" - }, - "textsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for text .", - "editType": "none" - }, - "texttemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for texttemplate .", - "editType": "none" - }, - "hovertextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertext .", - "editType": "none" - }, - "textpositionsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for textposition .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - }, - "hovertemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertemplate .", - "editType": "none" - } - } - }, - "scatterpolargl": { - "meta": { - "hrName": "scatter_polar_gl", - "description": "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." - }, - "categories": [ - "gl", - "regl", - "polar", - "symbols", - "showLegend", - "scatter-like" - ], - "animatable": false, - "type": "scatterpolargl", - "attributes": { - "type": "scatterpolargl", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "showlegend": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "style", - "description": "Determines whether or not an item corresponding to this trace is shown in the legend." - }, - "legendgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "style", - "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items." - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "editType": "style", - "description": "Sets the opacity of the trace." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "selectedpoints": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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." - }, - "hoverlabel": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "transforms": { - "items": { - "transform": { - "editType": "calc", - "description": "An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", - "role": "object" - } - }, - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "mode": { - "valType": "flaglist", - "flags": [ - "lines", - "markers", - "text" - ], - "extras": [ - "none" - ], - "role": "info", - "editType": "calc", - "description": "Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*." - }, - "r": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "description": "Sets the radial coordinates", - "role": "data" - }, - "theta": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "description": "Sets the angular coordinates", - "role": "data" - }, - "r0": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc+clearAxisTypes", - "description": "Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step." - }, - "dr": { - "valType": "number", - "dflt": 1, - "role": "info", - "editType": "calc", - "description": "Sets the r coordinate step." - }, - "theta0": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc+clearAxisTypes", - "description": "Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step." - }, - "dtheta": { - "valType": "number", - "role": "info", - "editType": "calc", - "description": "Sets the theta coordinate step. By default, the `dtheta` step equals the subplot's period divided by the length of the `r` coordinates." - }, - "thetaunit": { - "valType": "enumerated", - "values": [ - "radians", - "degrees", - "gradians" - ], - "dflt": "degrees", - "role": "info", - "editType": "calc+clearAxisTypes", - "description": "Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes." - }, - "text": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "calc", - "description": "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." - }, - "texttemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "plot", - "description": "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-3.x-api-reference/blob/master/Formatting.md#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#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. variables `r`, `theta` and `text`.", - "arrayOk": true - }, - "hovertext": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "style", - "description": "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." - }, - "hovertemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "none", - "description": "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}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "arrayOk": true - }, - "line": { - "color": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the line color." - }, - "width": { - "valType": "number", - "min": 0, - "dflt": 2, - "role": "style", - "editType": "calc", - "description": "Sets the line width (in px)." - }, - "shape": { - "valType": "enumerated", - "values": [ - "linear", - "hv", - "vh", - "hvh", - "vhv" - ], - "dflt": "linear", - "role": "style", - "editType": "calc", - "description": "Determines the line shape. The values correspond to step-wise line shapes." - }, - "dash": { - "valType": "enumerated", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" - ], - "dflt": "solid", - "role": "style", - "description": "Sets the style of the lines.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "connectgaps": { - "valType": "boolean", - "dflt": false, - "role": "info", - "editType": "calc", - "description": "Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected." - }, - "marker": { - "color": { - "valType": "color", - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets themarkercolor. 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." - }, - "cauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "cmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "description": "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." - }, - "cmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "calc", - "description": "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": { - "valType": "boolean", - "role": "info", - "dflt": false, - "editType": "calc", - "description": "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." - }, - "colorbar": { - "thicknessmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "style", - "dflt": "pixels", - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "editType": "calc" - }, - "thickness": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 30, - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "editType": "calc" - }, - "lenmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "info", - "dflt": "fraction", - "description": "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.", - "editType": "calc" - }, - "len": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "description": "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.", - "editType": "calc" - }, - "x": { - "valType": "number", - "dflt": 1.02, - "min": -2, - "max": 3, - "role": "style", - "description": "Sets the x position of the color bar (in plot fraction).", - "editType": "calc" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "left", - "role": "style", - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", - "editType": "calc" - }, - "xpad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the x direction.", - "editType": "calc" - }, - "y": { - "valType": "number", - "role": "style", - "dflt": 0.5, - "min": -2, - "max": 3, - "description": "Sets the y position of the color bar (in plot fraction).", - "editType": "calc" - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ], - "role": "style", - "dflt": "middle", - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", - "editType": "calc" - }, - "ypad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the y direction.", - "editType": "calc" - }, - "outlinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "calc", - "description": "Sets the axis line color." - }, - "outlinewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "Sets the width (in px) of the axis line." - }, - "bordercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "calc", - "description": "Sets the axis line color." - }, - "borderwidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 0, - "description": "Sets the width (in px) or the border enclosing this color bar.", - "editType": "calc" - }, - "bgcolor": { - "valType": "color", - "role": "style", - "dflt": "rgba(0,0,0,0)", - "description": "Sets the color of padded area.", - "editType": "calc" - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "calc", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "calc", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "calc", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "calc", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "calc", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "calc", - "description": "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.", - "dflt": "" - }, - "ticklabelposition": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside bottom", - "inside bottom" - ], - "dflt": "outside", - "role": "info", - "description": "Determines where tick labels are drawn.", - "editType": "calc" - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "calc", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "calc", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "calc", - "description": "Determines whether or not the tick labels are drawn." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "description": "Sets the color bar's tick label font", - "editType": "calc", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "calc", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "calc" - }, - { - "valType": "any", - "editType": "calc" - } - ], - "editType": "calc", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "calc", - "name": { - "valType": "string", - "role": "style", - "editType": "calc", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "calc", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "calc", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "calc", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "calc", - "description": "If \"true\", even 4-digit integers are separated" - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "calc", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "calc", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "calc", - "description": "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." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", - "editType": "calc" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "editType": "calc", - "role": "object" - }, - "side": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.", - "editType": "calc" - }, - "editType": "calc", - "role": "object" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "calc" - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "calc" - }, - "titleside": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Deprecated in favor of color bar's `title.side`.", - "editType": "calc" - } - }, - "editType": "calc", - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "symbol": { - "valType": "enumerated", - "values": [ - 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" - ], - "dflt": "circle", - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "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." - }, - "size": { - "valType": "number", - "min": 0, - "dflt": 6, - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets the marker size (in px)." - }, - "sizeref": { - "valType": "number", - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "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`." - }, - "sizemin": { - "valType": "number", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "calc", - "description": "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": { - "valType": "enumerated", - "values": [ - "diameter", - "area" - ], - "dflt": "diameter", - "role": "info", - "editType": "calc", - "description": "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." - }, - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets the marker opacity." - }, - "line": { - "color": { - "valType": "color", - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets themarker.linecolor. 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." - }, - "cauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "cmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "description": "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." - }, - "cmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "calc", - "description": "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." - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "width": { - "valType": "number", - "min": 0, - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets the width (in px) of the lines bounding the marker points." - }, - "editType": "calc", - "role": "object", - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - }, - "widthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for width .", - "editType": "none" - } - }, - "editType": "calc", - "role": "object", - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - }, - "symbolsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for symbol .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "opacitysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for opacity .", - "editType": "none" - } - }, - "fill": { - "valType": "enumerated", - "values": [ - "none", - "tozeroy", - "tozerox", - "tonexty", - "tonextx", - "toself", - "tonext" - ], - "role": "style", - "editType": "calc", - "description": "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.", - "dflt": "none" - }, - "fillcolor": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available." - }, - "textposition": { - "valType": "enumerated", - "values": [ - "top left", - "top center", - "top right", - "middle left", - "middle center", - "middle right", - "bottom left", - "bottom center", - "bottom right" - ], - "dflt": "middle center", - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Sets the positions of the `text` elements with respects to the (x,y) coordinates." - }, - "textfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "calc", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc", - "arrayOk": true - }, - "editType": "calc", - "description": "Sets the text font.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "r", - "theta", - "text", - "name" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "all", - "editType": "none", - "description": "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." - }, - "selected": { - "marker": { - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "role": "style", - "editType": "style", - "description": "Sets the marker opacity of selected points." - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the marker color of selected points." - }, - "size": { - "valType": "number", - "min": 0, - "role": "style", - "editType": "style", - "description": "Sets the marker size of selected points." - }, - "editType": "style", - "role": "object" - }, - "textfont": { - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the text font color of selected points." - }, - "editType": "style", - "role": "object" - }, - "editType": "style", - "role": "object" - }, - "unselected": { - "marker": { - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "role": "style", - "editType": "style", - "description": "Sets the marker opacity of unselected points, applied only when a selection exists." - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the marker color of unselected points, applied only when a selection exists." - }, - "size": { - "valType": "number", - "min": 0, - "role": "style", - "editType": "style", - "description": "Sets the marker size of unselected points, applied only when a selection exists." - }, - "editType": "style", - "role": "object" - }, - "textfont": { - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the text font color of unselected points, applied only when a selection exists." - }, - "editType": "style", - "role": "object" - }, - "editType": "style", - "role": "object" - }, - "subplot": { - "valType": "subplotid", - "role": "info", - "dflt": "polar", - "editType": "calc", - "description": "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." - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "rsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for r .", - "editType": "none" - }, - "thetasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for theta .", - "editType": "none" - }, - "textsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for text .", - "editType": "none" - }, - "texttemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for texttemplate .", - "editType": "none" - }, - "hovertextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertext .", - "editType": "none" - }, - "hovertemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertemplate .", - "editType": "none" - }, - "textpositionsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for textposition .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - } - } - }, - "barpolar": { - "meta": { - "hrName": "bar_polar", - "description": "The data visualized by the radial span of the bars is set in `r`" - }, - "categories": [ - "polar", - "bar", - "showLegend" - ], - "animatable": false, - "type": "barpolar", - "attributes": { - "type": "barpolar", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "showlegend": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "style", - "description": "Determines whether or not an item corresponding to this trace is shown in the legend." - }, - "legendgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "style", - "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items." - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "editType": "style", - "description": "Sets the opacity of the trace." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "selectedpoints": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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." - }, - "hoverlabel": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "transforms": { - "items": { - "transform": { - "editType": "calc", - "description": "An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", - "role": "object" - } - }, - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "r": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "description": "Sets the radial coordinates", - "role": "data" - }, - "theta": { - "valType": "data_array", - "editType": "calc+clearAxisTypes", - "description": "Sets the angular coordinates", - "role": "data" - }, - "r0": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc+clearAxisTypes", - "description": "Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step." - }, - "dr": { - "valType": "number", - "dflt": 1, - "role": "info", - "editType": "calc", - "description": "Sets the r coordinate step." - }, - "theta0": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc+clearAxisTypes", - "description": "Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step." - }, - "dtheta": { - "valType": "number", - "role": "info", - "editType": "calc", - "description": "Sets the theta coordinate step. By default, the `dtheta` step equals the subplot's period divided by the length of the `r` coordinates." - }, - "thetaunit": { - "valType": "enumerated", - "values": [ - "radians", - "degrees", - "gradians" - ], - "dflt": "degrees", - "role": "info", - "editType": "calc+clearAxisTypes", - "description": "Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes." - }, - "base": { - "valType": "any", - "dflt": null, - "arrayOk": true, - "role": "info", - "editType": "calc", - "description": "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." - }, - "offset": { - "valType": "number", - "dflt": null, - "arrayOk": true, - "role": "info", - "editType": "calc", - "description": "Shifts the angular position where the bar is drawn (in *thetatunit* units)." - }, - "width": { - "valType": "number", - "dflt": null, - "min": 0, - "arrayOk": true, - "role": "info", - "editType": "calc", - "description": "Sets the bar angular width (in *thetaunit* units)." - }, - "text": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "calc", - "description": "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." - }, - "hovertext": { - "valType": "string", - "role": "info", - "dflt": "", - "arrayOk": true, - "editType": "style", - "description": "Same as `text`." - }, - "marker": { - "line": { - "width": { - "valType": "number", - "min": 0, - "arrayOk": true, - "role": "style", - "editType": "style", - "description": "Sets the width (in px) of the lines bounding the marker points.", - "dflt": 0 - }, - "editType": "calc", - "color": { - "valType": "color", - "arrayOk": true, - "role": "style", - "editType": "style", - "description": "Sets themarker.linecolor. 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." - }, - "cauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "cmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "description": "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." - }, - "cmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "plot", - "description": "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." - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "role": "object", - "widthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for width .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "editType": "calc", - "color": { - "valType": "color", - "arrayOk": true, - "role": "style", - "editType": "style", - "description": "Sets themarkercolor. 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." - }, - "cauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "cmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "description": "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." - }, - "cmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "description": "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": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "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." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "plot", - "description": "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": { - "valType": "boolean", - "role": "info", - "dflt": false, - "editType": "calc", - "description": "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." - }, - "colorbar": { - "thicknessmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "style", - "dflt": "pixels", - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "editType": "colorbars" - }, - "thickness": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 30, - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "editType": "colorbars" - }, - "lenmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "info", - "dflt": "fraction", - "description": "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.", - "editType": "colorbars" - }, - "len": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "description": "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.", - "editType": "colorbars" - }, - "x": { - "valType": "number", - "dflt": 1.02, - "min": -2, - "max": 3, - "role": "style", - "description": "Sets the x position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "left", - "role": "style", - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", - "editType": "colorbars" - }, - "xpad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the x direction.", - "editType": "colorbars" - }, - "y": { - "valType": "number", - "role": "style", - "dflt": 0.5, - "min": -2, - "max": 3, - "description": "Sets the y position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ], - "role": "style", - "dflt": "middle", - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", - "editType": "colorbars" - }, - "ypad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the y direction.", - "editType": "colorbars" - }, - "outlinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "outlinewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the width (in px) of the axis line." - }, - "bordercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "borderwidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 0, - "description": "Sets the width (in px) or the border enclosing this color bar.", - "editType": "colorbars" - }, - "bgcolor": { - "valType": "color", - "role": "style", - "dflt": "rgba(0,0,0,0)", - "description": "Sets the color of padded area.", - "editType": "colorbars" - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "colorbars", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "colorbars", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "colorbars", - "description": "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.", - "dflt": "" - }, - "ticklabelposition": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside bottom", - "inside bottom" - ], - "dflt": "outside", - "role": "info", - "description": "Determines where tick labels are drawn.", - "editType": "colorbars" - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "colorbars", - "description": "Determines whether or not the tick labels are drawn." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets the color bar's tick label font", - "editType": "colorbars", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "colorbars", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "colorbars", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "colorbars" - }, - { - "valType": "any", - "editType": "colorbars" - } - ], - "editType": "colorbars", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "colorbars", - "name": { - "valType": "string", - "role": "style", - "editType": "colorbars", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "colorbars", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "colorbars", - "description": "If \"true\", even 4-digit integers are separated" - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "colorbars", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", - "editType": "colorbars" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "editType": "colorbars", - "role": "object" - }, - "side": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.", - "editType": "colorbars" - }, - "editType": "colorbars", - "role": "object" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars" - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars" - }, - "titleside": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Deprecated in favor of color bar's `title.side`.", - "editType": "colorbars" - } - }, - "editType": "colorbars", - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "coloraxis": { - "valType": "subplotid", - "role": "info", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "dflt": null, - "editType": "calc", - "description": "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." - }, - "opacity": { - "valType": "number", - "arrayOk": true, - "dflt": 1, - "min": 0, - "max": 1, - "role": "style", - "editType": "style", - "description": "Sets the opacity of the bars." - }, - "role": "object", - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - }, - "opacitysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for opacity .", - "editType": "none" - } - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "r", - "theta", - "text", - "name" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "all", - "editType": "none", - "description": "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." - }, - "hovertemplate": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "none", - "description": "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}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#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 `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "arrayOk": true - }, - "selected": { - "marker": { - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "role": "style", - "editType": "style", - "description": "Sets the marker opacity of selected points." - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the marker color of selected points." - }, - "editType": "style", - "role": "object" - }, - "textfont": { - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the text font color of selected points." - }, - "editType": "style", - "role": "object" - }, - "editType": "style", - "role": "object" - }, - "unselected": { - "marker": { - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "role": "style", - "editType": "style", - "description": "Sets the marker opacity of unselected points, applied only when a selection exists." - }, - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the marker color of unselected points, applied only when a selection exists." - }, - "editType": "style", - "role": "object" - }, - "textfont": { - "color": { - "valType": "color", - "role": "style", - "editType": "style", - "description": "Sets the text font color of unselected points, applied only when a selection exists." - }, - "editType": "style", - "role": "object" - }, - "editType": "style", - "role": "object" - }, - "subplot": { - "valType": "subplotid", - "role": "info", - "dflt": "polar", - "editType": "calc", - "description": "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." - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "rsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for r .", - "editType": "none" - }, - "thetasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for theta .", - "editType": "none" - }, - "basesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for base .", - "editType": "none" - }, - "offsetsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for offset .", - "editType": "none" - }, - "widthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for width .", - "editType": "none" - }, - "textsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for text .", - "editType": "none" - }, - "hovertextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertext .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - }, - "hovertemplatesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hovertemplate .", - "editType": "none" - } - }, - "layoutAttributes": { - "barmode": { - "valType": "enumerated", - "values": [ - "stack", - "overlay" - ], - "dflt": "stack", - "role": "info", - "editType": "calc", - "description": "Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *overlay*, the bars are plotted over one another, you might need to an *opacity* to see multiple bars." - }, - "bargap": { - "valType": "number", - "dflt": 0.1, - "min": 0, - "max": 1, - "role": "style", - "editType": "calc", - "description": "Sets the gap between bars of adjacent location coordinates. Values are unitless, they represent fractions of the minimum difference in bar positions in the data." - } - } - }, - "area": { - "meta": {}, - "categories": {}, - "animatable": false, - "type": "area", - "attributes": { - "type": "area", - "visible": { - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ], - "role": "info", - "dflt": true, - "editType": "calc", - "description": "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)." - }, - "showlegend": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "style", - "description": "Determines whether or not an item corresponding to this trace is shown in the legend." - }, - "legendgroup": { - "valType": "string", - "role": "info", - "dflt": "", - "editType": "style", - "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items." - }, - "opacity": { - "valType": "number", - "role": "style", - "min": 0, - "max": 1, - "dflt": 1, - "editType": "style", - "description": "Sets the opacity of the trace." - }, - "name": { - "valType": "string", - "role": "info", - "editType": "style", - "description": "Sets the trace name. The trace name appear as the legend item and on hover." - }, - "uid": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions." - }, - "ids": { - "valType": "data_array", - "editType": "calc", - "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.", - "role": "data" - }, - "customdata": { - "valType": "data_array", - "editType": "calc", - "description": "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", - "role": "data" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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." - }, - "hoverinfo": { - "valType": "flaglist", - "role": "info", - "flags": [ - "x", - "y", - "z", - "text", - "name" - ], - "extras": [ - "all", - "none", - "skip" - ], - "arrayOk": true, - "dflt": "all", - "editType": "none", - "description": "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": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of the hover labels for this trace", - "arrayOk": true - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of the hover labels for this trace.", - "arrayOk": true - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "arrayOk": true - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "arrayOk": true - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none", - "arrayOk": true - }, - "editType": "none", - "description": "Sets the font used in hover labels.", - "role": "object", - "familysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for family .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - } - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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", - "arrayOk": true - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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.", - "arrayOk": true - }, - "editType": "none", - "role": "object", - "bgcolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bgcolor .", - "editType": "none" - }, - "bordercolorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for bordercolor .", - "editType": "none" - }, - "alignsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for align .", - "editType": "none" - }, - "namelengthsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for namelength .", - "editType": "none" - } - }, - "stream": { - "token": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "editType": "calc", - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details." - }, - "maxpoints": { - "valType": "number", - "min": 0, - "max": 10000, - "dflt": 500, - "role": "info", - "editType": "calc", - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot." - }, - "editType": "calc", - "role": "object" - }, - "transforms": { - "items": { - "transform": { - "editType": "calc", - "description": "An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", - "role": "object" - } - }, - "role": "object" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "r": { - "valType": "data_array", - "editType": "calc", - "description": "Area traces are deprecated! Please switch to the *barpolar* trace type. Sets the radial coordinates for legacy polar chart only.", - "role": "data" - }, - "t": { - "valType": "data_array", - "editType": "calc", - "description": "Area traces are deprecated! Please switch to the *barpolar* trace type. Sets the angular coordinates for legacy polar chart only.", - "role": "data" - }, - "marker": { - "color": { - "valType": "color", - "arrayOk": true, - "role": "style", - "editType": "style", - "description": "Area traces are deprecated! Please switch to the *barpolar* trace type. Sets themarkercolor. 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." - }, - "size": { - "valType": "number", - "min": 0, - "dflt": 6, - "arrayOk": true, - "role": "style", - "editType": "calc", - "description": "Area traces are deprecated! Please switch to the *barpolar* trace type. Sets the marker size (in px)." - }, - "symbol": { - "valType": "enumerated", - "values": [ - 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" - ], - "dflt": "circle", - "arrayOk": true, - "role": "style", - "editType": "style", - "description": "Area traces are deprecated! Please switch to the *barpolar* trace type. 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." - }, - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "arrayOk": true, - "role": "style", - "editType": "style", - "description": "Area traces are deprecated! Please switch to the *barpolar* trace type. Sets the marker opacity." - }, - "editType": "calc", - "role": "object", - "colorsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for color .", - "editType": "none" - }, - "sizesrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for size .", - "editType": "none" - }, - "symbolsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for symbol .", - "editType": "none" - }, - "opacitysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for opacity .", - "editType": "none" - } - }, - "idssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ids .", - "editType": "none" - }, - "customdatasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for customdata .", - "editType": "none" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - }, - "hoverinfosrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for hoverinfo .", - "editType": "none" - }, - "rsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for r .", - "editType": "none" - }, - "tsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for t .", - "editType": "none" - } - } - } - }, - "layout": { - "layoutAttributes": { - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "calc", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "dflt": "\"Open Sans\", verdana, arial, sans-serif" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc", - "dflt": 12 - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc", - "dflt": "#444" - }, - "editType": "calc", - "description": "Sets the global font. Note that fonts used in traces and other layout components inherit from the global font.", - "role": "object" - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "editType": "layoutstyle", - "description": "Sets the plot's title. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated." - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "layoutstyle", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "layoutstyle" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "layoutstyle" - }, - "editType": "layoutstyle", - "description": "Sets the title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.", - "role": "object" - }, - "xref": { - "valType": "enumerated", - "dflt": "container", - "values": [ - "container", - "paper" - ], - "role": "info", - "editType": "layoutstyle", - "description": "Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only." - }, - "yref": { - "valType": "enumerated", - "dflt": "container", - "values": [ - "container", - "paper" - ], - "role": "info", - "editType": "layoutstyle", - "description": "Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only." - }, - "x": { - "valType": "number", - "min": 0, - "max": 1, - "dflt": 0.5, - "role": "style", - "editType": "layoutstyle", - "description": "Sets the x position with respect to `xref` in normalized coordinates from *0* (left) to *1* (right)." - }, - "y": { - "valType": "number", - "min": 0, - "max": 1, - "dflt": "auto", - "role": "style", - "editType": "layoutstyle", - "description": "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." - }, - "xanchor": { - "valType": "enumerated", - "dflt": "auto", - "values": [ - "auto", - "left", - "center", - "right" - ], - "role": "info", - "editType": "layoutstyle", - "description": "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`." - }, - "yanchor": { - "valType": "enumerated", - "dflt": "auto", - "values": [ - "auto", - "top", - "middle", - "bottom" - ], - "role": "info", - "editType": "layoutstyle", - "description": "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`." - }, - "pad": { - "t": { - "valType": "number", - "dflt": 0, - "role": "style", - "editType": "layoutstyle", - "description": "The amount of padding (in px) along the top of the component." - }, - "r": { - "valType": "number", - "dflt": 0, - "role": "style", - "editType": "layoutstyle", - "description": "The amount of padding (in px) on the right side of the component." - }, - "b": { - "valType": "number", - "dflt": 0, - "role": "style", - "editType": "layoutstyle", - "description": "The amount of padding (in px) along the bottom of the component." - }, - "l": { - "valType": "number", - "dflt": 0, - "role": "style", - "editType": "layoutstyle", - "description": "The amount of padding (in px) on the left side of the component." - }, - "editType": "layoutstyle", - "description": "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*.", - "role": "object" - }, - "editType": "layoutstyle", - "role": "object" - }, - "uniformtext": { - "mode": { - "valType": "enumerated", - "values": [ - false, - "hide", - "show" - ], - "dflt": false, - "role": "info", - "editType": "plot", - "description": "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." - }, - "minsize": { - "valType": "number", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "plot", - "description": "Sets the minimum text size between traces of the same type." - }, - "editType": "plot", - "role": "object" - }, - "autosize": { - "valType": "boolean", - "role": "info", - "dflt": false, - "editType": "none", - "description": "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." - }, - "width": { - "valType": "number", - "role": "info", - "min": 10, - "dflt": 700, - "editType": "plot", - "description": "Sets the plot's width (in px)." - }, - "height": { - "valType": "number", - "role": "info", - "min": 10, - "dflt": 450, - "editType": "plot", - "description": "Sets the plot's height (in px)." - }, - "margin": { - "l": { - "valType": "number", - "role": "info", - "min": 0, - "dflt": 80, - "editType": "plot", - "description": "Sets the left margin (in px)." - }, - "r": { - "valType": "number", - "role": "info", - "min": 0, - "dflt": 80, - "editType": "plot", - "description": "Sets the right margin (in px)." - }, - "t": { - "valType": "number", - "role": "info", - "min": 0, - "dflt": 100, - "editType": "plot", - "description": "Sets the top margin (in px)." - }, - "b": { - "valType": "number", - "role": "info", - "min": 0, - "dflt": 80, - "editType": "plot", - "description": "Sets the bottom margin (in px)." - }, - "pad": { - "valType": "number", - "role": "info", - "min": 0, - "dflt": 0, - "editType": "plot", - "description": "Sets the amount of padding (in px) between the plotting area and the axis lines" - }, - "autoexpand": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "plot", - "description": "Turns on/off margin expansion computations. Legends, colorbars, updatemenus, sliders, axis rangeselector and rangeslider are allowed to push the margins by defaults." - }, - "editType": "plot", - "role": "object" - }, - "computed": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "Placeholder for exporting automargin-impacting values namely `margin.t`, `margin.b`, `margin.l` and `margin.r` in *full-json* mode." - }, - "paper_bgcolor": { - "valType": "color", - "role": "style", - "dflt": "#fff", - "editType": "plot", - "description": "Sets the background color of the paper where the graph is drawn." - }, - "plot_bgcolor": { - "valType": "color", - "role": "style", - "dflt": "#fff", - "editType": "layoutstyle", - "description": "Sets the background color of the plotting area in-between x and y axes." - }, - "autotypenumbers": { - "valType": "enumerated", - "values": [ - "convert types", - "strict" - ], - "dflt": "convert types", - "role": "info", - "editType": "calc", - "description": "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." - }, - "separators": { - "valType": "string", - "role": "style", - "editType": "plot", - "description": "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." - }, - "hidesources": { - "valType": "boolean", - "role": "info", - "dflt": false, - "editType": "plot", - "description": "Determines whether or not a text link citing the data source is placed at the bottom-right cored of the figure. Has only an effect only on graphs that have been generated via forked graphs from the Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise)." - }, - "showlegend": { - "valType": "boolean", - "role": "info", - "editType": "legend", - "description": "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`." - }, - "colorway": { - "valType": "colorlist", - "dflt": [ - "#1f77b4", - "#ff7f0e", - "#2ca02c", - "#d62728", - "#9467bd", - "#8c564b", - "#e377c2", - "#7f7f7f", - "#bcbd22", - "#17becf" - ], - "role": "style", - "editType": "calc", - "description": "Sets the default trace colors." - }, - "datarevision": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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." - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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." - }, - "editrevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "Controls persistence of user-driven changes in `editable: true` configuration, other than trace names and axis titles. Defaults to `layout.uirevision`." - }, - "selectionrevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "Controls persistence of user-driven changes in selected points from all traces." - }, - "template": { - "valType": "any", - "role": "info", - "editType": "calc", - "description": "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`." - }, - "modebar": { - "orientation": { - "valType": "enumerated", - "values": [ - "v", - "h" - ], - "dflt": "h", - "role": "info", - "editType": "modebar", - "description": "Sets the orientation of the modebar." - }, - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "modebar", - "description": "Sets the background color of the modebar." - }, - "color": { - "valType": "color", - "role": "style", - "editType": "modebar", - "description": "Sets the color of the icons in the modebar." - }, - "activecolor": { - "valType": "color", - "role": "style", - "editType": "modebar", - "description": "Sets the color of the active or hovered on icons in the modebar." - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "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`." - }, - "editType": "modebar", - "role": "object" - }, - "newshape": { - "line": { - "color": { - "valType": "color", - "editType": "none", - "role": "info", - "description": "Sets the line color. By default uses either dark grey or white to increase contrast with background color." - }, - "width": { - "valType": "number", - "min": 0, - "dflt": 4, - "role": "info", - "editType": "none", - "description": "Sets the line width (in px)." - }, - "dash": { - "valType": "string", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" - ], - "dflt": "solid", - "role": "style", - "editType": "none", - "description": "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*)." - }, - "role": "object", - "editType": "none" - }, - "fillcolor": { - "valType": "color", - "dflt": "rgba(0,0,0,0)", - "role": "info", - "editType": "none", - "description": "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": { - "valType": "enumerated", - "values": [ - "evenodd", - "nonzero" - ], - "dflt": "evenodd", - "role": "info", - "editType": "none", - "description": "Determines the path's interior. For more info please visit https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule" - }, - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "dflt": 1, - "role": "info", - "editType": "none", - "description": "Sets the opacity of new shapes." - }, - "layer": { - "valType": "enumerated", - "values": [ - "below", - "above" - ], - "dflt": "above", - "role": "info", - "editType": "none", - "description": "Specifies whether new shapes are drawn below or above traces." - }, - "drawdirection": { - "valType": "enumerated", - "role": "info", - "values": [ - "ortho", - "horizontal", - "vertical", - "diagonal" - ], - "dflt": "diagonal", - "editType": "none", - "description": "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." - }, - "editType": "none", - "role": "object" - }, - "activeshape": { - "fillcolor": { - "valType": "color", - "dflt": "rgb(255,0,255)", - "role": "style", - "editType": "none", - "description": "Sets the color filling the active shape' interior." - }, - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "dflt": 0.5, - "role": "info", - "editType": "none", - "description": "Sets the opacity of the active shape." - }, - "editType": "none", - "role": "object" - }, - "meta": { - "valType": "any", - "arrayOk": true, - "role": "info", - "editType": "plot", - "description": "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]}." - }, - "transition": { - "duration": { - "valType": "number", - "role": "info", - "min": 0, - "dflt": 500, - "editType": "none", - "description": "The duration of the transition, in milliseconds. If equal to zero, updates are synchronous." - }, - "easing": { - "valType": "enumerated", - "dflt": "cubic-in-out", - "values": [ - "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" - ], - "role": "info", - "editType": "none", - "description": "The easing function used for the transition" - }, - "ordering": { - "valType": "enumerated", - "values": [ - "layout first", - "traces first" - ], - "dflt": "layout first", - "role": "info", - "editType": "none", - "description": "Determines whether the figure's layout or traces smoothly transitions during updates that make both traces and layout change." - }, - "description": "Sets transition options used during Plotly.react updates.", - "editType": "none", - "role": "object" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "editType": "layoutstyle", - "description": "Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the contents of the title, please use `title.text` now." - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "layoutstyle", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "layoutstyle" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "layoutstyle" - }, - "editType": "layoutstyle", - "description": "Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now." - } - }, - "clickmode": { - "valType": "flaglist", - "role": "info", - "flags": [ - "event", - "select" - ], - "dflt": "event", - "editType": "plot", - "extras": [ - "none" - ], - "description": "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." - }, - "dragmode": { - "valType": "enumerated", - "role": "info", - "values": [ - "zoom", - "pan", - "select", - "lasso", - "drawclosedpath", - "drawopenpath", - "drawline", - "drawrect", - "drawcircle", - "orbit", - "turntable", - false - ], - "dflt": "zoom", - "editType": "modebar", - "description": "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." - }, - "hovermode": { - "valType": "enumerated", - "role": "info", - "values": [ - "x", - "y", - "closest", - false, - "x unified", - "y unified" - ], - "editType": "modebar", - "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. If `clickmode` includes the *select* flag, `hovermode` defaults to *closest*. If `clickmode` lacks the *select* flag, it defaults to *x* or *y* (depending on the trace's `orientation` value) for plots based on cartesian coordinates. For anything else the default value is *closest*." - }, - "hoverdistance": { - "valType": "integer", - "min": -1, - "dflt": 20, - "role": "info", - "editType": "none", - "description": "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." - }, - "spikedistance": { - "valType": "integer", - "min": -1, - "dflt": 20, - "role": "info", - "editType": "none", - "description": "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." - }, - "hoverlabel": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the background color of all hover labels on graph" - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "none", - "description": "Sets the border color of all hover labels on graph." - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "none", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "dflt": "Arial, sans-serif" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "none", - "dflt": 13 - }, - "color": { - "valType": "color", - "role": "style", - "editType": "none" - }, - "editType": "none", - "description": "Sets the default hover label font used by all traces on the graph.", - "role": "object" - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ], - "dflt": "auto", - "role": "style", - "editType": "none", - "description": "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" - }, - "namelength": { - "valType": "integer", - "min": -1, - "dflt": 15, - "role": "style", - "editType": "none", - "description": "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." - }, - "editType": "none", - "role": "object" - }, - "selectdirection": { - "valType": "enumerated", - "role": "info", - "values": [ - "h", - "v", - "d", - "any" - ], - "dflt": "any", - "description": "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.", - "editType": "none" - }, - "grid": { - "rows": { - "valType": "integer", - "min": 1, - "role": "info", - "editType": "plot", - "description": "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." - }, - "roworder": { - "valType": "enumerated", - "values": [ - "top to bottom", - "bottom to top" - ], - "dflt": "top to bottom", - "role": "info", - "editType": "plot", - "description": "Is the first row the top or the bottom? Note that columns are always enumerated from left to right." - }, - "columns": { - "valType": "integer", - "min": 1, - "role": "info", - "editType": "plot", - "description": "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." - }, - "subplots": { - "valType": "info_array", - "freeLength": true, - "dimensions": 2, - "items": { - "valType": "enumerated", - "values": [ - "/^x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?$/", - "" - ], - "editType": "plot" - }, - "role": "info", - "editType": "plot", - "description": "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": { - "valType": "info_array", - "freeLength": true, - "items": { - "valType": "enumerated", - "values": [ - "/^x([2-9]|[1-9][0-9]+)?( domain)?$/", - "" - ], - "editType": "plot" - }, - "role": "info", - "editType": "plot", - "description": "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." - }, - "yaxes": { - "valType": "info_array", - "freeLength": true, - "items": { - "valType": "enumerated", - "values": [ - "/^y([2-9]|[1-9][0-9]+)?( domain)?$/", - "" - ], - "editType": "plot" - }, - "role": "info", - "editType": "plot", - "description": "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." - }, - "pattern": { - "valType": "enumerated", - "values": [ - "independent", - "coupled" - ], - "dflt": "coupled", - "role": "info", - "editType": "plot", - "description": "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`." - }, - "xgap": { - "valType": "number", - "min": 0, - "max": 1, - "role": "info", - "editType": "plot", - "description": "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." - }, - "ygap": { - "valType": "number", - "min": 0, - "max": 1, - "role": "info", - "editType": "plot", - "description": "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." - }, - "domain": { - "x": { - "valType": "info_array", - "role": "info", - "editType": "plot", - "items": [ - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "plot" - }, - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "plot" - } - ], - "dflt": [ - 0, - 1 - ], - "description": "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": { - "valType": "info_array", - "role": "info", - "editType": "plot", - "items": [ - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "plot" - }, - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "plot" - } - ], - "dflt": [ - 0, - 1 - ], - "description": "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." - }, - "editType": "plot", - "role": "object" - }, - "xside": { - "valType": "enumerated", - "values": [ - "bottom", - "bottom plot", - "top plot", - "top" - ], - "dflt": "bottom plot", - "role": "info", - "editType": "plot", - "description": "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." - }, - "yside": { - "valType": "enumerated", - "values": [ - "left", - "left plot", - "right plot", - "right" - ], - "dflt": "left plot", - "role": "info", - "editType": "plot", - "description": "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." - }, - "editType": "plot", - "role": "object" - }, - "calendar": { - "valType": "enumerated", - "values": [ - "gregorian", - "chinese", - "coptic", - "discworld", - "ethiopian", - "hebrew", - "islamic", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "jalali", - "taiwan", - "thai", - "ummalqura" - ], - "role": "info", - "editType": "calc", - "dflt": "gregorian", - "description": "Sets the default calendar system to use for interpreting and displaying dates throughout the plot." - }, - "xaxis": { - "visible": { - "valType": "boolean", - "role": "info", - "editType": "plot", - "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" - }, - "color": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "ticks", - "description": "Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "editType": "ticks", - "description": "Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated." - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "ticks", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "ticks" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "ticks" - }, - "editType": "ticks", - "description": "Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.", - "role": "object" - }, - "standoff": { - "valType": "number", - "role": "info", - "min": 0, - "editType": "ticks", - "description": "Sets the standoff distance (in px) between the axis labels and the title text The default value is a function of the axis tick labels, the title `font.size` and the axis `linewidth`. 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 on `automargin`, plotly.js will push the margins to fit the axis title at given standoff distance." - }, - "editType": "ticks", - "role": "object" - }, - "type": { - "valType": "enumerated", - "values": [ - "-", - "linear", - "log", - "date", - "category", - "multicategory" - ], - "dflt": "-", - "role": "info", - "editType": "calc", - "_noTemplating": true, - "description": "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." - }, - "autotypenumbers": { - "valType": "enumerated", - "values": [ - "convert types", - "strict" - ], - "dflt": "convert types", - "role": "info", - "editType": "calc", - "description": "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." - }, - "autorange": { - "valType": "enumerated", - "values": [ - true, - false, - "reversed" - ], - "dflt": true, - "role": "info", - "editType": "axrange", - "impliedEdits": {}, - "description": "Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided, then `autorange` is set to *false*." - }, - "rangemode": { - "valType": "enumerated", - "values": [ - "normal", - "tozero", - "nonnegative" - ], - "dflt": "normal", - "role": "info", - "editType": "plot", - "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." - }, - "range": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "axrange", - "impliedEdits": { - "^autorange": false - }, - "anim": true - }, - { - "valType": "any", - "editType": "axrange", - "impliedEdits": { - "^autorange": false - }, - "anim": true - } - ], - "editType": "axrange", - "impliedEdits": { - "autorange": false - }, - "anim": true, - "description": "Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, 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." - }, - "fixedrange": { - "valType": "boolean", - "dflt": false, - "role": "info", - "editType": "calc", - "description": "Determines whether or not this axis is zoom-able. If true, then zoom is disabled." - }, - "scaleanchor": { - "valType": "enumerated", - "values": [ - "/^x([2-9]|[1-9][0-9]+)?( domain)?$/", - "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" - ], - "role": "info", - "editType": "plot", - "description": "If set to another axis id (e.g. `x2`, `y`), the range of this axis changes together with the range of the corresponding axis such that the scale of pixels per unit is in a constant ratio. Both axes are still zoomable, but when you zoom one, the other will zoom the same amount, keeping a fixed midpoint. `constrain` and `constraintoward` determine how we enforce the constraint. You can chain these, ie `yaxis: {scaleanchor: *x*}, xaxis2: {scaleanchor: *y*}` but you can only link axes of the same `type`. The linked axis can have the opposite letter (to constrain the aspect ratio) or the same letter (to match scales across subplots). Loops (`yaxis: {scaleanchor: *x*}, xaxis: {scaleanchor: *y*}` or longer) are redundant and the last constraint encountered will be ignored to avoid possible inconsistent constraints via `scaleratio`. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden." - }, - "scaleratio": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "info", - "editType": "plot", - "description": "If this axis is linked to another by `scaleanchor`, this determines the pixel to unit scale ratio. For example, if this value is 10, then every unit on this axis spans 10 times the number of pixels as a unit on the linked axis. Use this for example to create an elevation profile where the vertical scale is exaggerated a fixed amount with respect to the horizontal." - }, - "constrain": { - "valType": "enumerated", - "values": [ - "range", - "domain" - ], - "role": "info", - "editType": "plot", - "description": "If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines how that happens: by increasing the *range*, or by decreasing the *domain*. Default is *domain* for axes containing image traces, *range* otherwise." - }, - "constraintoward": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right", - "top", - "middle", - "bottom" - ], - "role": "info", - "editType": "plot", - "description": "If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines which direction we push the originally specified plot area. Options are *left*, *center* (default), and *right* for x axes, and *top*, *middle* (default), and *bottom* for y axes." - }, - "matches": { - "valType": "enumerated", - "values": [ - "/^x([2-9]|[1-9][0-9]+)?( domain)?$/", - "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" - ], - "role": "info", - "editType": "calc", - "description": "If set to another axis id (e.g. `x2`, `y`), the range of this axis will match the range of the corresponding axis in data-coordinates space. Moreover, matching axes share auto-range values, category lists and histogram auto-bins. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden. Moreover, note that matching axes must have the same `type`." - }, - "rangebreaks": { - "items": { - "rangebreak": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "description": "Determines whether this axis rangebreak is enabled or disabled. Please note that `rangebreaks` only work for *date* axis type." - }, - "bounds": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "calc" - }, - { - "valType": "any", - "editType": "calc" - } - ], - "editType": "calc", - "description": "Sets the lower and upper bounds of this axis rangebreak. Can be used with `pattern`." - }, - "pattern": { - "valType": "enumerated", - "values": [ - "day of week", - "hour", - "" - ], - "role": "info", - "editType": "calc", - "description": "Determines a pattern on the time line that generates breaks. If *day of week* - days of the week in English e.g. 'Sunday' or `sun` (matching is case-insensitive and considers only the first three characters), as well as Sunday-based integers between 0 and 6. If *hour* - hour (24-hour clock) as decimal numbers between 0 and 24. for more info. Examples: - { pattern: 'day of week', bounds: [6, 1] } or simply { bounds: ['sat', 'mon'] } breaks from Saturday to Monday (i.e. skips the weekends). - { pattern: 'hour', bounds: [17, 8] } breaks from 5pm to 8am (i.e. skips non-work hours)." - }, - "values": { - "valType": "info_array", - "freeLength": true, - "role": "info", - "editType": "calc", - "items": { - "valType": "any", - "editType": "calc" - }, - "description": "Sets the coordinate values corresponding to the rangebreaks. An alternative to `bounds`. Use `dvalue` to set the size of the values along the axis." - }, - "dvalue": { - "valType": "number", - "role": "info", - "editType": "calc", - "min": 0, - "dflt": 86400000, - "description": "Sets the size of each `values` item. The default is one day in milliseconds." - }, - "editType": "calc", - "name": { - "valType": "string", - "role": "style", - "editType": "none", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "ticks", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "ticks", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "ticks", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "ticks", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "ticks", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "ticks", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "ticks", - "description": "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." - }, - "tickson": { - "valType": "enumerated", - "values": [ - "labels", - "boundaries" - ], - "role": "info", - "dflt": "labels", - "editType": "ticks", - "description": "Determines where ticks and grid lines are drawn with respect to their corresponding tick labels. Only has an effect for axes of `type` *category* or *multicategory*. When set to *boundaries*, ticks and grid lines are drawn half a category to the left/bottom of labels." - }, - "ticklabelmode": { - "valType": "enumerated", - "values": [ - "instant", - "period" - ], - "dflt": "instant", - "role": "info", - "editType": "ticks", - "description": "Determines where tick labels are drawn with respect to their corresponding ticks and grid lines. Only has an effect for axes of `type` *date* When set to *period*, tick labels are drawn in the middle of the period between ticks." - }, - "ticklabelposition": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside left", - "inside left", - "outside right", - "inside right", - "outside bottom", - "inside bottom" - ], - "dflt": "outside", - "role": "info", - "editType": "calc", - "description": "Determines where tick labels are drawn with respect to the axis Please note that top or bottom has no effect on x axes or when `ticklabelmode` is set to *period*. Similarly left or right has no effect on y axes or when `ticklabelmode` is set to *period*. Has no effect on *multicategory* axes or when `tickson` is set to *boundaries*. When used on axes linked by `matches` or `scaleanchor`, no extra padding for inside labels would be added by autorange, so that the scales could match." - }, - "mirror": { - "valType": "enumerated", - "values": [ - true, - "ticks", - false, - "all", - "allticks" - ], - "dflt": false, - "role": "style", - "editType": "ticks+layoutstyle", - "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." - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "ticks", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "ticks", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "ticks", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "ticks", - "description": "Determines whether or not the tick labels are drawn." - }, - "automargin": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "ticks", - "description": "Determines whether long tick labels automatically grow the figure margins." - }, - "showspikes": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "modebar", - "description": "Determines whether or not spikes (aka droplines) are drawn for this axis. Note: This only takes affect when hovermode = closest" - }, - "spikecolor": { - "valType": "color", - "dflt": null, - "role": "style", - "editType": "none", - "description": "Sets the spike color. If undefined, will use the series color" - }, - "spikethickness": { - "valType": "number", - "dflt": 3, - "role": "style", - "editType": "none", - "description": "Sets the width (in px) of the zero line." - }, - "spikedash": { - "valType": "string", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" - ], - "dflt": "dash", - "role": "style", - "editType": "none", - "description": "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*)." - }, - "spikemode": { - "valType": "flaglist", - "flags": [ - "toaxis", - "across", - "marker" - ], - "role": "style", - "dflt": "toaxis", - "editType": "none", - "description": "Determines the drawing mode for the spike line If *toaxis*, the line is drawn from the data point to the axis the series is plotted on. If *across*, the line is drawn across the entire plot area, and supercedes *toaxis*. If *marker*, then a marker dot is drawn on the axis the series is plotted on" - }, - "spikesnap": { - "valType": "enumerated", - "values": [ - "data", - "cursor", - "hovered data" - ], - "dflt": "data", - "role": "style", - "editType": "none", - "description": "Determines whether spikelines are stuck to the cursor or to the closest datapoints." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "ticks", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "ticks" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "ticks" - }, - "editType": "ticks", - "description": "Sets the tick font.", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "ticks", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "ticks", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "ticks", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "ticks", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "ticks", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "ticks", - "description": "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." - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "ticks", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "ticks", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "ticks", - "description": "If \"true\", even 4-digit integers are separated" - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "ticks", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "ticks", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "ticks" - }, - { - "valType": "any", - "editType": "ticks" - } - ], - "editType": "ticks", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "ticks", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "ticks", - "name": { - "valType": "string", - "role": "style", - "editType": "none", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "hoverformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "none", - "description": "Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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*" - }, - "showline": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "ticks+layoutstyle", - "description": "Determines whether or not a line bounding this axis is drawn." - }, - "linecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "layoutstyle", - "description": "Sets the axis line color." - }, - "linewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "ticks+layoutstyle", - "description": "Sets the width (in px) of the axis line." - }, - "showgrid": { - "valType": "boolean", - "role": "style", - "editType": "ticks", - "description": "Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark." - }, - "gridcolor": { - "valType": "color", - "dflt": "#eee", - "role": "style", - "editType": "ticks", - "description": "Sets the color of the grid lines." - }, - "gridwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "ticks", - "description": "Sets the width (in px) of the grid lines." - }, - "zeroline": { - "valType": "boolean", - "role": "style", - "editType": "ticks", - "description": "Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines." - }, - "zerolinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "ticks", - "description": "Sets the line color of the zero line." - }, - "zerolinewidth": { - "valType": "number", - "dflt": 1, - "role": "style", - "editType": "ticks", - "description": "Sets the width (in px) of the zero line." - }, - "showdividers": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "ticks", - "description": "Determines whether or not a dividers are drawn between the category levels of this axis. Only has an effect on *multicategory* axes." - }, - "dividercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "ticks", - "description": "Sets the color of the dividers Only has an effect on *multicategory* axes." - }, - "dividerwidth": { - "valType": "number", - "dflt": 1, - "role": "style", - "editType": "ticks", - "description": "Sets the width (in px) of the dividers Only has an effect on *multicategory* axes." - }, - "anchor": { - "valType": "enumerated", - "values": [ - "free", - "/^x([2-9]|[1-9][0-9]+)?( domain)?$/", - "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" - ], - "role": "info", - "editType": "plot", - "description": "If set to an opposite-letter axis id (e.g. `x2`, `y`), this axis is bound to the corresponding opposite-letter axis. If set to *free*, this axis' position is determined by `position`." - }, - "side": { - "valType": "enumerated", - "values": [ - "top", - "bottom", - "left", - "right" - ], - "role": "info", - "editType": "plot", - "description": "Determines whether a x (y) axis is positioned at the *bottom* (*left*) or *top* (*right*) of the plotting area." - }, - "overlaying": { - "valType": "enumerated", - "values": [ - "free", - "/^x([2-9]|[1-9][0-9]+)?( domain)?$/", - "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" - ], - "role": "info", - "editType": "plot", - "description": "If set a same-letter axis id, this axis is overlaid on top of the corresponding same-letter axis, with traces and axes visible for both axes. If *false*, this axis does not overlay any same-letter axes. In this case, for axes with overlapping domains only the highest-numbered axis will be visible." - }, - "layer": { - "valType": "enumerated", - "values": [ - "above traces", - "below traces" - ], - "dflt": "above traces", - "role": "info", - "editType": "plot", - "description": "Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis." - }, - "domain": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "plot" - }, - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "plot" - } - ], - "dflt": [ - 0, - 1 - ], - "editType": "plot", - "description": "Sets the domain of this axis (in plot fraction)." - }, - "position": { - "valType": "number", - "min": 0, - "max": 1, - "dflt": 0, - "role": "style", - "editType": "plot", - "description": "Sets the position of this axis in the plotting space (in normalized coordinates). Only has an effect if `anchor` is set to *free*." - }, - "categoryorder": { - "valType": "enumerated", - "values": [ - "trace", - "category ascending", - "category descending", - "array", - "total ascending", - "total descending", - "min ascending", - "min descending", - "max ascending", - "max descending", - "sum ascending", - "sum descending", - "mean ascending", - "mean descending", - "median ascending", - "median descending" - ], - "dflt": "trace", - "role": "info", - "editType": "calc", - "description": "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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values." - }, - "categoryarray": { - "valType": "data_array", - "role": "data", - "editType": "calc", - "description": "Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`." - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "Controls persistence of user-driven changes in axis `range`, `autorange`, and `title` if in `editable: true` configuration. Defaults to `layout.uirevision`." - }, - "editType": "calc", - "_deprecated": { - "autotick": { - "valType": "boolean", - "role": "info", - "editType": "ticks", - "description": "Obsolete. Set `tickmode` to *auto* for old `autotick` *true* behavior. Set `tickmode` to *linear* for `autotick` *false*." - }, - "title": { - "valType": "string", - "role": "info", - "editType": "ticks", - "description": "Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now." - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "ticks", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "ticks" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "ticks" - }, - "editType": "ticks", - "description": "Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now." - } - }, - "rangeslider": { - "bgcolor": { - "valType": "color", - "dflt": "#fff", - "role": "style", - "editType": "plot", - "description": "Sets the background color of the range slider." - }, - "bordercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "plot", - "description": "Sets the border color of the range slider." - }, - "borderwidth": { - "valType": "integer", - "dflt": 0, - "min": 0, - "role": "style", - "editType": "plot", - "description": "Sets the border width of the range slider." - }, - "autorange": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "calc", - "impliedEdits": {}, - "description": "Determines whether or not the range slider range is computed in relation to the input data. If `range` is provided, then `autorange` is set to *false*." - }, - "range": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "calc", - "impliedEdits": { - "^autorange": false - } - }, - { - "valType": "any", - "editType": "calc", - "impliedEdits": { - "^autorange": false - } - } - ], - "editType": "calc", - "impliedEdits": { - "autorange": false - }, - "description": "Sets the range of the range slider. If not set, defaults to the full xaxis range. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears." - }, - "thickness": { - "valType": "number", - "dflt": 0.15, - "min": 0, - "max": 1, - "role": "style", - "editType": "plot", - "description": "The height of the range slider as a fraction of the total plot area height." - }, - "visible": { - "valType": "boolean", - "dflt": true, - "role": "info", - "editType": "calc", - "description": "Determines whether or not the range slider will be visible. If visible, perpendicular axes will be set to `fixedrange`" - }, - "editType": "calc", - "yaxis": { - "_isSubplotObj": true, - "rangemode": { - "valType": "enumerated", - "values": [ - "auto", - "fixed", - "match" - ], - "dflt": "match", - "role": "style", - "editType": "calc", - "description": "Determines whether or not the range of this axis in the rangeslider use the same value than in the main plot when zooming in/out. If *auto*, the autorange will be used. If *fixed*, the `range` is used. If *match*, the current range of the corresponding y-axis on the main subplot is used." - }, - "range": { - "valType": "info_array", - "role": "style", - "items": [ - { - "valType": "any", - "editType": "plot" - }, - { - "valType": "any", - "editType": "plot" - } - ], - "editType": "plot", - "description": "Sets the range of this axis for the rangeslider." - }, - "editType": "calc", - "role": "object" - }, - "role": "object" - }, - "rangeselector": { - "visible": { - "valType": "boolean", - "role": "info", - "editType": "plot", - "description": "Determines whether or not this range selector is visible. Note that range selectors are only available for x axes of `type` set to or auto-typed to *date*." - }, - "buttons": { - "items": { - "button": { - "visible": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "plot", - "description": "Determines whether or not this button is visible." - }, - "step": { - "valType": "enumerated", - "role": "info", - "values": [ - "month", - "year", - "day", - "hour", - "minute", - "second", - "all" - ], - "dflt": "month", - "editType": "plot", - "description": "The unit of measurement that the `count` value will set the range by." - }, - "stepmode": { - "valType": "enumerated", - "role": "info", - "values": [ - "backward", - "todate" - ], - "dflt": "backward", - "editType": "plot", - "description": "Sets the range update mode. If *backward*, the range update shifts the start of range back *count* times *step* milliseconds. If *todate*, the range update shifts the start of range back to the first timestamp from *count* times *step* milliseconds back. For example, with `step` set to *year* and `count` set to *1* the range update shifts the start of the range back to January 01 of the current year. Month and year *todate* are currently available only for the built-in (Gregorian) calendar." - }, - "count": { - "valType": "number", - "role": "info", - "min": 0, - "dflt": 1, - "editType": "plot", - "description": "Sets the number of steps to take to update the range. Use with `step` to specify the update interval." - }, - "label": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Sets the text label to appear on the button." - }, - "editType": "plot", - "description": "Sets the specifications for each buttons. By default, a range selector comes with no buttons.", - "name": { - "valType": "string", - "role": "style", - "editType": "none", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "x": { - "valType": "number", - "min": -2, - "max": 3, - "role": "style", - "editType": "plot", - "description": "Sets the x position (in normalized coordinates) of the range selector." - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "auto", - "left", - "center", - "right" - ], - "dflt": "left", - "role": "info", - "editType": "plot", - "description": "Sets the range selector's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the range selector." - }, - "y": { - "valType": "number", - "min": -2, - "max": 3, - "role": "style", - "editType": "plot", - "description": "Sets the y position (in normalized coordinates) of the range selector." - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "auto", - "top", - "middle", - "bottom" - ], - "dflt": "bottom", - "role": "info", - "editType": "plot", - "description": "Sets the range selector's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the range selector." - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot" - }, - "editType": "plot", - "description": "Sets the font of the range selector button text.", - "role": "object" - }, - "bgcolor": { - "valType": "color", - "dflt": "#eee", - "role": "style", - "editType": "plot", - "description": "Sets the background color of the range selector buttons." - }, - "activecolor": { - "valType": "color", - "role": "style", - "editType": "plot", - "description": "Sets the background color of the active range selector button." - }, - "bordercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "plot", - "description": "Sets the color of the border enclosing the range selector." - }, - "borderwidth": { - "valType": "number", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "plot", - "description": "Sets the width (in px) of the border enclosing the range selector." - }, - "editType": "plot", - "role": "object" - }, - "calendar": { - "valType": "enumerated", - "values": [ - "gregorian", - "chinese", - "coptic", - "discworld", - "ethiopian", - "hebrew", - "islamic", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "jalali", - "taiwan", - "thai", - "ummalqura" - ], - "role": "info", - "editType": "calc", - "dflt": "gregorian", - "description": "Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`" - }, - "_isSubplotObj": true, - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - }, - "categoryarraysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for categoryarray .", - "editType": "none" - } - }, - "yaxis": { - "visible": { - "valType": "boolean", - "role": "info", - "editType": "plot", - "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" - }, - "color": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "ticks", - "description": "Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "editType": "ticks", - "description": "Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated." - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "ticks", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "ticks" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "ticks" - }, - "editType": "ticks", - "description": "Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.", - "role": "object" - }, - "standoff": { - "valType": "number", - "role": "info", - "min": 0, - "editType": "ticks", - "description": "Sets the standoff distance (in px) between the axis labels and the title text The default value is a function of the axis tick labels, the title `font.size` and the axis `linewidth`. 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 on `automargin`, plotly.js will push the margins to fit the axis title at given standoff distance." - }, - "editType": "ticks", - "role": "object" - }, - "type": { - "valType": "enumerated", - "values": [ - "-", - "linear", - "log", - "date", - "category", - "multicategory" - ], - "dflt": "-", - "role": "info", - "editType": "calc", - "_noTemplating": true, - "description": "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." - }, - "autotypenumbers": { - "valType": "enumerated", - "values": [ - "convert types", - "strict" - ], - "dflt": "convert types", - "role": "info", - "editType": "calc", - "description": "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." - }, - "autorange": { - "valType": "enumerated", - "values": [ - true, - false, - "reversed" - ], - "dflt": true, - "role": "info", - "editType": "axrange", - "impliedEdits": {}, - "description": "Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided, then `autorange` is set to *false*." - }, - "rangemode": { - "valType": "enumerated", - "values": [ - "normal", - "tozero", - "nonnegative" - ], - "dflt": "normal", - "role": "info", - "editType": "plot", - "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." - }, - "range": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "axrange", - "impliedEdits": { - "^autorange": false - }, - "anim": true - }, - { - "valType": "any", - "editType": "axrange", - "impliedEdits": { - "^autorange": false - }, - "anim": true - } - ], - "editType": "axrange", - "impliedEdits": { - "autorange": false - }, - "anim": true, - "description": "Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, 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." - }, - "fixedrange": { - "valType": "boolean", - "dflt": false, - "role": "info", - "editType": "calc", - "description": "Determines whether or not this axis is zoom-able. If true, then zoom is disabled." - }, - "scaleanchor": { - "valType": "enumerated", - "values": [ - "/^x([2-9]|[1-9][0-9]+)?( domain)?$/", - "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" - ], - "role": "info", - "editType": "plot", - "description": "If set to another axis id (e.g. `x2`, `y`), the range of this axis changes together with the range of the corresponding axis such that the scale of pixels per unit is in a constant ratio. Both axes are still zoomable, but when you zoom one, the other will zoom the same amount, keeping a fixed midpoint. `constrain` and `constraintoward` determine how we enforce the constraint. You can chain these, ie `yaxis: {scaleanchor: *x*}, xaxis2: {scaleanchor: *y*}` but you can only link axes of the same `type`. The linked axis can have the opposite letter (to constrain the aspect ratio) or the same letter (to match scales across subplots). Loops (`yaxis: {scaleanchor: *x*}, xaxis: {scaleanchor: *y*}` or longer) are redundant and the last constraint encountered will be ignored to avoid possible inconsistent constraints via `scaleratio`. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden." - }, - "scaleratio": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "info", - "editType": "plot", - "description": "If this axis is linked to another by `scaleanchor`, this determines the pixel to unit scale ratio. For example, if this value is 10, then every unit on this axis spans 10 times the number of pixels as a unit on the linked axis. Use this for example to create an elevation profile where the vertical scale is exaggerated a fixed amount with respect to the horizontal." - }, - "constrain": { - "valType": "enumerated", - "values": [ - "range", - "domain" - ], - "role": "info", - "editType": "plot", - "description": "If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines how that happens: by increasing the *range*, or by decreasing the *domain*. Default is *domain* for axes containing image traces, *range* otherwise." - }, - "constraintoward": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right", - "top", - "middle", - "bottom" - ], - "role": "info", - "editType": "plot", - "description": "If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines which direction we push the originally specified plot area. Options are *left*, *center* (default), and *right* for x axes, and *top*, *middle* (default), and *bottom* for y axes." - }, - "matches": { - "valType": "enumerated", - "values": [ - "/^x([2-9]|[1-9][0-9]+)?( domain)?$/", - "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" - ], - "role": "info", - "editType": "calc", - "description": "If set to another axis id (e.g. `x2`, `y`), the range of this axis will match the range of the corresponding axis in data-coordinates space. Moreover, matching axes share auto-range values, category lists and histogram auto-bins. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden. Moreover, note that matching axes must have the same `type`." - }, - "rangebreaks": { - "items": { - "rangebreak": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "description": "Determines whether this axis rangebreak is enabled or disabled. Please note that `rangebreaks` only work for *date* axis type." - }, - "bounds": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "calc" - }, - { - "valType": "any", - "editType": "calc" - } - ], - "editType": "calc", - "description": "Sets the lower and upper bounds of this axis rangebreak. Can be used with `pattern`." - }, - "pattern": { - "valType": "enumerated", - "values": [ - "day of week", - "hour", - "" - ], - "role": "info", - "editType": "calc", - "description": "Determines a pattern on the time line that generates breaks. If *day of week* - days of the week in English e.g. 'Sunday' or `sun` (matching is case-insensitive and considers only the first three characters), as well as Sunday-based integers between 0 and 6. If *hour* - hour (24-hour clock) as decimal numbers between 0 and 24. for more info. Examples: - { pattern: 'day of week', bounds: [6, 1] } or simply { bounds: ['sat', 'mon'] } breaks from Saturday to Monday (i.e. skips the weekends). - { pattern: 'hour', bounds: [17, 8] } breaks from 5pm to 8am (i.e. skips non-work hours)." - }, - "values": { - "valType": "info_array", - "freeLength": true, - "role": "info", - "editType": "calc", - "items": { - "valType": "any", - "editType": "calc" - }, - "description": "Sets the coordinate values corresponding to the rangebreaks. An alternative to `bounds`. Use `dvalue` to set the size of the values along the axis." - }, - "dvalue": { - "valType": "number", - "role": "info", - "editType": "calc", - "min": 0, - "dflt": 86400000, - "description": "Sets the size of each `values` item. The default is one day in milliseconds." - }, - "editType": "calc", - "name": { - "valType": "string", - "role": "style", - "editType": "none", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "ticks", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "ticks", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "ticks", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "ticks", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "ticks", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "ticks", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "ticks", - "description": "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." - }, - "tickson": { - "valType": "enumerated", - "values": [ - "labels", - "boundaries" - ], - "role": "info", - "dflt": "labels", - "editType": "ticks", - "description": "Determines where ticks and grid lines are drawn with respect to their corresponding tick labels. Only has an effect for axes of `type` *category* or *multicategory*. When set to *boundaries*, ticks and grid lines are drawn half a category to the left/bottom of labels." - }, - "ticklabelmode": { - "valType": "enumerated", - "values": [ - "instant", - "period" - ], - "dflt": "instant", - "role": "info", - "editType": "ticks", - "description": "Determines where tick labels are drawn with respect to their corresponding ticks and grid lines. Only has an effect for axes of `type` *date* When set to *period*, tick labels are drawn in the middle of the period between ticks." - }, - "ticklabelposition": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside left", - "inside left", - "outside right", - "inside right", - "outside bottom", - "inside bottom" - ], - "dflt": "outside", - "role": "info", - "editType": "calc", - "description": "Determines where tick labels are drawn with respect to the axis Please note that top or bottom has no effect on x axes or when `ticklabelmode` is set to *period*. Similarly left or right has no effect on y axes or when `ticklabelmode` is set to *period*. Has no effect on *multicategory* axes or when `tickson` is set to *boundaries*. When used on axes linked by `matches` or `scaleanchor`, no extra padding for inside labels would be added by autorange, so that the scales could match." - }, - "mirror": { - "valType": "enumerated", - "values": [ - true, - "ticks", - false, - "all", - "allticks" - ], - "dflt": false, - "role": "style", - "editType": "ticks+layoutstyle", - "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." - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "ticks", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "ticks", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "ticks", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "ticks", - "description": "Determines whether or not the tick labels are drawn." - }, - "automargin": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "ticks", - "description": "Determines whether long tick labels automatically grow the figure margins." - }, - "showspikes": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "modebar", - "description": "Determines whether or not spikes (aka droplines) are drawn for this axis. Note: This only takes affect when hovermode = closest" - }, - "spikecolor": { - "valType": "color", - "dflt": null, - "role": "style", - "editType": "none", - "description": "Sets the spike color. If undefined, will use the series color" - }, - "spikethickness": { - "valType": "number", - "dflt": 3, - "role": "style", - "editType": "none", - "description": "Sets the width (in px) of the zero line." - }, - "spikedash": { - "valType": "string", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" - ], - "dflt": "dash", - "role": "style", - "editType": "none", - "description": "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*)." - }, - "spikemode": { - "valType": "flaglist", - "flags": [ - "toaxis", - "across", - "marker" - ], - "role": "style", - "dflt": "toaxis", - "editType": "none", - "description": "Determines the drawing mode for the spike line If *toaxis*, the line is drawn from the data point to the axis the series is plotted on. If *across*, the line is drawn across the entire plot area, and supercedes *toaxis*. If *marker*, then a marker dot is drawn on the axis the series is plotted on" - }, - "spikesnap": { - "valType": "enumerated", - "values": [ - "data", - "cursor", - "hovered data" - ], - "dflt": "data", - "role": "style", - "editType": "none", - "description": "Determines whether spikelines are stuck to the cursor or to the closest datapoints." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "ticks", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "ticks" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "ticks" - }, - "editType": "ticks", - "description": "Sets the tick font.", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "ticks", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "ticks", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "ticks", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "ticks", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "ticks", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "ticks", - "description": "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." - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "ticks", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "ticks", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "ticks", - "description": "If \"true\", even 4-digit integers are separated" - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "ticks", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "ticks", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "ticks" - }, - { - "valType": "any", - "editType": "ticks" - } - ], - "editType": "ticks", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "ticks", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "ticks", - "name": { - "valType": "string", - "role": "style", - "editType": "none", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "hoverformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "none", - "description": "Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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*" - }, - "showline": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "ticks+layoutstyle", - "description": "Determines whether or not a line bounding this axis is drawn." - }, - "linecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "layoutstyle", - "description": "Sets the axis line color." - }, - "linewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "ticks+layoutstyle", - "description": "Sets the width (in px) of the axis line." - }, - "showgrid": { - "valType": "boolean", - "role": "style", - "editType": "ticks", - "description": "Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark." - }, - "gridcolor": { - "valType": "color", - "dflt": "#eee", - "role": "style", - "editType": "ticks", - "description": "Sets the color of the grid lines." - }, - "gridwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "ticks", - "description": "Sets the width (in px) of the grid lines." - }, - "zeroline": { - "valType": "boolean", - "role": "style", - "editType": "ticks", - "description": "Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines." - }, - "zerolinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "ticks", - "description": "Sets the line color of the zero line." - }, - "zerolinewidth": { - "valType": "number", - "dflt": 1, - "role": "style", - "editType": "ticks", - "description": "Sets the width (in px) of the zero line." - }, - "showdividers": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "ticks", - "description": "Determines whether or not a dividers are drawn between the category levels of this axis. Only has an effect on *multicategory* axes." - }, - "dividercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "ticks", - "description": "Sets the color of the dividers Only has an effect on *multicategory* axes." - }, - "dividerwidth": { - "valType": "number", - "dflt": 1, - "role": "style", - "editType": "ticks", - "description": "Sets the width (in px) of the dividers Only has an effect on *multicategory* axes." - }, - "anchor": { - "valType": "enumerated", - "values": [ - "free", - "/^x([2-9]|[1-9][0-9]+)?( domain)?$/", - "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" - ], - "role": "info", - "editType": "plot", - "description": "If set to an opposite-letter axis id (e.g. `x2`, `y`), this axis is bound to the corresponding opposite-letter axis. If set to *free*, this axis' position is determined by `position`." - }, - "side": { - "valType": "enumerated", - "values": [ - "top", - "bottom", - "left", - "right" - ], - "role": "info", - "editType": "plot", - "description": "Determines whether a x (y) axis is positioned at the *bottom* (*left*) or *top* (*right*) of the plotting area." - }, - "overlaying": { - "valType": "enumerated", - "values": [ - "free", - "/^x([2-9]|[1-9][0-9]+)?( domain)?$/", - "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" - ], - "role": "info", - "editType": "plot", - "description": "If set a same-letter axis id, this axis is overlaid on top of the corresponding same-letter axis, with traces and axes visible for both axes. If *false*, this axis does not overlay any same-letter axes. In this case, for axes with overlapping domains only the highest-numbered axis will be visible." - }, - "layer": { - "valType": "enumerated", - "values": [ - "above traces", - "below traces" - ], - "dflt": "above traces", - "role": "info", - "editType": "plot", - "description": "Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis." - }, - "domain": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "plot" - }, - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "plot" - } - ], - "dflt": [ - 0, - 1 - ], - "editType": "plot", - "description": "Sets the domain of this axis (in plot fraction)." - }, - "position": { - "valType": "number", - "min": 0, - "max": 1, - "dflt": 0, - "role": "style", - "editType": "plot", - "description": "Sets the position of this axis in the plotting space (in normalized coordinates). Only has an effect if `anchor` is set to *free*." - }, - "categoryorder": { - "valType": "enumerated", - "values": [ - "trace", - "category ascending", - "category descending", - "array", - "total ascending", - "total descending", - "min ascending", - "min descending", - "max ascending", - "max descending", - "sum ascending", - "sum descending", - "mean ascending", - "mean descending", - "median ascending", - "median descending" - ], - "dflt": "trace", - "role": "info", - "editType": "calc", - "description": "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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values." - }, - "categoryarray": { - "valType": "data_array", - "role": "data", - "editType": "calc", - "description": "Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`." - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "Controls persistence of user-driven changes in axis `range`, `autorange`, and `title` if in `editable: true` configuration. Defaults to `layout.uirevision`." - }, - "editType": "calc", - "_deprecated": { - "autotick": { - "valType": "boolean", - "role": "info", - "editType": "ticks", - "description": "Obsolete. Set `tickmode` to *auto* for old `autotick` *true* behavior. Set `tickmode` to *linear* for `autotick` *false*." - }, - "title": { - "valType": "string", - "role": "info", - "editType": "ticks", - "description": "Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now." - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "ticks", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "ticks" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "ticks" - }, - "editType": "ticks", - "description": "Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now." - } - }, - "calendar": { - "valType": "enumerated", - "values": [ - "gregorian", - "chinese", - "coptic", - "discworld", - "ethiopian", - "hebrew", - "islamic", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "jalali", - "taiwan", - "thai", - "ummalqura" - ], - "role": "info", - "editType": "calc", - "dflt": "gregorian", - "description": "Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`" - }, - "_isSubplotObj": true, - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - }, - "categoryarraysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for categoryarray .", - "editType": "none" - } - }, - "ternary": { - "domain": { - "x": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "plot" - }, - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "plot" - } - ], - "dflt": [ - 0, - 1 - ], - "description": "Sets the horizontal domain of this ternary subplot (in plot fraction).", - "editType": "plot" - }, - "y": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "plot" - }, - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "plot" - } - ], - "dflt": [ - 0, - 1 - ], - "description": "Sets the vertical domain of this ternary subplot (in plot fraction).", - "editType": "plot" - }, - "row": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "description": "If there is a layout grid, use the domain for this row in the grid for this ternary subplot .", - "editType": "plot" - }, - "column": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "description": "If there is a layout grid, use the domain for this column in the grid for this ternary subplot .", - "editType": "plot" - }, - "editType": "plot", - "role": "object" - }, - "bgcolor": { - "valType": "color", - "role": "style", - "dflt": "#fff", - "description": "Set the background color of the subplot", - "editType": "plot" - }, - "sum": { - "valType": "number", - "role": "info", - "dflt": 1, - "min": 0, - "description": "The number each triplet should sum to, and the maximum range of each axis", - "editType": "plot" - }, - "aaxis": { - "title": { - "text": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated." - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot" - }, - "editType": "plot", - "description": "Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.", - "role": "object" - }, - "editType": "plot", - "role": "object" - }, - "color": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "plot", - "description": "Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this." - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "plot", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 1, - "dflt": 6, - "role": "style", - "editType": "plot", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "plot", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "plot", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "plot", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "plot", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "plot", - "description": "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." - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "plot", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "plot", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "plot", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "plot", - "description": "Determines whether or not the tick labels are drawn." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "plot", - "description": "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." - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "Sets a tick label prefix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "plot", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "Sets a tick label suffix." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "plot", - "description": "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." - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "plot", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "plot", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "plot", - "description": "If \"true\", even 4-digit integers are separated" - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot" - }, - "editType": "plot", - "description": "Sets the tick font.", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "plot", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "plot", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "plot" - }, - { - "valType": "any", - "editType": "plot" - } - ], - "editType": "plot", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "plot", - "name": { - "valType": "string", - "role": "style", - "editType": "plot", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "hoverformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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*" - }, - "showline": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "plot", - "description": "Determines whether or not a line bounding this axis is drawn." - }, - "linecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "plot", - "description": "Sets the axis line color." - }, - "linewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "plot", - "description": "Sets the width (in px) of the axis line." - }, - "showgrid": { - "valType": "boolean", - "role": "style", - "editType": "plot", - "description": "Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.", - "dflt": true - }, - "gridcolor": { - "valType": "color", - "dflt": "#eee", - "role": "style", - "editType": "plot", - "description": "Sets the color of the grid lines." - }, - "gridwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "plot", - "description": "Sets the width (in px) of the grid lines." - }, - "layer": { - "valType": "enumerated", - "values": [ - "above traces", - "below traces" - ], - "dflt": "above traces", - "role": "info", - "editType": "plot", - "description": "Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis." - }, - "min": { - "valType": "number", - "dflt": 0, - "role": "info", - "min": 0, - "description": "The minimum value visible on this axis. The maximum is determined by the sum minus the minimum values of the other two axes. The full view corresponds to all the minima set to zero.", - "editType": "plot" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now." - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot" - }, - "editType": "plot", - "description": "Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now." - } - }, - "editType": "plot", - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "Controls persistence of user-driven changes in axis `min`, and `title` if in `editable: true` configuration. Defaults to `ternary.uirevision`." - }, - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "baxis": { - "title": { - "text": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated." - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot" - }, - "editType": "plot", - "description": "Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.", - "role": "object" - }, - "editType": "plot", - "role": "object" - }, - "color": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "plot", - "description": "Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this." - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "plot", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 1, - "dflt": 6, - "role": "style", - "editType": "plot", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "plot", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "plot", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "plot", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "plot", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "plot", - "description": "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." - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "plot", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "plot", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "plot", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "plot", - "description": "Determines whether or not the tick labels are drawn." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "plot", - "description": "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." - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "Sets a tick label prefix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "plot", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "Sets a tick label suffix." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "plot", - "description": "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." - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "plot", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "plot", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "plot", - "description": "If \"true\", even 4-digit integers are separated" - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot" - }, - "editType": "plot", - "description": "Sets the tick font.", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "plot", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "plot", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "plot" - }, - { - "valType": "any", - "editType": "plot" - } - ], - "editType": "plot", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "plot", - "name": { - "valType": "string", - "role": "style", - "editType": "plot", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "hoverformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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*" - }, - "showline": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "plot", - "description": "Determines whether or not a line bounding this axis is drawn." - }, - "linecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "plot", - "description": "Sets the axis line color." - }, - "linewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "plot", - "description": "Sets the width (in px) of the axis line." - }, - "showgrid": { - "valType": "boolean", - "role": "style", - "editType": "plot", - "description": "Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.", - "dflt": true - }, - "gridcolor": { - "valType": "color", - "dflt": "#eee", - "role": "style", - "editType": "plot", - "description": "Sets the color of the grid lines." - }, - "gridwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "plot", - "description": "Sets the width (in px) of the grid lines." - }, - "layer": { - "valType": "enumerated", - "values": [ - "above traces", - "below traces" - ], - "dflt": "above traces", - "role": "info", - "editType": "plot", - "description": "Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis." - }, - "min": { - "valType": "number", - "dflt": 0, - "role": "info", - "min": 0, - "description": "The minimum value visible on this axis. The maximum is determined by the sum minus the minimum values of the other two axes. The full view corresponds to all the minima set to zero.", - "editType": "plot" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now." - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot" - }, - "editType": "plot", - "description": "Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now." - } - }, - "editType": "plot", - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "Controls persistence of user-driven changes in axis `min`, and `title` if in `editable: true` configuration. Defaults to `ternary.uirevision`." - }, - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "caxis": { - "title": { - "text": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated." - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot" - }, - "editType": "plot", - "description": "Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.", - "role": "object" - }, - "editType": "plot", - "role": "object" - }, - "color": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "plot", - "description": "Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this." - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "plot", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 1, - "dflt": 6, - "role": "style", - "editType": "plot", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "plot", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "plot", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "plot", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "plot", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "plot", - "description": "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." - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "plot", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "plot", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "plot", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "plot", - "description": "Determines whether or not the tick labels are drawn." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "plot", - "description": "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." - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "Sets a tick label prefix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "plot", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "Sets a tick label suffix." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "plot", - "description": "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." - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "plot", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "plot", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "plot", - "description": "If \"true\", even 4-digit integers are separated" - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot" - }, - "editType": "plot", - "description": "Sets the tick font.", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "plot", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "plot", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "plot" - }, - { - "valType": "any", - "editType": "plot" - } - ], - "editType": "plot", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "plot", - "name": { - "valType": "string", - "role": "style", - "editType": "plot", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "hoverformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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*" - }, - "showline": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "plot", - "description": "Determines whether or not a line bounding this axis is drawn." - }, - "linecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "plot", - "description": "Sets the axis line color." - }, - "linewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "plot", - "description": "Sets the width (in px) of the axis line." - }, - "showgrid": { - "valType": "boolean", - "role": "style", - "editType": "plot", - "description": "Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.", - "dflt": true - }, - "gridcolor": { - "valType": "color", - "dflt": "#eee", - "role": "style", - "editType": "plot", - "description": "Sets the color of the grid lines." - }, - "gridwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "plot", - "description": "Sets the width (in px) of the grid lines." - }, - "layer": { - "valType": "enumerated", - "values": [ - "above traces", - "below traces" - ], - "dflt": "above traces", - "role": "info", - "editType": "plot", - "description": "Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis." - }, - "min": { - "valType": "number", - "dflt": 0, - "role": "info", - "min": 0, - "description": "The minimum value visible on this axis. The maximum is determined by the sum minus the minimum values of the other two axes. The full view corresponds to all the minima set to zero.", - "editType": "plot" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now." - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot" - }, - "editType": "plot", - "description": "Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now." - } - }, - "editType": "plot", - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "Controls persistence of user-driven changes in axis `min`, and `title` if in `editable: true` configuration. Defaults to `ternary.uirevision`." - }, - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "editType": "plot", - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "Controls persistence of user-driven changes in axis `min` and `title`, if not overridden in the individual axes. Defaults to `layout.uirevision`." - }, - "_isSubplotObj": true, - "role": "object" - }, - "scene": { - "_arrayAttrRegexps": [ - {} - ], - "bgcolor": { - "valType": "color", - "role": "style", - "dflt": "rgba(0,0,0,0)", - "editType": "plot" - }, - "camera": { - "up": { - "x": { - "valType": "number", - "role": "info", - "dflt": 0, - "editType": "camera" - }, - "y": { - "valType": "number", - "role": "info", - "dflt": 0, - "editType": "camera" - }, - "z": { - "valType": "number", - "role": "info", - "dflt": 1, - "editType": "camera" - }, - "editType": "camera", - "description": "Sets the (x,y,z) components of the 'up' camera vector. This vector determines the up direction of this scene with respect to the page. The default is *{x: 0, y: 0, z: 1}* which means that the z axis points up.", - "role": "object" - }, - "center": { - "x": { - "valType": "number", - "role": "info", - "dflt": 0, - "editType": "camera" - }, - "y": { - "valType": "number", - "role": "info", - "dflt": 0, - "editType": "camera" - }, - "z": { - "valType": "number", - "role": "info", - "dflt": 0, - "editType": "camera" - }, - "editType": "camera", - "description": "Sets the (x,y,z) components of the 'center' camera vector This vector determines the translation (x,y,z) space about the center of this scene. By default, there is no such translation.", - "role": "object" - }, - "eye": { - "x": { - "valType": "number", - "role": "info", - "dflt": 1.25, - "editType": "camera" - }, - "y": { - "valType": "number", - "role": "info", - "dflt": 1.25, - "editType": "camera" - }, - "z": { - "valType": "number", - "role": "info", - "dflt": 1.25, - "editType": "camera" - }, - "editType": "camera", - "description": "Sets the (x,y,z) components of the 'eye' camera vector. This vector determines the view point about the origin of this scene.", - "role": "object" - }, - "projection": { - "type": { - "valType": "enumerated", - "role": "info", - "values": [ - "perspective", - "orthographic" - ], - "dflt": "perspective", - "editType": "calc", - "description": "Sets the projection type. The projection type could be either *perspective* or *orthographic*. The default is *perspective*." - }, - "editType": "calc", - "role": "object" - }, - "editType": "camera", - "role": "object" - }, - "domain": { - "x": { - "valType": "info_array", - "role": "info", - "editType": "plot", - "items": [ - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "plot" - }, - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "plot" - } - ], - "dflt": [ - 0, - 1 - ], - "description": "Sets the horizontal domain of this scene subplot (in plot fraction)." - }, - "y": { - "valType": "info_array", - "role": "info", - "editType": "plot", - "items": [ - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "plot" - }, - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "plot" - } - ], - "dflt": [ - 0, - 1 - ], - "description": "Sets the vertical domain of this scene subplot (in plot fraction)." - }, - "editType": "plot", - "row": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "plot", - "description": "If there is a layout grid, use the domain for this row in the grid for this scene subplot ." - }, - "column": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "plot", - "description": "If there is a layout grid, use the domain for this column in the grid for this scene subplot ." - }, - "role": "object" - }, - "aspectmode": { - "valType": "enumerated", - "role": "info", - "values": [ - "auto", - "cube", - "data", - "manual" - ], - "dflt": "auto", - "editType": "plot", - "impliedEdits": {}, - "description": "If *cube*, this scene's axes are drawn as a cube, regardless of the axes' ranges. If *data*, this scene's axes are drawn in proportion with the axes' ranges. If *manual*, this scene's axes are drawn in proportion with the input of *aspectratio* (the default behavior if *aspectratio* is provided). If *auto*, this scene's axes are drawn using the results of *data* except when one axis is more than four times the size of the two others, where in that case the results of *cube* are used." - }, - "aspectratio": { - "x": { - "valType": "number", - "role": "info", - "min": 0, - "editType": "plot", - "impliedEdits": { - "^aspectmode": "manual" - } - }, - "y": { - "valType": "number", - "role": "info", - "min": 0, - "editType": "plot", - "impliedEdits": { - "^aspectmode": "manual" - } - }, - "z": { - "valType": "number", - "role": "info", - "min": 0, - "editType": "plot", - "impliedEdits": { - "^aspectmode": "manual" - } - }, - "editType": "plot", - "impliedEdits": { - "aspectmode": "manual", - "role": "object" - }, - "description": "Sets this scene's axis aspectratio.", - "role": "object" - }, - "xaxis": { - "visible": { - "valType": "boolean", - "role": "info", - "editType": "plot", - "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" - }, - "showspikes": { - "valType": "boolean", - "role": "info", - "dflt": true, - "description": "Sets whether or not spikes starting from data points to this axis' wall are shown on hover.", - "editType": "plot" - }, - "spikesides": { - "valType": "boolean", - "role": "info", - "dflt": true, - "description": "Sets whether or not spikes extending from the projection data points to this axis' wall boundaries are shown on hover.", - "editType": "plot" - }, - "spikethickness": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 2, - "description": "Sets the thickness (in px) of the spikes.", - "editType": "plot" - }, - "spikecolor": { - "valType": "color", - "role": "style", - "dflt": "#444", - "description": "Sets the color of the spikes.", - "editType": "plot" - }, - "showbackground": { - "valType": "boolean", - "role": "info", - "dflt": false, - "description": "Sets whether or not this axis' wall has a background color.", - "editType": "plot" - }, - "backgroundcolor": { - "valType": "color", - "role": "style", - "dflt": "rgba(204, 204, 204, 0.5)", - "description": "Sets the background color of this axis' wall.", - "editType": "plot" - }, - "showaxeslabels": { - "valType": "boolean", - "role": "info", - "dflt": true, - "description": "Sets whether or not this axis is labeled", - "editType": "plot" - }, - "color": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "plot", - "description": "Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this." - }, - "categoryorder": { - "valType": "enumerated", - "values": [ - "trace", - "category ascending", - "category descending", - "array", - "total ascending", - "total descending", - "min ascending", - "min descending", - "max ascending", - "max descending", - "sum ascending", - "sum descending", - "mean ascending", - "mean descending", - "median ascending", - "median descending" - ], - "dflt": "trace", - "role": "info", - "editType": "plot", - "description": "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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values." - }, - "categoryarray": { - "valType": "data_array", - "role": "data", - "editType": "plot", - "description": "Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated." - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot" - }, - "editType": "plot", - "description": "Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.", - "role": "object" - }, - "editType": "plot", - "role": "object" - }, - "type": { - "valType": "enumerated", - "values": [ - "-", - "linear", - "log", - "date", - "category" - ], - "dflt": "-", - "role": "info", - "editType": "plot", - "_noTemplating": true, - "description": "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." - }, - "autotypenumbers": { - "valType": "enumerated", - "values": [ - "convert types", - "strict" - ], - "dflt": "convert types", - "role": "info", - "editType": "plot", - "description": "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." - }, - "autorange": { - "valType": "enumerated", - "values": [ - true, - false, - "reversed" - ], - "dflt": true, - "role": "info", - "editType": "plot", - "impliedEdits": {}, - "description": "Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided, then `autorange` is set to *false*." - }, - "rangemode": { - "valType": "enumerated", - "values": [ - "normal", - "tozero", - "nonnegative" - ], - "dflt": "normal", - "role": "info", - "editType": "plot", - "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." - }, - "range": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "plot", - "impliedEdits": { - "^autorange": false - } - }, - { - "valType": "any", - "editType": "plot", - "impliedEdits": { - "^autorange": false - } - } - ], - "editType": "plot", - "impliedEdits": { - "autorange": false - }, - "anim": false, - "description": "Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, 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." - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "plot", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "plot", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "plot", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "plot", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "plot", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "plot", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "plot", - "description": "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." - }, - "mirror": { - "valType": "enumerated", - "values": [ - true, - "ticks", - false, - "all", - "allticks" - ], - "dflt": false, - "role": "style", - "editType": "plot", - "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." - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "plot", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "plot", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "plot", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "plot", - "description": "Determines whether or not the tick labels are drawn." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot" - }, - "editType": "plot", - "description": "Sets the tick font.", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "plot", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "plot", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "plot", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "plot", - "description": "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." - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "plot", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "plot", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "plot", - "description": "If \"true\", even 4-digit integers are separated" - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "plot", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "plot" - }, - { - "valType": "any", - "editType": "plot" - } - ], - "editType": "plot", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "plot", - "name": { - "valType": "string", - "role": "style", - "editType": "plot", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "hoverformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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*" - }, - "showline": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "plot", - "description": "Determines whether or not a line bounding this axis is drawn." - }, - "linecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "plot", - "description": "Sets the axis line color." - }, - "linewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "plot", - "description": "Sets the width (in px) of the axis line." - }, - "showgrid": { - "valType": "boolean", - "role": "style", - "editType": "plot", - "description": "Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark." - }, - "gridcolor": { - "valType": "color", - "dflt": "rgb(204, 204, 204)", - "role": "style", - "editType": "plot", - "description": "Sets the color of the grid lines." - }, - "gridwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "plot", - "description": "Sets the width (in px) of the grid lines." - }, - "zeroline": { - "valType": "boolean", - "role": "style", - "editType": "plot", - "description": "Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines." - }, - "zerolinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "plot", - "description": "Sets the line color of the zero line." - }, - "zerolinewidth": { - "valType": "number", - "dflt": 1, - "role": "style", - "editType": "plot", - "description": "Sets the width (in px) of the zero line." - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now." - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot" - }, - "editType": "plot", - "description": "Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now." - } - }, - "editType": "plot", - "calendar": { - "valType": "enumerated", - "values": [ - "gregorian", - "chinese", - "coptic", - "discworld", - "ethiopian", - "hebrew", - "islamic", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "jalali", - "taiwan", - "thai", - "ummalqura" - ], - "role": "info", - "editType": "calc", - "dflt": "gregorian", - "description": "Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`" - }, - "role": "object", - "categoryarraysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for categoryarray .", - "editType": "none" - }, - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "yaxis": { - "visible": { - "valType": "boolean", - "role": "info", - "editType": "plot", - "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" - }, - "showspikes": { - "valType": "boolean", - "role": "info", - "dflt": true, - "description": "Sets whether or not spikes starting from data points to this axis' wall are shown on hover.", - "editType": "plot" - }, - "spikesides": { - "valType": "boolean", - "role": "info", - "dflt": true, - "description": "Sets whether or not spikes extending from the projection data points to this axis' wall boundaries are shown on hover.", - "editType": "plot" - }, - "spikethickness": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 2, - "description": "Sets the thickness (in px) of the spikes.", - "editType": "plot" - }, - "spikecolor": { - "valType": "color", - "role": "style", - "dflt": "#444", - "description": "Sets the color of the spikes.", - "editType": "plot" - }, - "showbackground": { - "valType": "boolean", - "role": "info", - "dflt": false, - "description": "Sets whether or not this axis' wall has a background color.", - "editType": "plot" - }, - "backgroundcolor": { - "valType": "color", - "role": "style", - "dflt": "rgba(204, 204, 204, 0.5)", - "description": "Sets the background color of this axis' wall.", - "editType": "plot" - }, - "showaxeslabels": { - "valType": "boolean", - "role": "info", - "dflt": true, - "description": "Sets whether or not this axis is labeled", - "editType": "plot" - }, - "color": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "plot", - "description": "Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this." - }, - "categoryorder": { - "valType": "enumerated", - "values": [ - "trace", - "category ascending", - "category descending", - "array", - "total ascending", - "total descending", - "min ascending", - "min descending", - "max ascending", - "max descending", - "sum ascending", - "sum descending", - "mean ascending", - "mean descending", - "median ascending", - "median descending" - ], - "dflt": "trace", - "role": "info", - "editType": "plot", - "description": "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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values." - }, - "categoryarray": { - "valType": "data_array", - "role": "data", - "editType": "plot", - "description": "Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated." - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot" - }, - "editType": "plot", - "description": "Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.", - "role": "object" - }, - "editType": "plot", - "role": "object" - }, - "type": { - "valType": "enumerated", - "values": [ - "-", - "linear", - "log", - "date", - "category" - ], - "dflt": "-", - "role": "info", - "editType": "plot", - "_noTemplating": true, - "description": "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." - }, - "autotypenumbers": { - "valType": "enumerated", - "values": [ - "convert types", - "strict" - ], - "dflt": "convert types", - "role": "info", - "editType": "plot", - "description": "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." - }, - "autorange": { - "valType": "enumerated", - "values": [ - true, - false, - "reversed" - ], - "dflt": true, - "role": "info", - "editType": "plot", - "impliedEdits": {}, - "description": "Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided, then `autorange` is set to *false*." - }, - "rangemode": { - "valType": "enumerated", - "values": [ - "normal", - "tozero", - "nonnegative" - ], - "dflt": "normal", - "role": "info", - "editType": "plot", - "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." - }, - "range": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "plot", - "impliedEdits": { - "^autorange": false - } - }, - { - "valType": "any", - "editType": "plot", - "impliedEdits": { - "^autorange": false - } - } - ], - "editType": "plot", - "impliedEdits": { - "autorange": false - }, - "anim": false, - "description": "Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, 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." - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "plot", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "plot", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "plot", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "plot", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "plot", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "plot", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "plot", - "description": "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." - }, - "mirror": { - "valType": "enumerated", - "values": [ - true, - "ticks", - false, - "all", - "allticks" - ], - "dflt": false, - "role": "style", - "editType": "plot", - "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." - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "plot", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "plot", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "plot", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "plot", - "description": "Determines whether or not the tick labels are drawn." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot" - }, - "editType": "plot", - "description": "Sets the tick font.", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "plot", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "plot", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "plot", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "plot", - "description": "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." - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "plot", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "plot", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "plot", - "description": "If \"true\", even 4-digit integers are separated" - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "plot", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "plot" - }, - { - "valType": "any", - "editType": "plot" - } - ], - "editType": "plot", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "plot", - "name": { - "valType": "string", - "role": "style", - "editType": "plot", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "hoverformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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*" - }, - "showline": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "plot", - "description": "Determines whether or not a line bounding this axis is drawn." - }, - "linecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "plot", - "description": "Sets the axis line color." - }, - "linewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "plot", - "description": "Sets the width (in px) of the axis line." - }, - "showgrid": { - "valType": "boolean", - "role": "style", - "editType": "plot", - "description": "Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark." - }, - "gridcolor": { - "valType": "color", - "dflt": "rgb(204, 204, 204)", - "role": "style", - "editType": "plot", - "description": "Sets the color of the grid lines." - }, - "gridwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "plot", - "description": "Sets the width (in px) of the grid lines." - }, - "zeroline": { - "valType": "boolean", - "role": "style", - "editType": "plot", - "description": "Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines." - }, - "zerolinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "plot", - "description": "Sets the line color of the zero line." - }, - "zerolinewidth": { - "valType": "number", - "dflt": 1, - "role": "style", - "editType": "plot", - "description": "Sets the width (in px) of the zero line." - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now." - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot" - }, - "editType": "plot", - "description": "Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now." - } - }, - "editType": "plot", - "calendar": { - "valType": "enumerated", - "values": [ - "gregorian", - "chinese", - "coptic", - "discworld", - "ethiopian", - "hebrew", - "islamic", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "jalali", - "taiwan", - "thai", - "ummalqura" - ], - "role": "info", - "editType": "calc", - "dflt": "gregorian", - "description": "Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`" - }, - "role": "object", - "categoryarraysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for categoryarray .", - "editType": "none" - }, - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "zaxis": { - "visible": { - "valType": "boolean", - "role": "info", - "editType": "plot", - "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" - }, - "showspikes": { - "valType": "boolean", - "role": "info", - "dflt": true, - "description": "Sets whether or not spikes starting from data points to this axis' wall are shown on hover.", - "editType": "plot" - }, - "spikesides": { - "valType": "boolean", - "role": "info", - "dflt": true, - "description": "Sets whether or not spikes extending from the projection data points to this axis' wall boundaries are shown on hover.", - "editType": "plot" - }, - "spikethickness": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 2, - "description": "Sets the thickness (in px) of the spikes.", - "editType": "plot" - }, - "spikecolor": { - "valType": "color", - "role": "style", - "dflt": "#444", - "description": "Sets the color of the spikes.", - "editType": "plot" - }, - "showbackground": { - "valType": "boolean", - "role": "info", - "dflt": false, - "description": "Sets whether or not this axis' wall has a background color.", - "editType": "plot" - }, - "backgroundcolor": { - "valType": "color", - "role": "style", - "dflt": "rgba(204, 204, 204, 0.5)", - "description": "Sets the background color of this axis' wall.", - "editType": "plot" - }, - "showaxeslabels": { - "valType": "boolean", - "role": "info", - "dflt": true, - "description": "Sets whether or not this axis is labeled", - "editType": "plot" - }, - "color": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "plot", - "description": "Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this." - }, - "categoryorder": { - "valType": "enumerated", - "values": [ - "trace", - "category ascending", - "category descending", - "array", - "total ascending", - "total descending", - "min ascending", - "min descending", - "max ascending", - "max descending", - "sum ascending", - "sum descending", - "mean ascending", - "mean descending", - "median ascending", - "median descending" - ], - "dflt": "trace", - "role": "info", - "editType": "plot", - "description": "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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values." - }, - "categoryarray": { - "valType": "data_array", - "role": "data", - "editType": "plot", - "description": "Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated." - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot" - }, - "editType": "plot", - "description": "Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.", - "role": "object" - }, - "editType": "plot", - "role": "object" - }, - "type": { - "valType": "enumerated", - "values": [ - "-", - "linear", - "log", - "date", - "category" - ], - "dflt": "-", - "role": "info", - "editType": "plot", - "_noTemplating": true, - "description": "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." - }, - "autotypenumbers": { - "valType": "enumerated", - "values": [ - "convert types", - "strict" - ], - "dflt": "convert types", - "role": "info", - "editType": "plot", - "description": "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." - }, - "autorange": { - "valType": "enumerated", - "values": [ - true, - false, - "reversed" - ], - "dflt": true, - "role": "info", - "editType": "plot", - "impliedEdits": {}, - "description": "Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided, then `autorange` is set to *false*." - }, - "rangemode": { - "valType": "enumerated", - "values": [ - "normal", - "tozero", - "nonnegative" - ], - "dflt": "normal", - "role": "info", - "editType": "plot", - "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." - }, - "range": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "plot", - "impliedEdits": { - "^autorange": false - } - }, - { - "valType": "any", - "editType": "plot", - "impliedEdits": { - "^autorange": false - } - } - ], - "editType": "plot", - "impliedEdits": { - "autorange": false - }, - "anim": false, - "description": "Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, 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." - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "plot", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "plot", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "plot", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "plot", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "plot", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "plot", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "plot", - "description": "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." - }, - "mirror": { - "valType": "enumerated", - "values": [ - true, - "ticks", - false, - "all", - "allticks" - ], - "dflt": false, - "role": "style", - "editType": "plot", - "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." - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "plot", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "plot", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "plot", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "plot", - "description": "Determines whether or not the tick labels are drawn." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot" - }, - "editType": "plot", - "description": "Sets the tick font.", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "plot", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "plot", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "plot", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "plot", - "description": "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." - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "plot", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "plot", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "plot", - "description": "If \"true\", even 4-digit integers are separated" - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "plot", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "plot" - }, - { - "valType": "any", - "editType": "plot" - } - ], - "editType": "plot", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "plot", - "name": { - "valType": "string", - "role": "style", - "editType": "plot", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "hoverformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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*" - }, - "showline": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "plot", - "description": "Determines whether or not a line bounding this axis is drawn." - }, - "linecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "plot", - "description": "Sets the axis line color." - }, - "linewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "plot", - "description": "Sets the width (in px) of the axis line." - }, - "showgrid": { - "valType": "boolean", - "role": "style", - "editType": "plot", - "description": "Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark." - }, - "gridcolor": { - "valType": "color", - "dflt": "rgb(204, 204, 204)", - "role": "style", - "editType": "plot", - "description": "Sets the color of the grid lines." - }, - "gridwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "plot", - "description": "Sets the width (in px) of the grid lines." - }, - "zeroline": { - "valType": "boolean", - "role": "style", - "editType": "plot", - "description": "Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines." - }, - "zerolinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "plot", - "description": "Sets the line color of the zero line." - }, - "zerolinewidth": { - "valType": "number", - "dflt": 1, - "role": "style", - "editType": "plot", - "description": "Sets the width (in px) of the zero line." - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now." - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot" - }, - "editType": "plot", - "description": "Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now." - } - }, - "editType": "plot", - "calendar": { - "valType": "enumerated", - "values": [ - "gregorian", - "chinese", - "coptic", - "discworld", - "ethiopian", - "hebrew", - "islamic", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "jalali", - "taiwan", - "thai", - "ummalqura" - ], - "role": "info", - "editType": "calc", - "dflt": "gregorian", - "description": "Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`" - }, - "role": "object", - "categoryarraysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for categoryarray .", - "editType": "none" - }, - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "dragmode": { - "valType": "enumerated", - "role": "info", - "values": [ - "orbit", - "turntable", - "zoom", - "pan", - false - ], - "editType": "plot", - "description": "Determines the mode of drag interactions for this scene." - }, - "hovermode": { - "valType": "enumerated", - "role": "info", - "values": [ - "closest", - false - ], - "dflt": "closest", - "editType": "modebar", - "description": "Determines the mode of hover interactions for this scene." - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "Controls persistence of user-driven changes in camera attributes. Defaults to `layout.uirevision`." - }, - "editType": "plot", - "_deprecated": { - "cameraposition": { - "valType": "info_array", - "role": "info", - "editType": "camera", - "description": "Obsolete. Use `camera` instead." - } - }, - "annotations": { - "items": { - "annotation": { - "visible": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "description": "Determines whether or not this annotation is visible." - }, - "x": { - "valType": "any", - "role": "info", - "description": "Sets the annotation's x position.", - "editType": "calc" - }, - "y": { - "valType": "any", - "role": "info", - "description": "Sets the annotation's y position.", - "editType": "calc" - }, - "z": { - "valType": "any", - "role": "info", - "description": "Sets the annotation's z position.", - "editType": "calc" - }, - "ax": { - "valType": "number", - "role": "info", - "description": "Sets the x component of the arrow tail about the arrow head (in pixels).", - "editType": "calc" - }, - "ay": { - "valType": "number", - "role": "info", - "description": "Sets the y component of the arrow tail about the arrow head (in pixels).", - "editType": "calc" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "auto", - "left", - "center", - "right" - ], - "dflt": "auto", - "role": "info", - "editType": "calc", - "description": "Sets the text box's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the annotation. For example, if `x` is set to 1, `xref` to *paper* and `xanchor` to *right* then the right-most portion of the annotation lines up with the right-most edge of the plotting area. If *auto*, the anchor is equivalent to *center* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side." - }, - "xshift": { - "valType": "number", - "dflt": 0, - "role": "style", - "editType": "calc", - "description": "Shifts the position of the whole annotation and arrow to the right (positive) or left (negative) by this many pixels." - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "auto", - "top", - "middle", - "bottom" - ], - "dflt": "auto", - "role": "info", - "editType": "calc", - "description": "Sets the text box's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the annotation. For example, if `y` is set to 1, `yref` to *paper* and `yanchor` to *top* then the top-most portion of the annotation lines up with the top-most edge of the plotting area. If *auto*, the anchor is equivalent to *middle* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side." - }, - "yshift": { - "valType": "number", - "dflt": 0, - "role": "style", - "editType": "calc", - "description": "Shifts the position of the whole annotation and arrow up (positive) or down (negative) by this many pixels." - }, - "text": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (
), bold (), italics (), hyperlinks (). Tags , , are also supported." - }, - "textangle": { - "valType": "angle", - "dflt": 0, - "role": "style", - "editType": "calc", - "description": "Sets the angle at which the `text` is drawn with respect to the horizontal." - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "calc", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "editType": "calc", - "description": "Sets the annotation text font.", - "role": "object" - }, - "width": { - "valType": "number", - "min": 1, - "dflt": null, - "role": "style", - "editType": "calc", - "description": "Sets an explicit width for the text box. null (default) lets the text set the box width. Wider text will be clipped. There is no automatic wrapping; use
to start a new line." - }, - "height": { - "valType": "number", - "min": 1, - "dflt": null, - "role": "style", - "editType": "calc", - "description": "Sets an explicit height for the text box. null (default) lets the text set the box height. Taller text will be clipped." - }, - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "Sets the opacity of the annotation (text + arrow)." - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "center", - "role": "style", - "editType": "calc", - "description": "Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more
HTML tags) or if an explicit width is set to override the text width." - }, - "valign": { - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ], - "dflt": "middle", - "role": "style", - "editType": "calc", - "description": "Sets the vertical alignment of the `text` within the box. Has an effect only if an explicit height is set to override the text height." - }, - "bgcolor": { - "valType": "color", - "dflt": "rgba(0,0,0,0)", - "role": "style", - "editType": "calc", - "description": "Sets the background color of the annotation." - }, - "bordercolor": { - "valType": "color", - "dflt": "rgba(0,0,0,0)", - "role": "style", - "editType": "calc", - "description": "Sets the color of the border enclosing the annotation `text`." - }, - "borderpad": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "Sets the padding (in px) between the `text` and the enclosing border." - }, - "borderwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "Sets the width (in px) of the border enclosing the annotation `text`." - }, - "showarrow": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "calc", - "description": "Determines whether or not the annotation is drawn with an arrow. If *true*, `text` is placed near the arrow's tail. If *false*, `text` lines up with the `x` and `y` provided." - }, - "arrowcolor": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the color of the annotation arrow." - }, - "arrowhead": { - "valType": "integer", - "min": 0, - "max": 8, - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "Sets the end annotation arrow head style." - }, - "startarrowhead": { - "valType": "integer", - "min": 0, - "max": 8, - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "Sets the start annotation arrow head style." - }, - "arrowside": { - "valType": "flaglist", - "flags": [ - "end", - "start" - ], - "extras": [ - "none" - ], - "dflt": "end", - "role": "style", - "editType": "calc", - "description": "Sets the annotation arrow head position." - }, - "arrowsize": { - "valType": "number", - "min": 0.3, - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "Sets the size of the end annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line." - }, - "startarrowsize": { - "valType": "number", - "min": 0.3, - "dflt": 1, - "role": "style", - "editType": "calc", - "description": "Sets the size of the start annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line." - }, - "arrowwidth": { - "valType": "number", - "min": 0.1, - "role": "style", - "editType": "calc", - "description": "Sets the width (in px) of annotation arrow line." - }, - "standoff": { - "valType": "number", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "calc", - "description": "Sets a distance, in pixels, to move the end arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount." - }, - "startstandoff": { - "valType": "number", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "calc", - "description": "Sets a distance, in pixels, to move the start arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount." - }, - "hovertext": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "Sets text to appear when hovering over this annotation. If omitted or blank, no hover label will appear." - }, - "hoverlabel": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the background color of the hover label. By default uses the annotation's `bgcolor` made opaque, or white if it was transparent." - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "calc", - "description": "Sets the border color of the hover label. By default uses either dark grey or white, for maximum contrast with `hoverlabel.bgcolor`." - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "calc", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "calc" - }, - "editType": "calc", - "description": "Sets the hover label text font. By default uses the global hover font and size, with color from `hoverlabel.bordercolor`.", - "role": "object" - }, - "editType": "calc", - "role": "object" - }, - "captureevents": { - "valType": "boolean", - "role": "info", - "editType": "calc", - "description": "Determines whether the annotation text box captures mouse move and click events, or allows those events to pass through to data points in the plot that may be behind the annotation. By default `captureevents` is *false* unless `hovertext` is provided. If you use the event `plotly_clickannotation` without `hovertext` you must explicitly enable `captureevents`." - }, - "name": { - "valType": "string", - "role": "style", - "editType": "calc", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "editType": "calc", - "role": "object" - } - }, - "role": "object" - }, - "_isSubplotObj": true, - "role": "object" - }, - "geo": { - "domain": { - "x": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "plot" - }, - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "plot" - } - ], - "dflt": [ - 0, - 1 - ], - "description": "Sets the horizontal domain of this geo subplot (in plot fraction). Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both.", - "editType": "plot" - }, - "y": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "plot" - }, - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "plot" - } - ], - "dflt": [ - 0, - 1 - ], - "description": "Sets the vertical domain of this geo subplot (in plot fraction). Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both.", - "editType": "plot" - }, - "row": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "description": "If there is a layout grid, use the domain for this row in the grid for this geo subplot . Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both.", - "editType": "plot" - }, - "column": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "description": "If there is a layout grid, use the domain for this column in the grid for this geo subplot . Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both.", - "editType": "plot" - }, - "editType": "plot", - "role": "object" - }, - "fitbounds": { - "valType": "enumerated", - "values": [ - false, - "locations", - "geojson" - ], - "dflt": false, - "role": "info", - "editType": "plot", - "description": "Determines if this subplot's view settings are auto-computed to fit trace data. On scoped maps, setting `fitbounds` leads to `center.lon` and `center.lat` getting auto-filled. On maps with a non-clipped projection, setting `fitbounds` leads to `center.lon`, `center.lat`, and `projection.rotation.lon` getting auto-filled. On maps with a clipped projection, setting `fitbounds` leads to `center.lon`, `center.lat`, `projection.rotation.lon`, `projection.rotation.lat`, `lonaxis.range` and `lonaxis.range` getting auto-filled. If *locations*, only the trace's visible locations are considered in the `fitbounds` computations. If *geojson*, the entire trace input `geojson` (if provided) is considered in the `fitbounds` computations, Defaults to *false*." - }, - "resolution": { - "valType": "enumerated", - "values": [ - 110, - 50 - ], - "role": "info", - "dflt": 110, - "coerceNumber": true, - "description": "Sets the resolution of the base layers. The values have units of km/mm e.g. 110 corresponds to a scale ratio of 1:110,000,000.", - "editType": "plot" - }, - "scope": { - "valType": "enumerated", - "role": "info", - "values": [ - "world", - "usa", - "europe", - "asia", - "africa", - "north america", - "south america" - ], - "dflt": "world", - "description": "Set the scope of the map.", - "editType": "plot" - }, - "projection": { - "type": { - "valType": "enumerated", - "role": "info", - "values": [ - "equirectangular", - "mercator", - "orthographic", - "natural earth", - "kavrayskiy7", - "miller", - "robinson", - "eckert4", - "azimuthal equal area", - "azimuthal equidistant", - "conic equal area", - "conic conformal", - "conic equidistant", - "gnomonic", - "stereographic", - "mollweide", - "hammer", - "transverse mercator", - "albers usa", - "winkel tripel", - "aitoff", - "sinusoidal" - ], - "description": "Sets the projection type.", - "editType": "plot" - }, - "rotation": { - "lon": { - "valType": "number", - "role": "info", - "description": "Rotates the map along parallels (in degrees East). Defaults to the center of the `lonaxis.range` values.", - "editType": "plot" - }, - "lat": { - "valType": "number", - "role": "info", - "description": "Rotates the map along meridians (in degrees North).", - "editType": "plot" - }, - "roll": { - "valType": "number", - "role": "info", - "description": "Roll the map (in degrees) For example, a roll of *180* makes the map appear upside down.", - "editType": "plot" - }, - "editType": "plot", - "role": "object" - }, - "parallels": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "number", - "editType": "plot" - }, - { - "valType": "number", - "editType": "plot" - } - ], - "description": "For conic projection types only. Sets the parallels (tangent, secant) where the cone intersects the sphere.", - "editType": "plot" - }, - "scale": { - "valType": "number", - "role": "info", - "min": 0, - "dflt": 1, - "description": "Zooms in or out on the map view. A scale of *1* corresponds to the largest zoom level that fits the map's lon and lat ranges. ", - "editType": "plot" - }, - "editType": "plot", - "role": "object" - }, - "center": { - "lon": { - "valType": "number", - "role": "info", - "description": "Sets the longitude of the map's center. By default, the map's longitude center lies at the middle of the longitude range for scoped projection and above `projection.rotation.lon` otherwise.", - "editType": "plot" - }, - "lat": { - "valType": "number", - "role": "info", - "description": "Sets the latitude of the map's center. For all projection types, the map's latitude center lies at the middle of the latitude range by default.", - "editType": "plot" - }, - "editType": "plot", - "role": "object" - }, - "visible": { - "valType": "boolean", - "role": "info", - "dflt": true, - "description": "Sets the default visibility of the base layers.", - "editType": "plot" - }, - "showcoastlines": { - "valType": "boolean", - "role": "info", - "description": "Sets whether or not the coastlines are drawn.", - "editType": "plot" - }, - "coastlinecolor": { - "valType": "color", - "role": "style", - "dflt": "#444", - "description": "Sets the coastline color.", - "editType": "plot" - }, - "coastlinewidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 1, - "description": "Sets the coastline stroke width (in px).", - "editType": "plot" - }, - "showland": { - "valType": "boolean", - "role": "info", - "dflt": false, - "description": "Sets whether or not land masses are filled in color.", - "editType": "plot" - }, - "landcolor": { - "valType": "color", - "role": "style", - "dflt": "#F0DC82", - "description": "Sets the land mass color.", - "editType": "plot" - }, - "showocean": { - "valType": "boolean", - "role": "info", - "dflt": false, - "description": "Sets whether or not oceans are filled in color.", - "editType": "plot" - }, - "oceancolor": { - "valType": "color", - "role": "style", - "dflt": "#3399FF", - "description": "Sets the ocean color", - "editType": "plot" - }, - "showlakes": { - "valType": "boolean", - "role": "info", - "dflt": false, - "description": "Sets whether or not lakes are drawn.", - "editType": "plot" - }, - "lakecolor": { - "valType": "color", - "role": "style", - "dflt": "#3399FF", - "description": "Sets the color of the lakes.", - "editType": "plot" - }, - "showrivers": { - "valType": "boolean", - "role": "info", - "dflt": false, - "description": "Sets whether or not rivers are drawn.", - "editType": "plot" - }, - "rivercolor": { - "valType": "color", - "role": "style", - "dflt": "#3399FF", - "description": "Sets color of the rivers.", - "editType": "plot" - }, - "riverwidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 1, - "description": "Sets the stroke width (in px) of the rivers.", - "editType": "plot" - }, - "showcountries": { - "valType": "boolean", - "role": "info", - "description": "Sets whether or not country boundaries are drawn.", - "editType": "plot" - }, - "countrycolor": { - "valType": "color", - "role": "style", - "dflt": "#444", - "description": "Sets line color of the country boundaries.", - "editType": "plot" - }, - "countrywidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 1, - "description": "Sets line width (in px) of the country boundaries.", - "editType": "plot" - }, - "showsubunits": { - "valType": "boolean", - "role": "info", - "description": "Sets whether or not boundaries of subunits within countries (e.g. states, provinces) are drawn.", - "editType": "plot" - }, - "subunitcolor": { - "valType": "color", - "role": "style", - "dflt": "#444", - "description": "Sets the color of the subunits boundaries.", - "editType": "plot" - }, - "subunitwidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 1, - "description": "Sets the stroke width (in px) of the subunits boundaries.", - "editType": "plot" - }, - "showframe": { - "valType": "boolean", - "role": "info", - "description": "Sets whether or not a frame is drawn around the map.", - "editType": "plot" - }, - "framecolor": { - "valType": "color", - "role": "style", - "dflt": "#444", - "description": "Sets the color the frame.", - "editType": "plot" - }, - "framewidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 1, - "description": "Sets the stroke width (in px) of the frame.", - "editType": "plot" - }, - "bgcolor": { - "valType": "color", - "role": "style", - "dflt": "#fff", - "description": "Set the background color of the map", - "editType": "plot" - }, - "lonaxis": { - "range": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "number", - "editType": "plot" - }, - { - "valType": "number", - "editType": "plot" - } - ], - "description": "Sets the range of this axis (in degrees), sets the map's clipped coordinates.", - "editType": "plot" - }, - "showgrid": { - "valType": "boolean", - "role": "info", - "dflt": false, - "description": "Sets whether or not graticule are shown on the map.", - "editType": "plot" - }, - "tick0": { - "valType": "number", - "role": "info", - "dflt": 0, - "description": "Sets the graticule's starting tick longitude/latitude.", - "editType": "plot" - }, - "dtick": { - "valType": "number", - "role": "info", - "description": "Sets the graticule's longitude/latitude tick step.", - "editType": "plot" - }, - "gridcolor": { - "valType": "color", - "role": "style", - "dflt": "#eee", - "description": "Sets the graticule's stroke color.", - "editType": "plot" - }, - "gridwidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 1, - "description": "Sets the graticule's stroke width (in px).", - "editType": "plot" - }, - "editType": "plot", - "role": "object" - }, - "lataxis": { - "range": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "number", - "editType": "plot" - }, - { - "valType": "number", - "editType": "plot" - } - ], - "description": "Sets the range of this axis (in degrees), sets the map's clipped coordinates.", - "editType": "plot" - }, - "showgrid": { - "valType": "boolean", - "role": "info", - "dflt": false, - "description": "Sets whether or not graticule are shown on the map.", - "editType": "plot" - }, - "tick0": { - "valType": "number", - "role": "info", - "dflt": 0, - "description": "Sets the graticule's starting tick longitude/latitude.", - "editType": "plot" - }, - "dtick": { - "valType": "number", - "role": "info", - "description": "Sets the graticule's longitude/latitude tick step.", - "editType": "plot" - }, - "gridcolor": { - "valType": "color", - "role": "style", - "dflt": "#eee", - "description": "Sets the graticule's stroke color.", - "editType": "plot" - }, - "gridwidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 1, - "description": "Sets the graticule's stroke width (in px).", - "editType": "plot" - }, - "editType": "plot", - "role": "object" - }, - "editType": "plot", - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "Controls persistence of user-driven changes in the view (projection and center). Defaults to `layout.uirevision`." - }, - "_isSubplotObj": true, - "role": "object" - }, - "mapbox": { - "_arrayAttrRegexps": [ - {} - ], - "domain": { - "x": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "plot" - }, - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "plot" - } - ], - "dflt": [ - 0, - 1 - ], - "description": "Sets the horizontal domain of this mapbox subplot (in plot fraction).", - "editType": "plot" - }, - "y": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "plot" - }, - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "plot" - } - ], - "dflt": [ - 0, - 1 - ], - "description": "Sets the vertical domain of this mapbox subplot (in plot fraction).", - "editType": "plot" - }, - "row": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "description": "If there is a layout grid, use the domain for this row in the grid for this mapbox subplot .", - "editType": "plot" - }, - "column": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "description": "If there is a layout grid, use the domain for this column in the grid for this mapbox subplot .", - "editType": "plot" - }, - "editType": "plot", - "role": "object" - }, - "accesstoken": { - "valType": "string", - "noBlank": true, - "strict": true, - "role": "info", - "description": "Sets the mapbox access token to be used for this mapbox map. Alternatively, the mapbox access token can be set in the configuration options under `mapboxAccessToken`. Note that accessToken are only required when `style` (e.g with values : basic, streets, outdoors, light, dark, satellite, satellite-streets ) and/or a layout layer references the Mapbox server.", - "editType": "plot" - }, - "style": { - "valType": "any", - "values": [ - "basic", - "streets", - "outdoors", - "light", - "dark", - "satellite", - "satellite-streets", - "open-street-map", - "white-bg", - "carto-positron", - "carto-darkmatter", - "stamen-terrain", - "stamen-toner", - "stamen-watercolor" - ], - "dflt": "basic", - "role": "style", - "description": "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.mapbox.layers`. These layers can be defined either explicitly as a Mapbox 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 which do not require any access tokens, or by using a default Mapbox style or custom Mapbox style URL, both of which require a Mapbox access token Note that Mapbox access token can be set in the `accesstoken` attribute or in the `mapboxAccessToken` config option. Mapbox Style objects are of the form described in the Mapbox GL JS documentation available at https://docs.mapbox.com/mapbox-gl-js/style-spec The built-in plotly.js styles objects are: open-street-map, white-bg, carto-positron, carto-darkmatter, stamen-terrain, stamen-toner, stamen-watercolor The built-in Mapbox styles are: basic, streets, outdoors, light, dark, satellite, satellite-streets Mapbox style URLs are of the form: mapbox://mapbox.mapbox--", - "editType": "plot" - }, - "center": { - "lon": { - "valType": "number", - "dflt": 0, - "role": "info", - "description": "Sets the longitude of the center of the map (in degrees East).", - "editType": "plot" - }, - "lat": { - "valType": "number", - "dflt": 0, - "role": "info", - "description": "Sets the latitude of the center of the map (in degrees North).", - "editType": "plot" - }, - "editType": "plot", - "role": "object" - }, - "zoom": { - "valType": "number", - "dflt": 1, - "role": "info", - "description": "Sets the zoom level of the map (mapbox.zoom).", - "editType": "plot" - }, - "bearing": { - "valType": "number", - "dflt": 0, - "role": "info", - "description": "Sets the bearing angle of the map in degrees counter-clockwise from North (mapbox.bearing).", - "editType": "plot" - }, - "pitch": { - "valType": "number", - "dflt": 0, - "role": "info", - "description": "Sets the pitch angle of the map (in degrees, where *0* means perpendicular to the surface of the map) (mapbox.pitch).", - "editType": "plot" - }, - "layers": { - "items": { - "layer": { - "visible": { - "valType": "boolean", - "role": "info", - "dflt": true, - "description": "Determines whether this layer is displayed", - "editType": "plot" - }, - "sourcetype": { - "valType": "enumerated", - "values": [ - "geojson", - "vector", - "raster", - "image" - ], - "dflt": "geojson", - "role": "info", - "description": "Sets the source type for this layer, that is the type of the layer data.", - "editType": "plot" - }, - "source": { - "valType": "any", - "role": "info", - "description": "Sets the source data for this layer (mapbox.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.", - "editType": "plot" - }, - "sourcelayer": { - "valType": "string", - "dflt": "", - "role": "info", - "description": "Specifies the layer to use from a vector tile source (mapbox.layer.source-layer). Required for *vector* source type that supports multiple layers.", - "editType": "plot" - }, - "sourceattribution": { - "valType": "string", - "role": "info", - "description": "Sets the attribution for this source.", - "editType": "plot" - }, - "type": { - "valType": "enumerated", - "values": [ - "circle", - "line", - "fill", - "symbol", - "raster" - ], - "dflt": "circle", - "role": "info", - "description": "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.", - "editType": "plot" - }, - "coordinates": { - "valType": "any", - "role": "info", - "description": "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`.", - "editType": "plot" - }, - "below": { - "valType": "string", - "role": "info", - "description": "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.", - "editType": "plot" - }, - "color": { - "valType": "color", - "dflt": "#444", - "role": "style", - "description": "Sets the primary layer color. If `type` is *circle*, color corresponds to the circle color (mapbox.layer.paint.circle-color) If `type` is *line*, color corresponds to the line color (mapbox.layer.paint.line-color) If `type` is *fill*, color corresponds to the fill color (mapbox.layer.paint.fill-color) If `type` is *symbol*, color corresponds to the icon color (mapbox.layer.paint.icon-color)", - "editType": "plot" - }, - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "dflt": 1, - "role": "info", - "description": "Sets the opacity of the layer. If `type` is *circle*, opacity corresponds to the circle opacity (mapbox.layer.paint.circle-opacity) If `type` is *line*, opacity corresponds to the line opacity (mapbox.layer.paint.line-opacity) If `type` is *fill*, opacity corresponds to the fill opacity (mapbox.layer.paint.fill-opacity) If `type` is *symbol*, opacity corresponds to the icon/text opacity (mapbox.layer.paint.text-opacity)", - "editType": "plot" - }, - "minzoom": { - "valType": "number", - "min": 0, - "max": 24, - "dflt": 0, - "role": "info", - "description": "Sets the minimum zoom level (mapbox.layer.minzoom). At zoom levels less than the minzoom, the layer will be hidden.", - "editType": "plot" - }, - "maxzoom": { - "valType": "number", - "min": 0, - "max": 24, - "dflt": 24, - "role": "info", - "description": "Sets the maximum zoom level (mapbox.layer.maxzoom). At zoom levels equal to or greater than the maxzoom, the layer will be hidden.", - "editType": "plot" - }, - "circle": { - "radius": { - "valType": "number", - "dflt": 15, - "role": "style", - "description": "Sets the circle radius (mapbox.layer.paint.circle-radius). Has an effect only when `type` is set to *circle*.", - "editType": "plot" - }, - "editType": "plot", - "role": "object" - }, - "line": { - "width": { - "valType": "number", - "dflt": 2, - "role": "style", - "description": "Sets the line width (mapbox.layer.paint.line-width). Has an effect only when `type` is set to *line*.", - "editType": "plot" - }, - "dash": { - "valType": "data_array", - "role": "data", - "description": "Sets the length of dashes and gaps (mapbox.layer.paint.line-dasharray). Has an effect only when `type` is set to *line*.", - "editType": "plot" - }, - "editType": "plot", - "role": "object", - "dashsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for dash .", - "editType": "none" - } - }, - "fill": { - "outlinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "description": "Sets the fill outline color (mapbox.layer.paint.fill-outline-color). Has an effect only when `type` is set to *fill*.", - "editType": "plot" - }, - "editType": "plot", - "role": "object" - }, - "symbol": { - "icon": { - "valType": "string", - "dflt": "marker", - "role": "style", - "description": "Sets the symbol icon image (mapbox.layer.layout.icon-image). Full list: https://www.mapbox.com/maki-icons/", - "editType": "plot" - }, - "iconsize": { - "valType": "number", - "dflt": 10, - "role": "style", - "description": "Sets the symbol icon size (mapbox.layer.layout.icon-size). Has an effect only when `type` is set to *symbol*.", - "editType": "plot" - }, - "text": { - "valType": "string", - "dflt": "", - "role": "info", - "description": "Sets the symbol text (mapbox.layer.layout.text-field).", - "editType": "plot" - }, - "placement": { - "valType": "enumerated", - "values": [ - "point", - "line", - "line-center" - ], - "dflt": "point", - "role": "info", - "description": "Sets the symbol and/or text placement (mapbox.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", - "editType": "plot" - }, - "textfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "dflt": "Open Sans Regular, Arial Unicode MS Regular", - "editType": "plot" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot" - }, - "description": "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*.", - "editType": "plot", - "role": "object" - }, - "textposition": { - "valType": "enumerated", - "values": [ - "top left", - "top center", - "top right", - "middle left", - "middle center", - "middle right", - "bottom left", - "bottom center", - "bottom right" - ], - "dflt": "middle center", - "arrayOk": false, - "role": "style", - "editType": "plot", - "description": "Sets the positions of the `text` elements with respects to the (x,y) coordinates." - }, - "editType": "plot", - "role": "object" - }, - "name": { - "valType": "string", - "role": "style", - "editType": "plot", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "editType": "plot", - "role": "object" - } - }, - "role": "object" - }, - "editType": "plot", - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "Controls persistence of user-driven changes in the view: `center`, `zoom`, `bearing`, `pitch`. Defaults to `layout.uirevision`." - }, - "_isSubplotObj": true, - "role": "object" - }, - "polar": { - "domain": { - "x": { - "valType": "info_array", - "role": "info", - "editType": "plot", - "items": [ - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "plot" - }, - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "plot" - } - ], - "dflt": [ - 0, - 1 - ], - "description": "Sets the horizontal domain of this polar subplot (in plot fraction)." - }, - "y": { - "valType": "info_array", - "role": "info", - "editType": "plot", - "items": [ - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "plot" - }, - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "plot" - } - ], - "dflt": [ - 0, - 1 - ], - "description": "Sets the vertical domain of this polar subplot (in plot fraction)." - }, - "editType": "plot", - "row": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "plot", - "description": "If there is a layout grid, use the domain for this row in the grid for this polar subplot ." - }, - "column": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "info", - "editType": "plot", - "description": "If there is a layout grid, use the domain for this column in the grid for this polar subplot ." - }, - "role": "object" - }, - "sector": { - "valType": "info_array", - "items": [ - { - "valType": "number", - "editType": "plot" - }, - { - "valType": "number", - "editType": "plot" - } - ], - "dflt": [ - 0, - 360 - ], - "role": "info", - "editType": "plot", - "description": "Sets angular span of this polar subplot with two angles (in degrees). Sector are assumed to be spanned in the counterclockwise direction with *0* corresponding to rightmost limit of the polar subplot." - }, - "hole": { - "valType": "number", - "min": 0, - "max": 1, - "dflt": 0, - "editType": "plot", - "role": "info", - "description": "Sets the fraction of the radius to cut out of the polar subplot." - }, - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "plot", - "dflt": "#fff", - "description": "Set the background color of the subplot" - }, - "radialaxis": { - "visible": { - "valType": "boolean", - "role": "info", - "editType": "plot", - "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", - "dflt": true - }, - "type": { - "valType": "enumerated", - "values": [ - "-", - "linear", - "log", - "date", - "category" - ], - "dflt": "-", - "role": "info", - "editType": "calc", - "_noTemplating": true, - "description": "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." - }, - "autotypenumbers": { - "valType": "enumerated", - "values": [ - "convert types", - "strict" - ], - "dflt": "convert types", - "role": "info", - "editType": "calc", - "description": "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." - }, - "autorange": { - "valType": "enumerated", - "values": [ - true, - false, - "reversed" - ], - "dflt": true, - "role": "info", - "editType": "plot", - "impliedEdits": {}, - "description": "Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided, then `autorange` is set to *false*." - }, - "rangemode": { - "valType": "enumerated", - "values": [ - "tozero", - "nonnegative", - "normal" - ], - "dflt": "tozero", - "role": "style", - "editType": "calc", - "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)." - }, - "range": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "plot", - "impliedEdits": { - "^autorange": false - } - }, - { - "valType": "any", - "editType": "plot", - "impliedEdits": { - "^autorange": false - } - } - ], - "editType": "plot", - "impliedEdits": { - "autorange": false - }, - "anim": true, - "description": "Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, 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." - }, - "categoryorder": { - "valType": "enumerated", - "values": [ - "trace", - "category ascending", - "category descending", - "array", - "total ascending", - "total descending", - "min ascending", - "min descending", - "max ascending", - "max descending", - "sum ascending", - "sum descending", - "mean ascending", - "mean descending", - "median ascending", - "median descending" - ], - "dflt": "trace", - "role": "info", - "editType": "calc", - "description": "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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values." - }, - "categoryarray": { - "valType": "data_array", - "role": "data", - "editType": "calc", - "description": "Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`." - }, - "angle": { - "valType": "angle", - "editType": "plot", - "role": "info", - "description": "Sets the angle (in degrees) from which the radial axis is drawn. Note that by default, radial axis line on the theta=0 line corresponds to a line pointing right (like what mathematicians prefer). Defaults to the first `polar.sector` angle." - }, - "side": { - "valType": "enumerated", - "values": [ - "clockwise", - "counterclockwise" - ], - "dflt": "clockwise", - "editType": "plot", - "role": "info", - "description": "Determines on which side of radial axis line the tick and tick labels appear." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", - "dflt": "" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "ticks", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "ticks" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "ticks" - }, - "editType": "plot", - "description": "Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.", - "role": "object" - }, - "editType": "plot", - "role": "object" - }, - "hoverformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "none", - "description": "Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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*" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "Controls persistence of user-driven changes in axis `range`, `autorange`, `angle`, and `title` if in `editable: true` configuration. Defaults to `polar.uirevision`." - }, - "editType": "plot", - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "editType": "ticks", - "description": "Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now." - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "ticks", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "ticks" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "ticks" - }, - "editType": "ticks", - "description": "Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now." - } - }, - "color": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "plot", - "description": "Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this." - }, - "showline": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "plot", - "description": "Determines whether or not a line bounding this axis is drawn." - }, - "linecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "plot", - "description": "Sets the axis line color." - }, - "linewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "plot", - "description": "Sets the width (in px) of the axis line." - }, - "showgrid": { - "valType": "boolean", - "role": "style", - "editType": "plot", - "description": "Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.", - "dflt": true - }, - "gridcolor": { - "valType": "color", - "dflt": "#eee", - "role": "style", - "editType": "plot", - "description": "Sets the color of the grid lines." - }, - "gridwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "plot", - "description": "Sets the width (in px) of the grid lines." - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "plot", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "plot", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "plot", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "plot", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "plot", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "plot", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "plot", - "description": "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." - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "plot", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "plot", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "plot", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "plot", - "description": "Determines whether or not the tick labels are drawn." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "plot", - "description": "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." - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "Sets a tick label prefix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "plot", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "Sets a tick label suffix." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "plot", - "description": "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." - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "plot", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "plot", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "plot", - "description": "If \"true\", even 4-digit integers are separated" - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot" - }, - "editType": "plot", - "description": "Sets the tick font.", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "plot", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "plot", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "plot" - }, - { - "valType": "any", - "editType": "plot" - } - ], - "editType": "plot", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "plot", - "name": { - "valType": "string", - "role": "style", - "editType": "plot", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "layer": { - "valType": "enumerated", - "values": [ - "above traces", - "below traces" - ], - "dflt": "above traces", - "role": "info", - "editType": "plot", - "description": "Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis." - }, - "calendar": { - "valType": "enumerated", - "values": [ - "gregorian", - "chinese", - "coptic", - "discworld", - "ethiopian", - "hebrew", - "islamic", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "jalali", - "taiwan", - "thai", - "ummalqura" - ], - "role": "info", - "editType": "calc", - "dflt": "gregorian", - "description": "Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`" - }, - "role": "object", - "categoryarraysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for categoryarray .", - "editType": "none" - }, - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "angularaxis": { - "visible": { - "valType": "boolean", - "role": "info", - "editType": "plot", - "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", - "dflt": true - }, - "type": { - "valType": "enumerated", - "values": [ - "-", - "linear", - "category" - ], - "dflt": "-", - "role": "info", - "editType": "calc", - "_noTemplating": true, - "description": "Sets the angular axis type. If *linear*, set `thetaunit` to determine the unit in which axis value are shown. If *category, use `period` to set the number of integer coordinates around polar axis." - }, - "autotypenumbers": { - "valType": "enumerated", - "values": [ - "convert types", - "strict" - ], - "dflt": "convert types", - "role": "info", - "editType": "calc", - "description": "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." - }, - "categoryorder": { - "valType": "enumerated", - "values": [ - "trace", - "category ascending", - "category descending", - "array", - "total ascending", - "total descending", - "min ascending", - "min descending", - "max ascending", - "max descending", - "sum ascending", - "sum descending", - "mean ascending", - "mean descending", - "median ascending", - "median descending" - ], - "dflt": "trace", - "role": "info", - "editType": "calc", - "description": "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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values." - }, - "categoryarray": { - "valType": "data_array", - "role": "data", - "editType": "calc", - "description": "Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`." - }, - "thetaunit": { - "valType": "enumerated", - "values": [ - "radians", - "degrees" - ], - "dflt": "degrees", - "role": "info", - "editType": "calc", - "description": "Sets the format unit of the formatted *theta* values. Has an effect only when `angularaxis.type` is *linear*." - }, - "period": { - "valType": "number", - "editType": "calc", - "min": 0, - "role": "info", - "description": "Set the angular period. Has an effect only when `angularaxis.type` is *category*." - }, - "direction": { - "valType": "enumerated", - "values": [ - "counterclockwise", - "clockwise" - ], - "dflt": "counterclockwise", - "role": "info", - "editType": "calc", - "description": "Sets the direction corresponding to positive angles." - }, - "rotation": { - "valType": "angle", - "editType": "calc", - "role": "info", - "description": "Sets that start position (in degrees) of the angular axis By default, polar subplots with `direction` set to *counterclockwise* get a `rotation` of *0* which corresponds to due East (like what mathematicians prefer). In turn, polar with `direction` set to *clockwise* get a rotation of *90* which corresponds to due North (like on a compass)," - }, - "hoverformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "none", - "description": "Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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*" - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "Controls persistence of user-driven changes in axis `rotation`. Defaults to `polar.uirevision`." - }, - "editType": "plot", - "color": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "plot", - "description": "Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this." - }, - "showline": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "plot", - "description": "Determines whether or not a line bounding this axis is drawn." - }, - "linecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "plot", - "description": "Sets the axis line color." - }, - "linewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "plot", - "description": "Sets the width (in px) of the axis line." - }, - "showgrid": { - "valType": "boolean", - "role": "style", - "editType": "plot", - "description": "Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.", - "dflt": true - }, - "gridcolor": { - "valType": "color", - "dflt": "#eee", - "role": "style", - "editType": "plot", - "description": "Sets the color of the grid lines." - }, - "gridwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "plot", - "description": "Sets the width (in px) of the grid lines." - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "plot", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "plot", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "plot", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "plot", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "plot", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "plot", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "plot", - "description": "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." - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "plot", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "plot", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "plot", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "plot", - "description": "Determines whether or not the tick labels are drawn." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "plot", - "description": "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." - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "Sets a tick label prefix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "plot", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "Sets a tick label suffix." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "plot", - "description": "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." - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "plot", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "plot", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "plot", - "description": "If \"true\", even 4-digit integers are separated" - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "plot", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "plot" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "plot" - }, - "editType": "plot", - "description": "Sets the tick font.", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "plot", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "plot", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "plot" - }, - { - "valType": "any", - "editType": "plot" - } - ], - "editType": "plot", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "plot", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "plot", - "name": { - "valType": "string", - "role": "style", - "editType": "plot", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "plot", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "layer": { - "valType": "enumerated", - "values": [ - "above traces", - "below traces" - ], - "dflt": "above traces", - "role": "info", - "editType": "plot", - "description": "Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis." - }, - "role": "object", - "categoryarraysrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for categoryarray .", - "editType": "none" - }, - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "gridshape": { - "valType": "enumerated", - "values": [ - "circular", - "linear" - ], - "dflt": "circular", - "role": "style", - "editType": "plot", - "description": "Determines if the radial axis grid lines and angular axis line are drawn as *circular* sectors or as *linear* (polygon) sectors. Has an effect only when the angular axis has `type` *category*. Note that `radialaxis.angle` is snapped to the angle of the closest vertex when `gridshape` is *circular* (so that radial axis scale is the same as the data scale)." - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "Controls persistence of user-driven changes in axis attributes, if not overridden in the individual axes. Defaults to `layout.uirevision`." - }, - "editType": "calc", - "_isSubplotObj": true, - "role": "object" - }, - "radialaxis": { - "range": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "number", - "editType": "plot" - }, - { - "valType": "number", - "editType": "plot" - } - ], - "description": "Legacy polar charts are deprecated! Please switch to *polar* subplots. Defines the start and end point of this radial axis.", - "editType": "plot" - }, - "domain": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "plot" - }, - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "plot" - } - ], - "dflt": [ - 0, - 1 - ], - "editType": "plot", - "description": "Polar chart subplots are not supported yet. This key has currently no effect." - }, - "orientation": { - "valType": "number", - "role": "style", - "description": "Legacy polar charts are deprecated! Please switch to *polar* subplots. Sets the orientation (an angle with respect to the origin) of the radial axis.", - "editType": "plot" - }, - "showline": { - "valType": "boolean", - "role": "style", - "description": "Legacy polar charts are deprecated! Please switch to *polar* subplots. Determines whether or not the line bounding this radial axis will be shown on the figure.", - "editType": "plot" - }, - "showticklabels": { - "valType": "boolean", - "role": "style", - "description": "Legacy polar charts are deprecated! Please switch to *polar* subplots. Determines whether or not the radial axis ticks will feature tick labels.", - "editType": "plot" - }, - "tickorientation": { - "valType": "enumerated", - "values": [ - "horizontal", - "vertical" - ], - "role": "style", - "description": "Legacy polar charts are deprecated! Please switch to *polar* subplots. Sets the orientation (from the paper perspective) of the radial axis tick labels.", - "editType": "plot" - }, - "ticklen": { - "valType": "number", - "min": 0, - "role": "style", - "description": "Legacy polar charts are deprecated! Please switch to *polar* subplots. Sets the length of the tick lines on this radial axis.", - "editType": "plot" - }, - "tickcolor": { - "valType": "color", - "role": "style", - "description": "Legacy polar charts are deprecated! Please switch to *polar* subplots. Sets the color of the tick lines on this radial axis.", - "editType": "plot" - }, - "ticksuffix": { - "valType": "string", - "role": "style", - "description": "Legacy polar charts are deprecated! Please switch to *polar* subplots. Sets the length of the tick lines on this radial axis.", - "editType": "plot" - }, - "endpadding": { - "valType": "number", - "role": "style", - "description": "Legacy polar charts are deprecated! Please switch to *polar* subplots.", - "editType": "plot" - }, - "visible": { - "valType": "boolean", - "role": "info", - "description": "Legacy polar charts are deprecated! Please switch to *polar* subplots. Determines whether or not this axis will be visible.", - "editType": "plot" - }, - "editType": "plot", - "role": "object" - }, - "angularaxis": { - "range": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "number", - "dflt": 0, - "editType": "plot" - }, - { - "valType": "number", - "dflt": 360, - "editType": "plot" - } - ], - "description": "Legacy polar charts are deprecated! Please switch to *polar* subplots. Defines the start and end point of this angular axis.", - "editType": "plot" - }, - "domain": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "plot" - }, - { - "valType": "number", - "min": 0, - "max": 1, - "editType": "plot" - } - ], - "dflt": [ - 0, - 1 - ], - "editType": "plot", - "description": "Polar chart subplots are not supported yet. This key has currently no effect." - }, - "showline": { - "valType": "boolean", - "role": "style", - "description": "Legacy polar charts are deprecated! Please switch to *polar* subplots. Determines whether or not the line bounding this angular axis will be shown on the figure.", - "editType": "plot" - }, - "showticklabels": { - "valType": "boolean", - "role": "style", - "description": "Legacy polar charts are deprecated! Please switch to *polar* subplots. Determines whether or not the angular axis ticks will feature tick labels.", - "editType": "plot" - }, - "tickorientation": { - "valType": "enumerated", - "values": [ - "horizontal", - "vertical" - ], - "role": "style", - "description": "Legacy polar charts are deprecated! Please switch to *polar* subplots. Sets the orientation (from the paper perspective) of the angular axis tick labels.", - "editType": "plot" - }, - "ticklen": { - "valType": "number", - "min": 0, - "role": "style", - "description": "Legacy polar charts are deprecated! Please switch to *polar* subplots. Sets the length of the tick lines on this angular axis.", - "editType": "plot" - }, - "tickcolor": { - "valType": "color", - "role": "style", - "description": "Legacy polar charts are deprecated! Please switch to *polar* subplots. Sets the color of the tick lines on this angular axis.", - "editType": "plot" - }, - "ticksuffix": { - "valType": "string", - "role": "style", - "description": "Legacy polar charts are deprecated! Please switch to *polar* subplots. Sets the length of the tick lines on this angular axis.", - "editType": "plot" - }, - "endpadding": { - "valType": "number", - "role": "style", - "description": "Legacy polar charts are deprecated! Please switch to *polar* subplots.", - "editType": "plot" - }, - "visible": { - "valType": "boolean", - "role": "info", - "description": "Legacy polar charts are deprecated! Please switch to *polar* subplots. Determines whether or not this axis will be visible.", - "editType": "plot" - }, - "editType": "plot", - "role": "object" - }, - "direction": { - "valType": "enumerated", - "values": [ - "clockwise", - "counterclockwise" - ], - "role": "info", - "description": "Legacy polar charts are deprecated! Please switch to *polar* subplots. Sets the direction corresponding to positive angles in legacy polar charts.", - "editType": "plot" - }, - "orientation": { - "valType": "angle", - "role": "info", - "description": "Legacy polar charts are deprecated! Please switch to *polar* subplots. Rotates the entire polar by the given angle in legacy polar charts.", - "editType": "plot" - }, - "editType": "calc", - "legend": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "legend", - "description": "Sets the legend background color. Defaults to `layout.paper_bgcolor`." - }, - "bordercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "legend", - "description": "Sets the color of the border enclosing the legend." - }, - "borderwidth": { - "valType": "number", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "legend", - "description": "Sets the width (in px) of the border enclosing the legend." - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "legend", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "legend" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "legend" - }, - "editType": "legend", - "description": "Sets the font used to text the legend items.", - "role": "object" - }, - "orientation": { - "valType": "enumerated", - "values": [ - "v", - "h" - ], - "dflt": "v", - "role": "info", - "editType": "legend", - "description": "Sets the orientation of the legend." - }, - "traceorder": { - "valType": "flaglist", - "flags": [ - "reversed", - "grouped" - ], - "extras": [ - "normal" - ], - "role": "style", - "editType": "legend", - "description": "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*." - }, - "tracegroupgap": { - "valType": "number", - "min": 0, - "dflt": 10, - "role": "style", - "editType": "legend", - "description": "Sets the amount of vertical space (in px) between legend groups." - }, - "itemsizing": { - "valType": "enumerated", - "values": [ - "trace", - "constant" - ], - "dflt": "trace", - "role": "style", - "editType": "legend", - "description": "Determines if the legend items symbols scale with their corresponding *trace* attributes or remain *constant* independent of the symbol size on the graph." - }, - "itemwidth": { - "valType": "number", - "min": 30, - "dflt": 30, - "role": "style", - "editType": "legend", - "description": "Sets the width (in px) of the legend item symbols (the part other than the title.text)." - }, - "itemclick": { - "valType": "enumerated", - "values": [ - "toggle", - "toggleothers", - false - ], - "dflt": "toggle", - "role": "info", - "editType": "legend", - "description": "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* disable legend item click interactions." - }, - "itemdoubleclick": { - "valType": "enumerated", - "values": [ - "toggle", - "toggleothers", - false - ], - "dflt": "toggleothers", - "role": "info", - "editType": "legend", - "description": "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* disable legend item double-click interactions." - }, - "x": { - "valType": "number", - "min": -2, - "max": 3, - "role": "style", - "editType": "legend", - "description": "Sets the x position (in normalized coordinates) of the legend. Defaults to *1.02* for vertical legends and defaults to *0* for horizontal legends." - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "auto", - "left", - "center", - "right" - ], - "dflt": "left", - "role": "info", - "editType": "legend", - "description": "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." - }, - "y": { - "valType": "number", - "min": -2, - "max": 3, - "role": "style", - "editType": "legend", - "description": "Sets the y position (in normalized coordinates) of the legend. 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." - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "auto", - "top", - "middle", - "bottom" - ], - "role": "info", - "editType": "legend", - "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." - }, - "uirevision": { - "valType": "any", - "role": "info", - "editType": "none", - "description": "Controls persistence of legend-driven changes in trace and pie label visibility. Defaults to `layout.uirevision`." - }, - "valign": { - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ], - "dflt": "middle", - "role": "style", - "editType": "legend", - "description": "Sets the vertical alignment of the symbols with respect to their associated text." - }, - "title": { - "text": { - "valType": "string", - "dflt": "", - "role": "info", - "editType": "legend", - "description": "Sets the title of the legend." - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "legend", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "legend" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "legend" - }, - "editType": "legend", - "description": "Sets this legend's title font.", - "role": "object" - }, - "side": { - "valType": "enumerated", - "values": [ - "top", - "left", - "top left" - ], - "role": "style", - "editType": "legend", - "description": "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 legend area in both x and y sides." - }, - "editType": "legend", - "role": "object" - }, - "editType": "legend", - "role": "object" - }, - "annotations": { - "items": { - "annotation": { - "visible": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc+arraydraw", - "description": "Determines whether or not this annotation is visible." - }, - "text": { - "valType": "string", - "role": "info", - "editType": "calc+arraydraw", - "description": "Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (
), bold (), italics (), hyperlinks (). Tags , , are also supported." - }, - "textangle": { - "valType": "angle", - "dflt": 0, - "role": "style", - "editType": "calc+arraydraw", - "description": "Sets the angle at which the `text` is drawn with respect to the horizontal." - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "calc+arraydraw", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "calc+arraydraw" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "arraydraw" - }, - "editType": "calc+arraydraw", - "description": "Sets the annotation text font.", - "role": "object" - }, - "width": { - "valType": "number", - "min": 1, - "dflt": null, - "role": "style", - "editType": "calc+arraydraw", - "description": "Sets an explicit width for the text box. null (default) lets the text set the box width. Wider text will be clipped. There is no automatic wrapping; use
to start a new line." - }, - "height": { - "valType": "number", - "min": 1, - "dflt": null, - "role": "style", - "editType": "calc+arraydraw", - "description": "Sets an explicit height for the text box. null (default) lets the text set the box height. Taller text will be clipped." - }, - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "dflt": 1, - "role": "style", - "editType": "arraydraw", - "description": "Sets the opacity of the annotation (text + arrow)." - }, - "align": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "center", - "role": "style", - "editType": "arraydraw", - "description": "Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more
HTML tags) or if an explicit width is set to override the text width." - }, - "valign": { - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ], - "dflt": "middle", - "role": "style", - "editType": "arraydraw", - "description": "Sets the vertical alignment of the `text` within the box. Has an effect only if an explicit height is set to override the text height." - }, - "bgcolor": { - "valType": "color", - "dflt": "rgba(0,0,0,0)", - "role": "style", - "editType": "arraydraw", - "description": "Sets the background color of the annotation." - }, - "bordercolor": { - "valType": "color", - "dflt": "rgba(0,0,0,0)", - "role": "style", - "editType": "arraydraw", - "description": "Sets the color of the border enclosing the annotation `text`." - }, - "borderpad": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "calc+arraydraw", - "description": "Sets the padding (in px) between the `text` and the enclosing border." - }, - "borderwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "calc+arraydraw", - "description": "Sets the width (in px) of the border enclosing the annotation `text`." - }, - "showarrow": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "calc+arraydraw", - "description": "Determines whether or not the annotation is drawn with an arrow. If *true*, `text` is placed near the arrow's tail. If *false*, `text` lines up with the `x` and `y` provided." - }, - "arrowcolor": { - "valType": "color", - "role": "style", - "editType": "arraydraw", - "description": "Sets the color of the annotation arrow." - }, - "arrowhead": { - "valType": "integer", - "min": 0, - "max": 8, - "dflt": 1, - "role": "style", - "editType": "arraydraw", - "description": "Sets the end annotation arrow head style." - }, - "startarrowhead": { - "valType": "integer", - "min": 0, - "max": 8, - "dflt": 1, - "role": "style", - "editType": "arraydraw", - "description": "Sets the start annotation arrow head style." - }, - "arrowside": { - "valType": "flaglist", - "flags": [ - "end", - "start" - ], - "extras": [ - "none" - ], - "dflt": "end", - "role": "style", - "editType": "arraydraw", - "description": "Sets the annotation arrow head position." - }, - "arrowsize": { - "valType": "number", - "min": 0.3, - "dflt": 1, - "role": "style", - "editType": "calc+arraydraw", - "description": "Sets the size of the end annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line." - }, - "startarrowsize": { - "valType": "number", - "min": 0.3, - "dflt": 1, - "role": "style", - "editType": "calc+arraydraw", - "description": "Sets the size of the start annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line." - }, - "arrowwidth": { - "valType": "number", - "min": 0.1, - "role": "style", - "editType": "calc+arraydraw", - "description": "Sets the width (in px) of annotation arrow line." - }, - "standoff": { - "valType": "number", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "calc+arraydraw", - "description": "Sets a distance, in pixels, to move the end arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount." - }, - "startstandoff": { - "valType": "number", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "calc+arraydraw", - "description": "Sets a distance, in pixels, to move the start arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount." - }, - "ax": { - "valType": "any", - "role": "info", - "editType": "calc+arraydraw", - "description": "Sets the x component of the arrow tail about the arrow head. If `axref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from right to left (left to right). If `axref` is not `pixel` and is exactly the same as `xref`, this is an absolute value on that axis, like `x`, specified in the same coordinates as `xref`." - }, - "ay": { - "valType": "any", - "role": "info", - "editType": "calc+arraydraw", - "description": "Sets the y component of the arrow tail about the arrow head. If `ayref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from bottom to top (top to bottom). If `ayref` is not `pixel` and is exactly the same as `yref`, this is an absolute value on that axis, like `y`, specified in the same coordinates as `yref`." - }, - "axref": { - "valType": "enumerated", - "dflt": "pixel", - "values": [ - "pixel", - "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" - ], - "role": "info", - "editType": "calc", - "description": "Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a ax axis id (e.g. *ax* or *ax2*), the `ax` position refers to a ax coordinate. If set to *paper*, the `ax` 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 ax 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., *ax2 domain* refers to the domain of the second ax axis and a ax position of 0.5 refers to the point between the left and the right of the domain of the second ax axis. In order for absolute positioning of the arrow to work, *axref* must be exactly the same as *xref*, otherwise *axref* will revert to *pixel* (explained next). For relative positioning, *axref* can be set to *pixel*, in which case the *ax* value is specified in pixels relative to *x*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point." - }, - "ayref": { - "valType": "enumerated", - "dflt": "pixel", - "values": [ - "pixel", - "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" - ], - "role": "info", - "editType": "calc", - "description": "Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a ay axis id (e.g. *ay* or *ay2*), the `ay` position refers to a ay coordinate. If set to *paper*, the `ay` 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 ay 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., *ay2 domain* refers to the domain of the second ay axis and a ay position of 0.5 refers to the point between the bottom and the top of the domain of the second ay axis. In order for absolute positioning of the arrow to work, *ayref* must be exactly the same as *yref*, otherwise *ayref* will revert to *pixel* (explained next). For relative positioning, *ayref* can be set to *pixel*, in which case the *ay* value is specified in pixels relative to *y*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point." - }, - "xref": { - "valType": "enumerated", - "values": [ - "paper", - "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" - ], - "role": "info", - "editType": "calc", - "description": "Sets the annotation's x coordinate axis. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis." - }, - "x": { - "valType": "any", - "role": "info", - "editType": "calc+arraydraw", - "description": "Sets the annotation's x position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears." - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "auto", - "left", - "center", - "right" - ], - "dflt": "auto", - "role": "info", - "editType": "calc+arraydraw", - "description": "Sets the text box's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the annotation. For example, if `x` is set to 1, `xref` to *paper* and `xanchor` to *right* then the right-most portion of the annotation lines up with the right-most edge of the plotting area. If *auto*, the anchor is equivalent to *center* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side." - }, - "xshift": { - "valType": "number", - "dflt": 0, - "role": "style", - "editType": "calc+arraydraw", - "description": "Shifts the position of the whole annotation and arrow to the right (positive) or left (negative) by this many pixels." - }, - "yref": { - "valType": "enumerated", - "values": [ - "paper", - "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" - ], - "role": "info", - "editType": "calc", - "description": "Sets the annotation's y coordinate axis. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis." - }, - "y": { - "valType": "any", - "role": "info", - "editType": "calc+arraydraw", - "description": "Sets the annotation's y position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears." - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "auto", - "top", - "middle", - "bottom" - ], - "dflt": "auto", - "role": "info", - "editType": "calc+arraydraw", - "description": "Sets the text box's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the annotation. For example, if `y` is set to 1, `yref` to *paper* and `yanchor` to *top* then the top-most portion of the annotation lines up with the top-most edge of the plotting area. If *auto*, the anchor is equivalent to *middle* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side." - }, - "yshift": { - "valType": "number", - "dflt": 0, - "role": "style", - "editType": "calc+arraydraw", - "description": "Shifts the position of the whole annotation and arrow up (positive) or down (negative) by this many pixels." - }, - "clicktoshow": { - "valType": "enumerated", - "values": [ - false, - "onoff", - "onout" - ], - "dflt": false, - "role": "style", - "editType": "arraydraw", - "description": "Makes this annotation respond to clicks on the plot. If you click a data point that exactly matches the `x` and `y` values of this annotation, and it is hidden (visible: false), it will appear. In *onoff* mode, you must click the same point again to make it disappear, so if you click multiple points, you can show multiple annotations. In *onout* mode, a click anywhere else in the plot (on another data point or not) will hide this annotation. If you need to show/hide this annotation in response to different `x` or `y` values, you can set `xclick` and/or `yclick`. This is useful for example to label the side of a bar. To label markers though, `standoff` is preferred over `xclick` and `yclick`." - }, - "xclick": { - "valType": "any", - "role": "info", - "editType": "arraydraw", - "description": "Toggle this annotation when clicking a data point whose `x` value is `xclick` rather than the annotation's `x` value." - }, - "yclick": { - "valType": "any", - "role": "info", - "editType": "arraydraw", - "description": "Toggle this annotation when clicking a data point whose `y` value is `yclick` rather than the annotation's `y` value." - }, - "hovertext": { - "valType": "string", - "role": "info", - "editType": "arraydraw", - "description": "Sets text to appear when hovering over this annotation. If omitted or blank, no hover label will appear." - }, - "hoverlabel": { - "bgcolor": { - "valType": "color", - "role": "style", - "editType": "arraydraw", - "description": "Sets the background color of the hover label. By default uses the annotation's `bgcolor` made opaque, or white if it was transparent." - }, - "bordercolor": { - "valType": "color", - "role": "style", - "editType": "arraydraw", - "description": "Sets the border color of the hover label. By default uses either dark grey or white, for maximum contrast with `hoverlabel.bgcolor`." - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "editType": "arraydraw", - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*." - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "arraydraw" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "arraydraw" - }, - "editType": "arraydraw", - "description": "Sets the hover label text font. By default uses the global hover font and size, with color from `hoverlabel.bordercolor`.", - "role": "object" - }, - "editType": "arraydraw", - "role": "object" - }, - "captureevents": { - "valType": "boolean", - "role": "info", - "editType": "arraydraw", - "description": "Determines whether the annotation text box captures mouse move and click events, or allows those events to pass through to data points in the plot that may be behind the annotation. By default `captureevents` is *false* unless `hovertext` is provided. If you use the event `plotly_clickannotation` without `hovertext` you must explicitly enable `captureevents`." - }, - "editType": "calc", - "_deprecated": { - "ref": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "Obsolete. Set `xref` and `yref` separately instead." - } - }, - "name": { - "valType": "string", - "role": "style", - "editType": "none", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "shapes": { - "items": { - "shape": { - "visible": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc+arraydraw", - "description": "Determines whether or not this shape is visible." - }, - "type": { - "valType": "enumerated", - "values": [ - "circle", - "rect", - "path", - "line" - ], - "role": "info", - "editType": "calc+arraydraw", - "description": "Specifies the shape type to be drawn. If *line*, a line is drawn from (`x0`,`y0`) to (`x1`,`y1`) with respect to the axes' sizing mode. If *circle*, a circle is drawn from ((`x0`+`x1`)/2, (`y0`+`y1`)/2)) with radius (|(`x0`+`x1`)/2 - `x0`|, |(`y0`+`y1`)/2 -`y0`)|) with respect to the axes' sizing mode. If *rect*, a rectangle is drawn linking (`x0`,`y0`), (`x1`,`y0`), (`x1`,`y1`), (`x0`,`y1`), (`x0`,`y0`) with respect to the axes' sizing mode. If *path*, draw a custom SVG path using `path`. with respect to the axes' sizing mode." - }, - "layer": { - "valType": "enumerated", - "values": [ - "below", - "above" - ], - "dflt": "above", - "role": "info", - "editType": "arraydraw", - "description": "Specifies whether shapes are drawn below or above traces." - }, - "xref": { - "valType": "enumerated", - "values": [ - "paper", - "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" - ], - "role": "info", - "editType": "calc", - "description": "Sets the shape'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. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, then you must convert the date to unix time in milliseconds." - }, - "xsizemode": { - "valType": "enumerated", - "values": [ - "scaled", - "pixel" - ], - "dflt": "scaled", - "role": "info", - "editType": "calc+arraydraw", - "description": "Sets the shapes's sizing mode along the x axis. If set to *scaled*, `x0`, `x1` and x coordinates within `path` refer to data values on the x axis or a fraction of the plot area's width (`xref` set to *paper*). If set to *pixel*, `xanchor` specifies the x position in terms of data or plot fraction but `x0`, `x1` and x coordinates within `path` are pixels relative to `xanchor`. This way, the shape can have a fixed width while maintaining a position relative to data or plot fraction." - }, - "xanchor": { - "valType": "any", - "role": "info", - "editType": "calc+arraydraw", - "description": "Only relevant in conjunction with `xsizemode` set to *pixel*. Specifies the anchor point on the x axis to which `x0`, `x1` and x coordinates within `path` are relative to. E.g. useful to attach a pixel sized shape to a certain data value. No effect when `xsizemode` not set to *pixel*." - }, - "x0": { - "valType": "any", - "role": "info", - "editType": "calc+arraydraw", - "description": "Sets the shape's starting x position. See `type` and `xsizemode` for more info." - }, - "x1": { - "valType": "any", - "role": "info", - "editType": "calc+arraydraw", - "description": "Sets the shape's end x position. See `type` and `xsizemode` for more info." - }, - "yref": { - "valType": "enumerated", - "values": [ - "paper", - "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" - ], - "role": "info", - "editType": "calc", - "description": "Sets the annotation's y coordinate axis. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis." - }, - "ysizemode": { - "valType": "enumerated", - "values": [ - "scaled", - "pixel" - ], - "dflt": "scaled", - "role": "info", - "editType": "calc+arraydraw", - "description": "Sets the shapes's sizing mode along the y axis. If set to *scaled*, `y0`, `y1` and y coordinates within `path` refer to data values on the y axis or a fraction of the plot area's height (`yref` set to *paper*). If set to *pixel*, `yanchor` specifies the y position in terms of data or plot fraction but `y0`, `y1` and y coordinates within `path` are pixels relative to `yanchor`. This way, the shape can have a fixed height while maintaining a position relative to data or plot fraction." - }, - "yanchor": { - "valType": "any", - "role": "info", - "editType": "calc+arraydraw", - "description": "Only relevant in conjunction with `ysizemode` set to *pixel*. Specifies the anchor point on the y axis to which `y0`, `y1` and y coordinates within `path` are relative to. E.g. useful to attach a pixel sized shape to a certain data value. No effect when `ysizemode` not set to *pixel*." - }, - "y0": { - "valType": "any", - "role": "info", - "editType": "calc+arraydraw", - "description": "Sets the shape's starting y position. See `type` and `ysizemode` for more info." - }, - "y1": { - "valType": "any", - "role": "info", - "editType": "calc+arraydraw", - "description": "Sets the shape's end y position. See `type` and `ysizemode` for more info." - }, - "path": { - "valType": "string", - "role": "info", - "editType": "calc+arraydraw", - "description": "For `type` *path* - a valid SVG path with the pixel values replaced by data values in `xsizemode`/`ysizemode` being *scaled* and taken unmodified as pixels relative to `xanchor` and `yanchor` in case of *pixel* size mode. There are a few restrictions / quirks only absolute instructions, not relative. So the allowed segments are: M, L, H, V, Q, C, T, S, and Z arcs (A) are not allowed because radius rx and ry are relative. In the future we could consider supporting relative commands, but we would have to decide on how to handle date and log axes. Note that even as is, Q and C Bezier paths that are smooth on linear axes may not be smooth on log, and vice versa. no chained \"polybezier\" commands - specify the segment type for each one. On category axes, values are numbers scaled to the serial numbers of categories because using the categories themselves there would be no way to describe fractional positions On data axes: because space and T are both normal components of path strings, we can't use either to separate date from time parts. Therefore we'll use underscore for this purpose: 2015-02-21_13:45:56.789" - }, - "opacity": { - "valType": "number", - "min": 0, - "max": 1, - "dflt": 1, - "role": "info", - "editType": "arraydraw", - "description": "Sets the opacity of the shape." - }, - "line": { - "color": { - "valType": "color", - "role": "style", - "editType": "arraydraw", - "anim": true, - "description": "Sets the line color." - }, - "width": { - "valType": "number", - "min": 0, - "dflt": 2, - "role": "style", - "editType": "calc+arraydraw", - "anim": true, - "description": "Sets the line width (in px)." - }, - "dash": { - "valType": "string", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" - ], - "dflt": "solid", - "role": "style", - "editType": "arraydraw", - "description": "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*)." - }, - "role": "object", - "editType": "calc+arraydraw" - }, - "fillcolor": { - "valType": "color", - "dflt": "rgba(0,0,0,0)", - "role": "info", - "editType": "arraydraw", - "description": "Sets the color filling the shape's interior. Only applies to closed shapes." - }, - "fillrule": { - "valType": "enumerated", - "values": [ - "evenodd", - "nonzero" - ], - "dflt": "evenodd", - "role": "info", - "editType": "arraydraw", - "description": "Determines which regions of complex paths constitute the interior. For more info please visit https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule" - }, - "editable": { - "valType": "boolean", - "role": "info", - "dflt": false, - "editType": "calc+arraydraw", - "description": "Determines whether the shape could be activated for edit or not. Has no effect when the older editable shapes mode is enabled via `config.editable` or `config.edits.shapePosition`." - }, - "editType": "arraydraw", - "name": { - "valType": "string", - "role": "style", - "editType": "none", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "images": { - "items": { - "image": { - "visible": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "arraydraw", - "description": "Determines whether or not this image is visible." - }, - "source": { - "valType": "string", - "role": "info", - "editType": "arraydraw", - "description": "Specifies the URL of the image to be used. The URL must be accessible from the domain where the plot code is run, and can be either relative or absolute." - }, - "layer": { - "valType": "enumerated", - "values": [ - "below", - "above" - ], - "dflt": "above", - "role": "info", - "editType": "arraydraw", - "description": "Specifies whether images are drawn below or above traces. When `xref` and `yref` are both set to `paper`, image is drawn below the entire plot area." - }, - "sizex": { - "valType": "number", - "role": "info", - "dflt": 0, - "editType": "arraydraw", - "description": "Sets the image container size horizontally. The image will be sized based on the `position` value. When `xref` is set to `paper`, units are sized relative to the plot width. When `xref` ends with ` domain`, units are sized relative to the axis width." - }, - "sizey": { - "valType": "number", - "role": "info", - "dflt": 0, - "editType": "arraydraw", - "description": "Sets the image container size vertically. The image will be sized based on the `position` value. When `yref` is set to `paper`, units are sized relative to the plot height. When `yref` ends with ` domain`, units are sized relative to the axis height." - }, - "sizing": { - "valType": "enumerated", - "values": [ - "fill", - "contain", - "stretch" - ], - "dflt": "contain", - "role": "info", - "editType": "arraydraw", - "description": "Specifies which dimension of the image to constrain." - }, - "opacity": { - "valType": "number", - "role": "info", - "min": 0, - "max": 1, - "dflt": 1, - "editType": "arraydraw", - "description": "Sets the opacity of the image." - }, - "x": { - "valType": "any", - "role": "info", - "dflt": 0, - "editType": "arraydraw", - "description": "Sets the image's x position. When `xref` is set to `paper`, units are sized relative to the plot height. See `xref` for more info" - }, - "y": { - "valType": "any", - "role": "info", - "dflt": 0, - "editType": "arraydraw", - "description": "Sets the image's y position. When `yref` is set to `paper`, units are sized relative to the plot height. See `yref` for more info" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "left", - "role": "info", - "editType": "arraydraw", - "description": "Sets the anchor for the x position" - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ], - "dflt": "top", - "role": "info", - "editType": "arraydraw", - "description": "Sets the anchor for the y position." - }, - "xref": { - "valType": "enumerated", - "values": [ - "paper", - "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" - ], - "dflt": "paper", - "role": "info", - "editType": "arraydraw", - "description": "Sets the images'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." - }, - "yref": { - "valType": "enumerated", - "values": [ - "paper", - "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" - ], - "dflt": "paper", - "role": "info", - "editType": "arraydraw", - "description": "Sets the images's y coordinate axis. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis." - }, - "editType": "arraydraw", - "name": { - "valType": "string", - "role": "style", - "editType": "none", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "updatemenus": { - "items": { - "updatemenu": { - "_arrayAttrRegexps": [ - {} - ], - "visible": { - "valType": "boolean", - "role": "info", - "description": "Determines whether or not the update menu is visible.", - "editType": "arraydraw" - }, - "type": { - "valType": "enumerated", - "values": [ - "dropdown", - "buttons" - ], - "dflt": "dropdown", - "role": "info", - "description": "Determines whether the buttons are accessible via a dropdown menu or whether the buttons are stacked horizontally or vertically", - "editType": "arraydraw" - }, - "direction": { - "valType": "enumerated", - "values": [ - "left", - "right", - "up", - "down" - ], - "dflt": "down", - "role": "info", - "description": "Determines the direction in which the buttons are laid out, whether in a dropdown menu or a row/column of buttons. For `left` and `up`, the buttons will still appear in left-to-right or top-to-bottom order respectively.", - "editType": "arraydraw" - }, - "active": { - "valType": "integer", - "role": "info", - "min": -1, - "dflt": 0, - "description": "Determines which button (by index starting from 0) is considered active.", - "editType": "arraydraw" - }, - "showactive": { - "valType": "boolean", - "role": "info", - "dflt": true, - "description": "Highlights active dropdown item or active button if true.", - "editType": "arraydraw" - }, - "buttons": { - "items": { - "button": { - "visible": { - "valType": "boolean", - "role": "info", - "description": "Determines whether or not this button is visible.", - "editType": "arraydraw" - }, - "method": { - "valType": "enumerated", - "values": [ - "restyle", - "relayout", - "animate", - "update", - "skip" - ], - "dflt": "restyle", - "role": "info", - "description": "Sets the Plotly method to be called on click. If the `skip` method is used, the API updatemenu will function as normal but will perform no API calls and will not bind automatically to state updates. This may be used to create a component interface and attach to updatemenu events manually via JavaScript.", - "editType": "arraydraw" - }, - "args": { - "valType": "info_array", - "role": "info", - "freeLength": true, - "items": [ - { - "valType": "any", - "editType": "arraydraw" - }, - { - "valType": "any", - "editType": "arraydraw" - }, - { - "valType": "any", - "editType": "arraydraw" - } - ], - "description": "Sets the arguments values to be passed to the Plotly method set in `method` on click.", - "editType": "arraydraw" - }, - "args2": { - "valType": "info_array", - "role": "info", - "freeLength": true, - "items": [ - { - "valType": "any", - "editType": "arraydraw" - }, - { - "valType": "any", - "editType": "arraydraw" - }, - { - "valType": "any", - "editType": "arraydraw" - } - ], - "description": "Sets a 2nd set of `args`, these arguments values are passed to the Plotly method set in `method` when clicking this button while in the active state. Use this to create toggle buttons.", - "editType": "arraydraw" - }, - "label": { - "valType": "string", - "role": "info", - "dflt": "", - "description": "Sets the text label to appear on the button.", - "editType": "arraydraw" - }, - "execute": { - "valType": "boolean", - "role": "info", - "dflt": true, - "description": "When true, the API method is executed. When false, all other behaviors are the same and command execution is skipped. This may be useful when hooking into, for example, the `plotly_buttonclicked` method and executing the API command manually without losing the benefit of the updatemenu automatically binding to the state of the plot through the specification of `method` and `args`.", - "editType": "arraydraw" - }, - "name": { - "valType": "string", - "role": "style", - "editType": "arraydraw", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "arraydraw", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "editType": "arraydraw", - "role": "object" - } - }, - "role": "object" - }, - "x": { - "valType": "number", - "min": -2, - "max": 3, - "dflt": -0.05, - "role": "style", - "description": "Sets the x position (in normalized coordinates) of the update menu.", - "editType": "arraydraw" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "auto", - "left", - "center", - "right" - ], - "dflt": "right", - "role": "info", - "description": "Sets the update menu's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the range selector.", - "editType": "arraydraw" - }, - "y": { - "valType": "number", - "min": -2, - "max": 3, - "dflt": 1, - "role": "style", - "description": "Sets the y position (in normalized coordinates) of the update menu.", - "editType": "arraydraw" - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "auto", - "top", - "middle", - "bottom" - ], - "dflt": "top", - "role": "info", - "description": "Sets the update menu's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the range selector.", - "editType": "arraydraw" - }, - "pad": { - "t": { - "valType": "number", - "dflt": 0, - "role": "style", - "editType": "arraydraw", - "description": "The amount of padding (in px) along the top of the component." - }, - "r": { - "valType": "number", - "dflt": 0, - "role": "style", - "editType": "arraydraw", - "description": "The amount of padding (in px) on the right side of the component." - }, - "b": { - "valType": "number", - "dflt": 0, - "role": "style", - "editType": "arraydraw", - "description": "The amount of padding (in px) along the bottom of the component." - }, - "l": { - "valType": "number", - "dflt": 0, - "role": "style", - "editType": "arraydraw", - "description": "The amount of padding (in px) on the left side of the component." - }, - "editType": "arraydraw", - "description": "Sets the padding around the buttons or dropdown menu.", - "role": "object" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "arraydraw" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "arraydraw" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "arraydraw" - }, - "description": "Sets the font of the update menu button text.", - "editType": "arraydraw", - "role": "object" - }, - "bgcolor": { - "valType": "color", - "role": "style", - "description": "Sets the background color of the update menu buttons.", - "editType": "arraydraw" - }, - "bordercolor": { - "valType": "color", - "dflt": "#BEC8D9", - "role": "style", - "description": "Sets the color of the border enclosing the update menu.", - "editType": "arraydraw" - }, - "borderwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "arraydraw", - "description": "Sets the width (in px) of the border enclosing the update menu." - }, - "name": { - "valType": "string", - "role": "style", - "editType": "arraydraw", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "arraydraw", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "editType": "arraydraw", - "role": "object" - } - }, - "role": "object" - }, - "sliders": { - "items": { - "slider": { - "visible": { - "valType": "boolean", - "role": "info", - "dflt": true, - "description": "Determines whether or not the slider is visible.", - "editType": "arraydraw" - }, - "active": { - "valType": "number", - "role": "info", - "min": 0, - "dflt": 0, - "description": "Determines which button (by index starting from 0) is considered active.", - "editType": "arraydraw" - }, - "steps": { - "items": { - "step": { - "visible": { - "valType": "boolean", - "role": "info", - "dflt": true, - "description": "Determines whether or not this step is included in the slider.", - "editType": "arraydraw" - }, - "method": { - "valType": "enumerated", - "values": [ - "restyle", - "relayout", - "animate", - "update", - "skip" - ], - "dflt": "restyle", - "role": "info", - "description": "Sets the Plotly method to be called when the slider value is changed. If the `skip` method is used, the API slider will function as normal but will perform no API calls and will not bind automatically to state updates. This may be used to create a component interface and attach to slider events manually via JavaScript.", - "editType": "arraydraw" - }, - "args": { - "valType": "info_array", - "role": "info", - "freeLength": true, - "items": [ - { - "valType": "any", - "editType": "arraydraw" - }, - { - "valType": "any", - "editType": "arraydraw" - }, - { - "valType": "any", - "editType": "arraydraw" - } - ], - "description": "Sets the arguments values to be passed to the Plotly method set in `method` on slide.", - "editType": "arraydraw" - }, - "label": { - "valType": "string", - "role": "info", - "description": "Sets the text label to appear on the slider", - "editType": "arraydraw" - }, - "value": { - "valType": "string", - "role": "info", - "description": "Sets the value of the slider step, used to refer to the step programatically. Defaults to the slider label if not provided.", - "editType": "arraydraw" - }, - "execute": { - "valType": "boolean", - "role": "info", - "dflt": true, - "description": "When true, the API method is executed. When false, all other behaviors are the same and command execution is skipped. This may be useful when hooking into, for example, the `plotly_sliderchange` method and executing the API command manually without losing the benefit of the slider automatically binding to the state of the plot through the specification of `method` and `args`.", - "editType": "arraydraw" - }, - "name": { - "valType": "string", - "role": "style", - "editType": "arraydraw", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "arraydraw", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "editType": "arraydraw", - "role": "object" - } - }, - "role": "object" - }, - "lenmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "info", - "dflt": "fraction", - "description": "Determines whether this slider length is set in units of plot *fraction* or in *pixels. Use `len` to set the value.", - "editType": "arraydraw" - }, - "len": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "description": "Sets the length of the slider This measure excludes the padding of both ends. That is, the slider's length is this length minus the padding on both ends.", - "editType": "arraydraw" - }, - "x": { - "valType": "number", - "min": -2, - "max": 3, - "dflt": 0, - "role": "style", - "description": "Sets the x position (in normalized coordinates) of the slider.", - "editType": "arraydraw" - }, - "pad": { - "t": { - "valType": "number", - "dflt": 20, - "role": "style", - "editType": "arraydraw", - "description": "The amount of padding (in px) along the top of the component." - }, - "r": { - "valType": "number", - "dflt": 0, - "role": "style", - "editType": "arraydraw", - "description": "The amount of padding (in px) on the right side of the component." - }, - "b": { - "valType": "number", - "dflt": 0, - "role": "style", - "editType": "arraydraw", - "description": "The amount of padding (in px) along the bottom of the component." - }, - "l": { - "valType": "number", - "dflt": 0, - "role": "style", - "editType": "arraydraw", - "description": "The amount of padding (in px) on the left side of the component." - }, - "editType": "arraydraw", - "description": "Set the padding of the slider component along each side.", - "role": "object" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "auto", - "left", - "center", - "right" - ], - "dflt": "left", - "role": "info", - "description": "Sets the slider's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the range selector.", - "editType": "arraydraw" - }, - "y": { - "valType": "number", - "min": -2, - "max": 3, - "dflt": 0, - "role": "style", - "description": "Sets the y position (in normalized coordinates) of the slider.", - "editType": "arraydraw" - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "auto", - "top", - "middle", - "bottom" - ], - "dflt": "top", - "role": "info", - "description": "Sets the slider's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the range selector.", - "editType": "arraydraw" - }, - "transition": { - "duration": { - "valType": "number", - "role": "info", - "min": 0, - "dflt": 150, - "description": "Sets the duration of the slider transition", - "editType": "arraydraw" - }, - "easing": { - "valType": "enumerated", - "values": [ - "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" - ], - "role": "info", - "dflt": "cubic-in-out", - "description": "Sets the easing function of the slider transition", - "editType": "arraydraw" - }, - "editType": "arraydraw", - "role": "object" - }, - "currentvalue": { - "visible": { - "valType": "boolean", - "role": "info", - "dflt": true, - "description": "Shows the currently-selected value above the slider.", - "editType": "arraydraw" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "left", - "role": "info", - "description": "The alignment of the value readout relative to the length of the slider.", - "editType": "arraydraw" - }, - "offset": { - "valType": "number", - "dflt": 10, - "role": "info", - "description": "The amount of space, in pixels, between the current value label and the slider.", - "editType": "arraydraw" - }, - "prefix": { - "valType": "string", - "role": "info", - "description": "When currentvalue.visible is true, this sets the prefix of the label.", - "editType": "arraydraw" - }, - "suffix": { - "valType": "string", - "role": "info", - "description": "When currentvalue.visible is true, this sets the suffix of the label.", - "editType": "arraydraw" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "arraydraw" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "arraydraw" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "arraydraw" - }, - "description": "Sets the font of the current value label text.", - "editType": "arraydraw", - "role": "object" - }, - "editType": "arraydraw", - "role": "object" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "arraydraw" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "arraydraw" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "arraydraw" - }, - "description": "Sets the font of the slider step labels.", - "editType": "arraydraw", - "role": "object" - }, - "activebgcolor": { - "valType": "color", - "role": "style", - "dflt": "#dbdde0", - "description": "Sets the background color of the slider grip while dragging.", - "editType": "arraydraw" - }, - "bgcolor": { - "valType": "color", - "role": "style", - "dflt": "#f8fafc", - "description": "Sets the background color of the slider.", - "editType": "arraydraw" - }, - "bordercolor": { - "valType": "color", - "dflt": "#bec8d9", - "role": "style", - "description": "Sets the color of the border enclosing the slider.", - "editType": "arraydraw" - }, - "borderwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "description": "Sets the width (in px) of the border enclosing the slider.", - "editType": "arraydraw" - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 7, - "role": "style", - "description": "Sets the length in pixels of step tick marks", - "editType": "arraydraw" - }, - "tickcolor": { - "valType": "color", - "dflt": "#333", - "role": "style", - "description": "Sets the color of the border enclosing the slider.", - "editType": "arraydraw" - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "description": "Sets the tick width (in px).", - "editType": "arraydraw" - }, - "minorticklen": { - "valType": "number", - "min": 0, - "dflt": 4, - "role": "style", - "description": "Sets the length in pixels of minor step tick marks", - "editType": "arraydraw" - }, - "name": { - "valType": "string", - "role": "style", - "editType": "arraydraw", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "arraydraw", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "editType": "arraydraw", - "role": "object" - } - }, - "role": "object" - }, - "colorscale": { - "editType": "calc", - "sequential": { - "valType": "colorscale", - "dflt": [ - [ - 0, - "rgb(220,220,220)" - ], - [ - 0.2, - "rgb(245,195,157)" - ], - [ - 0.4, - "rgb(245,160,105)" - ], - [ - 1, - "rgb(178,10,28)" - ] - ], - "role": "style", - "editType": "calc", - "description": "Sets the default sequential colorscale for positive values. Note that `autocolorscale` must be true for this attribute to work." - }, - "sequentialminus": { - "valType": "colorscale", - "dflt": [ - [ - 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)" - ] - ], - "role": "style", - "editType": "calc", - "description": "Sets the default sequential colorscale for negative values. Note that `autocolorscale` must be true for this attribute to work." - }, - "diverging": { - "valType": "colorscale", - "dflt": [ - [ - 0, - "rgb(5,10,172)" - ], - [ - 0.35, - "rgb(106,137,247)" - ], - [ - 0.5, - "rgb(190,190,190)" - ], - [ - 0.6, - "rgb(220,170,132)" - ], - [ - 0.7, - "rgb(230,145,90)" - ], - [ - 1, - "rgb(178,10,28)" - ] - ], - "role": "style", - "editType": "calc", - "description": "Sets the default diverging colorscale. Note that `autocolorscale` must be true for this attribute to work." - }, - "role": "object" - }, - "coloraxis": { - "_isSubplotObj": true, - "editType": "calc", - "description": "", - "cauto": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "Determines whether or not the color domain is computed with respect to the input data (here corresponding trace color array(s)) or the bounds set in `cmin` and `cmax` Defaults to `false` when `cmin` and `cmax` are set by the user." - }, - "cmin": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "description": "Sets the lower bound of the color domain. Value should have the same units as corresponding trace color array(s) and if set, `cmax` must be set as well." - }, - "cmax": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "description": "Sets the upper bound of the color domain. Value should have the same units as corresponding trace color array(s) and if set, `cmin` must be set as well." - }, - "cmid": { - "valType": "number", - "role": "info", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "description": "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 corresponding trace color array(s). Has no effect when `cauto` is `false`." - }, - "colorscale": { - "valType": "colorscale", - "role": "style", - "editType": "calc", - "dflt": null, - "impliedEdits": { - "autocolorscale": false - }, - "description": "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: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis." - }, - "autocolorscale": { - "valType": "boolean", - "role": "style", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed." - }, - "reversescale": { - "valType": "boolean", - "role": "style", - "dflt": false, - "editType": "plot", - "description": "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." - }, - "showscale": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "calc", - "description": "Determines whether or not a colorbar is displayed for this trace." - }, - "colorbar": { - "thicknessmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "style", - "dflt": "pixels", - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "editType": "colorbars" - }, - "thickness": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 30, - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "editType": "colorbars" - }, - "lenmode": { - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ], - "role": "info", - "dflt": "fraction", - "description": "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.", - "editType": "colorbars" - }, - "len": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "description": "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.", - "editType": "colorbars" - }, - "x": { - "valType": "number", - "dflt": 1.02, - "min": -2, - "max": 3, - "role": "style", - "description": "Sets the x position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "xanchor": { - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ], - "dflt": "left", - "role": "style", - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", - "editType": "colorbars" - }, - "xpad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the x direction.", - "editType": "colorbars" - }, - "y": { - "valType": "number", - "role": "style", - "dflt": 0.5, - "min": -2, - "max": 3, - "description": "Sets the y position of the color bar (in plot fraction).", - "editType": "colorbars" - }, - "yanchor": { - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ], - "role": "style", - "dflt": "middle", - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", - "editType": "colorbars" - }, - "ypad": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 10, - "description": "Sets the amount of padding (in px) along the y direction.", - "editType": "colorbars" - }, - "outlinecolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "outlinewidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the width (in px) of the axis line." - }, - "bordercolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the axis line color." - }, - "borderwidth": { - "valType": "number", - "role": "style", - "min": 0, - "dflt": 0, - "description": "Sets the width (in px) or the border enclosing this color bar.", - "editType": "colorbars" - }, - "bgcolor": { - "valType": "color", - "role": "style", - "dflt": "rgba(0,0,0,0)", - "description": "Sets the color of padded area.", - "editType": "colorbars" - }, - "tickmode": { - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ], - "role": "info", - "editType": "colorbars", - "impliedEdits": {}, - "description": "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)." - }, - "nticks": { - "valType": "integer", - "min": 0, - "dflt": 0, - "role": "style", - "editType": "colorbars", - "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*." - }, - "tick0": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (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." - }, - "dtick": { - "valType": "any", - "role": "style", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "description": "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*, 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* 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*" - }, - "tickvals": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "role": "data" - }, - "ticktext": { - "valType": "data_array", - "editType": "colorbars", - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "role": "data" - }, - "ticks": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ], - "role": "style", - "editType": "colorbars", - "description": "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.", - "dflt": "" - }, - "ticklabelposition": { - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside bottom", - "inside bottom" - ], - "dflt": "outside", - "role": "info", - "description": "Determines where tick labels are drawn.", - "editType": "colorbars" - }, - "ticklen": { - "valType": "number", - "min": 0, - "dflt": 5, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick length (in px)." - }, - "tickwidth": { - "valType": "number", - "min": 0, - "dflt": 1, - "role": "style", - "editType": "colorbars", - "description": "Sets the tick width (in px)." - }, - "tickcolor": { - "valType": "color", - "dflt": "#444", - "role": "style", - "editType": "colorbars", - "description": "Sets the tick color." - }, - "showticklabels": { - "valType": "boolean", - "dflt": true, - "role": "style", - "editType": "colorbars", - "description": "Determines whether or not the tick labels are drawn." - }, - "tickfont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets the color bar's tick label font", - "editType": "colorbars", - "role": "object" - }, - "tickangle": { - "valType": "angle", - "dflt": "auto", - "role": "style", - "editType": "colorbars", - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically." - }, - "tickformat": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "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-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: *%{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": { - "items": { - "tickformatstop": { - "enabled": { - "valType": "boolean", - "role": "info", - "dflt": true, - "editType": "colorbars", - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`." - }, - "dtickrange": { - "valType": "info_array", - "role": "info", - "items": [ - { - "valType": "any", - "editType": "colorbars" - }, - { - "valType": "any", - "editType": "colorbars" - } - ], - "editType": "colorbars", - "description": "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*" - }, - "value": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "string - dtickformat for described zoom level, the same as *tickformat*" - }, - "editType": "colorbars", - "name": { - "valType": "string", - "role": "style", - "editType": "colorbars", - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template." - }, - "templateitemname": { - "valType": "string", - "role": "info", - "editType": "colorbars", - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`." - }, - "role": "object" - } - }, - "role": "object" - }, - "tickprefix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label prefix." - }, - "showtickprefix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "ticksuffix": { - "valType": "string", - "dflt": "", - "role": "style", - "editType": "colorbars", - "description": "Sets a tick label suffix." - }, - "showticksuffix": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "Same as `showtickprefix` but for tick suffixes." - }, - "separatethousands": { - "valType": "boolean", - "dflt": false, - "role": "style", - "editType": "colorbars", - "description": "If \"true\", even 4-digit integers are separated" - }, - "exponentformat": { - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ], - "dflt": "B", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "minexponent": { - "valType": "number", - "dflt": 3, - "min": 0, - "role": "style", - "editType": "colorbars", - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*." - }, - "showexponent": { - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ], - "dflt": "all", - "role": "style", - "editType": "colorbars", - "description": "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." - }, - "title": { - "text": { - "valType": "string", - "role": "info", - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", - "editType": "colorbars" - }, - "font": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "editType": "colorbars", - "role": "object" - }, - "side": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.", - "editType": "colorbars" - }, - "editType": "colorbars", - "role": "object" - }, - "_deprecated": { - "title": { - "valType": "string", - "role": "info", - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars" - }, - "titlefont": { - "family": { - "valType": "string", - "role": "style", - "noBlank": true, - "strict": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars" - }, - "size": { - "valType": "number", - "role": "style", - "min": 1, - "editType": "colorbars" - }, - "color": { - "valType": "color", - "role": "style", - "editType": "colorbars" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars" - }, - "titleside": { - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ], - "role": "style", - "dflt": "top", - "description": "Deprecated in favor of color bar's `title.side`.", - "editType": "colorbars" - } - }, - "editType": "colorbars", - "role": "object", - "tickvalssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for tickvals .", - "editType": "none" - }, - "ticktextsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for ticktext .", - "editType": "none" - } - }, - "role": "object" - }, - "metasrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for meta .", - "editType": "none" - } - } - }, - "transforms": { - "aggregate": { - "attributes": { - "enabled": { - "valType": "boolean", - "dflt": true, - "role": "info", - "editType": "calc", - "description": "Determines whether this aggregate transform is enabled or disabled." - }, - "groups": { - "valType": "string", - "strict": true, - "noBlank": true, - "arrayOk": true, - "dflt": "x", - "role": "info", - "editType": "calc", - "description": "Sets the grouping target to which the aggregation is applied. Data points with matching group values will be coalesced into one point, using the supplied aggregation functions to reduce data in other data arrays. If a string, `groups` is assumed to be a reference to a data array in the parent trace object. To aggregate by nested variables, use *.* to access them. For example, set `groups` to *marker.color* to aggregate about the marker color array. If an array, `groups` is itself the data array by which we aggregate." - }, - "aggregations": { - "items": { - "aggregation": { - "target": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "A reference to the data array in the parent trace to aggregate. To aggregate by nested variables, use *.* to access them. For example, set `groups` to *marker.color* to aggregate over the marker color array. The referenced array must already exist, unless `func` is *count*, and each array may only be referenced once." - }, - "func": { - "valType": "enumerated", - "values": [ - "count", - "sum", - "avg", - "median", - "mode", - "rms", - "stddev", - "min", - "max", - "first", - "last", - "change", - "range" - ], - "dflt": "first", - "role": "info", - "editType": "calc", - "description": "Sets the aggregation function. All values from the linked `target`, corresponding to the same value in the `groups` array, are collected and reduced by this function. *count* is simply the number of values in the `groups` array, so does not even require the linked array to exist. *first* (*last*) is just the first (last) linked value. Invalid values are ignored, so for example in *avg* they do not contribute to either the numerator or the denominator. Any data type (numeric, date, category) may be aggregated with any function, even though in certain cases it is unlikely to make sense, for example a sum of dates or average of categories. *median* will return the average of the two central values if there is an even count. *mode* will return the first value to reach the maximum count, in case of a tie. *change* will return the difference between the first and last linked values. *range* will return the difference between the min and max linked values." - }, - "funcmode": { - "valType": "enumerated", - "values": [ - "sample", - "population" - ], - "dflt": "sample", - "role": "info", - "editType": "calc", - "description": "*stddev* supports two formula variants: *sample* (normalize by N-1) and *population* (normalize by N)." - }, - "enabled": { - "valType": "boolean", - "dflt": true, - "role": "info", - "editType": "calc", - "description": "Determines whether this aggregation function is enabled or disabled." - }, - "editType": "calc", - "role": "object" - } - }, - "role": "object" - }, - "editType": "calc", - "groupssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for groups .", - "editType": "none" - } - } - }, - "filter": { - "attributes": { - "enabled": { - "valType": "boolean", - "dflt": true, - "role": "info", - "editType": "calc", - "description": "Determines whether this filter transform is enabled or disabled." - }, - "target": { - "valType": "string", - "strict": true, - "noBlank": true, - "arrayOk": true, - "dflt": "x", - "role": "info", - "editType": "calc", - "description": "Sets the filter target by which the filter is applied. If a string, `target` is assumed to be a reference to a data array in the parent trace object. To filter about nested variables, use *.* to access them. For example, set `target` to *marker.color* to filter about the marker color array. If an array, `target` is then the data array by which the filter is applied." - }, - "operation": { - "valType": "enumerated", - "values": [ - "=", - "!=", - "<", - ">=", - ">", - "<=", - "[]", - "()", - "[)", - "(]", - "][", - ")(", - "](", - ")[", - "{}", - "}{" - ], - "dflt": "=", - "role": "info", - "editType": "calc", - "description": "Sets the filter operation. *=* keeps items equal to `value` *!=* keeps items not equal to `value` *<* keeps items less than `value` *<=* keeps items less than or equal to `value` *>* keeps items greater than `value` *>=* keeps items greater than or equal to `value` *[]* keeps items inside `value[0]` to `value[1]` including both bounds *()* keeps items inside `value[0]` to `value[1]` excluding both bounds *[)* keeps items inside `value[0]` to `value[1]` including `value[0]` but excluding `value[1] *(]* keeps items inside `value[0]` to `value[1]` excluding `value[0]` but including `value[1] *][* keeps items outside `value[0]` to `value[1]` and equal to both bounds *)(* keeps items outside `value[0]` to `value[1]` *](* keeps items outside `value[0]` to `value[1]` and equal to `value[0]` *)[* keeps items outside `value[0]` to `value[1]` and equal to `value[1]` *{}* keeps items present in a set of values *}{* keeps items not present in a set of values" - }, - "value": { - "valType": "any", - "dflt": 0, - "role": "info", - "editType": "calc", - "description": "Sets the value or values by which to filter. Values are expected to be in the same type as the data linked to `target`. When `operation` is set to one of the comparison values (=,!=,<,>=,>,<=) `value` is expected to be a number or a string. When `operation` is set to one of the interval values ([],(),[),(],][,)(,](,)[) `value` is expected to be 2-item array where the first item is the lower bound and the second item is the upper bound. When `operation`, is set to one of the set values ({},}{) `value` is expected to be an array with as many items as the desired set elements." - }, - "preservegaps": { - "valType": "boolean", - "dflt": false, - "role": "info", - "editType": "calc", - "description": "Determines whether or not gaps in data arrays produced by the filter operation are preserved. Setting this to *true* might be useful when plotting a line chart with `connectgaps` set to *false*." - }, - "editType": "calc", - "valuecalendar": { - "valType": "enumerated", - "values": [ - "gregorian", - "chinese", - "coptic", - "discworld", - "ethiopian", - "hebrew", - "islamic", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "jalali", - "taiwan", - "thai", - "ummalqura" - ], - "role": "info", - "editType": "calc", - "dflt": "gregorian", - "description": "Sets the calendar system to use for `value`, if it is a date." - }, - "targetcalendar": { - "valType": "enumerated", - "values": [ - "gregorian", - "chinese", - "coptic", - "discworld", - "ethiopian", - "hebrew", - "islamic", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "jalali", - "taiwan", - "thai", - "ummalqura" - ], - "role": "info", - "editType": "calc", - "dflt": "gregorian", - "description": "Sets the calendar system to use for `target`, if it is an array of dates. If `target` is a string (eg *x*) we use the corresponding trace attribute (eg `xcalendar`) if it exists, even if `targetcalendar` is provided." - }, - "targetsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for target .", - "editType": "none" - } - } - }, - "groupby": { - "attributes": { - "enabled": { - "valType": "boolean", - "dflt": true, - "role": "info", - "editType": "calc", - "description": "Determines whether this group-by transform is enabled or disabled." - }, - "groups": { - "valType": "data_array", - "dflt": [], - "role": "data", - "editType": "calc", - "description": "Sets the groups in which the trace data will be split. For example, with `x` set to *[1, 2, 3, 4]* and `groups` set to *['a', 'b', 'a', 'b']*, the groupby transform with split in one trace with `x` [1, 3] and one trace with `x` [2, 4]." - }, - "nameformat": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "Pattern by which grouped traces are named. If only one trace is present, defaults to the group name (`\"%{group}\"`), otherwise defaults to the group name with trace name (`\"%{group} (%{trace})\"`). Available escape sequences are `%{group}`, which inserts the group name, and `%{trace}`, which inserts the trace name. If grouping GDP data by country when more than one trace is present, for example, the default \"%{group} (%{trace})\" would return \"Monaco (GDP per capita)\"." - }, - "styles": { - "items": { - "style": { - "target": { - "valType": "string", - "role": "info", - "editType": "calc", - "description": "The group value which receives these styles." - }, - "value": { - "valType": "any", - "role": "info", - "dflt": {}, - "editType": "calc", - "description": "Sets each group styles. For example, with `groups` set to *['a', 'b', 'a', 'b']* and `styles` set to *[{target: 'a', value: { marker: { color: 'red' } }}] marker points in group *'a'* will be drawn in red.", - "_compareAsJSON": true - }, - "editType": "calc", - "role": "object" - } - }, - "role": "object" - }, - "editType": "calc", - "groupssrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for groups .", - "editType": "none" - } - } - }, - "sort": { - "attributes": { - "enabled": { - "valType": "boolean", - "dflt": true, - "role": "info", - "editType": "calc", - "description": "Determines whether this sort transform is enabled or disabled." - }, - "target": { - "valType": "string", - "strict": true, - "noBlank": true, - "arrayOk": true, - "dflt": "x", - "role": "info", - "editType": "calc", - "description": "Sets the target by which the sort transform is applied. If a string, *target* is assumed to be a reference to a data array in the parent trace object. To sort about nested variables, use *.* to access them. For example, set `target` to *marker.size* to sort about the marker size array. If an array, *target* is then the data array by which the sort transform is applied." - }, - "order": { - "valType": "enumerated", - "values": [ - "ascending", - "descending" - ], - "dflt": "ascending", - "role": "info", - "editType": "calc", - "description": "Sets the sort transform order." - }, - "editType": "calc", - "targetsrc": { - "valType": "string", - "role": "info", - "description": "Sets the source reference on Chart Studio Cloud for target .", - "editType": "none" - } - } - } - }, - "frames": { - "items": { - "frames_entry": { - "group": { - "valType": "string", - "role": "info", - "description": "An identifier that specifies the group to which the frame belongs, used by animate to select a subset of frames." - }, - "name": { - "valType": "string", - "role": "info", - "description": "A label by which to identify the frame" - }, - "traces": { - "valType": "any", - "role": "info", - "description": "A list of trace indices that identify the respective traces in the data attribute" - }, - "baseframe": { - "valType": "string", - "role": "info", - "description": "The name of the frame into which this frame's properties are merged before applying. This is used to unify properties and avoid needing to specify the same values for the same properties in multiple frames." - }, - "data": { - "valType": "any", - "role": "object", - "description": "A list of traces this frame modifies. The format is identical to the normal trace definition." - }, - "layout": { - "valType": "any", - "role": "object", - "description": "Layout properties which this frame modifies. The format is identical to the normal layout definition." - }, - "role": "object" - } - }, - "role": "object" - }, - "animation": { - "mode": { - "valType": "enumerated", - "dflt": "afterall", - "role": "info", - "values": [ - "immediate", - "next", - "afterall" - ], - "description": "Describes how a new animate call interacts with currently-running animations. If `immediate`, current animations are interrupted and the new animation is started. If `next`, the current frame is allowed to complete, after which the new animation is started. If `afterall` all existing frames are animated to completion before the new animation is started." - }, - "direction": { - "valType": "enumerated", - "role": "info", - "values": [ - "forward", - "reverse" - ], - "dflt": "forward", - "description": "The direction in which to play the frames triggered by the animation call" - }, - "fromcurrent": { - "valType": "boolean", - "dflt": false, - "role": "info", - "description": "Play frames starting at the current frame instead of the beginning." - }, - "frame": { - "duration": { - "valType": "number", - "role": "info", - "min": 0, - "dflt": 500, - "description": "The duration in milliseconds of each frame. If greater than the frame duration, it will be limited to the frame duration." - }, - "redraw": { - "valType": "boolean", - "role": "info", - "dflt": true, - "description": "Redraw the plot at completion of the transition. This is desirable for transitions that include properties that cannot be transitioned, but may significantly slow down updates that do not require a full redraw of the plot" - }, - "role": "object" - }, - "transition": { - "duration": { - "valType": "number", - "role": "info", - "min": 0, - "dflt": 500, - "editType": "none", - "description": "The duration of the transition, in milliseconds. If equal to zero, updates are synchronous." - }, - "easing": { - "valType": "enumerated", - "dflt": "cubic-in-out", - "values": [ - "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" - ], - "role": "info", - "editType": "none", - "description": "The easing function used for the transition" - }, - "ordering": { - "valType": "enumerated", - "values": [ - "layout first", - "traces first" - ], - "dflt": "layout first", - "role": "info", - "editType": "none", - "description": "Determines whether the figure's layout or traces smoothly transitions during updates that make both traces and layout change." - }, - "role": "object" - } - }, - "config": { - "staticPlot": { - "valType": "boolean", - "dflt": false, - "description": "Determines whether the graphs are interactive or not. If *false*, no interactivity, for export or image generation." - }, - "plotlyServerURL": { - "valType": "string", - "dflt": "", - "description": "When set it determines base URL for the 'Edit in Chart Studio' `showEditInChartStudio`/`showSendToCloud` mode bar button and the showLink/sendData on-graph link. To enable sending your data to Chart Studio Cloud, you need to set both `plotlyServerURL` to 'https://chart-studio.plotly.com' and also set `showSendToCloud` to true." - }, - "editable": { - "valType": "boolean", - "dflt": false, - "description": "Determines whether the graph is editable or not. Sets all pieces of `edits` unless a separate `edits` config item overrides individual parts." - }, - "edits": { - "annotationPosition": { - "valType": "boolean", - "dflt": false, - "description": "Determines if the main anchor of the annotation is editable. The main anchor corresponds to the text (if no arrow) or the arrow (which drags the whole thing leaving the arrow length & direction unchanged)." - }, - "annotationTail": { - "valType": "boolean", - "dflt": false, - "description": "Has only an effect for annotations with arrows. Enables changing the length and direction of the arrow." - }, - "annotationText": { - "valType": "boolean", - "dflt": false, - "description": "Enables editing annotation text." - }, - "axisTitleText": { - "valType": "boolean", - "dflt": false, - "description": "Enables editing axis title text." - }, - "colorbarPosition": { - "valType": "boolean", - "dflt": false, - "description": "Enables moving colorbars." - }, - "colorbarTitleText": { - "valType": "boolean", - "dflt": false, - "description": "Enables editing colorbar title text." - }, - "legendPosition": { - "valType": "boolean", - "dflt": false, - "description": "Enables moving the legend." - }, - "legendText": { - "valType": "boolean", - "dflt": false, - "description": "Enables editing the trace name fields from the legend" - }, - "shapePosition": { - "valType": "boolean", - "dflt": false, - "description": "Enables moving shapes." - }, - "titleText": { - "valType": "boolean", - "dflt": false, - "description": "Enables editing the global layout title." - }, - "role": "object" - }, - "autosizable": { - "valType": "boolean", - "dflt": false, - "description": "Determines whether the graphs are plotted with respect to layout.autosize:true and infer its container size." - }, - "responsive": { - "valType": "boolean", - "dflt": false, - "description": "Determines whether to change the layout size when window is resized. In v2, this option will be removed and will always be true." - }, - "fillFrame": { - "valType": "boolean", - "dflt": false, - "description": "When `layout.autosize` is turned on, determines whether the graph fills the container (the default) or the screen (if set to *true*)." - }, - "frameMargins": { - "valType": "number", - "dflt": 0, - "min": 0, - "max": 0.5, - "description": "When `layout.autosize` is turned on, set the frame margins in fraction of the graph size." - }, - "scrollZoom": { - "valType": "flaglist", - "flags": [ - "cartesian", - "gl3d", - "geo", - "mapbox" - ], - "extras": [ - true, - false - ], - "dflt": "gl3d+geo+mapbox", - "description": "Determines whether mouse wheel or two-finger scroll zooms is enable. Turned on by default for gl3d, geo and mapbox subplots (as these subplot types do not have zoombox via pan), but turned off by default for cartesian subplots. Set `scrollZoom` to *false* to disable scrolling for all subplots." - }, - "doubleClick": { - "valType": "enumerated", - "values": [ - false, - "reset", - "autosize", - "reset+autosize" - ], - "dflt": "reset+autosize", - "description": "Sets the double click interaction mode. Has an effect only in cartesian plots. If *false*, double click is disable. If *reset*, double click resets the axis ranges to their initial values. If *autosize*, double click set the axis ranges to their autorange values. If *reset+autosize*, the odd double clicks resets the axis ranges to their initial values and even double clicks set the axis ranges to their autorange values." - }, - "doubleClickDelay": { - "valType": "number", - "dflt": 300, - "min": 0, - "description": "Sets the delay for registering a double-click in ms. This is the time interval (in ms) between first mousedown and 2nd mouseup to constitute a double-click. This setting propagates to all on-subplot double clicks (except for geo and mapbox) and on-legend double clicks." - }, - "showAxisDragHandles": { - "valType": "boolean", - "dflt": true, - "description": "Set to *false* to omit cartesian axis pan/zoom drag handles." - }, - "showAxisRangeEntryBoxes": { - "valType": "boolean", - "dflt": true, - "description": "Set to *false* to omit direct range entry at the pan/zoom drag points, note that `showAxisDragHandles` must be enabled to have an effect." - }, - "showTips": { - "valType": "boolean", - "dflt": true, - "description": "Determines whether or not tips are shown while interacting with the resulting graphs." - }, - "showLink": { - "valType": "boolean", - "dflt": false, - "description": "Determines whether a link to Chart Studio Cloud is displayed at the bottom right corner of resulting graphs. Use with `sendData` and `linkText`." - }, - "linkText": { - "valType": "string", - "dflt": "Edit chart", - "noBlank": true, - "description": "Sets the text appearing in the `showLink` link." - }, - "sendData": { - "valType": "boolean", - "dflt": true, - "description": "If *showLink* is true, does it contain data just link to a Chart Studio Cloud file?" - }, - "showSources": { - "valType": "any", - "dflt": false, - "description": "Adds a source-displaying function to show sources on the resulting graphs." - }, - "displayModeBar": { - "valType": "enumerated", - "values": [ - "hover", - true, - false - ], - "dflt": "hover", - "description": "Determines the mode bar display mode. If *true*, the mode bar is always visible. If *false*, the mode bar is always hidden. If *hover*, the mode bar is visible while the mouse cursor is on the graph container." - }, - "showSendToCloud": { - "valType": "boolean", - "dflt": false, - "description": "Should we include a ModeBar button, labeled \"Edit in Chart Studio\", that sends this chart to chart-studio.plotly.com (formerly plot.ly) or another plotly server as specified by `plotlyServerURL` for editing, export, etc? Prior to version 1.43.0 this button was included by default, now it is opt-in using this flag. Note that this button can (depending on `plotlyServerURL` being set) send your data to an external server. However that server does not persist your data until you arrive at the Chart Studio and explicitly click \"Save\"." - }, - "showEditInChartStudio": { - "valType": "boolean", - "dflt": false, - "description": "Same as `showSendToCloud`, but use a pencil icon instead of a floppy-disk. Note that if both `showSendToCloud` and `showEditInChartStudio` are turned, only `showEditInChartStudio` will be honored." - }, - "modeBarButtonsToRemove": { - "valType": "any", - "dflt": [], - "description": "Remove mode bar buttons by name. See ./components/modebar/buttons.js for the list of names." - }, - "modeBarButtonsToAdd": { - "valType": "any", - "dflt": [], - "description": "Add mode bar button using config objects See ./components/modebar/buttons.js for list of arguments." - }, - "modeBarButtons": { - "valType": "any", - "dflt": false, - "description": "Define fully custom mode bar buttons as nested array, where the outer arrays represents button groups, and the inner arrays have buttons config objects or names of default buttons See ./components/modebar/buttons.js for more info." - }, - "toImageButtonOptions": { - "valType": "any", - "dflt": {}, - "description": "Statically override options for toImage modebar button allowed keys are format, filename, width, height, scale see ../components/modebar/buttons.js" - }, - "displaylogo": { - "valType": "boolean", - "dflt": true, - "description": "Determines whether or not the plotly logo is displayed on the end of the mode bar." - }, - "watermark": { - "valType": "boolean", - "dflt": false, - "description": "watermark the images with the company's logo" - }, - "plotGlPixelRatio": { - "valType": "number", - "dflt": 2, - "min": 1, - "max": 4, - "description": "Set the pixel ratio during WebGL image export. This config option was formerly named `plot3dPixelRatio` which is now deprecated." - }, - "setBackground": { - "valType": "any", - "dflt": "transparent", - "description": "Set function to add the background color (i.e. `layout.paper_color`) to a different container. This function take the graph div as first argument and the current background color as second argument. Alternatively, set to string *opaque* to ensure there is white behind it." - }, - "topojsonURL": { - "valType": "string", - "noBlank": true, - "dflt": "https://cdn.plot.ly/", - "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." - }, - "mapboxAccessToken": { - "valType": "string", - "dflt": null, - "description": "Mapbox access token (required to plot mapbox trace types) If using an Mapbox Atlas server, set this option to '' so that plotly.js won't attempt to authenticate to the public Mapbox server." - }, - "logging": { - "valType": "integer", - "min": 0, - "max": 2, - "dflt": 1, - "description": "Turn all console logging on or off (errors will be thrown) This should ONLY be set via Plotly.setPlotConfig Available levels: 0: no logs 1: warnings and errors, but not informational messages 2: verbose logs" - }, - "notifyOnLogging": { - "valType": "integer", - "min": 0, - "max": 2, - "dflt": 0, - "description": "Set on-graph logging (notifier) level This should ONLY be set via Plotly.setPlotConfig Available levels: 0: no on-graph logs 1: warnings and errors, but not informational messages 2: verbose logs" - }, - "queueLength": { - "valType": "integer", - "min": 0, - "dflt": 0, - "description": "Sets the length of the undo/redo queue." - }, - "globalTransforms": { - "valType": "any", - "dflt": [], - "description": "Set global transform to be applied to all traces with no specification needed" - }, - "locale": { - "valType": "string", - "dflt": "en-US", - "description": "Which localization should we use? Should be a string like 'en' or 'en-US'." - }, - "locales": { - "valType": "any", - "dflt": {}, - "description": "Localization definitions Locales can be provided either here (specific to one chart) or globally by registering them as modules. Should be an object of objects {locale: {dictionary: {...}, format: {...}}} { da: { dictionary: {'Reset axes': 'Nulstil aksler', ...}, format: {months: [...], shortMonths: [...]} }, ... } All parts are optional. When looking for translation or format fields, we look first for an exact match in a config locale, then in a registered module. If those fail, we strip off any regionalization ('en-US' -> 'en') and try each (config, registry) again. The final fallback for translation is untranslated (which is US English) and for formats is the base English (the only consequence being the last fallback date format %x is DD/MM/YYYY instead of MM/DD/YYYY). Currently `grouping` and `currency` are ignored for our automatic number formatting, but can be used in custom formats." - } - } - } -} \ No newline at end of file diff --git a/generator/templates/plot.tmpl b/generator/templates/plot.tmpl new file mode 100644 index 0000000..cd27cc0 --- /dev/null +++ b/generator/templates/plot.tmpl @@ -0,0 +1,93 @@ +package offline + +import ( + "bytes" + "encoding/json" + "io/ioutil" + "log" + "net/http" + "os" + "text/template" + + grob "github.com/MetalBlueberry/go-plotly/{{ .GraphObjectsImportPath }}/graph_objects" + + "github.com/pkg/browser" +) + +type Options struct { + Addr string +} + +// ToHtml saves the figure as standalone HTML. It still requires internet to load plotly.js from CDN. +func ToHtml(fig *grob.Fig, path string) { + buf := figToBuffer(fig) + ioutil.WriteFile(path, buf.Bytes(), os.ModePerm) +} + +// Show displays the figure in your browser. +// Use serve if you want a persistent view +func Show(fig *grob.Fig) { + buf := figToBuffer(fig) + browser.OpenReader(buf) +} + +func figToBuffer(fig *grob.Fig) *bytes.Buffer { + figBytes, err := json.Marshal(fig) + if err != nil { + panic(err) + } + tmpl, err := template.New("plotly").Parse(baseHtml) + if err != nil { + panic(err) + } + buf := &bytes.Buffer{} + tmpl.Execute(buf, string(figBytes)) + return buf +} + +// Serve creates a local web server that displays the image using plotly.js +// Is a good alternative to Show to avoid creating tmp files. +func Serve(fig *grob.Fig, opt ...Options) { + opts := computeOptions(Options{ + Addr: "localhost:8080", + }, opt...) + + mux := &http.ServeMux{} + srv := &http.Server{ + Handler: mux, + Addr: opts.Addr, + } + mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { + buf := figToBuffer(fig) + buf.WriteTo(w) + }) + + log.Print("Starting server") + if err := srv.ListenAndServe(); err != nil { + log.Print(err) + } + log.Print("Stop server") +} + +func computeOptions(def Options, opt ...Options) Options { + if len(opt) == 1 { + opts := opt[0] + if opts.Addr != "" { + def.Addr = opts.Addr + } + } + return def +} + +var baseHtml = ` + + + + +
+ + + ` diff --git a/generator/templates/plotly.tmpl b/generator/templates/plotly.tmpl index 854c212..1d25df5 100644 --- a/generator/templates/plotly.tmpl +++ b/generator/templates/plotly.tmpl @@ -5,9 +5,6 @@ import ( "encoding/json" ) -// Generate the files -//go:generate go run ../generator/cmd/generator/main.go --schema ../generator/schema.json --output-directory . - // TraceType is the type for the TraceType field on every trace type TraceType string diff --git a/generator/test_schema.json b/generator/test_schema.json new file mode 100644 index 0000000..731353e --- /dev/null +++ b/generator/test_schema.json @@ -0,0 +1 @@ +{"sha1":"11b662302a42aa0698df091a9974ac8f6e1a2292","modified":true,"schema":{"animation":{"direction":{"description":"The direction in which to play the frames triggered by the animation call","dflt":"forward","valType":"enumerated","values":["forward","reverse"]},"frame":{"duration":{"description":"The duration in milliseconds of each frame. If greater than the frame duration, it will be limited to the frame duration.","dflt":500,"min":0,"valType":"number"},"redraw":{"description":"Redraw the plot at completion of the transition. This is desirable for transitions that include properties that cannot be transitioned, but may significantly slow down updates that do not require a full redraw of the plot","dflt":true,"valType":"boolean"},"role":"object"},"fromcurrent":{"description":"Play frames starting at the current frame instead of the beginning.","dflt":false,"valType":"boolean"},"mode":{"description":"Describes how a new animate call interacts with currently-running animations. If `immediate`, current animations are interrupted and the new animation is started. If `next`, the current frame is allowed to complete, after which the new animation is started. If `afterall` all existing frames are animated to completion before the new animation is started.","dflt":"afterall","valType":"enumerated","values":["immediate","next","afterall"]},"transition":{"duration":{"description":"The duration of the transition, in milliseconds. If equal to zero, updates are synchronous.","dflt":500,"editType":"none","min":0,"valType":"number"},"easing":{"description":"The easing function used for the transition","dflt":"cubic-in-out","editType":"none","valType":"enumerated","values":["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"]},"ordering":{"description":"Determines whether the figure's layout or traces smoothly transitions during updates that make both traces and layout change.","dflt":"layout first","editType":"none","valType":"enumerated","values":["layout first","traces first"]},"role":"object"}},"config":{"autosizable":{"description":"Determines whether the graphs are plotted with respect to layout.autosize:true and infer its container size.","dflt":false,"valType":"boolean"},"displayModeBar":{"description":"Determines the mode bar display mode. If *true*, the mode bar is always visible. If *false*, the mode bar is always hidden. If *hover*, the mode bar is visible while the mouse cursor is on the graph container.","dflt":"hover","valType":"enumerated","values":["hover",true,false]},"displaylogo":{"description":"Determines whether or not the plotly logo is displayed on the end of the mode bar.","dflt":true,"valType":"boolean"},"doubleClick":{"description":"Sets the double click interaction mode. Has an effect only in cartesian plots. If *false*, double click is disable. If *reset*, double click resets the axis ranges to their initial values. If *autosize*, double click set the axis ranges to their autorange values. If *reset+autosize*, the odd double clicks resets the axis ranges to their initial values and even double clicks set the axis ranges to their autorange values.","dflt":"reset+autosize","valType":"enumerated","values":[false,"reset","autosize","reset+autosize"]},"doubleClickDelay":{"description":"Sets the delay for registering a double-click in ms. This is the time interval (in ms) between first mousedown and 2nd mouseup to constitute a double-click. This setting propagates to all on-subplot double clicks (except for geo and mapbox) and on-legend double clicks.","dflt":300,"min":0,"valType":"number"},"editSelection":{"description":"Enables moving selections.","dflt":true,"valType":"boolean"},"editable":{"description":"Determines whether the graph is editable or not. Sets all pieces of `edits` unless a separate `edits` config item overrides individual parts.","dflt":false,"valType":"boolean"},"edits":{"annotationPosition":{"description":"Determines if the main anchor of the annotation is editable. The main anchor corresponds to the text (if no arrow) or the arrow (which drags the whole thing leaving the arrow length \u0026 direction unchanged).","dflt":false,"valType":"boolean"},"annotationTail":{"description":"Has only an effect for annotations with arrows. Enables changing the length and direction of the arrow.","dflt":false,"valType":"boolean"},"annotationText":{"description":"Enables editing annotation text.","dflt":false,"valType":"boolean"},"axisTitleText":{"description":"Enables editing axis title text.","dflt":false,"valType":"boolean"},"colorbarPosition":{"description":"Enables moving colorbars.","dflt":false,"valType":"boolean"},"colorbarTitleText":{"description":"Enables editing colorbar title text.","dflt":false,"valType":"boolean"},"legendPosition":{"description":"Enables moving the legend.","dflt":false,"valType":"boolean"},"legendText":{"description":"Enables editing the trace name fields from the legend","dflt":false,"valType":"boolean"},"role":"object","shapePosition":{"description":"Enables moving shapes.","dflt":false,"valType":"boolean"},"titleText":{"description":"Enables editing the global layout title.","dflt":false,"valType":"boolean"}},"fillFrame":{"description":"When `layout.autosize` is turned on, determines whether the graph fills the container (the default) or the screen (if set to *true*).","dflt":false,"valType":"boolean"},"frameMargins":{"description":"When `layout.autosize` is turned on, set the frame margins in fraction of the graph size.","dflt":0,"max":0.5,"min":0,"valType":"number"},"globalTransforms":{"description":"Set global transform to be applied to all traces with no specification needed","dflt":[],"valType":"any"},"linkText":{"description":"Sets the text appearing in the `showLink` link.","dflt":"Edit chart","noBlank":true,"valType":"string"},"locale":{"description":"Which localization should we use? Should be a string like 'en' or 'en-US'.","dflt":"en-US","valType":"string"},"locales":{"description":"Localization definitions Locales can be provided either here (specific to one chart) or globally by registering them as modules. Should be an object of objects {locale: {dictionary: {...}, format: {...}}} { da: { dictionary: {'Reset axes': 'Nulstil aksler', ...}, format: {months: [...], shortMonths: [...]} }, ... } All parts are optional. When looking for translation or format fields, we look first for an exact match in a config locale, then in a registered module. If those fail, we strip off any regionalization ('en-US' -\u003e 'en') and try each (config, registry) again. The final fallback for translation is untranslated (which is US English) and for formats is the base English (the only consequence being the last fallback date format %x is DD/MM/YYYY instead of MM/DD/YYYY). Currently `grouping` and `currency` are ignored for our automatic number formatting, but can be used in custom formats.","dflt":{},"valType":"any"},"logging":{"description":"Turn all console logging on or off (errors will be thrown) This should ONLY be set via Plotly.setPlotConfig Available levels: 0: no logs 1: warnings and errors, but not informational messages 2: verbose logs","dflt":1,"max":2,"min":0,"valType":"integer"},"mapboxAccessToken":{"description":"Mapbox access token (required to plot mapbox trace types) If using an Mapbox Atlas server, set this option to '' so that plotly.js won't attempt to authenticate to the public Mapbox server.","dflt":null,"valType":"string"},"modeBarButtons":{"description":"Define fully custom mode bar buttons as nested array, where the outer arrays represents button groups, and the inner arrays have buttons config objects or names of default buttons See ./components/modebar/buttons.js for more info.","dflt":false,"valType":"any"},"modeBarButtonsToAdd":{"description":"Add mode bar button using config objects See ./components/modebar/buttons.js for list of arguments. To enable predefined modebar buttons e.g. shape drawing, hover and spikelines, simply provide their string name(s). This could include: *v1hovermode*, *hoverclosest*, *hovercompare*, *togglehover*, *togglespikelines*, *drawline*, *drawopenpath*, *drawclosedpath*, *drawcircle*, *drawrect* and *eraseshape*. Please note that these predefined buttons will only be shown if they are compatible with all trace types used in a graph.","dflt":[],"valType":"any"},"modeBarButtonsToRemove":{"description":"Remove mode bar buttons by name. See ./components/modebar/buttons.js for the list of names.","dflt":[],"valType":"any"},"notifyOnLogging":{"description":"Set on-graph logging (notifier) level This should ONLY be set via Plotly.setPlotConfig Available levels: 0: no on-graph logs 1: warnings and errors, but not informational messages 2: verbose logs","dflt":0,"max":2,"min":0,"valType":"integer"},"plotGlPixelRatio":{"description":"Set the pixel ratio during WebGL image export. This config option was formerly named `plot3dPixelRatio` which is now deprecated.","dflt":2,"max":4,"min":1,"valType":"number"},"plotlyServerURL":{"description":"When set it determines base URL for the 'Edit in Chart Studio' `showEditInChartStudio`/`showSendToCloud` mode bar button and the showLink/sendData on-graph link. To enable sending your data to Chart Studio Cloud, you need to set both `plotlyServerURL` to 'https://chart-studio.plotly.com' and also set `showSendToCloud` to true.","dflt":"","valType":"string"},"queueLength":{"description":"Sets the length of the undo/redo queue.","dflt":0,"min":0,"valType":"integer"},"responsive":{"description":"Determines whether to change the layout size when window is resized. In v3, this option will be removed and will always be true.","dflt":false,"valType":"boolean"},"scrollZoom":{"description":"Determines whether mouse wheel or two-finger scroll zooms is enable. Turned on by default for gl3d, geo and mapbox subplots (as these subplot types do not have zoombox via pan), but turned off by default for cartesian subplots. Set `scrollZoom` to *false* to disable scrolling for all subplots.","dflt":"gl3d+geo+mapbox","extras":[true,false],"flags":["cartesian","gl3d","geo","mapbox"],"valType":"flaglist"},"sendData":{"description":"If *showLink* is true, does it contain data just link to a Chart Studio Cloud file?","dflt":true,"valType":"boolean"},"setBackground":{"description":"Set function to add the background color (i.e. `layout.paper_color`) to a different container. This function take the graph div as first argument and the current background color as second argument. Alternatively, set to string *opaque* to ensure there is white behind it.","dflt":"transparent","valType":"any"},"showAxisDragHandles":{"description":"Set to *false* to omit cartesian axis pan/zoom drag handles.","dflt":true,"valType":"boolean"},"showAxisRangeEntryBoxes":{"description":"Set to *false* to omit direct range entry at the pan/zoom drag points, note that `showAxisDragHandles` must be enabled to have an effect.","dflt":true,"valType":"boolean"},"showEditInChartStudio":{"description":"Same as `showSendToCloud`, but use a pencil icon instead of a floppy-disk. Note that if both `showSendToCloud` and `showEditInChartStudio` are turned, only `showEditInChartStudio` will be honored.","dflt":false,"valType":"boolean"},"showLink":{"description":"Determines whether a link to Chart Studio Cloud is displayed at the bottom right corner of resulting graphs. Use with `sendData` and `linkText`.","dflt":false,"valType":"boolean"},"showSendToCloud":{"description":"Should we include a ModeBar button, labeled \"Edit in Chart Studio\", that sends this chart to chart-studio.plotly.com (formerly plot.ly) or another plotly server as specified by `plotlyServerURL` for editing, export, etc? Prior to version 1.43.0 this button was included by default, now it is opt-in using this flag. Note that this button can (depending on `plotlyServerURL` being set) send your data to an external server. However that server does not persist your data until you arrive at the Chart Studio and explicitly click \"Save\".","dflt":false,"valType":"boolean"},"showSources":{"description":"Adds a source-displaying function to show sources on the resulting graphs.","dflt":false,"valType":"any"},"showTips":{"description":"Determines whether or not tips are shown while interacting with the resulting graphs.","dflt":true,"valType":"boolean"},"staticPlot":{"description":"Determines whether the graphs are interactive or not. If *false*, no interactivity, for export or image generation.","dflt":false,"valType":"boolean"},"toImageButtonOptions":{"description":"Statically override options for toImage modebar button allowed keys are format, filename, width, height, scale see ../components/modebar/buttons.js","dflt":{},"valType":"any"},"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: \u003cpath-to-plotly.js\u003e/dist/topojson/ to render geographical feature using the topojson files that ship with the plotly.js module.","dflt":"https://cdn.plot.ly/","noBlank":true,"valType":"string"},"typesetMath":{"description":"Determines whether math should be typeset or not, when MathJax (either v2 or v3) is present on the page.","dflt":true,"valType":"boolean"},"watermark":{"description":"watermark the images with the company's logo","dflt":false,"valType":"boolean"}},"defs":{"editType":{"layout":{"description":"layout attributes should include an `editType` string matching this flaglist. *calc* is the most extensive: a full (re)plot starting by clearing `gd.calcdata` to force it to be regenerated *plot* (re)plots but without first clearing `gd.calcdata`. *legend* only redraws the legend. *ticks* only redraws axis ticks, labels, and gridlines. *axrange* minimal sequence when updating axis ranges. *layoutstyle* reapplies global and SVG cartesian axis styles. *modebar* just updates the modebar. *camera* just updates the camera settings for gl3d scenes. *arraydraw* allows component arrays to invoke the redraw routines just for the component(s) that changed. *colorbars* only redraws colorbars.","extras":["none"],"flags":["calc","plot","legend","ticks","axrange","layoutstyle","modebar","camera","arraydraw","colorbars"],"valType":"flaglist"},"traces":{"description":"trace attributes should include an `editType` string matching this flaglist. *calc* is the most extensive: a full (re)plot starting by clearing `gd.calcdata` to force it to be regenerated *clearAxisTypes* resets the types of the axes this trace is on, because new data could cause the automatic axis type detection to change. Log type will not be cleared, as that is never automatically chosen so must have been user-specified. *plot* (re)plots but without first clearing `gd.calcdata`. *style* only calls `module.style` (or module.editStyle) for all trace modules and redraws the legend. *markerSize* is like *style*, but propagate axis-range changes due to scatter `marker.size` *colorbars* only redraws colorbars.","extras":["none"],"flags":["calc","clearAxisTypes","plot","style","markerSize","colorbars"],"valType":"flaglist"}},"impliedEdits":{"description":"Sometimes when an attribute is changed, other attributes must be altered as well in order to achieve the intended result. For example, when `range` is specified, it is important to set `autorange` to `false` or the new `range` value would be lost in the redraw. `impliedEdits` is the mechanism to do this: `impliedEdits: {autorange: false}`. Each key is a relative paths to the attribute string to change, using *^* to ascend into the parent container, for example `range[0]` has `impliedEdits: {*^autorange*: false}`. A value of `undefined` means that the attribute will not be changed, but its previous value should be recorded in case we want to reverse this change later. For example, `autorange` has `impliedEdits: {*range[0]*: undefined, *range[1]*:undefined} because the range will likely be changed by redraw."},"metaKeys":["_isSubplotObj","_isLinkedToArray","_arrayAttrRegexps","_deprecated","description","role","editType","impliedEdits"],"valObjects":{"angle":{"description":"A number (in degree) between -180 and 180.","otherOpts":["dflt","arrayOk"],"requiredOpts":[]},"any":{"description":"Any type.","otherOpts":["dflt","values","arrayOk"],"requiredOpts":[]},"boolean":{"description":"A boolean (true/false) value.","otherOpts":["dflt"],"requiredOpts":[]},"color":{"description":"A string describing color. Supported formats: - hex (e.g. '#d3d3d3') - rgb (e.g. 'rgb(255, 0, 0)') - rgba (e.g. 'rgb(255, 0, 0, 0.5)') - hsl (e.g. 'hsl(0, 100%, 50%)') - hsv (e.g. 'hsv(0, 100%, 100%)') - named colors (full list: http://www.w3.org/TR/css3-color/#svg-color)","otherOpts":["dflt","arrayOk"],"requiredOpts":[]},"colorlist":{"description":"A list of colors. Must be an {array} containing valid colors.","otherOpts":["dflt"],"requiredOpts":[]},"colorscale":{"description":"A Plotly colorscale either picked by a name: (any of Greys, YlGnBu, Greens, YlOrRd, Bluered, RdBu, Reds, Blues, Picnic, Rainbow, Portland, Jet, Hot, Blackbody, Earth, Electric, Viridis, Cividis ) customized as an {array} of 2-element {arrays} where the first element is the normalized color level value (starting at *0* and ending at *1*), and the second item is a valid color string.","otherOpts":["dflt"],"requiredOpts":[]},"data_array":{"description":"An {array} of data. The value must represent an {array} or it will be ignored, but this array can be provided in several forms: (1) a regular {array} object (2) a typed array (e.g. Float32Array) (3) an object with keys dtype, bdata, and optionally shape. In this 3rd form, dtype is one of *f8*, *f4*. *i4*, *u4*, *i2*, *u2*, *i1*, *u1* or *u1c* for Uint8ClampedArray. In addition to shorthand `dtype` above one could also use the following forms: *float64*, *float32*, *int32*, *uint32*, *int16*, *uint16*, *int8*, *uint8* or *uint8c* for Uint8ClampedArray. `bdata` is either a base64-encoded string or the ArrayBuffer of an integer or float typed array. For either multi-dimensional arrays you must also provide its dimensions separated by comma via `shape`. For example using `dtype`: *f4* and `shape`: *5,100* you can declare a 2-D array that has 5 rows and 100 columns containing float32 values i.e. 4 bits per value. `shape` is optional for one dimensional arrays.","otherOpts":["dflt"],"requiredOpts":[]},"enumerated":{"description":"Enumerated value type. The available values are listed in `values`.","otherOpts":["dflt","coerceNumber","arrayOk"],"requiredOpts":["values"]},"flaglist":{"description":"A string representing a combination of flags (order does not matter here). Combine any of the available `flags` with *+*. (e.g. ('lines+markers')). Values in `extras` cannot be combined.","otherOpts":["dflt","extras","arrayOk"],"requiredOpts":["flags"]},"info_array":{"description":"An {array} of plot information.","otherOpts":["dflt","freeLength","dimensions"],"requiredOpts":["items"]},"integer":{"description":"An integer or an integer inside a string. When applicable, values greater (less) than `max` (`min`) are coerced to the `dflt`.","otherOpts":["dflt","min","max","arrayOk"],"requiredOpts":[]},"number":{"description":"A number or a numeric value (e.g. a number inside a string). When applicable, values greater (less) than `max` (`min`) are coerced to the `dflt`.","otherOpts":["dflt","min","max","arrayOk"],"requiredOpts":[]},"string":{"description":"A string value. Numbers are converted to strings except for attributes with `strict` set to true.","otherOpts":["dflt","noBlank","strict","arrayOk","values"],"requiredOpts":[]},"subplotid":{"description":"An id string of a subplot type (given by dflt), optionally followed by an integer \u003e1. e.g. if dflt='geo', we can have 'geo', 'geo2', 'geo3', ...","otherOpts":["regex"],"requiredOpts":["dflt"]}}},"frames":{"items":{"frames_entry":{"baseframe":{"description":"The name of the frame into which this frame's properties are merged before applying. This is used to unify properties and avoid needing to specify the same values for the same properties in multiple frames.","valType":"string"},"data":{"description":"A list of traces this frame modifies. The format is identical to the normal trace definition.","valType":"any"},"group":{"description":"An identifier that specifies the group to which the frame belongs, used by animate to select a subset of frames.","valType":"string"},"layout":{"description":"Layout properties which this frame modifies. The format is identical to the normal layout definition.","valType":"any"},"name":{"description":"A label by which to identify the frame","valType":"string"},"role":"object","traces":{"description":"A list of trace indices that identify the respective traces in the data attribute","valType":"any"}}},"role":"object"},"layout":{"layoutAttributes":{"_deprecated":{"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the contents of the title, please use `title.text` now.","editType":"layoutstyle","valType":"string"},"titlefont":{"color":{"editType":"layoutstyle","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"layoutstyle","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"layoutstyle","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"layoutstyle","min":1,"valType":"number"}}},"activeselection":{"editType":"none","fillcolor":{"description":"Sets the color filling the active selection' interior.","dflt":"rgba(0,0,0,0)","editType":"none","valType":"color"},"opacity":{"description":"Sets the opacity of the active selection.","dflt":0.5,"editType":"none","max":1,"min":0,"valType":"number"},"role":"object"},"activeshape":{"editType":"none","fillcolor":{"description":"Sets the color filling the active shape' interior.","dflt":"rgb(255,0,255)","editType":"none","valType":"color"},"opacity":{"description":"Sets the opacity of the active shape.","dflt":0.5,"editType":"none","max":1,"min":0,"valType":"number"},"role":"object"},"annotations":{"items":{"annotation":{"_deprecated":{"ref":{"description":"Obsolete. Set `xref` and `yref` separately instead.","editType":"calc","valType":"string"}},"align":{"description":"Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more \u003cbr\u003e HTML tags) or if an explicit width is set to override the text width.","dflt":"center","editType":"arraydraw","valType":"enumerated","values":["left","center","right"]},"arrowcolor":{"description":"Sets the color of the annotation arrow.","editType":"arraydraw","valType":"color"},"arrowhead":{"description":"Sets the end annotation arrow head style.","dflt":1,"editType":"arraydraw","max":8,"min":0,"valType":"integer"},"arrowside":{"description":"Sets the annotation arrow head position.","dflt":"end","editType":"arraydraw","extras":["none"],"flags":["end","start"],"valType":"flaglist"},"arrowsize":{"description":"Sets the size of the end annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.","dflt":1,"editType":"calc+arraydraw","min":0.3,"valType":"number"},"arrowwidth":{"description":"Sets the width (in px) of annotation arrow line.","editType":"calc+arraydraw","min":0.1,"valType":"number"},"ax":{"description":"Sets the x component of the arrow tail about the arrow head. If `axref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from right to left (left to right). If `axref` is not `pixel` and is exactly the same as `xref`, this is an absolute value on that axis, like `x`, specified in the same coordinates as `xref`.","editType":"calc+arraydraw","valType":"any"},"axref":{"description":"Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. In order for absolute positioning of the arrow to work, *axref* must be exactly the same as *xref*, otherwise *axref* will revert to *pixel* (explained next). For relative positioning, *axref* can be set to *pixel*, in which case the *ax* value is specified in pixels relative to *x*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.","dflt":"pixel","editType":"calc","valType":"enumerated","values":["pixel","/^x([2-9]|[1-9][0-9]+)?( domain)?$/"]},"ay":{"description":"Sets the y component of the arrow tail about the arrow head. If `ayref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from bottom to top (top to bottom). If `ayref` is not `pixel` and is exactly the same as `yref`, this is an absolute value on that axis, like `y`, specified in the same coordinates as `yref`.","editType":"calc+arraydraw","valType":"any"},"ayref":{"description":"Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. In order for absolute positioning of the arrow to work, *ayref* must be exactly the same as *yref*, otherwise *ayref* will revert to *pixel* (explained next). For relative positioning, *ayref* can be set to *pixel*, in which case the *ay* value is specified in pixels relative to *y*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.","dflt":"pixel","editType":"calc","valType":"enumerated","values":["pixel","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]},"bgcolor":{"description":"Sets the background color of the annotation.","dflt":"rgba(0,0,0,0)","editType":"arraydraw","valType":"color"},"bordercolor":{"description":"Sets the color of the border enclosing the annotation `text`.","dflt":"rgba(0,0,0,0)","editType":"arraydraw","valType":"color"},"borderpad":{"description":"Sets the padding (in px) between the `text` and the enclosing border.","dflt":1,"editType":"calc+arraydraw","min":0,"valType":"number"},"borderwidth":{"description":"Sets the width (in px) of the border enclosing the annotation `text`.","dflt":1,"editType":"calc+arraydraw","min":0,"valType":"number"},"captureevents":{"description":"Determines whether the annotation text box captures mouse move and click events, or allows those events to pass through to data points in the plot that may be behind the annotation. By default `captureevents` is *false* unless `hovertext` is provided. If you use the event `plotly_clickannotation` without `hovertext` you must explicitly enable `captureevents`.","editType":"arraydraw","valType":"boolean"},"clicktoshow":{"description":"Makes this annotation respond to clicks on the plot. If you click a data point that exactly matches the `x` and `y` values of this annotation, and it is hidden (visible: false), it will appear. In *onoff* mode, you must click the same point again to make it disappear, so if you click multiple points, you can show multiple annotations. In *onout* mode, a click anywhere else in the plot (on another data point or not) will hide this annotation. If you need to show/hide this annotation in response to different `x` or `y` values, you can set `xclick` and/or `yclick`. This is useful for example to label the side of a bar. To label markers though, `standoff` is preferred over `xclick` and `yclick`.","dflt":false,"editType":"arraydraw","valType":"enumerated","values":[false,"onoff","onout"]},"editType":"calc","font":{"color":{"editType":"arraydraw","valType":"color"},"description":"Sets the annotation text font.","editType":"calc+arraydraw","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc+arraydraw","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc+arraydraw","min":1,"valType":"number"}},"height":{"description":"Sets an explicit height for the text box. null (default) lets the text set the box height. Taller text will be clipped.","dflt":null,"editType":"calc+arraydraw","min":1,"valType":"number"},"hoverlabel":{"bgcolor":{"description":"Sets the background color of the hover label. By default uses the annotation's `bgcolor` made opaque, or white if it was transparent.","editType":"arraydraw","valType":"color"},"bordercolor":{"description":"Sets the border color of the hover label. By default uses either dark grey or white, for maximum contrast with `hoverlabel.bgcolor`.","editType":"arraydraw","valType":"color"},"editType":"arraydraw","font":{"color":{"editType":"arraydraw","valType":"color"},"description":"Sets the hover label text font. By default uses the global hover font and size, with color from `hoverlabel.bordercolor`.","editType":"arraydraw","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"arraydraw","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"arraydraw","min":1,"valType":"number"}},"role":"object"},"hovertext":{"description":"Sets text to appear when hovering over this annotation. If omitted or blank, no hover label will appear.","editType":"arraydraw","valType":"string"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"opacity":{"description":"Sets the opacity of the annotation (text + arrow).","dflt":1,"editType":"arraydraw","max":1,"min":0,"valType":"number"},"role":"object","showarrow":{"description":"Determines whether or not the annotation is drawn with an arrow. If *true*, `text` is placed near the arrow's tail. If *false*, `text` lines up with the `x` and `y` provided.","dflt":true,"editType":"calc+arraydraw","valType":"boolean"},"standoff":{"description":"Sets a distance, in pixels, to move the end arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.","dflt":0,"editType":"calc+arraydraw","min":0,"valType":"number"},"startarrowhead":{"description":"Sets the start annotation arrow head style.","dflt":1,"editType":"arraydraw","max":8,"min":0,"valType":"integer"},"startarrowsize":{"description":"Sets the size of the start annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.","dflt":1,"editType":"calc+arraydraw","min":0.3,"valType":"number"},"startstandoff":{"description":"Sets a distance, in pixels, to move the start arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.","dflt":0,"editType":"calc+arraydraw","min":0,"valType":"number"},"templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"text":{"description":"Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (\u003cbr\u003e), bold (\u003cb\u003e\u003c/b\u003e), italics (\u003ci\u003e\u003c/i\u003e), hyperlinks (\u003ca href='...'\u003e\u003c/a\u003e). Tags \u003cem\u003e, \u003csup\u003e, \u003csub\u003e \u003cspan\u003e are also supported.","editType":"calc+arraydraw","valType":"string"},"textangle":{"description":"Sets the angle at which the `text` is drawn with respect to the horizontal.","dflt":0,"editType":"calc+arraydraw","valType":"angle"},"valign":{"description":"Sets the vertical alignment of the `text` within the box. Has an effect only if an explicit height is set to override the text height.","dflt":"middle","editType":"arraydraw","valType":"enumerated","values":["top","middle","bottom"]},"visible":{"description":"Determines whether or not this annotation is visible.","dflt":true,"editType":"calc+arraydraw","valType":"boolean"},"width":{"description":"Sets an explicit width for the text box. null (default) lets the text set the box width. Wider text will be clipped. There is no automatic wrapping; use \u003cbr\u003e to start a new line.","dflt":null,"editType":"calc+arraydraw","min":1,"valType":"number"},"x":{"description":"Sets the annotation's x position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.","editType":"calc+arraydraw","valType":"any"},"xanchor":{"description":"Sets the text box's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the annotation. For example, if `x` is set to 1, `xref` to *paper* and `xanchor` to *right* then the right-most portion of the annotation lines up with the right-most edge of the plotting area. If *auto*, the anchor is equivalent to *center* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.","dflt":"auto","editType":"calc+arraydraw","valType":"enumerated","values":["auto","left","center","right"]},"xclick":{"description":"Toggle this annotation when clicking a data point whose `x` value is `xclick` rather than the annotation's `x` value.","editType":"arraydraw","valType":"any"},"xref":{"description":"Sets the annotation's x coordinate axis. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis.","editType":"calc","valType":"enumerated","values":["paper","/^x([2-9]|[1-9][0-9]+)?( domain)?$/"]},"xshift":{"description":"Shifts the position of the whole annotation and arrow to the right (positive) or left (negative) by this many pixels.","dflt":0,"editType":"calc+arraydraw","valType":"number"},"y":{"description":"Sets the annotation's y position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.","editType":"calc+arraydraw","valType":"any"},"yanchor":{"description":"Sets the text box's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the annotation. For example, if `y` is set to 1, `yref` to *paper* and `yanchor` to *top* then the top-most portion of the annotation lines up with the top-most edge of the plotting area. If *auto*, the anchor is equivalent to *middle* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.","dflt":"auto","editType":"calc+arraydraw","valType":"enumerated","values":["auto","top","middle","bottom"]},"yclick":{"description":"Toggle this annotation when clicking a data point whose `y` value is `yclick` rather than the annotation's `y` value.","editType":"arraydraw","valType":"any"},"yref":{"description":"Sets the annotation's y coordinate axis. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis.","editType":"calc","valType":"enumerated","values":["paper","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]},"yshift":{"description":"Shifts the position of the whole annotation and arrow up (positive) or down (negative) by this many pixels.","dflt":0,"editType":"calc+arraydraw","valType":"number"}}},"role":"object"},"autosize":{"description":"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.","dflt":false,"editType":"none","valType":"boolean"},"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"calc","valType":"enumerated","values":["convert types","strict"]},"calendar":{"description":"Sets the default calendar system to use for interpreting and displaying dates throughout the plot.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"clickmode":{"description":"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.","dflt":"event","editType":"plot","extras":["none"],"flags":["event","select"],"valType":"flaglist"},"coloraxis":{"_isSubplotObj":true,"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"Determines whether or not the color domain is computed with respect to the input data (here corresponding trace color array(s)) or the bounds set in `cmin` and `cmax` Defaults to `false` when `cmin` and `cmax` are set by the user.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"Sets the upper bound of the color domain. Value should have the same units as corresponding trace color array(s) and if set, `cmin` must be set as well.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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 corresponding trace color array(s). Has no effect when `cauto` is `false`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"Sets the lower bound of the color domain. Value should have the same units as corresponding trace color array(s) and if set, `cmax` must be set as well.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"description":"","editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"}},"colorscale":{"diverging":{"description":"Sets the default diverging colorscale. Note that `autocolorscale` must be true for this attribute to work.","dflt":[[0,"rgb(5,10,172)"],[0.35,"rgb(106,137,247)"],[0.5,"rgb(190,190,190)"],[0.6,"rgb(220,170,132)"],[0.7,"rgb(230,145,90)"],[1,"rgb(178,10,28)"]],"editType":"calc","valType":"colorscale"},"editType":"calc","role":"object","sequential":{"description":"Sets the default sequential colorscale for positive values. Note that `autocolorscale` must be true for this attribute to work.","dflt":[[0,"rgb(220,220,220)"],[0.2,"rgb(245,195,157)"],[0.4,"rgb(245,160,105)"],[1,"rgb(178,10,28)"]],"editType":"calc","valType":"colorscale"},"sequentialminus":{"description":"Sets the default sequential colorscale for negative values. Note that `autocolorscale` must be true for this attribute to work.","dflt":[[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)"]],"editType":"calc","valType":"colorscale"}},"colorway":{"description":"Sets the default trace colors.","dflt":["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],"editType":"calc","valType":"colorlist"},"computed":{"description":"Placeholder for exporting automargin-impacting values namely `margin.t`, `margin.b`, `margin.l` and `margin.r` in *full-json* mode.","editType":"none","valType":"any"},"datarevision":{"description":"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.","editType":"calc","valType":"any"},"dragmode":{"description":"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.","dflt":"zoom","editType":"modebar","valType":"enumerated","values":["zoom","pan","select","lasso","drawclosedpath","drawopenpath","drawline","drawrect","drawcircle","orbit","turntable",false]},"editType":"calc","editrevision":{"description":"Controls persistence of user-driven changes in `editable: true` configuration, other than trace names and axis titles. Defaults to `layout.uirevision`.","editType":"none","valType":"any"},"font":{"color":{"dflt":"#444","editType":"calc","valType":"color"},"description":"Sets the global font. Note that fonts used in traces and other layout components inherit from the global font.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","dflt":"\"Open Sans\", verdana, arial, sans-serif","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"dflt":12,"editType":"calc","min":1,"valType":"number"}},"geo":{"_isSubplotObj":true,"bgcolor":{"description":"Set the background color of the map","dflt":"#fff","editType":"plot","valType":"color"},"center":{"editType":"plot","lat":{"description":"Sets the latitude of the map's center. For all projection types, the map's latitude center lies at the middle of the latitude range by default.","editType":"plot","valType":"number"},"lon":{"description":"Sets the longitude of the map's center. By default, the map's longitude center lies at the middle of the longitude range for scoped projection and above `projection.rotation.lon` otherwise.","editType":"plot","valType":"number"},"role":"object"},"coastlinecolor":{"description":"Sets the coastline color.","dflt":"#444","editType":"plot","valType":"color"},"coastlinewidth":{"description":"Sets the coastline stroke width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"countrycolor":{"description":"Sets line color of the country boundaries.","dflt":"#444","editType":"plot","valType":"color"},"countrywidth":{"description":"Sets line width (in px) of the country boundaries.","dflt":1,"editType":"plot","min":0,"valType":"number"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this geo subplot . Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both.","dflt":0,"editType":"plot","min":0,"valType":"integer"},"editType":"plot","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this geo subplot . Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both.","dflt":0,"editType":"plot","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this geo subplot (in plot fraction). Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both.","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this geo subplot (in plot fraction). Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both.","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"editType":"plot","fitbounds":{"description":"Determines if this subplot's view settings are auto-computed to fit trace data. On scoped maps, setting `fitbounds` leads to `center.lon` and `center.lat` getting auto-filled. On maps with a non-clipped projection, setting `fitbounds` leads to `center.lon`, `center.lat`, and `projection.rotation.lon` getting auto-filled. On maps with a clipped projection, setting `fitbounds` leads to `center.lon`, `center.lat`, `projection.rotation.lon`, `projection.rotation.lat`, `lonaxis.range` and `lonaxis.range` getting auto-filled. If *locations*, only the trace's visible locations are considered in the `fitbounds` computations. If *geojson*, the entire trace input `geojson` (if provided) is considered in the `fitbounds` computations, Defaults to *false*.","dflt":false,"editType":"plot","valType":"enumerated","values":[false,"locations","geojson"]},"framecolor":{"description":"Sets the color the frame.","dflt":"#444","editType":"plot","valType":"color"},"framewidth":{"description":"Sets the stroke width (in px) of the frame.","dflt":1,"editType":"plot","min":0,"valType":"number"},"lakecolor":{"description":"Sets the color of the lakes.","dflt":"#3399FF","editType":"plot","valType":"color"},"landcolor":{"description":"Sets the land mass color.","dflt":"#F0DC82","editType":"plot","valType":"color"},"lataxis":{"dtick":{"description":"Sets the graticule's longitude/latitude tick step.","editType":"plot","valType":"number"},"editType":"plot","gridcolor":{"description":"Sets the graticule's stroke color.","dflt":"#eee","editType":"plot","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"plot","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the graticule's stroke width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"range":{"description":"Sets the range of this axis (in degrees), sets the map's clipped coordinates.","editType":"plot","items":[{"editType":"plot","valType":"number"},{"editType":"plot","valType":"number"}],"valType":"info_array"},"role":"object","showgrid":{"description":"Sets whether or not graticule are shown on the map.","dflt":false,"editType":"plot","valType":"boolean"},"tick0":{"description":"Sets the graticule's starting tick longitude/latitude.","dflt":0,"editType":"plot","valType":"number"}},"lonaxis":{"dtick":{"description":"Sets the graticule's longitude/latitude tick step.","editType":"plot","valType":"number"},"editType":"plot","gridcolor":{"description":"Sets the graticule's stroke color.","dflt":"#eee","editType":"plot","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"plot","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the graticule's stroke width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"range":{"description":"Sets the range of this axis (in degrees), sets the map's clipped coordinates.","editType":"plot","items":[{"editType":"plot","valType":"number"},{"editType":"plot","valType":"number"}],"valType":"info_array"},"role":"object","showgrid":{"description":"Sets whether or not graticule are shown on the map.","dflt":false,"editType":"plot","valType":"boolean"},"tick0":{"description":"Sets the graticule's starting tick longitude/latitude.","dflt":0,"editType":"plot","valType":"number"}},"oceancolor":{"description":"Sets the ocean color","dflt":"#3399FF","editType":"plot","valType":"color"},"projection":{"distance":{"description":"For satellite projection type only. Sets the distance from the center of the sphere to the point of view as a proportion of the sphere’s radius.","dflt":2,"editType":"plot","min":1.001,"valType":"number"},"editType":"plot","parallels":{"description":"For conic projection types only. Sets the parallels (tangent, secant) where the cone intersects the sphere.","editType":"plot","items":[{"editType":"plot","valType":"number"},{"editType":"plot","valType":"number"}],"valType":"info_array"},"role":"object","rotation":{"editType":"plot","lat":{"description":"Rotates the map along meridians (in degrees North).","editType":"plot","valType":"number"},"lon":{"description":"Rotates the map along parallels (in degrees East). Defaults to the center of the `lonaxis.range` values.","editType":"plot","valType":"number"},"role":"object","roll":{"description":"Roll the map (in degrees) For example, a roll of *180* makes the map appear upside down.","editType":"plot","valType":"number"}},"scale":{"description":"Zooms in or out on the map view. A scale of *1* corresponds to the largest zoom level that fits the map's lon and lat ranges. ","dflt":1,"editType":"plot","min":0,"valType":"number"},"tilt":{"description":"For satellite projection type only. Sets the tilt angle of perspective projection.","dflt":0,"editType":"plot","valType":"number"},"type":{"description":"Sets the projection type.","editType":"plot","valType":"enumerated","values":["airy","aitoff","albers","albers usa","august","azimuthal equal area","azimuthal equidistant","baker","bertin1953","boggs","bonne","bottomley","bromley","collignon","conic conformal","conic equal area","conic equidistant","craig","craster","cylindrical equal area","cylindrical stereographic","eckert1","eckert2","eckert3","eckert4","eckert5","eckert6","eisenlohr","equal earth","equirectangular","fahey","foucaut","foucaut sinusoidal","ginzburg4","ginzburg5","ginzburg6","ginzburg8","ginzburg9","gnomonic","gringorten","gringorten quincuncial","guyou","hammer","hill","homolosine","hufnagel","hyperelliptical","kavrayskiy7","lagrange","larrivee","laskowski","loximuthal","mercator","miller","mollweide","mt flat polar parabolic","mt flat polar quartic","mt flat polar sinusoidal","natural earth","natural earth1","natural earth2","nell hammer","nicolosi","orthographic","patterson","peirce quincuncial","polyconic","rectangular polyconic","robinson","satellite","sinu mollweide","sinusoidal","stereographic","times","transverse mercator","van der grinten","van der grinten2","van der grinten3","van der grinten4","wagner4","wagner6","wiechel","winkel tripel","winkel3"]}},"resolution":{"coerceNumber":true,"description":"Sets the resolution of the base layers. The values have units of km/mm e.g. 110 corresponds to a scale ratio of 1:110,000,000.","dflt":110,"editType":"plot","valType":"enumerated","values":[110,50]},"rivercolor":{"description":"Sets color of the rivers.","dflt":"#3399FF","editType":"plot","valType":"color"},"riverwidth":{"description":"Sets the stroke width (in px) of the rivers.","dflt":1,"editType":"plot","min":0,"valType":"number"},"role":"object","scope":{"description":"Set the scope of the map.","dflt":"world","editType":"plot","valType":"enumerated","values":["africa","asia","europe","north america","south america","usa","world"]},"showcoastlines":{"description":"Sets whether or not the coastlines are drawn.","editType":"plot","valType":"boolean"},"showcountries":{"description":"Sets whether or not country boundaries are drawn.","editType":"plot","valType":"boolean"},"showframe":{"description":"Sets whether or not a frame is drawn around the map.","editType":"plot","valType":"boolean"},"showlakes":{"description":"Sets whether or not lakes are drawn.","dflt":false,"editType":"plot","valType":"boolean"},"showland":{"description":"Sets whether or not land masses are filled in color.","dflt":false,"editType":"plot","valType":"boolean"},"showocean":{"description":"Sets whether or not oceans are filled in color.","dflt":false,"editType":"plot","valType":"boolean"},"showrivers":{"description":"Sets whether or not rivers are drawn.","dflt":false,"editType":"plot","valType":"boolean"},"showsubunits":{"description":"Sets whether or not boundaries of subunits within countries (e.g. states, provinces) are drawn.","editType":"plot","valType":"boolean"},"subunitcolor":{"description":"Sets the color of the subunits boundaries.","dflt":"#444","editType":"plot","valType":"color"},"subunitwidth":{"description":"Sets the stroke width (in px) of the subunits boundaries.","dflt":1,"editType":"plot","min":0,"valType":"number"},"uirevision":{"description":"Controls persistence of user-driven changes in the view (projection and center). Defaults to `layout.uirevision`.","editType":"none","valType":"any"},"visible":{"description":"Sets the default visibility of the base layers.","dflt":true,"editType":"plot","valType":"boolean"}},"grid":{"columns":{"description":"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.","editType":"plot","min":1,"valType":"integer"},"domain":{"editType":"plot","role":"object","x":{"description":"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.","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"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.","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"editType":"plot","pattern":{"description":"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`.","dflt":"coupled","editType":"plot","valType":"enumerated","values":["independent","coupled"]},"role":"object","roworder":{"description":"Is the first row the top or the bottom? Note that columns are always enumerated from left to right.","dflt":"top to bottom","editType":"plot","valType":"enumerated","values":["top to bottom","bottom to top"]},"rows":{"description":"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.","editType":"plot","min":1,"valType":"integer"},"subplots":{"description":"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.","dimensions":2,"editType":"plot","freeLength":true,"items":{"editType":"plot","valType":"enumerated","values":["/^x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?$/",""]},"valType":"info_array"},"xaxes":{"description":"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.","editType":"plot","freeLength":true,"items":{"editType":"plot","valType":"enumerated","values":["/^x([2-9]|[1-9][0-9]+)?( domain)?$/",""]},"valType":"info_array"},"xgap":{"description":"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.","editType":"plot","max":1,"min":0,"valType":"number"},"xside":{"description":"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.","dflt":"bottom plot","editType":"plot","valType":"enumerated","values":["bottom","bottom plot","top plot","top"]},"yaxes":{"description":"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.","editType":"plot","freeLength":true,"items":{"editType":"plot","valType":"enumerated","values":["/^y([2-9]|[1-9][0-9]+)?( domain)?$/",""]},"valType":"info_array"},"ygap":{"description":"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.","editType":"plot","max":1,"min":0,"valType":"number"},"yside":{"description":"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.","dflt":"left plot","editType":"plot","valType":"enumerated","values":["left","left plot","right plot","right"]}},"height":{"description":"Sets the plot's height (in px).","dflt":450,"editType":"plot","min":10,"valType":"number"},"hidesources":{"description":"Determines whether or not a text link citing the data source is placed at the bottom-right cored of the figure. Has only an effect only on graphs that have been generated via forked graphs from the Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise).","dflt":false,"editType":"plot","valType":"boolean"},"hoverdistance":{"description":"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.","dflt":20,"editType":"none","min":-1,"valType":"integer"},"hoverlabel":{"align":{"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"bgcolor":{"description":"Sets the background color of all hover labels on graph","editType":"none","valType":"color"},"bordercolor":{"description":"Sets the border color of all hover labels on graph.","editType":"none","valType":"color"},"editType":"none","font":{"color":{"editType":"none","valType":"color"},"description":"Sets the default hover label font used by all traces on the graph.","editType":"none","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","dflt":"Arial, sans-serif","editType":"none","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"dflt":13,"editType":"none","min":1,"valType":"number"}},"grouptitlefont":{"color":{"editType":"none","valType":"color"},"description":"Sets the font for group titles in hover (unified modes). Defaults to `hoverlabel.font`.","editType":"none","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"none","min":1,"valType":"number"}},"namelength":{"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"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.","dflt":"closest","editType":"modebar","valType":"enumerated","values":["x","y","closest",false,"x unified","y unified"]},"images":{"items":{"image":{"editType":"arraydraw","layer":{"description":"Specifies whether images are drawn below or above traces. When `xref` and `yref` are both set to `paper`, image is drawn below the entire plot area.","dflt":"above","editType":"arraydraw","valType":"enumerated","values":["below","above"]},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"opacity":{"description":"Sets the opacity of the image.","dflt":1,"editType":"arraydraw","max":1,"min":0,"valType":"number"},"role":"object","sizex":{"description":"Sets the image container size horizontally. The image will be sized based on the `position` value. When `xref` is set to `paper`, units are sized relative to the plot width. When `xref` ends with ` domain`, units are sized relative to the axis width.","dflt":0,"editType":"arraydraw","valType":"number"},"sizey":{"description":"Sets the image container size vertically. The image will be sized based on the `position` value. When `yref` is set to `paper`, units are sized relative to the plot height. When `yref` ends with ` domain`, units are sized relative to the axis height.","dflt":0,"editType":"arraydraw","valType":"number"},"sizing":{"description":"Specifies which dimension of the image to constrain.","dflt":"contain","editType":"arraydraw","valType":"enumerated","values":["fill","contain","stretch"]},"source":{"description":"Specifies the URL of the image to be used. The URL must be accessible from the domain where the plot code is run, and can be either relative or absolute.","editType":"arraydraw","valType":"string"},"templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"visible":{"description":"Determines whether or not this image is visible.","dflt":true,"editType":"arraydraw","valType":"boolean"},"x":{"description":"Sets the image's x position. When `xref` is set to `paper`, units are sized relative to the plot height. See `xref` for more info","dflt":0,"editType":"arraydraw","valType":"any"},"xanchor":{"description":"Sets the anchor for the x position","dflt":"left","editType":"arraydraw","valType":"enumerated","values":["left","center","right"]},"xref":{"description":"Sets the images'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.","dflt":"paper","editType":"arraydraw","valType":"enumerated","values":["paper","/^x([2-9]|[1-9][0-9]+)?( domain)?$/"]},"y":{"description":"Sets the image's y position. When `yref` is set to `paper`, units are sized relative to the plot height. See `yref` for more info","dflt":0,"editType":"arraydraw","valType":"any"},"yanchor":{"description":"Sets the anchor for the y position.","dflt":"top","editType":"arraydraw","valType":"enumerated","values":["top","middle","bottom"]},"yref":{"description":"Sets the images's y coordinate axis. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis.","dflt":"paper","editType":"arraydraw","valType":"enumerated","values":["paper","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]}}},"role":"object"},"legend":{"_isSubplotObj":true,"bgcolor":{"description":"Sets the legend background color. Defaults to `layout.paper_bgcolor`.","editType":"legend","valType":"color"},"bordercolor":{"description":"Sets the color of the border enclosing the legend.","dflt":"#444","editType":"legend","valType":"color"},"borderwidth":{"description":"Sets the width (in px) of the border enclosing the legend.","dflt":0,"editType":"legend","min":0,"valType":"number"},"editType":"legend","entrywidth":{"description":"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*.","editType":"legend","min":0,"valType":"number"},"entrywidthmode":{"description":"Determines what entrywidth means.","dflt":"pixels","editType":"legend","valType":"enumerated","values":["fraction","pixels"]},"font":{"color":{"editType":"legend","valType":"color"},"description":"Sets the font used to text the legend items.","editType":"legend","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"legend","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"legend","min":1,"valType":"number"}},"groupclick":{"description":"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.","dflt":"togglegroup","editType":"legend","valType":"enumerated","values":["toggleitem","togglegroup"]},"grouptitlefont":{"color":{"editType":"legend","valType":"color"},"description":"Sets the font for group titles in legend. Defaults to `legend.font` with its size increased about 10%.","editType":"legend","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"legend","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"legend","min":1,"valType":"number"}},"itemclick":{"description":"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.","dflt":"toggle","editType":"legend","valType":"enumerated","values":["toggle","toggleothers",false]},"itemdoubleclick":{"description":"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.","dflt":"toggleothers","editType":"legend","valType":"enumerated","values":["toggle","toggleothers",false]},"itemsizing":{"description":"Determines if the legend items symbols scale with their corresponding *trace* attributes or remain *constant* independent of the symbol size on the graph.","dflt":"trace","editType":"legend","valType":"enumerated","values":["trace","constant"]},"itemwidth":{"description":"Sets the width (in px) of the legend item symbols (the part other than the title.text).","dflt":30,"editType":"legend","min":30,"valType":"number"},"orientation":{"description":"Sets the orientation of the legend.","dflt":"v","editType":"legend","valType":"enumerated","values":["v","h"]},"role":"object","title":{"editType":"legend","font":{"color":{"editType":"legend","valType":"color"},"description":"Sets this legend's title font. Defaults to `legend.font` with its size increased about 20%.","editType":"legend","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"legend","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"legend","min":1,"valType":"number"}},"role":"object","side":{"description":"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.","editType":"legend","valType":"enumerated","values":["top","left","top left","top center","top right"]},"text":{"description":"Sets the title of the legend.","dflt":"","editType":"legend","valType":"string"}},"tracegroupgap":{"description":"Sets the amount of vertical space (in px) between legend groups.","dflt":10,"editType":"legend","min":0,"valType":"number"},"traceorder":{"description":"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*.","editType":"legend","extras":["normal"],"flags":["reversed","grouped"],"valType":"flaglist"},"uirevision":{"description":"Controls persistence of legend-driven changes in trace and pie label visibility. Defaults to `layout.uirevision`.","editType":"none","valType":"any"},"valign":{"description":"Sets the vertical alignment of the symbols with respect to their associated text.","dflt":"middle","editType":"legend","valType":"enumerated","values":["top","middle","bottom"]},"visible":{"description":"Determines whether or not this legend is visible.","dflt":true,"editType":"legend","valType":"boolean"},"x":{"description":"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*.","editType":"legend","valType":"number"},"xanchor":{"description":"Sets the legend's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the legend. 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.","dflt":"left","editType":"legend","valType":"enumerated","values":["auto","left","center","right"]},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"layoutstyle","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"legend","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.","editType":"legend","valType":"enumerated","values":["auto","top","middle","bottom"]},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"layoutstyle","valType":"enumerated","values":["container","paper"]}},"mapbox":{"_arrayAttrRegexps":[{}],"_isSubplotObj":true,"accesstoken":{"description":"Sets the mapbox access token to be used for this mapbox map. Alternatively, the mapbox access token can be set in the configuration options under `mapboxAccessToken`. Note that accessToken are only required when `style` (e.g with values : basic, streets, outdoors, light, dark, satellite, satellite-streets ) and/or a layout layer references the Mapbox server.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"bearing":{"description":"Sets the bearing angle of the map in degrees counter-clockwise from North (mapbox.bearing).","dflt":0,"editType":"plot","valType":"number"},"bounds":{"east":{"description":"Sets the maximum longitude of the map (in degrees East) if `west`, `south` and `north` are declared.","editType":"plot","valType":"number"},"editType":"plot","north":{"description":"Sets the maximum latitude of the map (in degrees North) if `east`, `west` and `south` are declared.","editType":"plot","valType":"number"},"role":"object","south":{"description":"Sets the minimum latitude of the map (in degrees North) if `east`, `west` and `north` are declared.","editType":"plot","valType":"number"},"west":{"description":"Sets the minimum longitude of the map (in degrees East) if `east`, `south` and `north` are declared.","editType":"plot","valType":"number"}},"center":{"editType":"plot","lat":{"description":"Sets the latitude of the center of the map (in degrees North).","dflt":0,"editType":"plot","valType":"number"},"lon":{"description":"Sets the longitude of the center of the map (in degrees East).","dflt":0,"editType":"plot","valType":"number"},"role":"object"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this mapbox subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"editType":"plot","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this mapbox subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this mapbox subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this mapbox subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"editType":"plot","layers":{"items":{"layer":{"below":{"description":"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.","editType":"plot","valType":"string"},"circle":{"editType":"plot","radius":{"description":"Sets the circle radius (mapbox.layer.paint.circle-radius). Has an effect only when `type` is set to *circle*.","dflt":15,"editType":"plot","valType":"number"},"role":"object"},"color":{"description":"Sets the primary layer color. If `type` is *circle*, color corresponds to the circle color (mapbox.layer.paint.circle-color) If `type` is *line*, color corresponds to the line color (mapbox.layer.paint.line-color) If `type` is *fill*, color corresponds to the fill color (mapbox.layer.paint.fill-color) If `type` is *symbol*, color corresponds to the icon color (mapbox.layer.paint.icon-color)","dflt":"#444","editType":"plot","valType":"color"},"coordinates":{"description":"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`.","editType":"plot","valType":"any"},"editType":"plot","fill":{"editType":"plot","outlinecolor":{"description":"Sets the fill outline color (mapbox.layer.paint.fill-outline-color). Has an effect only when `type` is set to *fill*.","dflt":"#444","editType":"plot","valType":"color"},"role":"object"},"line":{"dash":{"description":"Sets the length of dashes and gaps (mapbox.layer.paint.line-dasharray). Has an effect only when `type` is set to *line*.","editType":"plot","valType":"data_array"},"dashsrc":{"description":"Sets the source reference on Chart Studio Cloud for `dash`.","editType":"none","valType":"string"},"editType":"plot","role":"object","width":{"description":"Sets the line width (mapbox.layer.paint.line-width). Has an effect only when `type` is set to *line*.","dflt":2,"editType":"plot","valType":"number"}},"maxzoom":{"description":"Sets the maximum zoom level (mapbox.layer.maxzoom). At zoom levels equal to or greater than the maxzoom, the layer will be hidden.","dflt":24,"editType":"plot","max":24,"min":0,"valType":"number"},"minzoom":{"description":"Sets the minimum zoom level (mapbox.layer.minzoom). At zoom levels less than the minzoom, the layer will be hidden.","dflt":0,"editType":"plot","max":24,"min":0,"valType":"number"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"opacity":{"description":"Sets the opacity of the layer. If `type` is *circle*, opacity corresponds to the circle opacity (mapbox.layer.paint.circle-opacity) If `type` is *line*, opacity corresponds to the line opacity (mapbox.layer.paint.line-opacity) If `type` is *fill*, opacity corresponds to the fill opacity (mapbox.layer.paint.fill-opacity) If `type` is *symbol*, opacity corresponds to the icon/text opacity (mapbox.layer.paint.text-opacity)","dflt":1,"editType":"plot","max":1,"min":0,"valType":"number"},"role":"object","source":{"description":"Sets the source data for this layer (mapbox.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.","editType":"plot","valType":"any"},"sourceattribution":{"description":"Sets the attribution for this source.","editType":"plot","valType":"string"},"sourcelayer":{"description":"Specifies the layer to use from a vector tile source (mapbox.layer.source-layer). Required for *vector* source type that supports multiple layers.","dflt":"","editType":"plot","valType":"string"},"sourcetype":{"description":"Sets the source type for this layer, that is the type of the layer data.","dflt":"geojson","editType":"plot","valType":"enumerated","values":["geojson","vector","raster","image"]},"symbol":{"editType":"plot","icon":{"description":"Sets the symbol icon image (mapbox.layer.layout.icon-image). Full list: https://www.mapbox.com/maki-icons/","dflt":"marker","editType":"plot","valType":"string"},"iconsize":{"description":"Sets the symbol icon size (mapbox.layer.layout.icon-size). Has an effect only when `type` is set to *symbol*.","dflt":10,"editType":"plot","valType":"number"},"placement":{"description":"Sets the symbol and/or text placement (mapbox.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","dflt":"point","editType":"plot","valType":"enumerated","values":["point","line","line-center"]},"role":"object","text":{"description":"Sets the symbol text (mapbox.layer.layout.text-field).","dflt":"","editType":"plot","valType":"string"},"textfont":{"color":{"editType":"plot","valType":"color"},"description":"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*.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","dflt":"Open Sans Regular, Arial Unicode MS Regular","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"textposition":{"arrayOk":false,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"plot","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]}},"templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"type":{"description":"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.","dflt":"circle","editType":"plot","valType":"enumerated","values":["circle","line","fill","symbol","raster"]},"visible":{"description":"Determines whether this layer is displayed","dflt":true,"editType":"plot","valType":"boolean"}}},"role":"object"},"pitch":{"description":"Sets the pitch angle of the map (in degrees, where *0* means perpendicular to the surface of the map) (mapbox.pitch).","dflt":0,"editType":"plot","valType":"number"},"role":"object","style":{"description":"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.mapbox.layers`. These layers can be defined either explicitly as a Mapbox 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 which do not require any access tokens, or by using a default Mapbox style or custom Mapbox style URL, both of which require a Mapbox access token Note that Mapbox access token can be set in the `accesstoken` attribute or in the `mapboxAccessToken` config option. Mapbox Style objects are of the form described in the Mapbox GL JS documentation available at https://docs.mapbox.com/mapbox-gl-js/style-spec The built-in plotly.js styles objects are: carto-darkmatter, carto-positron, open-street-map, stamen-terrain, stamen-toner, stamen-watercolor, white-bg The built-in Mapbox styles are: basic, streets, outdoors, light, dark, satellite, satellite-streets Mapbox style URLs are of the form: mapbox://mapbox.mapbox-\u003cname\u003e-\u003cversion\u003e","dflt":"basic","editType":"plot","valType":"any","values":["basic","streets","outdoors","light","dark","satellite","satellite-streets","carto-darkmatter","carto-positron","open-street-map","stamen-terrain","stamen-toner","stamen-watercolor","white-bg"]},"uirevision":{"description":"Controls persistence of user-driven changes in the view: `center`, `zoom`, `bearing`, `pitch`. Defaults to `layout.uirevision`.","editType":"none","valType":"any"},"zoom":{"description":"Sets the zoom level of the map (mapbox.zoom).","dflt":1,"editType":"plot","valType":"number"}},"margin":{"autoexpand":{"description":"Turns on/off margin expansion computations. Legends, colorbars, updatemenus, sliders, axis rangeselector and rangeslider are allowed to push the margins by defaults.","dflt":true,"editType":"plot","valType":"boolean"},"b":{"description":"Sets the bottom margin (in px).","dflt":80,"editType":"plot","min":0,"valType":"number"},"editType":"plot","l":{"description":"Sets the left margin (in px).","dflt":80,"editType":"plot","min":0,"valType":"number"},"pad":{"description":"Sets the amount of padding (in px) between the plotting area and the axis lines","dflt":0,"editType":"plot","min":0,"valType":"number"},"r":{"description":"Sets the right margin (in px).","dflt":80,"editType":"plot","min":0,"valType":"number"},"role":"object","t":{"description":"Sets the top margin (in px).","dflt":100,"editType":"plot","min":0,"valType":"number"}},"meta":{"arrayOk":true,"description":"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]}.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"minreducedheight":{"description":"Minimum height of the plot with margin.automargin applied (in px)","dflt":64,"editType":"plot","min":2,"valType":"number"},"minreducedwidth":{"description":"Minimum width of the plot with margin.automargin applied (in px)","dflt":64,"editType":"plot","min":2,"valType":"number"},"modebar":{"activecolor":{"description":"Sets the color of the active or hovered on icons in the modebar.","editType":"modebar","valType":"color"},"add":{"arrayOk":true,"description":"Determines which predefined modebar buttons to add. Please note that these buttons will only be shown if they are compatible with all trace types used in a graph. Similar to `config.modeBarButtonsToAdd` option. This may include *v1hovermode*, *hoverclosest*, *hovercompare*, *togglehover*, *togglespikelines*, *drawline*, *drawopenpath*, *drawclosedpath*, *drawcircle*, *drawrect*, *eraseshape*.","dflt":"","editType":"modebar","valType":"string"},"addsrc":{"description":"Sets the source reference on Chart Studio Cloud for `add`.","editType":"none","valType":"string"},"bgcolor":{"description":"Sets the background color of the modebar.","editType":"modebar","valType":"color"},"color":{"description":"Sets the color of the icons in the modebar.","editType":"modebar","valType":"color"},"editType":"modebar","orientation":{"description":"Sets the orientation of the modebar.","dflt":"h","editType":"modebar","valType":"enumerated","values":["v","h"]},"remove":{"arrayOk":true,"description":"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*, *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*, *zoomInMapbox*, *zoomOut2d*, *zoomOutGeo*, *zoomOutMapbox*, *zoomin*, *zoomout*.","dflt":"","editType":"modebar","valType":"string"},"removesrc":{"description":"Sets the source reference on Chart Studio Cloud for `remove`.","editType":"none","valType":"string"},"role":"object","uirevision":{"description":"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`.","editType":"none","valType":"any"}},"newselection":{"editType":"none","line":{"color":{"description":"Sets the line color. By default uses either dark grey or white to increase contrast with background color.","editType":"none","valType":"color"},"dash":{"description":"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*).","dflt":"dot","editType":"none","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"none","role":"object","width":{"description":"Sets the line width (in px).","dflt":1,"editType":"none","min":1,"valType":"number"}},"mode":{"description":"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.","dflt":"immediate","editType":"none","valType":"enumerated","values":["immediate","gradual"]},"role":"object"},"newshape":{"drawdirection":{"description":"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.","dflt":"diagonal","editType":"none","valType":"enumerated","values":["ortho","horizontal","vertical","diagonal"]},"editType":"none","fillcolor":{"description":"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.","dflt":"rgba(0,0,0,0)","editType":"none","valType":"color"},"fillrule":{"description":"Determines the path's interior. For more info please visit https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule","dflt":"evenodd","editType":"none","valType":"enumerated","values":["evenodd","nonzero"]},"label":{"editType":"none","font":{"color":{"editType":"none","valType":"color"},"description":"Sets the new shape label text font.","editType":"none","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"none","min":1,"valType":"number"}},"padding":{"description":"Sets padding (in px) between edge of label and edge of new shape.","dflt":3,"editType":"none","min":0,"valType":"number"},"role":"object","text":{"description":"Sets the text to display with the new shape. It is also used for legend item if `name` is not provided.","dflt":"","editType":"none","valType":"string"},"textangle":{"description":"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.","dflt":"auto","editType":"none","valType":"angle"},"textposition":{"description":"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.","editType":"none","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right","start","middle","end"]},"texttemplate":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xanchor":{"description":"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.","dflt":"auto","editType":"none","valType":"enumerated","values":["auto","left","center","right"]},"yanchor":{"description":"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.","editType":"none","valType":"enumerated","values":["top","middle","bottom"]}},"layer":{"description":"Specifies whether new shapes are drawn below or above traces.","dflt":"above","editType":"none","valType":"enumerated","values":["below","above"]},"legend":{"description":"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.","dflt":"legend","editType":"none","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"none","valType":"string"},"legendgrouptitle":{"editType":"none","font":{"color":{"editType":"none","valType":"color"},"description":"Sets this legend group's title font.","editType":"none","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"none","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"none","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"none","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for new shape.","editType":"none","min":0,"valType":"number"},"line":{"color":{"description":"Sets the line color. By default uses either dark grey or white to increase contrast with background color.","editType":"none","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"none","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"none","role":"object","width":{"description":"Sets the line width (in px).","dflt":4,"editType":"none","min":0,"valType":"number"}},"name":{"description":"Sets new shape name. The name appears as the legend item.","editType":"none","valType":"string"},"opacity":{"description":"Sets the opacity of new shapes.","dflt":1,"editType":"none","max":1,"min":0,"valType":"number"},"role":"object","showlegend":{"description":"Determines whether or not new shape is shown in the legend.","dflt":false,"editType":"none","valType":"boolean"},"visible":{"description":"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).","dflt":true,"editType":"none","valType":"enumerated","values":[true,false,"legendonly"]}},"paper_bgcolor":{"description":"Sets the background color of the paper where the graph is drawn.","dflt":"#fff","editType":"plot","valType":"color"},"plot_bgcolor":{"description":"Sets the background color of the plotting area in-between x and y axes.","dflt":"#fff","editType":"layoutstyle","valType":"color"},"polar":{"_isSubplotObj":true,"angularaxis":{"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"calc","valType":"enumerated","values":["convert types","strict"]},"categoryarray":{"description":"Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"calc","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.","dflt":"trace","editType":"calc","valType":"enumerated","values":["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","median ascending","median descending"]},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"direction":{"description":"Sets the direction corresponding to positive angles.","dflt":"counterclockwise","editType":"calc","valType":"enumerated","values":["counterclockwise","clockwise"]},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"plot","exponentformat":{"description":"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.","dflt":"B","editType":"plot","valType":"enumerated","values":["none","e","E","power","SI","B"]},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"plot","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"plot","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"none","valType":"string"},"labelalias":{"description":"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.","dflt":false,"editType":"plot","valType":"any"},"layer":{"description":"Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.","dflt":"above traces","editType":"plot","valType":"enumerated","values":["above traces","below traces"]},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"plot","min":0,"valType":"number"},"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,"editType":"plot","min":0,"valType":"integer"},"period":{"description":"Set the angular period. Has an effect only when `angularaxis.type` is *category*.","editType":"calc","min":0,"valType":"number"},"role":"object","rotation":{"description":"Sets that start position (in degrees) of the angular axis By default, polar subplots with `direction` set to *counterclockwise* get a `rotation` of *0* which corresponds to due East (like what mathematicians prefer). In turn, polar with `direction` set to *clockwise* get a rotation of *90* which corresponds to due North (like on a compass),","editType":"calc","valType":"angle"},"separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"plot","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","dflt":true,"editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"thetaunit":{"description":"Sets the format unit of the formatted *theta* values. Has an effect only when `angularaxis.type` is *linear*.","dflt":"degrees","editType":"calc","valType":"enumerated","values":["radians","degrees"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"plot","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"editType":"plot","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"plot","valType":"string"}}},"role":"object"},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"plot","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","editType":"plot","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"type":{"_noTemplating":true,"description":"Sets the angular axis type. If *linear*, set `thetaunit` to determine the unit in which axis value are shown. If *category, use `period` to set the number of integer coordinates around polar axis.","dflt":"-","editType":"calc","valType":"enumerated","values":["-","linear","category"]},"uirevision":{"description":"Controls persistence of user-driven changes in axis `rotation`. Defaults to `polar\u003cN\u003e.uirevision`.","editType":"none","valType":"any"},"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","dflt":true,"editType":"plot","valType":"boolean"}},"bgcolor":{"description":"Set the background color of the subplot","dflt":"#fff","editType":"plot","valType":"color"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this polar subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"editType":"plot","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this polar subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this polar subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this polar subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"editType":"calc","gridshape":{"description":"Determines if the radial axis grid lines and angular axis line are drawn as *circular* sectors or as *linear* (polygon) sectors. Has an effect only when the angular axis has `type` *category*. Note that `radialaxis.angle` is snapped to the angle of the closest vertex when `gridshape` is *circular* (so that radial axis scale is the same as the data scale).","dflt":"circular","editType":"plot","valType":"enumerated","values":["circular","linear"]},"hole":{"description":"Sets the fraction of the radius to cut out of the polar subplot.","dflt":0,"editType":"plot","max":1,"min":0,"valType":"number"},"radialaxis":{"_deprecated":{"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.","editType":"ticks","valType":"string"},"titlefont":{"color":{"editType":"ticks","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"ticks","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"ticks","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"ticks","min":1,"valType":"number"}}},"angle":{"description":"Sets the angle (in degrees) from which the radial axis is drawn. Note that by default, radial axis line on the theta=0 line corresponds to a line pointing right (like what mathematicians prefer). Defaults to the first `polar.sector` angle.","editType":"plot","valType":"angle"},"autorange":{"description":"Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction.","dflt":true,"editType":"plot","impliedEdits":{},"valType":"enumerated","values":[true,false,"reversed","min reversed","max reversed","min","max"]},"autorangeoptions":{"clipmax":{"description":"Clip autorange maximum if it goes beyond this value. Has no effect when `autorangeoptions.maxallowed` is provided.","editType":"plot","impliedEdits":{},"valType":"any"},"clipmin":{"description":"Clip autorange minimum if it goes beyond this value. Has no effect when `autorangeoptions.minallowed` is provided.","editType":"plot","impliedEdits":{},"valType":"any"},"editType":"plot","include":{"arrayOk":true,"description":"Ensure this value is included in autorange.","editType":"plot","impliedEdits":{},"valType":"any"},"includesrc":{"description":"Sets the source reference on Chart Studio Cloud for `include`.","editType":"none","valType":"string"},"maxallowed":{"description":"Use this value exactly as autorange maximum.","editType":"plot","impliedEdits":{},"valType":"any"},"minallowed":{"description":"Use this value exactly as autorange minimum.","editType":"plot","impliedEdits":{},"valType":"any"},"role":"object"},"autotickangles":{"description":"When `tickangle` is set to *auto*, it will be set to the first angle in this array that is large enough to prevent label overlap.","dflt":[0,30,90],"editType":"ticks","freeLength":true,"items":{"valType":"angle"},"valType":"info_array"},"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"calc","valType":"enumerated","values":["convert types","strict"]},"calendar":{"description":"Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"categoryarray":{"description":"Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"calc","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.","dflt":"trace","editType":"calc","valType":"enumerated","values":["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","median ascending","median descending"]},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"plot","exponentformat":{"description":"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.","dflt":"B","editType":"plot","valType":"enumerated","values":["none","e","E","power","SI","B"]},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"plot","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"plot","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"none","valType":"string"},"labelalias":{"description":"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.","dflt":false,"editType":"plot","valType":"any"},"layer":{"description":"Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.","dflt":"above traces","editType":"plot","valType":"enumerated","values":["above traces","below traces"]},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"maxallowed":{"description":"Determines the maximum range of this axis.","editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},"minallowed":{"description":"Determines the minimum range of this axis.","editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"plot","min":0,"valType":"number"},"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,"editType":"plot","min":0,"valType":"integer"},"range":{"anim":true,"description":"Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, 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. Leaving either or both elements `null` impacts the default `autorange`.","editType":"plot","impliedEdits":{"autorange":false},"items":[{"editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},{"editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"}],"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).","dflt":"tozero","editType":"calc","valType":"enumerated","values":["tozero","nonnegative","normal"]},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"plot","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","dflt":true,"editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"side":{"description":"Determines on which side of radial axis line the tick and tick labels appear.","dflt":"clockwise","editType":"plot","valType":"enumerated","values":["clockwise","counterclockwise"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"plot","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"editType":"plot","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"plot","valType":"string"}}},"role":"object"},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"plot","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","editType":"plot","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"title":{"editType":"plot","font":{"color":{"editType":"ticks","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"ticks","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"ticks","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","dflt":"","editType":"plot","valType":"string"}},"type":{"_noTemplating":true,"description":"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.","dflt":"-","editType":"calc","valType":"enumerated","values":["-","linear","log","date","category"]},"uirevision":{"description":"Controls persistence of user-driven changes in axis `range`, `autorange`, `angle`, and `title` if in `editable: true` configuration. Defaults to `polar\u003cN\u003e.uirevision`.","editType":"none","valType":"any"},"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","dflt":true,"editType":"plot","valType":"boolean"}},"role":"object","sector":{"description":"Sets angular span of this polar subplot with two angles (in degrees). Sector are assumed to be spanned in the counterclockwise direction with *0* corresponding to rightmost limit of the polar subplot.","dflt":[0,360],"editType":"plot","items":[{"editType":"plot","valType":"number"},{"editType":"plot","valType":"number"}],"valType":"info_array"},"uirevision":{"description":"Controls persistence of user-driven changes in axis attributes, if not overridden in the individual axes. Defaults to `layout.uirevision`.","editType":"none","valType":"any"}},"scene":{"_arrayAttrRegexps":[{}],"_deprecated":{"cameraposition":{"description":"Obsolete. Use `camera` instead.","editType":"camera","valType":"info_array"}},"_isSubplotObj":true,"annotations":{"items":{"annotation":{"align":{"description":"Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more \u003cbr\u003e HTML tags) or if an explicit width is set to override the text width.","dflt":"center","editType":"calc","valType":"enumerated","values":["left","center","right"]},"arrowcolor":{"description":"Sets the color of the annotation arrow.","editType":"calc","valType":"color"},"arrowhead":{"description":"Sets the end annotation arrow head style.","dflt":1,"editType":"calc","max":8,"min":0,"valType":"integer"},"arrowside":{"description":"Sets the annotation arrow head position.","dflt":"end","editType":"calc","extras":["none"],"flags":["end","start"],"valType":"flaglist"},"arrowsize":{"description":"Sets the size of the end annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.","dflt":1,"editType":"calc","min":0.3,"valType":"number"},"arrowwidth":{"description":"Sets the width (in px) of annotation arrow line.","editType":"calc","min":0.1,"valType":"number"},"ax":{"description":"Sets the x component of the arrow tail about the arrow head (in pixels).","editType":"calc","valType":"number"},"ay":{"description":"Sets the y component of the arrow tail about the arrow head (in pixels).","editType":"calc","valType":"number"},"bgcolor":{"description":"Sets the background color of the annotation.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the color of the border enclosing the annotation `text`.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"borderpad":{"description":"Sets the padding (in px) between the `text` and the enclosing border.","dflt":1,"editType":"calc","min":0,"valType":"number"},"borderwidth":{"description":"Sets the width (in px) of the border enclosing the annotation `text`.","dflt":1,"editType":"calc","min":0,"valType":"number"},"captureevents":{"description":"Determines whether the annotation text box captures mouse move and click events, or allows those events to pass through to data points in the plot that may be behind the annotation. By default `captureevents` is *false* unless `hovertext` is provided. If you use the event `plotly_clickannotation` without `hovertext` you must explicitly enable `captureevents`.","editType":"calc","valType":"boolean"},"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets the annotation text font.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"height":{"description":"Sets an explicit height for the text box. null (default) lets the text set the box height. Taller text will be clipped.","dflt":null,"editType":"calc","min":1,"valType":"number"},"hoverlabel":{"bgcolor":{"description":"Sets the background color of the hover label. By default uses the annotation's `bgcolor` made opaque, or white if it was transparent.","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the border color of the hover label. By default uses either dark grey or white, for maximum contrast with `hoverlabel.bgcolor`.","editType":"calc","valType":"color"},"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets the hover label text font. By default uses the global hover font and size, with color from `hoverlabel.bordercolor`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object"},"hovertext":{"description":"Sets text to appear when hovering over this annotation. If omitted or blank, no hover label will appear.","editType":"calc","valType":"string"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"opacity":{"description":"Sets the opacity of the annotation (text + arrow).","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","showarrow":{"description":"Determines whether or not the annotation is drawn with an arrow. If *true*, `text` is placed near the arrow's tail. If *false*, `text` lines up with the `x` and `y` provided.","dflt":true,"editType":"calc","valType":"boolean"},"standoff":{"description":"Sets a distance, in pixels, to move the end arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.","dflt":0,"editType":"calc","min":0,"valType":"number"},"startarrowhead":{"description":"Sets the start annotation arrow head style.","dflt":1,"editType":"calc","max":8,"min":0,"valType":"integer"},"startarrowsize":{"description":"Sets the size of the start annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.","dflt":1,"editType":"calc","min":0.3,"valType":"number"},"startstandoff":{"description":"Sets a distance, in pixels, to move the start arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.","dflt":0,"editType":"calc","min":0,"valType":"number"},"templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"text":{"description":"Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (\u003cbr\u003e), bold (\u003cb\u003e\u003c/b\u003e), italics (\u003ci\u003e\u003c/i\u003e), hyperlinks (\u003ca href='...'\u003e\u003c/a\u003e). Tags \u003cem\u003e, \u003csup\u003e, \u003csub\u003e \u003cspan\u003e are also supported.","editType":"calc","valType":"string"},"textangle":{"description":"Sets the angle at which the `text` is drawn with respect to the horizontal.","dflt":0,"editType":"calc","valType":"angle"},"valign":{"description":"Sets the vertical alignment of the `text` within the box. Has an effect only if an explicit height is set to override the text height.","dflt":"middle","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"visible":{"description":"Determines whether or not this annotation is visible.","dflt":true,"editType":"calc","valType":"boolean"},"width":{"description":"Sets an explicit width for the text box. null (default) lets the text set the box width. Wider text will be clipped. There is no automatic wrapping; use \u003cbr\u003e to start a new line.","dflt":null,"editType":"calc","min":1,"valType":"number"},"x":{"description":"Sets the annotation's x position.","editType":"calc","valType":"any"},"xanchor":{"description":"Sets the text box's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the annotation. For example, if `x` is set to 1, `xref` to *paper* and `xanchor` to *right* then the right-most portion of the annotation lines up with the right-most edge of the plotting area. If *auto*, the anchor is equivalent to *center* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.","dflt":"auto","editType":"calc","valType":"enumerated","values":["auto","left","center","right"]},"xshift":{"description":"Shifts the position of the whole annotation and arrow to the right (positive) or left (negative) by this many pixels.","dflt":0,"editType":"calc","valType":"number"},"y":{"description":"Sets the annotation's y position.","editType":"calc","valType":"any"},"yanchor":{"description":"Sets the text box's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the annotation. For example, if `y` is set to 1, `yref` to *paper* and `yanchor` to *top* then the top-most portion of the annotation lines up with the top-most edge of the plotting area. If *auto*, the anchor is equivalent to *middle* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.","dflt":"auto","editType":"calc","valType":"enumerated","values":["auto","top","middle","bottom"]},"yshift":{"description":"Shifts the position of the whole annotation and arrow up (positive) or down (negative) by this many pixels.","dflt":0,"editType":"calc","valType":"number"},"z":{"description":"Sets the annotation's z position.","editType":"calc","valType":"any"}}},"role":"object"},"aspectmode":{"description":"If *cube*, this scene's axes are drawn as a cube, regardless of the axes' ranges. If *data*, this scene's axes are drawn in proportion with the axes' ranges. If *manual*, this scene's axes are drawn in proportion with the input of *aspectratio* (the default behavior if *aspectratio* is provided). If *auto*, this scene's axes are drawn using the results of *data* except when one axis is more than four times the size of the two others, where in that case the results of *cube* are used.","dflt":"auto","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","cube","data","manual"]},"aspectratio":{"description":"Sets this scene's axis aspectratio.","editType":"plot","impliedEdits":{"aspectmode":"manual","role":"object"},"role":"object","x":{"editType":"plot","impliedEdits":{"^aspectmode":"manual"},"min":0,"valType":"number"},"y":{"editType":"plot","impliedEdits":{"^aspectmode":"manual"},"min":0,"valType":"number"},"z":{"editType":"plot","impliedEdits":{"^aspectmode":"manual"},"min":0,"valType":"number"}},"bgcolor":{"dflt":"rgba(0,0,0,0)","editType":"plot","valType":"color"},"camera":{"center":{"description":"Sets the (x,y,z) components of the 'center' camera vector This vector determines the translation (x,y,z) space about the center of this scene. By default, there is no such translation.","editType":"camera","role":"object","x":{"dflt":0,"editType":"camera","valType":"number"},"y":{"dflt":0,"editType":"camera","valType":"number"},"z":{"dflt":0,"editType":"camera","valType":"number"}},"editType":"camera","eye":{"description":"Sets the (x,y,z) components of the 'eye' camera vector. This vector determines the view point about the origin of this scene.","editType":"camera","role":"object","x":{"dflt":1.25,"editType":"camera","valType":"number"},"y":{"dflt":1.25,"editType":"camera","valType":"number"},"z":{"dflt":1.25,"editType":"camera","valType":"number"}},"projection":{"editType":"calc","role":"object","type":{"description":"Sets the projection type. The projection type could be either *perspective* or *orthographic*. The default is *perspective*.","dflt":"perspective","editType":"calc","valType":"enumerated","values":["perspective","orthographic"]}},"role":"object","up":{"description":"Sets the (x,y,z) components of the 'up' camera vector. This vector determines the up direction of this scene with respect to the page. The default is *{x: 0, y: 0, z: 1}* which means that the z axis points up.","editType":"camera","role":"object","x":{"dflt":0,"editType":"camera","valType":"number"},"y":{"dflt":0,"editType":"camera","valType":"number"},"z":{"dflt":1,"editType":"camera","valType":"number"}}},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this scene subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"editType":"plot","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this scene subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this scene subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this scene subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"dragmode":{"description":"Determines the mode of drag interactions for this scene.","editType":"plot","valType":"enumerated","values":["orbit","turntable","zoom","pan",false]},"editType":"plot","hovermode":{"description":"Determines the mode of hover interactions for this scene.","dflt":"closest","editType":"modebar","valType":"enumerated","values":["closest",false]},"role":"object","uirevision":{"description":"Controls persistence of user-driven changes in camera attributes. Defaults to `layout.uirevision`.","editType":"none","valType":"any"},"xaxis":{"_deprecated":{"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.","editType":"plot","valType":"string"},"titlefont":{"color":{"editType":"plot","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"plot","min":1,"valType":"number"}}},"autorange":{"description":"Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction.","dflt":true,"editType":"plot","impliedEdits":{},"valType":"enumerated","values":[true,false,"reversed","min reversed","max reversed","min","max"]},"autorangeoptions":{"clipmax":{"description":"Clip autorange maximum if it goes beyond this value. Has no effect when `autorangeoptions.maxallowed` is provided.","editType":"plot","impliedEdits":{},"valType":"any"},"clipmin":{"description":"Clip autorange minimum if it goes beyond this value. Has no effect when `autorangeoptions.minallowed` is provided.","editType":"plot","impliedEdits":{},"valType":"any"},"editType":"plot","include":{"arrayOk":true,"description":"Ensure this value is included in autorange.","editType":"plot","impliedEdits":{},"valType":"any"},"includesrc":{"description":"Sets the source reference on Chart Studio Cloud for `include`.","editType":"none","valType":"string"},"maxallowed":{"description":"Use this value exactly as autorange maximum.","editType":"plot","impliedEdits":{},"valType":"any"},"minallowed":{"description":"Use this value exactly as autorange minimum.","editType":"plot","impliedEdits":{},"valType":"any"},"role":"object"},"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"plot","valType":"enumerated","values":["convert types","strict"]},"backgroundcolor":{"description":"Sets the background color of this axis' wall.","dflt":"rgba(204, 204, 204, 0.5)","editType":"plot","valType":"color"},"calendar":{"description":"Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"categoryarray":{"description":"Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"plot","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.","dflt":"trace","editType":"plot","valType":"enumerated","values":["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","median ascending","median descending"]},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"plot","exponentformat":{"description":"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.","dflt":"B","editType":"plot","valType":"enumerated","values":["none","e","E","power","SI","B"]},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"rgb(204, 204, 204)","editType":"plot","valType":"color"},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"plot","valType":"string"},"labelalias":{"description":"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.","dflt":false,"editType":"plot","valType":"any"},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"maxallowed":{"description":"Determines the maximum range of this axis.","editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},"minallowed":{"description":"Determines the minimum range of this axis.","editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"plot","min":0,"valType":"number"},"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,"editType":"plot","valType":"enumerated","values":[true,"ticks",false,"all","allticks"]},"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,"editType":"plot","min":0,"valType":"integer"},"range":{"anim":false,"description":"Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, 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. Leaving either or both elements `null` impacts the default `autorange`.","editType":"plot","impliedEdits":{"autorange":false},"items":[{"editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},{"editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"}],"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.","dflt":"normal","editType":"plot","valType":"enumerated","values":["normal","tozero","nonnegative"]},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"plot","valType":"boolean"},"showaxeslabels":{"description":"Sets whether or not this axis is labeled","dflt":true,"editType":"plot","valType":"boolean"},"showbackground":{"description":"Sets whether or not this axis' wall has a background color.","dflt":false,"editType":"plot","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":false,"editType":"plot","valType":"boolean"},"showspikes":{"description":"Sets whether or not spikes starting from data points to this axis' wall are shown on hover.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"spikecolor":{"description":"Sets the color of the spikes.","dflt":"#444","editType":"plot","valType":"color"},"spikesides":{"description":"Sets whether or not spikes extending from the projection data points to this axis' wall boundaries are shown on hover.","dflt":true,"editType":"plot","valType":"boolean"},"spikethickness":{"description":"Sets the thickness (in px) of the spikes.","dflt":2,"editType":"plot","min":0,"valType":"number"},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"plot","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"editType":"plot","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"plot","valType":"string"}}},"role":"object"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","editType":"plot","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"title":{"editType":"plot","font":{"color":{"editType":"plot","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"plot","valType":"string"}},"type":{"_noTemplating":true,"description":"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.","dflt":"-","editType":"plot","valType":"enumerated","values":["-","linear","log","date","category"]},"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","valType":"boolean"},"zeroline":{"description":"Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines.","editType":"plot","valType":"boolean"},"zerolinecolor":{"description":"Sets the line color of the zero line.","dflt":"#444","editType":"plot","valType":"color"},"zerolinewidth":{"description":"Sets the width (in px) of the zero line.","dflt":1,"editType":"plot","valType":"number"}},"yaxis":{"_deprecated":{"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.","editType":"plot","valType":"string"},"titlefont":{"color":{"editType":"plot","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"plot","min":1,"valType":"number"}}},"autorange":{"description":"Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction.","dflt":true,"editType":"plot","impliedEdits":{},"valType":"enumerated","values":[true,false,"reversed","min reversed","max reversed","min","max"]},"autorangeoptions":{"clipmax":{"description":"Clip autorange maximum if it goes beyond this value. Has no effect when `autorangeoptions.maxallowed` is provided.","editType":"plot","impliedEdits":{},"valType":"any"},"clipmin":{"description":"Clip autorange minimum if it goes beyond this value. Has no effect when `autorangeoptions.minallowed` is provided.","editType":"plot","impliedEdits":{},"valType":"any"},"editType":"plot","include":{"arrayOk":true,"description":"Ensure this value is included in autorange.","editType":"plot","impliedEdits":{},"valType":"any"},"includesrc":{"description":"Sets the source reference on Chart Studio Cloud for `include`.","editType":"none","valType":"string"},"maxallowed":{"description":"Use this value exactly as autorange maximum.","editType":"plot","impliedEdits":{},"valType":"any"},"minallowed":{"description":"Use this value exactly as autorange minimum.","editType":"plot","impliedEdits":{},"valType":"any"},"role":"object"},"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"plot","valType":"enumerated","values":["convert types","strict"]},"backgroundcolor":{"description":"Sets the background color of this axis' wall.","dflt":"rgba(204, 204, 204, 0.5)","editType":"plot","valType":"color"},"calendar":{"description":"Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"categoryarray":{"description":"Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"plot","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.","dflt":"trace","editType":"plot","valType":"enumerated","values":["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","median ascending","median descending"]},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"plot","exponentformat":{"description":"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.","dflt":"B","editType":"plot","valType":"enumerated","values":["none","e","E","power","SI","B"]},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"rgb(204, 204, 204)","editType":"plot","valType":"color"},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"plot","valType":"string"},"labelalias":{"description":"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.","dflt":false,"editType":"plot","valType":"any"},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"maxallowed":{"description":"Determines the maximum range of this axis.","editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},"minallowed":{"description":"Determines the minimum range of this axis.","editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"plot","min":0,"valType":"number"},"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,"editType":"plot","valType":"enumerated","values":[true,"ticks",false,"all","allticks"]},"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,"editType":"plot","min":0,"valType":"integer"},"range":{"anim":false,"description":"Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, 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. Leaving either or both elements `null` impacts the default `autorange`.","editType":"plot","impliedEdits":{"autorange":false},"items":[{"editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},{"editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"}],"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.","dflt":"normal","editType":"plot","valType":"enumerated","values":["normal","tozero","nonnegative"]},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"plot","valType":"boolean"},"showaxeslabels":{"description":"Sets whether or not this axis is labeled","dflt":true,"editType":"plot","valType":"boolean"},"showbackground":{"description":"Sets whether or not this axis' wall has a background color.","dflt":false,"editType":"plot","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":false,"editType":"plot","valType":"boolean"},"showspikes":{"description":"Sets whether or not spikes starting from data points to this axis' wall are shown on hover.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"spikecolor":{"description":"Sets the color of the spikes.","dflt":"#444","editType":"plot","valType":"color"},"spikesides":{"description":"Sets whether or not spikes extending from the projection data points to this axis' wall boundaries are shown on hover.","dflt":true,"editType":"plot","valType":"boolean"},"spikethickness":{"description":"Sets the thickness (in px) of the spikes.","dflt":2,"editType":"plot","min":0,"valType":"number"},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"plot","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"editType":"plot","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"plot","valType":"string"}}},"role":"object"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","editType":"plot","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"title":{"editType":"plot","font":{"color":{"editType":"plot","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"plot","valType":"string"}},"type":{"_noTemplating":true,"description":"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.","dflt":"-","editType":"plot","valType":"enumerated","values":["-","linear","log","date","category"]},"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","valType":"boolean"},"zeroline":{"description":"Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines.","editType":"plot","valType":"boolean"},"zerolinecolor":{"description":"Sets the line color of the zero line.","dflt":"#444","editType":"plot","valType":"color"},"zerolinewidth":{"description":"Sets the width (in px) of the zero line.","dflt":1,"editType":"plot","valType":"number"}},"zaxis":{"_deprecated":{"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.","editType":"plot","valType":"string"},"titlefont":{"color":{"editType":"plot","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"plot","min":1,"valType":"number"}}},"autorange":{"description":"Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction.","dflt":true,"editType":"plot","impliedEdits":{},"valType":"enumerated","values":[true,false,"reversed","min reversed","max reversed","min","max"]},"autorangeoptions":{"clipmax":{"description":"Clip autorange maximum if it goes beyond this value. Has no effect when `autorangeoptions.maxallowed` is provided.","editType":"plot","impliedEdits":{},"valType":"any"},"clipmin":{"description":"Clip autorange minimum if it goes beyond this value. Has no effect when `autorangeoptions.minallowed` is provided.","editType":"plot","impliedEdits":{},"valType":"any"},"editType":"plot","include":{"arrayOk":true,"description":"Ensure this value is included in autorange.","editType":"plot","impliedEdits":{},"valType":"any"},"includesrc":{"description":"Sets the source reference on Chart Studio Cloud for `include`.","editType":"none","valType":"string"},"maxallowed":{"description":"Use this value exactly as autorange maximum.","editType":"plot","impliedEdits":{},"valType":"any"},"minallowed":{"description":"Use this value exactly as autorange minimum.","editType":"plot","impliedEdits":{},"valType":"any"},"role":"object"},"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"plot","valType":"enumerated","values":["convert types","strict"]},"backgroundcolor":{"description":"Sets the background color of this axis' wall.","dflt":"rgba(204, 204, 204, 0.5)","editType":"plot","valType":"color"},"calendar":{"description":"Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"categoryarray":{"description":"Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"plot","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.","dflt":"trace","editType":"plot","valType":"enumerated","values":["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","median ascending","median descending"]},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"plot","exponentformat":{"description":"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.","dflt":"B","editType":"plot","valType":"enumerated","values":["none","e","E","power","SI","B"]},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"rgb(204, 204, 204)","editType":"plot","valType":"color"},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"plot","valType":"string"},"labelalias":{"description":"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.","dflt":false,"editType":"plot","valType":"any"},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"maxallowed":{"description":"Determines the maximum range of this axis.","editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},"minallowed":{"description":"Determines the minimum range of this axis.","editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"plot","min":0,"valType":"number"},"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,"editType":"plot","valType":"enumerated","values":[true,"ticks",false,"all","allticks"]},"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,"editType":"plot","min":0,"valType":"integer"},"range":{"anim":false,"description":"Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, 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. Leaving either or both elements `null` impacts the default `autorange`.","editType":"plot","impliedEdits":{"autorange":false},"items":[{"editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},{"editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"}],"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.","dflt":"normal","editType":"plot","valType":"enumerated","values":["normal","tozero","nonnegative"]},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"plot","valType":"boolean"},"showaxeslabels":{"description":"Sets whether or not this axis is labeled","dflt":true,"editType":"plot","valType":"boolean"},"showbackground":{"description":"Sets whether or not this axis' wall has a background color.","dflt":false,"editType":"plot","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":false,"editType":"plot","valType":"boolean"},"showspikes":{"description":"Sets whether or not spikes starting from data points to this axis' wall are shown on hover.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"spikecolor":{"description":"Sets the color of the spikes.","dflt":"#444","editType":"plot","valType":"color"},"spikesides":{"description":"Sets whether or not spikes extending from the projection data points to this axis' wall boundaries are shown on hover.","dflt":true,"editType":"plot","valType":"boolean"},"spikethickness":{"description":"Sets the thickness (in px) of the spikes.","dflt":2,"editType":"plot","min":0,"valType":"number"},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"plot","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"editType":"plot","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"plot","valType":"string"}}},"role":"object"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","editType":"plot","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"title":{"editType":"plot","font":{"color":{"editType":"plot","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"plot","valType":"string"}},"type":{"_noTemplating":true,"description":"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.","dflt":"-","editType":"plot","valType":"enumerated","values":["-","linear","log","date","category"]},"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","valType":"boolean"},"zeroline":{"description":"Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines.","editType":"plot","valType":"boolean"},"zerolinecolor":{"description":"Sets the line color of the zero line.","dflt":"#444","editType":"plot","valType":"color"},"zerolinewidth":{"description":"Sets the width (in px) of the zero line.","dflt":1,"editType":"plot","valType":"number"}}},"selectdirection":{"description":"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.","dflt":"any","editType":"none","valType":"enumerated","values":["h","v","d","any"]},"selectionrevision":{"description":"Controls persistence of user-driven changes in selected points from all traces.","editType":"none","valType":"any"},"selections":{"items":{"selection":{"editType":"arraydraw","line":{"color":{"anim":true,"description":"Sets the line color.","editType":"arraydraw","valType":"color"},"dash":{"description":"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*).","dflt":"dot","editType":"arraydraw","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"arraydraw","role":"object","width":{"anim":true,"description":"Sets the line width (in px).","dflt":1,"editType":"arraydraw","min":1,"valType":"number"}},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"arraydraw","valType":"string"},"opacity":{"description":"Sets the opacity of the selection.","dflt":0.7,"editType":"arraydraw","max":1,"min":0,"valType":"number"},"path":{"description":"For `type` *path* - a valid SVG path similar to `shapes.path` in data coordinates. Allowed segments are: M, L and Z.","editType":"arraydraw","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"arraydraw","valType":"string"},"type":{"description":"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`.","editType":"arraydraw","valType":"enumerated","values":["rect","path"]},"x0":{"description":"Sets the selection's starting x position.","editType":"arraydraw","valType":"any"},"x1":{"description":"Sets the selection's end x position.","editType":"arraydraw","valType":"any"},"xref":{"description":"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.","editType":"arraydraw","valType":"enumerated","values":["paper","/^x([2-9]|[1-9][0-9]+)?( domain)?$/"]},"y0":{"description":"Sets the selection's starting y position.","editType":"arraydraw","valType":"any"},"y1":{"description":"Sets the selection's end y position.","editType":"arraydraw","valType":"any"},"yref":{"description":"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.","editType":"arraydraw","valType":"enumerated","values":["paper","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]}}},"role":"object"},"separators":{"description":"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.","editType":"plot","valType":"string"},"shapes":{"items":{"shape":{"editType":"arraydraw","editable":{"description":"Determines whether the shape could be activated for edit or not. Has no effect when the older editable shapes mode is enabled via `config.editable` or `config.edits.shapePosition`.","dflt":false,"editType":"calc+arraydraw","valType":"boolean"},"fillcolor":{"description":"Sets the color filling the shape's interior. Only applies to closed shapes.","dflt":"rgba(0,0,0,0)","editType":"arraydraw","valType":"color"},"fillrule":{"description":"Determines which regions of complex paths constitute the interior. For more info please visit https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule","dflt":"evenodd","editType":"arraydraw","valType":"enumerated","values":["evenodd","nonzero"]},"label":{"editType":"arraydraw","font":{"color":{"editType":"arraydraw","valType":"color"},"description":"Sets the shape label text font.","editType":"calc+arraydraw","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc+arraydraw","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc+arraydraw","min":1,"valType":"number"}},"padding":{"description":"Sets padding (in px) between edge of label and edge of shape.","dflt":3,"editType":"arraydraw","min":0,"valType":"number"},"role":"object","text":{"description":"Sets the text to display with shape. It is also used for legend item if `name` is not provided.","dflt":"","editType":"arraydraw","valType":"string"},"textangle":{"description":"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.","dflt":"auto","editType":"calc+arraydraw","valType":"angle"},"textposition":{"description":"Sets the position of the label text relative to the 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.","editType":"arraydraw","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right","start","middle","end"]},"texttemplate":{"description":"Template string used for rendering the 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`.","dflt":"","editType":"arraydraw","valType":"string"},"xanchor":{"description":"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 shape.","dflt":"auto","editType":"calc+arraydraw","valType":"enumerated","values":["auto","left","center","right"]},"yanchor":{"description":"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 shape.","editType":"calc+arraydraw","valType":"enumerated","values":["top","middle","bottom"]}},"layer":{"description":"Specifies whether shapes are drawn below or above traces.","dflt":"above","editType":"arraydraw","valType":"enumerated","values":["below","above"]},"legend":{"description":"Sets the reference to a legend to show this 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.","dflt":"legend","editType":"calc+arraydraw","valType":"subplotid"},"legendgroup":{"description":"Sets the legend group for this shape. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"calc+arraydraw","valType":"string"},"legendgrouptitle":{"editType":"calc+arraydraw","font":{"color":{"editType":"calc+arraydraw","valType":"color"},"description":"Sets this legend group's title font.","editType":"calc+arraydraw","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc+arraydraw","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc+arraydraw","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"calc+arraydraw","valType":"string"}},"legendrank":{"description":"Sets the legend rank for this 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. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.","dflt":1000,"editType":"calc+arraydraw","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this shape.","editType":"calc+arraydraw","min":0,"valType":"number"},"line":{"color":{"anim":true,"description":"Sets the line color.","editType":"arraydraw","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"arraydraw","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"calc+arraydraw","role":"object","width":{"anim":true,"description":"Sets the line width (in px).","dflt":2,"editType":"calc+arraydraw","min":0,"valType":"number"}},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"opacity":{"description":"Sets the opacity of the shape.","dflt":1,"editType":"arraydraw","max":1,"min":0,"valType":"number"},"path":{"description":"For `type` *path* - a valid SVG path with the pixel values replaced by data values in `xsizemode`/`ysizemode` being *scaled* and taken unmodified as pixels relative to `xanchor` and `yanchor` in case of *pixel* size mode. There are a few restrictions / quirks only absolute instructions, not relative. So the allowed segments are: M, L, H, V, Q, C, T, S, and Z arcs (A) are not allowed because radius rx and ry are relative. In the future we could consider supporting relative commands, but we would have to decide on how to handle date and log axes. Note that even as is, Q and C Bezier paths that are smooth on linear axes may not be smooth on log, and vice versa. no chained \"polybezier\" commands - specify the segment type for each one. On category axes, values are numbers scaled to the serial numbers of categories because using the categories themselves there would be no way to describe fractional positions On data axes: because space and T are both normal components of path strings, we can't use either to separate date from time parts. Therefore we'll use underscore for this purpose: 2015-02-21_13:45:56.789","editType":"calc+arraydraw","valType":"string"},"role":"object","showlegend":{"description":"Determines whether or not this shape is shown in the legend.","dflt":false,"editType":"calc+arraydraw","valType":"boolean"},"templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"type":{"description":"Specifies the shape type to be drawn. If *line*, a line is drawn from (`x0`,`y0`) to (`x1`,`y1`) with respect to the axes' sizing mode. If *circle*, a circle is drawn from ((`x0`+`x1`)/2, (`y0`+`y1`)/2)) with radius (|(`x0`+`x1`)/2 - `x0`|, |(`y0`+`y1`)/2 -`y0`)|) with respect to the axes' sizing mode. If *rect*, a rectangle is drawn linking (`x0`,`y0`), (`x1`,`y0`), (`x1`,`y1`), (`x0`,`y1`), (`x0`,`y0`) with respect to the axes' sizing mode. If *path*, draw a custom SVG path using `path`. with respect to the axes' sizing mode.","editType":"calc+arraydraw","valType":"enumerated","values":["circle","rect","path","line"]},"visible":{"description":"Determines whether or not this shape is visible. If *legendonly*, the shape is not drawn, but can appear as a legend item (provided that the legend itself is visible).","dflt":true,"editType":"calc+arraydraw","valType":"enumerated","values":[true,false,"legendonly"]},"x0":{"description":"Sets the shape's starting x position. See `type` and `xsizemode` for more info.","editType":"calc+arraydraw","valType":"any"},"x1":{"description":"Sets the shape's end x position. See `type` and `xsizemode` for more info.","editType":"calc+arraydraw","valType":"any"},"xanchor":{"description":"Only relevant in conjunction with `xsizemode` set to *pixel*. Specifies the anchor point on the x axis to which `x0`, `x1` and x coordinates within `path` are relative to. E.g. useful to attach a pixel sized shape to a certain data value. No effect when `xsizemode` not set to *pixel*.","editType":"calc+arraydraw","valType":"any"},"xref":{"description":"Sets the shape's x coordinate axis. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis.","editType":"calc","valType":"enumerated","values":["paper","/^x([2-9]|[1-9][0-9]+)?( domain)?$/"]},"xsizemode":{"description":"Sets the shapes's sizing mode along the x axis. If set to *scaled*, `x0`, `x1` and x coordinates within `path` refer to data values on the x axis or a fraction of the plot area's width (`xref` set to *paper*). If set to *pixel*, `xanchor` specifies the x position in terms of data or plot fraction but `x0`, `x1` and x coordinates within `path` are pixels relative to `xanchor`. This way, the shape can have a fixed width while maintaining a position relative to data or plot fraction.","dflt":"scaled","editType":"calc+arraydraw","valType":"enumerated","values":["scaled","pixel"]},"y0":{"description":"Sets the shape's starting y position. See `type` and `ysizemode` for more info.","editType":"calc+arraydraw","valType":"any"},"y1":{"description":"Sets the shape's end y position. See `type` and `ysizemode` for more info.","editType":"calc+arraydraw","valType":"any"},"yanchor":{"description":"Only relevant in conjunction with `ysizemode` set to *pixel*. Specifies the anchor point on the y axis to which `y0`, `y1` and y coordinates within `path` are relative to. E.g. useful to attach a pixel sized shape to a certain data value. No effect when `ysizemode` not set to *pixel*.","editType":"calc+arraydraw","valType":"any"},"yref":{"description":"Sets the shape's y coordinate axis. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis.","editType":"calc","valType":"enumerated","values":["paper","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]},"ysizemode":{"description":"Sets the shapes's sizing mode along the y axis. If set to *scaled*, `y0`, `y1` and y coordinates within `path` refer to data values on the y axis or a fraction of the plot area's height (`yref` set to *paper*). If set to *pixel*, `yanchor` specifies the y position in terms of data or plot fraction but `y0`, `y1` and y coordinates within `path` are pixels relative to `yanchor`. This way, the shape can have a fixed height while maintaining a position relative to data or plot fraction.","dflt":"scaled","editType":"calc+arraydraw","valType":"enumerated","values":["scaled","pixel"]}}},"role":"object"},"showlegend":{"description":"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`.","editType":"legend","valType":"boolean"},"sliders":{"items":{"slider":{"active":{"description":"Determines which button (by index starting from 0) is considered active.","dflt":0,"editType":"arraydraw","min":0,"valType":"number"},"activebgcolor":{"description":"Sets the background color of the slider grip while dragging.","dflt":"#dbdde0","editType":"arraydraw","valType":"color"},"bgcolor":{"description":"Sets the background color of the slider.","dflt":"#f8fafc","editType":"arraydraw","valType":"color"},"bordercolor":{"description":"Sets the color of the border enclosing the slider.","dflt":"#bec8d9","editType":"arraydraw","valType":"color"},"borderwidth":{"description":"Sets the width (in px) of the border enclosing the slider.","dflt":1,"editType":"arraydraw","min":0,"valType":"number"},"currentvalue":{"editType":"arraydraw","font":{"color":{"editType":"arraydraw","valType":"color"},"description":"Sets the font of the current value label text.","editType":"arraydraw","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"arraydraw","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"arraydraw","min":1,"valType":"number"}},"offset":{"description":"The amount of space, in pixels, between the current value label and the slider.","dflt":10,"editType":"arraydraw","valType":"number"},"prefix":{"description":"When currentvalue.visible is true, this sets the prefix of the label.","editType":"arraydraw","valType":"string"},"role":"object","suffix":{"description":"When currentvalue.visible is true, this sets the suffix of the label.","editType":"arraydraw","valType":"string"},"visible":{"description":"Shows the currently-selected value above the slider.","dflt":true,"editType":"arraydraw","valType":"boolean"},"xanchor":{"description":"The alignment of the value readout relative to the length of the slider.","dflt":"left","editType":"arraydraw","valType":"enumerated","values":["left","center","right"]}},"editType":"arraydraw","font":{"color":{"editType":"arraydraw","valType":"color"},"description":"Sets the font of the slider step labels.","editType":"arraydraw","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"arraydraw","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"arraydraw","min":1,"valType":"number"}},"len":{"description":"Sets the length of the slider This measure excludes the padding of both ends. That is, the slider's length is this length minus the padding on both ends.","dflt":1,"editType":"arraydraw","min":0,"valType":"number"},"lenmode":{"description":"Determines whether this slider length is set in units of plot *fraction* or in *pixels. Use `len` to set the value.","dflt":"fraction","editType":"arraydraw","valType":"enumerated","values":["fraction","pixels"]},"minorticklen":{"description":"Sets the length in pixels of minor step tick marks","dflt":4,"editType":"arraydraw","min":0,"valType":"number"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"arraydraw","valType":"string"},"pad":{"b":{"description":"The amount of padding (in px) along the bottom of the component.","dflt":0,"editType":"arraydraw","valType":"number"},"description":"Set the padding of the slider component along each side.","editType":"arraydraw","l":{"description":"The amount of padding (in px) on the left side of the component.","dflt":0,"editType":"arraydraw","valType":"number"},"r":{"description":"The amount of padding (in px) on the right side of the component.","dflt":0,"editType":"arraydraw","valType":"number"},"role":"object","t":{"description":"The amount of padding (in px) along the top of the component.","dflt":20,"editType":"arraydraw","valType":"number"}},"role":"object","steps":{"items":{"step":{"args":{"description":"Sets the arguments values to be passed to the Plotly method set in `method` on slide.","editType":"arraydraw","freeLength":true,"items":[{"editType":"arraydraw","valType":"any"},{"editType":"arraydraw","valType":"any"},{"editType":"arraydraw","valType":"any"}],"valType":"info_array"},"editType":"arraydraw","execute":{"description":"When true, the API method is executed. When false, all other behaviors are the same and command execution is skipped. This may be useful when hooking into, for example, the `plotly_sliderchange` method and executing the API command manually without losing the benefit of the slider automatically binding to the state of the plot through the specification of `method` and `args`.","dflt":true,"editType":"arraydraw","valType":"boolean"},"label":{"description":"Sets the text label to appear on the slider","editType":"arraydraw","valType":"string"},"method":{"description":"Sets the Plotly method to be called when the slider value is changed. If the `skip` method is used, the API slider will function as normal but will perform no API calls and will not bind automatically to state updates. This may be used to create a component interface and attach to slider events manually via JavaScript.","dflt":"restyle","editType":"arraydraw","valType":"enumerated","values":["restyle","relayout","animate","update","skip"]},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"arraydraw","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"arraydraw","valType":"string"},"value":{"description":"Sets the value of the slider step, used to refer to the step programatically. Defaults to the slider label if not provided.","editType":"arraydraw","valType":"string"},"visible":{"description":"Determines whether or not this step is included in the slider.","dflt":true,"editType":"arraydraw","valType":"boolean"}}},"role":"object"},"templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"arraydraw","valType":"string"},"tickcolor":{"description":"Sets the color of the border enclosing the slider.","dflt":"#333","editType":"arraydraw","valType":"color"},"ticklen":{"description":"Sets the length in pixels of step tick marks","dflt":7,"editType":"arraydraw","min":0,"valType":"number"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"arraydraw","min":0,"valType":"number"},"transition":{"duration":{"description":"Sets the duration of the slider transition","dflt":150,"editType":"arraydraw","min":0,"valType":"number"},"easing":{"description":"Sets the easing function of the slider transition","dflt":"cubic-in-out","editType":"arraydraw","valType":"enumerated","values":["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"]},"editType":"arraydraw","role":"object"},"visible":{"description":"Determines whether or not the slider is visible.","dflt":true,"editType":"arraydraw","valType":"boolean"},"x":{"description":"Sets the x position (in normalized coordinates) of the slider.","dflt":0,"editType":"arraydraw","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets the slider's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the range selector.","dflt":"left","editType":"arraydraw","valType":"enumerated","values":["auto","left","center","right"]},"y":{"description":"Sets the y position (in normalized coordinates) of the slider.","dflt":0,"editType":"arraydraw","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"Sets the slider's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the range selector.","dflt":"top","editType":"arraydraw","valType":"enumerated","values":["auto","top","middle","bottom"]}}},"role":"object"},"smith":{"_isSubplotObj":true,"bgcolor":{"description":"Set the background color of the subplot","dflt":"#fff","editType":"plot","valType":"color"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this smith subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"editType":"plot","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this smith subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this smith subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this smith subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"editType":"calc","imaginaryaxis":{"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"editType":"plot","gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"plot","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"plot","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"plot","valType":"string"},"labelalias":{"description":"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.","dflt":false,"editType":"plot","valType":"any"},"layer":{"description":"Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.","dflt":"above traces","editType":"plot","valType":"enumerated","values":["above traces","below traces"]},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"role":"object","showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","dflt":true,"editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","editType":"ticks","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Defaults to `realaxis.tickvals` plus the same as negatives and zero.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":2,"editType":"plot","min":0,"valType":"number"},"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","dflt":true,"editType":"plot","valType":"boolean"}},"realaxis":{"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"editType":"plot","gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"plot","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"plot","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"plot","valType":"string"},"labelalias":{"description":"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.","dflt":false,"editType":"plot","valType":"any"},"layer":{"description":"Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.","dflt":"above traces","editType":"plot","valType":"enumerated","values":["above traces","below traces"]},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"role":"object","showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","dflt":true,"editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"side":{"description":"Determines on which side of real axis line the tick and tick labels appear.","dflt":"top","editType":"plot","valType":"enumerated","values":["top","bottom"]},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":90,"editType":"ticks","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *top* (*bottom*), this axis' are drawn above (below) the axis line.","editType":"ticks","valType":"enumerated","values":["top","bottom",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear.","dflt":[0.2,0.5,1,2,5],"editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":2,"editType":"plot","min":0,"valType":"number"},"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","dflt":true,"editType":"plot","valType":"boolean"}},"role":"object"},"spikedistance":{"description":"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.","dflt":-1,"editType":"none","min":-1,"valType":"integer"},"template":{"description":"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`.","editType":"calc","valType":"any"},"ternary":{"_isSubplotObj":true,"aaxis":{"_deprecated":{"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.","editType":"plot","valType":"string"},"titlefont":{"color":{"editType":"plot","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"plot","min":1,"valType":"number"}}},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"plot","exponentformat":{"description":"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.","dflt":"B","editType":"plot","valType":"enumerated","values":["none","e","E","power","SI","B"]},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"plot","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"plot","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"plot","valType":"string"},"labelalias":{"description":"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.","dflt":false,"editType":"plot","valType":"any"},"layer":{"description":"Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.","dflt":"above traces","editType":"plot","valType":"enumerated","values":["above traces","below traces"]},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"min":{"description":"The minimum value visible on this axis. The maximum is determined by the sum minus the minimum values of the other two axes. The full view corresponds to all the minima set to zero.","dflt":0,"editType":"plot","min":0,"valType":"number"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"plot","min":0,"valType":"number"},"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":6,"editType":"plot","min":1,"valType":"integer"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"plot","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","dflt":true,"editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"plot","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"editType":"plot","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"plot","valType":"string"}}},"role":"object"},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"plot","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","editType":"plot","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"title":{"editType":"plot","font":{"color":{"editType":"plot","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"plot","valType":"string"}},"uirevision":{"description":"Controls persistence of user-driven changes in axis `min`, and `title` if in `editable: true` configuration. Defaults to `ternary\u003cN\u003e.uirevision`.","editType":"none","valType":"any"}},"baxis":{"_deprecated":{"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.","editType":"plot","valType":"string"},"titlefont":{"color":{"editType":"plot","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"plot","min":1,"valType":"number"}}},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"plot","exponentformat":{"description":"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.","dflt":"B","editType":"plot","valType":"enumerated","values":["none","e","E","power","SI","B"]},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"plot","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"plot","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"plot","valType":"string"},"labelalias":{"description":"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.","dflt":false,"editType":"plot","valType":"any"},"layer":{"description":"Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.","dflt":"above traces","editType":"plot","valType":"enumerated","values":["above traces","below traces"]},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"min":{"description":"The minimum value visible on this axis. The maximum is determined by the sum minus the minimum values of the other two axes. The full view corresponds to all the minima set to zero.","dflt":0,"editType":"plot","min":0,"valType":"number"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"plot","min":0,"valType":"number"},"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":6,"editType":"plot","min":1,"valType":"integer"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"plot","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","dflt":true,"editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"plot","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"editType":"plot","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"plot","valType":"string"}}},"role":"object"},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"plot","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","editType":"plot","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"title":{"editType":"plot","font":{"color":{"editType":"plot","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"plot","valType":"string"}},"uirevision":{"description":"Controls persistence of user-driven changes in axis `min`, and `title` if in `editable: true` configuration. Defaults to `ternary\u003cN\u003e.uirevision`.","editType":"none","valType":"any"}},"bgcolor":{"description":"Set the background color of the subplot","dflt":"#fff","editType":"plot","valType":"color"},"caxis":{"_deprecated":{"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.","editType":"plot","valType":"string"},"titlefont":{"color":{"editType":"plot","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"plot","min":1,"valType":"number"}}},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"plot","exponentformat":{"description":"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.","dflt":"B","editType":"plot","valType":"enumerated","values":["none","e","E","power","SI","B"]},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"plot","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"plot","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"plot","valType":"string"},"labelalias":{"description":"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.","dflt":false,"editType":"plot","valType":"any"},"layer":{"description":"Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.","dflt":"above traces","editType":"plot","valType":"enumerated","values":["above traces","below traces"]},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"min":{"description":"The minimum value visible on this axis. The maximum is determined by the sum minus the minimum values of the other two axes. The full view corresponds to all the minima set to zero.","dflt":0,"editType":"plot","min":0,"valType":"number"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"plot","min":0,"valType":"number"},"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":6,"editType":"plot","min":1,"valType":"integer"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"plot","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","dflt":true,"editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"plot","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"editType":"plot","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"plot","valType":"string"}}},"role":"object"},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"plot","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","editType":"plot","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"title":{"editType":"plot","font":{"color":{"editType":"plot","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"plot","valType":"string"}},"uirevision":{"description":"Controls persistence of user-driven changes in axis `min`, and `title` if in `editable: true` configuration. Defaults to `ternary\u003cN\u003e.uirevision`.","editType":"none","valType":"any"}},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this ternary subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"editType":"plot","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this ternary subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this ternary subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this ternary subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"editType":"plot","role":"object","sum":{"description":"The number each triplet should sum to, and the maximum range of each axis","dflt":1,"editType":"plot","min":0,"valType":"number"},"uirevision":{"description":"Controls persistence of user-driven changes in axis `min` and `title`, if not overridden in the individual axes. Defaults to `layout.uirevision`.","editType":"none","valType":"any"}},"title":{"automargin":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"editType":"layoutstyle","font":{"color":{"editType":"layoutstyle","valType":"color"},"description":"Sets the title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"layoutstyle","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"layoutstyle","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"layoutstyle","min":1,"valType":"number"}},"pad":{"b":{"description":"The amount of padding (in px) along the bottom of the component.","dflt":0,"editType":"layoutstyle","valType":"number"},"description":"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*.","editType":"layoutstyle","l":{"description":"The amount of padding (in px) on the left side of the component.","dflt":0,"editType":"layoutstyle","valType":"number"},"r":{"description":"The amount of padding (in px) on the right side of the component.","dflt":0,"editType":"layoutstyle","valType":"number"},"role":"object","t":{"description":"The amount of padding (in px) along the top of the component.","dflt":0,"editType":"layoutstyle","valType":"number"}},"role":"object","text":{"description":"Sets the plot's title. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"layoutstyle","valType":"string"},"x":{"description":"Sets the x position with respect to `xref` in normalized coordinates from *0* (left) to *1* (right).","dflt":0.5,"editType":"layoutstyle","max":1,"min":0,"valType":"number"},"xanchor":{"description":"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`.","dflt":"auto","editType":"layoutstyle","valType":"enumerated","values":["auto","left","center","right"]},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"container","editType":"layoutstyle","valType":"enumerated","values":["container","paper"]},"y":{"description":"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.","dflt":"auto","editType":"layoutstyle","max":1,"min":0,"valType":"number"},"yanchor":{"description":"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`.","dflt":"auto","editType":"layoutstyle","valType":"enumerated","values":["auto","top","middle","bottom"]},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"container","editType":"layoutstyle","valType":"enumerated","values":["container","paper"]}},"transition":{"description":"Sets transition options used during Plotly.react updates.","duration":{"description":"The duration of the transition, in milliseconds. If equal to zero, updates are synchronous.","dflt":500,"editType":"none","min":0,"valType":"number"},"easing":{"description":"The easing function used for the transition","dflt":"cubic-in-out","editType":"none","valType":"enumerated","values":["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"]},"editType":"none","ordering":{"description":"Determines whether the figure's layout or traces smoothly transitions during updates that make both traces and layout change.","dflt":"layout first","editType":"none","valType":"enumerated","values":["layout first","traces first"]},"role":"object"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"uniformtext":{"editType":"plot","minsize":{"description":"Sets the minimum text size between traces of the same type.","dflt":0,"editType":"plot","min":0,"valType":"number"},"mode":{"description":"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.","dflt":false,"editType":"plot","valType":"enumerated","values":[false,"hide","show"]},"role":"object"},"updatemenus":{"items":{"updatemenu":{"_arrayAttrRegexps":[{}],"active":{"description":"Determines which button (by index starting from 0) is considered active.","dflt":0,"editType":"arraydraw","min":-1,"valType":"integer"},"bgcolor":{"description":"Sets the background color of the update menu buttons.","editType":"arraydraw","valType":"color"},"bordercolor":{"description":"Sets the color of the border enclosing the update menu.","dflt":"#BEC8D9","editType":"arraydraw","valType":"color"},"borderwidth":{"description":"Sets the width (in px) of the border enclosing the update menu.","dflt":1,"editType":"arraydraw","min":0,"valType":"number"},"buttons":{"items":{"button":{"args":{"description":"Sets the arguments values to be passed to the Plotly method set in `method` on click.","editType":"arraydraw","freeLength":true,"items":[{"editType":"arraydraw","valType":"any"},{"editType":"arraydraw","valType":"any"},{"editType":"arraydraw","valType":"any"}],"valType":"info_array"},"args2":{"description":"Sets a 2nd set of `args`, these arguments values are passed to the Plotly method set in `method` when clicking this button while in the active state. Use this to create toggle buttons.","editType":"arraydraw","freeLength":true,"items":[{"editType":"arraydraw","valType":"any"},{"editType":"arraydraw","valType":"any"},{"editType":"arraydraw","valType":"any"}],"valType":"info_array"},"editType":"arraydraw","execute":{"description":"When true, the API method is executed. When false, all other behaviors are the same and command execution is skipped. This may be useful when hooking into, for example, the `plotly_buttonclicked` method and executing the API command manually without losing the benefit of the updatemenu automatically binding to the state of the plot through the specification of `method` and `args`.","dflt":true,"editType":"arraydraw","valType":"boolean"},"label":{"description":"Sets the text label to appear on the button.","dflt":"","editType":"arraydraw","valType":"string"},"method":{"description":"Sets the Plotly method to be called on click. If the `skip` method is used, the API updatemenu will function as normal but will perform no API calls and will not bind automatically to state updates. This may be used to create a component interface and attach to updatemenu events manually via JavaScript.","dflt":"restyle","editType":"arraydraw","valType":"enumerated","values":["restyle","relayout","animate","update","skip"]},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"arraydraw","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"arraydraw","valType":"string"},"visible":{"description":"Determines whether or not this button is visible.","editType":"arraydraw","valType":"boolean"}}},"role":"object"},"direction":{"description":"Determines the direction in which the buttons are laid out, whether in a dropdown menu or a row/column of buttons. For `left` and `up`, the buttons will still appear in left-to-right or top-to-bottom order respectively.","dflt":"down","editType":"arraydraw","valType":"enumerated","values":["left","right","up","down"]},"editType":"arraydraw","font":{"color":{"editType":"arraydraw","valType":"color"},"description":"Sets the font of the update menu button text.","editType":"arraydraw","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"arraydraw","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"arraydraw","min":1,"valType":"number"}},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"arraydraw","valType":"string"},"pad":{"b":{"description":"The amount of padding (in px) along the bottom of the component.","dflt":0,"editType":"arraydraw","valType":"number"},"description":"Sets the padding around the buttons or dropdown menu.","editType":"arraydraw","l":{"description":"The amount of padding (in px) on the left side of the component.","dflt":0,"editType":"arraydraw","valType":"number"},"r":{"description":"The amount of padding (in px) on the right side of the component.","dflt":0,"editType":"arraydraw","valType":"number"},"role":"object","t":{"description":"The amount of padding (in px) along the top of the component.","dflt":0,"editType":"arraydraw","valType":"number"}},"role":"object","showactive":{"description":"Highlights active dropdown item or active button if true.","dflt":true,"editType":"arraydraw","valType":"boolean"},"templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"arraydraw","valType":"string"},"type":{"description":"Determines whether the buttons are accessible via a dropdown menu or whether the buttons are stacked horizontally or vertically","dflt":"dropdown","editType":"arraydraw","valType":"enumerated","values":["dropdown","buttons"]},"visible":{"description":"Determines whether or not the update menu is visible.","editType":"arraydraw","valType":"boolean"},"x":{"description":"Sets the x position (in normalized coordinates) of the update menu.","dflt":-0.05,"editType":"arraydraw","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets the update menu's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the range selector.","dflt":"right","editType":"arraydraw","valType":"enumerated","values":["auto","left","center","right"]},"y":{"description":"Sets the y position (in normalized coordinates) of the update menu.","dflt":1,"editType":"arraydraw","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"Sets the update menu's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the range selector.","dflt":"top","editType":"arraydraw","valType":"enumerated","values":["auto","top","middle","bottom"]}}},"role":"object"},"width":{"description":"Sets the plot's width (in px).","dflt":700,"editType":"plot","min":10,"valType":"number"},"xaxis":{"_deprecated":{"autotick":{"description":"Obsolete. Set `tickmode` to *auto* for old `autotick` *true* behavior. Set `tickmode` to *linear* for `autotick` *false*.","editType":"ticks","valType":"boolean"},"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.","editType":"ticks","valType":"string"},"titlefont":{"color":{"editType":"ticks","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"ticks","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"ticks","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"ticks","min":1,"valType":"number"}}},"_isSubplotObj":true,"anchor":{"description":"If set to an opposite-letter axis id (e.g. `x2`, `y`), this axis is bound to the corresponding opposite-letter axis. If set to *free*, this axis' position is determined by `position`.","editType":"plot","valType":"enumerated","values":["free","/^x([2-9]|[1-9][0-9]+)?( domain)?$/","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]},"automargin":{"description":"Determines whether long tick labels automatically grow the figure margins.","dflt":false,"editType":"ticks","extras":[true,false],"flags":["height","width","left","right","top","bottom"],"valType":"flaglist"},"autorange":{"description":"Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction.","dflt":true,"editType":"axrange","impliedEdits":{},"valType":"enumerated","values":[true,false,"reversed","min reversed","max reversed","min","max"]},"autorangeoptions":{"clipmax":{"description":"Clip autorange maximum if it goes beyond this value. Has no effect when `autorangeoptions.maxallowed` is provided.","editType":"plot","impliedEdits":{},"valType":"any"},"clipmin":{"description":"Clip autorange minimum if it goes beyond this value. Has no effect when `autorangeoptions.minallowed` is provided.","editType":"plot","impliedEdits":{},"valType":"any"},"editType":"plot","include":{"arrayOk":true,"description":"Ensure this value is included in autorange.","editType":"plot","impliedEdits":{},"valType":"any"},"includesrc":{"description":"Sets the source reference on Chart Studio Cloud for `include`.","editType":"none","valType":"string"},"maxallowed":{"description":"Use this value exactly as autorange maximum.","editType":"plot","impliedEdits":{},"valType":"any"},"minallowed":{"description":"Use this value exactly as autorange minimum.","editType":"plot","impliedEdits":{},"valType":"any"},"role":"object"},"autotickangles":{"description":"When `tickangle` is set to *auto*, it will be set to the first angle in this array that is large enough to prevent label overlap.","dflt":[0,30,90],"editType":"ticks","freeLength":true,"items":{"valType":"angle"},"valType":"info_array"},"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"calc","valType":"enumerated","values":["convert types","strict"]},"calendar":{"description":"Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"categoryarray":{"description":"Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"calc","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.","dflt":"trace","editType":"calc","valType":"enumerated","values":["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","median ascending","median descending"]},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"ticks","valType":"color"},"constrain":{"description":"If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines how that happens: by increasing the *range*, or by decreasing the *domain*. Default is *domain* for axes containing image traces, *range* otherwise.","editType":"plot","valType":"enumerated","values":["range","domain"]},"constraintoward":{"description":"If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines which direction we push the originally specified plot area. Options are *left*, *center* (default), and *right* for x axes, and *top*, *middle* (default), and *bottom* for y axes.","editType":"plot","valType":"enumerated","values":["left","center","right","top","middle","bottom"]},"dividercolor":{"description":"Sets the color of the dividers Only has an effect on *multicategory* axes.","dflt":"#444","editType":"ticks","valType":"color"},"dividerwidth":{"description":"Sets the width (in px) of the dividers Only has an effect on *multicategory* axes.","dflt":1,"editType":"ticks","valType":"number"},"domain":{"description":"Sets the domain of this axis (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"ticks","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"ticks","valType":"enumerated","values":["none","e","E","power","SI","B"]},"fixedrange":{"description":"Determines whether or not this axis is zoom-able. If true, then zoom is disabled.","dflt":false,"editType":"calc","valType":"boolean"},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"ticks","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"ticks","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"ticks","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"none","valType":"string"},"insiderange":{"description":"Could be used to set the desired inside range of this axis (excluding the labels) when `ticklabelposition` of the anchored axis has *inside*. Not implemented for axes with `type` *log*. This would be ignored when `range` is provided.","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"labelalias":{"description":"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.","dflt":false,"editType":"ticks","valType":"any"},"layer":{"description":"Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.","dflt":"above traces","editType":"plot","valType":"enumerated","values":["above traces","below traces"]},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"layoutstyle","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"ticks+layoutstyle","min":0,"valType":"number"},"matches":{"description":"If set to another axis id (e.g. `x2`, `y`), the range of this axis will match the range of the corresponding axis in data-coordinates space. Moreover, matching axes share auto-range values, category lists and histogram auto-bins. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden. Moreover, note that matching axes must have the same `type`.","editType":"calc","valType":"enumerated","values":["/^x([2-9]|[1-9][0-9]+)?( domain)?$/","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]},"maxallowed":{"description":"Determines the maximum range of this axis.","editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},"minallowed":{"description":"Determines the minimum range of this axis.","editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"ticks","min":0,"valType":"number"},"minor":{"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"ticks","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"ticks","gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"ticks","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"ticks","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","editType":"ticks","min":0,"valType":"number"},"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":5,"editType":"ticks","min":0,"valType":"integer"},"role":"object","showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","editType":"ticks","valType":"boolean"},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"ticks","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"ticks","valType":"color"},"ticklen":{"description":"Sets the tick length (in px).","editType":"ticks","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"ticks","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"ticks":{"description":"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.","editType":"ticks","valType":"enumerated","values":["outside","inside",""]},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"ticks","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","editType":"ticks","min":0,"valType":"number"}},"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,"editType":"ticks+layoutstyle","valType":"enumerated","values":[true,"ticks",false,"all","allticks"]},"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,"editType":"ticks","min":0,"valType":"integer"},"overlaying":{"description":"If set a same-letter axis id, this axis is overlaid on top of the corresponding same-letter axis, with traces and axes visible for both axes. If *false*, this axis does not overlay any same-letter axes. In this case, for axes with overlapping domains only the highest-numbered axis will be visible.","editType":"plot","valType":"enumerated","values":["free","/^x([2-9]|[1-9][0-9]+)?( domain)?$/","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]},"position":{"description":"Sets the position of this axis in the plotting space (in normalized coordinates). Only has an effect if `anchor` is set to *free*.","dflt":0,"editType":"plot","max":1,"min":0,"valType":"number"},"range":{"anim":true,"description":"Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, 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. Leaving either or both elements `null` impacts the default `autorange`.","editType":"axrange","impliedEdits":{"autorange":false},"items":[{"anim":true,"editType":"axrange","impliedEdits":{"^autorange":false},"valType":"any"},{"anim":true,"editType":"axrange","impliedEdits":{"^autorange":false},"valType":"any"}],"valType":"info_array"},"rangebreaks":{"items":{"rangebreak":{"bounds":{"description":"Sets the lower and upper bounds of this axis rangebreak. Can be used with `pattern`.","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"dvalue":{"description":"Sets the size of each `values` item. The default is one day in milliseconds.","dflt":86400000,"editType":"calc","min":0,"valType":"number"},"editType":"calc","enabled":{"description":"Determines whether this axis rangebreak is enabled or disabled. Please note that `rangebreaks` only work for *date* axis type.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"pattern":{"description":"Determines a pattern on the time line that generates breaks. If *day of week* - days of the week in English e.g. 'Sunday' or `sun` (matching is case-insensitive and considers only the first three characters), as well as Sunday-based integers between 0 and 6. If *hour* - hour (24-hour clock) as decimal numbers between 0 and 24. for more info. Examples: - { pattern: 'day of week', bounds: [6, 1] } or simply { bounds: ['sat', 'mon'] } breaks from Saturday to Monday (i.e. skips the weekends). - { pattern: 'hour', bounds: [17, 8] } breaks from 5pm to 8am (i.e. skips non-work hours).","editType":"calc","valType":"enumerated","values":["day of week","hour",""]},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"values":{"description":"Sets the coordinate values corresponding to the rangebreaks. An alternative to `bounds`. Use `dvalue` to set the size of the values along the axis.","editType":"calc","freeLength":true,"items":{"editType":"calc","valType":"any"},"valType":"info_array"}}},"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.","dflt":"normal","editType":"plot","valType":"enumerated","values":["normal","tozero","nonnegative"]},"rangeselector":{"activecolor":{"description":"Sets the background color of the active range selector button.","editType":"plot","valType":"color"},"bgcolor":{"description":"Sets the background color of the range selector buttons.","dflt":"#eee","editType":"plot","valType":"color"},"bordercolor":{"description":"Sets the color of the border enclosing the range selector.","dflt":"#444","editType":"plot","valType":"color"},"borderwidth":{"description":"Sets the width (in px) of the border enclosing the range selector.","dflt":0,"editType":"plot","min":0,"valType":"number"},"buttons":{"items":{"button":{"count":{"description":"Sets the number of steps to take to update the range. Use with `step` to specify the update interval.","dflt":1,"editType":"plot","min":0,"valType":"number"},"description":"Sets the specifications for each buttons. By default, a range selector comes with no buttons.","editType":"plot","label":{"description":"Sets the text label to appear on the button.","editType":"plot","valType":"string"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"role":"object","step":{"description":"The unit of measurement that the `count` value will set the range by.","dflt":"month","editType":"plot","valType":"enumerated","values":["month","year","day","hour","minute","second","all"]},"stepmode":{"description":"Sets the range update mode. If *backward*, the range update shifts the start of range back *count* times *step* milliseconds. If *todate*, the range update shifts the start of range back to the first timestamp from *count* times *step* milliseconds back. For example, with `step` set to *year* and `count` set to *1* the range update shifts the start of the range back to January 01 of the current year. Month and year *todate* are currently available only for the built-in (Gregorian) calendar.","dflt":"backward","editType":"plot","valType":"enumerated","values":["backward","todate"]},"templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"visible":{"description":"Determines whether or not this button is visible.","dflt":true,"editType":"plot","valType":"boolean"}}},"role":"object"},"editType":"plot","font":{"color":{"editType":"plot","valType":"color"},"description":"Sets the font of the range selector button text.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"role":"object","visible":{"description":"Determines whether or not this range selector is visible. Note that range selectors are only available for x axes of `type` set to or auto-typed to *date*.","editType":"plot","valType":"boolean"},"x":{"description":"Sets the x position (in normalized coordinates) of the range selector.","editType":"plot","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets the range selector's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the range selector.","dflt":"left","editType":"plot","valType":"enumerated","values":["auto","left","center","right"]},"y":{"description":"Sets the y position (in normalized coordinates) of the range selector.","editType":"plot","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"Sets the range selector's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the range selector.","dflt":"bottom","editType":"plot","valType":"enumerated","values":["auto","top","middle","bottom"]}},"rangeslider":{"autorange":{"description":"Determines whether or not the range slider range is computed in relation to the input data. If `range` is provided, then `autorange` is set to *false*.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"bgcolor":{"description":"Sets the background color of the range slider.","dflt":"#fff","editType":"plot","valType":"color"},"bordercolor":{"description":"Sets the border color of the range slider.","dflt":"#444","editType":"plot","valType":"color"},"borderwidth":{"description":"Sets the border width of the range slider.","dflt":0,"editType":"plot","min":0,"valType":"integer"},"editType":"calc","range":{"description":"Sets the range of the range slider. If not set, defaults to the full xaxis range. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.","editType":"calc","impliedEdits":{"autorange":false},"items":[{"editType":"calc","impliedEdits":{"^autorange":false},"valType":"any"},{"editType":"calc","impliedEdits":{"^autorange":false},"valType":"any"}],"valType":"info_array"},"role":"object","thickness":{"description":"The height of the range slider as a fraction of the total plot area height.","dflt":0.15,"editType":"plot","max":1,"min":0,"valType":"number"},"visible":{"description":"Determines whether or not the range slider will be visible. If visible, perpendicular axes will be set to `fixedrange`","dflt":true,"editType":"calc","valType":"boolean"},"yaxis":{"_isSubplotObj":true,"editType":"calc","range":{"description":"Sets the range of this axis for the rangeslider.","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"rangemode":{"description":"Determines whether or not the range of this axis in the rangeslider use the same value than in the main plot when zooming in/out. If *auto*, the autorange will be used. If *fixed*, the `range` is used. If *match*, the current range of the corresponding y-axis on the main subplot is used.","dflt":"match","editType":"calc","valType":"enumerated","values":["auto","fixed","match"]},"role":"object"}},"role":"object","scaleanchor":{"description":"If set to another axis id (e.g. `x2`, `y`), the range of this axis changes together with the range of the corresponding axis such that the scale of pixels per unit is in a constant ratio. Both axes are still zoomable, but when you zoom one, the other will zoom the same amount, keeping a fixed midpoint. `constrain` and `constraintoward` determine how we enforce the constraint. You can chain these, ie `yaxis: {scaleanchor: *x*}, xaxis2: {scaleanchor: *y*}` but you can only link axes of the same `type`. The linked axis can have the opposite letter (to constrain the aspect ratio) or the same letter (to match scales across subplots). Loops (`yaxis: {scaleanchor: *x*}, xaxis: {scaleanchor: *y*}` or longer) are redundant and the last constraint encountered will be ignored to avoid possible inconsistent constraints via `scaleratio`. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden. Setting `false` allows to remove a default constraint (occasionally, you may need to prevent a default `scaleanchor` constraint from being applied, eg. when having an image trace `yaxis: {scaleanchor: \"x\"}` is set automatically in order for pixels to be rendered as squares, setting `yaxis: {scaleanchor: false}` allows to remove the constraint).","editType":"plot","valType":"enumerated","values":["/^x([2-9]|[1-9][0-9]+)?( domain)?$/","/^y([2-9]|[1-9][0-9]+)?( domain)?$/",false]},"scaleratio":{"description":"If this axis is linked to another by `scaleanchor`, this determines the pixel to unit scale ratio. For example, if this value is 10, then every unit on this axis spans 10 times the number of pixels as a unit on the linked axis. Use this for example to create an elevation profile where the vertical scale is exaggerated a fixed amount with respect to the horizontal.","dflt":1,"editType":"plot","min":0,"valType":"number"},"separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"ticks","valType":"boolean"},"showdividers":{"description":"Determines whether or not a dividers are drawn between the category levels of this axis. Only has an effect on *multicategory* axes.","dflt":true,"editType":"ticks","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"ticks","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","editType":"ticks","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":false,"editType":"ticks+layoutstyle","valType":"boolean"},"showspikes":{"description":"Determines whether or not spikes (aka droplines) are drawn for this axis. Note: This only takes affect when hovermode = closest","dflt":false,"editType":"modebar","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"ticks","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"ticks","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"ticks","valType":"enumerated","values":["all","first","last","none"]},"side":{"description":"Determines whether a x (y) axis is positioned at the *bottom* (*left*) or *top* (*right*) of the plotting area.","editType":"plot","valType":"enumerated","values":["top","bottom","left","right"]},"spikecolor":{"description":"Sets the spike color. If undefined, will use the series color","dflt":null,"editType":"none","valType":"color"},"spikedash":{"description":"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*).","dflt":"dash","editType":"none","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"spikemode":{"description":"Determines the drawing mode for the spike line If *toaxis*, the line is drawn from the data point to the axis the series is plotted on. If *across*, the line is drawn across the entire plot area, and supercedes *toaxis*. If *marker*, then a marker dot is drawn on the axis the series is plotted on","dflt":"toaxis","editType":"none","flags":["toaxis","across","marker"],"valType":"flaglist"},"spikesnap":{"description":"Determines whether spikelines are stuck to the cursor or to the closest datapoints.","dflt":"hovered data","editType":"none","valType":"enumerated","values":["data","cursor","hovered data"]},"spikethickness":{"description":"Sets the width (in px) of the zero line.","dflt":3,"editType":"none","valType":"number"},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"ticks","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"ticks","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"ticks","valType":"color"},"tickfont":{"color":{"editType":"ticks","valType":"color"},"description":"Sets the tick font.","editType":"ticks","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"ticks","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"ticks","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"ticks","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"ticks","items":[{"editType":"ticks","valType":"any"},{"editType":"ticks","valType":"any"}],"valType":"info_array"},"editType":"ticks","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"ticks","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"ticks","valType":"string"}}},"role":"object"},"ticklabelmode":{"description":"Determines where tick labels are drawn with respect to their corresponding ticks and grid lines. Only has an effect for axes of `type` *date* When set to *period*, tick labels are drawn in the middle of the period between ticks.","dflt":"instant","editType":"ticks","valType":"enumerated","values":["instant","period"]},"ticklabeloverflow":{"description":"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*. Otherwise on *category* and *multicategory* axes the default is *allow*. In other cases the default is *hide past div*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"Determines where tick labels are drawn with respect to the axis Please note that top or bottom has no effect on x axes or when `ticklabelmode` is set to *period*. Similarly left or right has no effect on y axes or when `ticklabelmode` is set to *period*. Has no effect on *multicategory* axes or when `tickson` is set to *boundaries*. When used on axes linked by `matches` or `scaleanchor`, no extra padding for inside labels would be added by autorange, so that the scales could match.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"ticks","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"ticks","min":0,"valType":"number"},"tickmode":{"description":"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). If *sync*, the number of ticks will sync with the overlayed axis set by `overlaying` property.","editType":"ticks","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array","sync"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"ticks","valType":"string"},"ticks":{"description":"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.","editType":"ticks","valType":"enumerated","values":["outside","inside",""]},"tickson":{"description":"Determines where ticks and grid lines are drawn with respect to their corresponding tick labels. Only has an effect for axes of `type` *category* or *multicategory*. When set to *boundaries*, ticks and grid lines are drawn half a category to the left/bottom of labels.","dflt":"labels","editType":"ticks","valType":"enumerated","values":["labels","boundaries"]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"ticks","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"ticks","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"ticks","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"ticks","min":0,"valType":"number"},"title":{"editType":"ticks","font":{"color":{"editType":"ticks","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"ticks","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"ticks","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"ticks","min":1,"valType":"number"}},"role":"object","standoff":{"description":"Sets the standoff distance (in px) between the axis labels and the title text The default value is a function of the axis tick labels, the title `font.size` and the axis `linewidth`. 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 on `automargin`, plotly.js will push the margins to fit the axis title at given standoff distance.","editType":"ticks","min":0,"valType":"number"},"text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"ticks","valType":"string"}},"type":{"_noTemplating":true,"description":"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.","dflt":"-","editType":"calc","valType":"enumerated","values":["-","linear","log","date","category","multicategory"]},"uirevision":{"description":"Controls persistence of user-driven changes in axis `range`, `autorange`, and `title` if in `editable: true` configuration. Defaults to `layout.uirevision`.","editType":"none","valType":"any"},"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","valType":"boolean"},"zeroline":{"description":"Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines.","editType":"ticks","valType":"boolean"},"zerolinecolor":{"description":"Sets the line color of the zero line.","dflt":"#444","editType":"ticks","valType":"color"},"zerolinewidth":{"description":"Sets the width (in px) of the zero line.","dflt":1,"editType":"ticks","valType":"number"}},"yaxis":{"_deprecated":{"autotick":{"description":"Obsolete. Set `tickmode` to *auto* for old `autotick` *true* behavior. Set `tickmode` to *linear* for `autotick` *false*.","editType":"ticks","valType":"boolean"},"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.","editType":"ticks","valType":"string"},"titlefont":{"color":{"editType":"ticks","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"ticks","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"ticks","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"ticks","min":1,"valType":"number"}}},"_isSubplotObj":true,"anchor":{"description":"If set to an opposite-letter axis id (e.g. `x2`, `y`), this axis is bound to the corresponding opposite-letter axis. If set to *free*, this axis' position is determined by `position`.","editType":"plot","valType":"enumerated","values":["free","/^x([2-9]|[1-9][0-9]+)?( domain)?$/","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]},"automargin":{"description":"Determines whether long tick labels automatically grow the figure margins.","dflt":false,"editType":"ticks","extras":[true,false],"flags":["height","width","left","right","top","bottom"],"valType":"flaglist"},"autorange":{"description":"Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction.","dflt":true,"editType":"axrange","impliedEdits":{},"valType":"enumerated","values":[true,false,"reversed","min reversed","max reversed","min","max"]},"autorangeoptions":{"clipmax":{"description":"Clip autorange maximum if it goes beyond this value. Has no effect when `autorangeoptions.maxallowed` is provided.","editType":"plot","impliedEdits":{},"valType":"any"},"clipmin":{"description":"Clip autorange minimum if it goes beyond this value. Has no effect when `autorangeoptions.minallowed` is provided.","editType":"plot","impliedEdits":{},"valType":"any"},"editType":"plot","include":{"arrayOk":true,"description":"Ensure this value is included in autorange.","editType":"plot","impliedEdits":{},"valType":"any"},"includesrc":{"description":"Sets the source reference on Chart Studio Cloud for `include`.","editType":"none","valType":"string"},"maxallowed":{"description":"Use this value exactly as autorange maximum.","editType":"plot","impliedEdits":{},"valType":"any"},"minallowed":{"description":"Use this value exactly as autorange minimum.","editType":"plot","impliedEdits":{},"valType":"any"},"role":"object"},"autoshift":{"description":"Automatically reposition the axis to avoid overlap with other axes with the same `overlaying` value. This repositioning will account for any `shift` amount applied to other axes on the same side with `autoshift` is set to true. Only has an effect if `anchor` is set to *free*.","dflt":false,"editType":"plot","valType":"boolean"},"autotickangles":{"description":"When `tickangle` is set to *auto*, it will be set to the first angle in this array that is large enough to prevent label overlap.","dflt":[0,30,90],"editType":"ticks","freeLength":true,"items":{"valType":"angle"},"valType":"info_array"},"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"calc","valType":"enumerated","values":["convert types","strict"]},"calendar":{"description":"Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"categoryarray":{"description":"Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"calc","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.","dflt":"trace","editType":"calc","valType":"enumerated","values":["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","median ascending","median descending"]},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"ticks","valType":"color"},"constrain":{"description":"If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines how that happens: by increasing the *range*, or by decreasing the *domain*. Default is *domain* for axes containing image traces, *range* otherwise.","editType":"plot","valType":"enumerated","values":["range","domain"]},"constraintoward":{"description":"If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines which direction we push the originally specified plot area. Options are *left*, *center* (default), and *right* for x axes, and *top*, *middle* (default), and *bottom* for y axes.","editType":"plot","valType":"enumerated","values":["left","center","right","top","middle","bottom"]},"dividercolor":{"description":"Sets the color of the dividers Only has an effect on *multicategory* axes.","dflt":"#444","editType":"ticks","valType":"color"},"dividerwidth":{"description":"Sets the width (in px) of the dividers Only has an effect on *multicategory* axes.","dflt":1,"editType":"ticks","valType":"number"},"domain":{"description":"Sets the domain of this axis (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"ticks","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"ticks","valType":"enumerated","values":["none","e","E","power","SI","B"]},"fixedrange":{"description":"Determines whether or not this axis is zoom-able. If true, then zoom is disabled.","dflt":false,"editType":"calc","valType":"boolean"},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"ticks","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"ticks","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"ticks","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"none","valType":"string"},"insiderange":{"description":"Could be used to set the desired inside range of this axis (excluding the labels) when `ticklabelposition` of the anchored axis has *inside*. Not implemented for axes with `type` *log*. This would be ignored when `range` is provided.","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"labelalias":{"description":"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.","dflt":false,"editType":"ticks","valType":"any"},"layer":{"description":"Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.","dflt":"above traces","editType":"plot","valType":"enumerated","values":["above traces","below traces"]},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"layoutstyle","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"ticks+layoutstyle","min":0,"valType":"number"},"matches":{"description":"If set to another axis id (e.g. `x2`, `y`), the range of this axis will match the range of the corresponding axis in data-coordinates space. Moreover, matching axes share auto-range values, category lists and histogram auto-bins. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden. Moreover, note that matching axes must have the same `type`.","editType":"calc","valType":"enumerated","values":["/^x([2-9]|[1-9][0-9]+)?( domain)?$/","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]},"maxallowed":{"description":"Determines the maximum range of this axis.","editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},"minallowed":{"description":"Determines the minimum range of this axis.","editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"ticks","min":0,"valType":"number"},"minor":{"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"ticks","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"ticks","gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"ticks","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"ticks","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","editType":"ticks","min":0,"valType":"number"},"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":5,"editType":"ticks","min":0,"valType":"integer"},"role":"object","showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","editType":"ticks","valType":"boolean"},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"ticks","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"ticks","valType":"color"},"ticklen":{"description":"Sets the tick length (in px).","editType":"ticks","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"ticks","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"ticks":{"description":"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.","editType":"ticks","valType":"enumerated","values":["outside","inside",""]},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"ticks","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","editType":"ticks","min":0,"valType":"number"}},"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,"editType":"ticks+layoutstyle","valType":"enumerated","values":[true,"ticks",false,"all","allticks"]},"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,"editType":"ticks","min":0,"valType":"integer"},"overlaying":{"description":"If set a same-letter axis id, this axis is overlaid on top of the corresponding same-letter axis, with traces and axes visible for both axes. If *false*, this axis does not overlay any same-letter axes. In this case, for axes with overlapping domains only the highest-numbered axis will be visible.","editType":"plot","valType":"enumerated","values":["free","/^x([2-9]|[1-9][0-9]+)?( domain)?$/","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]},"position":{"description":"Sets the position of this axis in the plotting space (in normalized coordinates). Only has an effect if `anchor` is set to *free*.","dflt":0,"editType":"plot","max":1,"min":0,"valType":"number"},"range":{"anim":true,"description":"Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, 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. Leaving either or both elements `null` impacts the default `autorange`.","editType":"axrange","impliedEdits":{"autorange":false},"items":[{"anim":true,"editType":"axrange","impliedEdits":{"^autorange":false},"valType":"any"},{"anim":true,"editType":"axrange","impliedEdits":{"^autorange":false},"valType":"any"}],"valType":"info_array"},"rangebreaks":{"items":{"rangebreak":{"bounds":{"description":"Sets the lower and upper bounds of this axis rangebreak. Can be used with `pattern`.","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"dvalue":{"description":"Sets the size of each `values` item. The default is one day in milliseconds.","dflt":86400000,"editType":"calc","min":0,"valType":"number"},"editType":"calc","enabled":{"description":"Determines whether this axis rangebreak is enabled or disabled. Please note that `rangebreaks` only work for *date* axis type.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"pattern":{"description":"Determines a pattern on the time line that generates breaks. If *day of week* - days of the week in English e.g. 'Sunday' or `sun` (matching is case-insensitive and considers only the first three characters), as well as Sunday-based integers between 0 and 6. If *hour* - hour (24-hour clock) as decimal numbers between 0 and 24. for more info. Examples: - { pattern: 'day of week', bounds: [6, 1] } or simply { bounds: ['sat', 'mon'] } breaks from Saturday to Monday (i.e. skips the weekends). - { pattern: 'hour', bounds: [17, 8] } breaks from 5pm to 8am (i.e. skips non-work hours).","editType":"calc","valType":"enumerated","values":["day of week","hour",""]},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"values":{"description":"Sets the coordinate values corresponding to the rangebreaks. An alternative to `bounds`. Use `dvalue` to set the size of the values along the axis.","editType":"calc","freeLength":true,"items":{"editType":"calc","valType":"any"},"valType":"info_array"}}},"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.","dflt":"normal","editType":"plot","valType":"enumerated","values":["normal","tozero","nonnegative"]},"role":"object","scaleanchor":{"description":"If set to another axis id (e.g. `x2`, `y`), the range of this axis changes together with the range of the corresponding axis such that the scale of pixels per unit is in a constant ratio. Both axes are still zoomable, but when you zoom one, the other will zoom the same amount, keeping a fixed midpoint. `constrain` and `constraintoward` determine how we enforce the constraint. You can chain these, ie `yaxis: {scaleanchor: *x*}, xaxis2: {scaleanchor: *y*}` but you can only link axes of the same `type`. The linked axis can have the opposite letter (to constrain the aspect ratio) or the same letter (to match scales across subplots). Loops (`yaxis: {scaleanchor: *x*}, xaxis: {scaleanchor: *y*}` or longer) are redundant and the last constraint encountered will be ignored to avoid possible inconsistent constraints via `scaleratio`. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden. Setting `false` allows to remove a default constraint (occasionally, you may need to prevent a default `scaleanchor` constraint from being applied, eg. when having an image trace `yaxis: {scaleanchor: \"x\"}` is set automatically in order for pixels to be rendered as squares, setting `yaxis: {scaleanchor: false}` allows to remove the constraint).","editType":"plot","valType":"enumerated","values":["/^x([2-9]|[1-9][0-9]+)?( domain)?$/","/^y([2-9]|[1-9][0-9]+)?( domain)?$/",false]},"scaleratio":{"description":"If this axis is linked to another by `scaleanchor`, this determines the pixel to unit scale ratio. For example, if this value is 10, then every unit on this axis spans 10 times the number of pixels as a unit on the linked axis. Use this for example to create an elevation profile where the vertical scale is exaggerated a fixed amount with respect to the horizontal.","dflt":1,"editType":"plot","min":0,"valType":"number"},"separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"ticks","valType":"boolean"},"shift":{"description":"Moves the axis a given number of pixels from where it would have been otherwise. Accepts both positive and negative values, which will shift the axis either right or left, respectively. If `autoshift` is set to true, then this defaults to a padding of -3 if `side` is set to *left*. and defaults to +3 if `side` is set to *right*. Defaults to 0 if `autoshift` is set to false. Only has an effect if `anchor` is set to *free*.","editType":"plot","valType":"number"},"showdividers":{"description":"Determines whether or not a dividers are drawn between the category levels of this axis. Only has an effect on *multicategory* axes.","dflt":true,"editType":"ticks","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"ticks","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","editType":"ticks","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":false,"editType":"ticks+layoutstyle","valType":"boolean"},"showspikes":{"description":"Determines whether or not spikes (aka droplines) are drawn for this axis. Note: This only takes affect when hovermode = closest","dflt":false,"editType":"modebar","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"ticks","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"ticks","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"ticks","valType":"enumerated","values":["all","first","last","none"]},"side":{"description":"Determines whether a x (y) axis is positioned at the *bottom* (*left*) or *top* (*right*) of the plotting area.","editType":"plot","valType":"enumerated","values":["top","bottom","left","right"]},"spikecolor":{"description":"Sets the spike color. If undefined, will use the series color","dflt":null,"editType":"none","valType":"color"},"spikedash":{"description":"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*).","dflt":"dash","editType":"none","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"spikemode":{"description":"Determines the drawing mode for the spike line If *toaxis*, the line is drawn from the data point to the axis the series is plotted on. If *across*, the line is drawn across the entire plot area, and supercedes *toaxis*. If *marker*, then a marker dot is drawn on the axis the series is plotted on","dflt":"toaxis","editType":"none","flags":["toaxis","across","marker"],"valType":"flaglist"},"spikesnap":{"description":"Determines whether spikelines are stuck to the cursor or to the closest datapoints.","dflt":"hovered data","editType":"none","valType":"enumerated","values":["data","cursor","hovered data"]},"spikethickness":{"description":"Sets the width (in px) of the zero line.","dflt":3,"editType":"none","valType":"number"},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"ticks","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"ticks","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"ticks","valType":"color"},"tickfont":{"color":{"editType":"ticks","valType":"color"},"description":"Sets the tick font.","editType":"ticks","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"ticks","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"ticks","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"ticks","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"ticks","items":[{"editType":"ticks","valType":"any"},{"editType":"ticks","valType":"any"}],"valType":"info_array"},"editType":"ticks","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"ticks","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"ticks","valType":"string"}}},"role":"object"},"ticklabelmode":{"description":"Determines where tick labels are drawn with respect to their corresponding ticks and grid lines. Only has an effect for axes of `type` *date* When set to *period*, tick labels are drawn in the middle of the period between ticks.","dflt":"instant","editType":"ticks","valType":"enumerated","values":["instant","period"]},"ticklabeloverflow":{"description":"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*. Otherwise on *category* and *multicategory* axes the default is *allow*. In other cases the default is *hide past div*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"Determines where tick labels are drawn with respect to the axis Please note that top or bottom has no effect on x axes or when `ticklabelmode` is set to *period*. Similarly left or right has no effect on y axes or when `ticklabelmode` is set to *period*. Has no effect on *multicategory* axes or when `tickson` is set to *boundaries*. When used on axes linked by `matches` or `scaleanchor`, no extra padding for inside labels would be added by autorange, so that the scales could match.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"ticks","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"ticks","min":0,"valType":"number"},"tickmode":{"description":"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). If *sync*, the number of ticks will sync with the overlayed axis set by `overlaying` property.","editType":"ticks","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array","sync"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"ticks","valType":"string"},"ticks":{"description":"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.","editType":"ticks","valType":"enumerated","values":["outside","inside",""]},"tickson":{"description":"Determines where ticks and grid lines are drawn with respect to their corresponding tick labels. Only has an effect for axes of `type` *category* or *multicategory*. When set to *boundaries*, ticks and grid lines are drawn half a category to the left/bottom of labels.","dflt":"labels","editType":"ticks","valType":"enumerated","values":["labels","boundaries"]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"ticks","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"ticks","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"ticks","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"ticks","min":0,"valType":"number"},"title":{"editType":"ticks","font":{"color":{"editType":"ticks","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"ticks","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"ticks","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"ticks","min":1,"valType":"number"}},"role":"object","standoff":{"description":"Sets the standoff distance (in px) between the axis labels and the title text The default value is a function of the axis tick labels, the title `font.size` and the axis `linewidth`. 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 on `automargin`, plotly.js will push the margins to fit the axis title at given standoff distance.","editType":"ticks","min":0,"valType":"number"},"text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"ticks","valType":"string"}},"type":{"_noTemplating":true,"description":"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.","dflt":"-","editType":"calc","valType":"enumerated","values":["-","linear","log","date","category","multicategory"]},"uirevision":{"description":"Controls persistence of user-driven changes in axis `range`, `autorange`, and `title` if in `editable: true` configuration. Defaults to `layout.uirevision`.","editType":"none","valType":"any"},"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","valType":"boolean"},"zeroline":{"description":"Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines.","editType":"ticks","valType":"boolean"},"zerolinecolor":{"description":"Sets the line color of the zero line.","dflt":"#444","editType":"ticks","valType":"color"},"zerolinewidth":{"description":"Sets the width (in px) of the zero line.","dflt":1,"editType":"ticks","valType":"number"}}}},"traces":{"bar":{"animatable":true,"attributes":{"_deprecated":{"bardir":{"description":"Renamed to `orientation`.","editType":"calc","valType":"enumerated","values":["v","h"]}},"alignmentgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"base":{"arrayOk":true,"description":"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.","dflt":null,"editType":"calc","valType":"any"},"basesrc":{"description":"Sets the source reference on Chart Studio Cloud for `base`.","editType":"none","valType":"string"},"cliponaxis":{"description":"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*.","dflt":true,"editType":"plot","valType":"boolean"},"constraintext":{"description":"Constrain the size of text inside or outside a bar to be no larger than the bar itself.","dflt":"both","editType":"calc","valType":"enumerated","values":["inside","outside","both","none"]},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dx":{"anim":true,"description":"Sets the x coordinate step. See `x0` for more info.","dflt":1,"editType":"calc","valType":"number"},"dy":{"anim":true,"description":"Sets the y coordinate step. See `y0` for more info.","dflt":1,"editType":"calc","valType":"number"},"error_x":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"style","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"style","valType":"color"},"copy_ystyle":{"editType":"plot","valType":"boolean"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"style","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"plot","min":0,"valType":"number"}},"error_y":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"style","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"style","valType":"color"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"style","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"plot","min":0,"valType":"number"}},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"ids":{"anim":true,"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"insidetextanchor":{"description":"Determines if texts are kept at center or start/end points in `textposition` *inside* mode.","dflt":"end","editType":"plot","valType":"enumerated","values":["end","middle","start"]},"insidetextfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `text` lying inside the bar.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"marker":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"cornerradius":{"description":"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.","editType":"calc","valType":"any"},"editType":"calc","line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"anim":true,"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","dflt":0,"editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the opacity of the bars.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"pattern":{"bgcolor":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"description":"Sets the pattern within the marker.","editType":"style","fgcolor":{"arrayOk":true,"description":"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`.","editType":"style","valType":"color"},"fgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `fgcolor`.","editType":"none","valType":"string"},"fgopacity":{"description":"Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.","editType":"style","max":1,"min":0,"valType":"number"},"fillmode":{"description":"Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.","dflt":"replace","editType":"style","valType":"enumerated","values":["replace","overlay"]},"role":"object","shape":{"arrayOk":true,"description":"Sets the shape of the pattern fill. By default, no pattern is used for filling the area.","dflt":"","editType":"style","valType":"enumerated","values":["","/","\\","x","-","|","+","."]},"shapesrc":{"description":"Sets the source reference on Chart Studio Cloud for `shape`.","editType":"none","valType":"string"},"size":{"arrayOk":true,"description":"Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.","dflt":8,"editType":"style","min":0,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"solidity":{"arrayOk":true,"description":"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.","dflt":0.3,"editType":"style","max":1,"min":0,"valType":"number"},"soliditysrc":{"description":"Sets the source reference on Chart Studio Cloud for `solidity`.","editType":"none","valType":"string"}},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"offset":{"arrayOk":true,"description":"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.","dflt":null,"editType":"calc","valType":"number"},"offsetgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"offsetsrc":{"description":"Sets the source reference on Chart Studio Cloud for `offset`.","editType":"none","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"orientation":{"description":"Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal).","editType":"calc+clearAxisTypes","valType":"enumerated","values":["v","h"]},"outsidetextfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `text` lying outside the bar.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textangle":{"description":"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.","dflt":"auto","editType":"plot","valType":"angle"},"textfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `text`.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"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.","dflt":"auto","editType":"calc","valType":"enumerated","values":["inside","outside","auto","none"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"bar","uid":{"anim":true,"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"width":{"arrayOk":true,"description":"Sets the bar width (in position axis units).","dflt":null,"editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"},"x":{"anim":true,"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"x0":{"anim":true,"description":"Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"xperiod0":{"description":"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.","editType":"calc","valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"anim":true,"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"y0":{"anim":true,"description":"Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"yperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the y axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"yperiod0":{"description":"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.","editType":"calc","valType":"any"},"yperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"}},"categories":["bar-like","cartesian","svg","bar","oriented","errorBarsOK","showLegend","zoomScale"],"layoutAttributes":{"barcornerradius":{"description":"Sets the rounding of bar corners. May be an integer number of pixels, or a percentage of bar width (as a string ending in %).","editType":"calc","valType":"any"},"bargap":{"description":"Sets the gap (in plot fraction) between bars of adjacent location coordinates.","editType":"calc","max":1,"min":0,"valType":"number"},"bargroupgap":{"description":"Sets the gap (in plot fraction) between bars of the same location coordinate.","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"barmode":{"description":"Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *relative*, the bars are stacked on top of one another, with negative values below the axis, positive values above With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars.","dflt":"group","editType":"calc","valType":"enumerated","values":["stack","group","overlay","relative"]},"barnorm":{"description":"Sets the normalization for bar traces on the graph. With *fraction*, the value of each bar is divided by the sum of all values at that location coordinate. *percent* is the same but multiplied by 100 to show percentages.","dflt":"","editType":"calc","valType":"enumerated","values":["","fraction","percent"]}},"meta":{"description":"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."},"type":"bar"},"barpolar":{"animatable":false,"attributes":{"base":{"arrayOk":true,"description":"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.","dflt":null,"editType":"calc","valType":"any"},"basesrc":{"description":"Sets the source reference on Chart Studio Cloud for `base`.","editType":"none","valType":"string"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dr":{"description":"Sets the r coordinate step.","dflt":1,"editType":"calc","valType":"number"},"dtheta":{"description":"Sets the theta coordinate step. By default, the `dtheta` step equals the subplot's period divided by the length of the `r` coordinates.","editType":"calc","valType":"number"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["r","theta","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"marker":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","dflt":0,"editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the opacity of the bars.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"pattern":{"bgcolor":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"description":"Sets the pattern within the marker.","editType":"style","fgcolor":{"arrayOk":true,"description":"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`.","editType":"style","valType":"color"},"fgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `fgcolor`.","editType":"none","valType":"string"},"fgopacity":{"description":"Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.","editType":"style","max":1,"min":0,"valType":"number"},"fillmode":{"description":"Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.","dflt":"replace","editType":"style","valType":"enumerated","values":["replace","overlay"]},"role":"object","shape":{"arrayOk":true,"description":"Sets the shape of the pattern fill. By default, no pattern is used for filling the area.","dflt":"","editType":"style","valType":"enumerated","values":["","/","\\","x","-","|","+","."]},"shapesrc":{"description":"Sets the source reference on Chart Studio Cloud for `shape`.","editType":"none","valType":"string"},"size":{"arrayOk":true,"description":"Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.","dflt":8,"editType":"style","min":0,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"solidity":{"arrayOk":true,"description":"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.","dflt":0.3,"editType":"style","max":1,"min":0,"valType":"number"},"soliditysrc":{"description":"Sets the source reference on Chart Studio Cloud for `solidity`.","editType":"none","valType":"string"}},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"offset":{"arrayOk":true,"description":"Shifts the angular position where the bar is drawn (in *thetatunit* units).","dflt":null,"editType":"calc","valType":"number"},"offsetsrc":{"description":"Sets the source reference on Chart Studio Cloud for `offset`.","editType":"none","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"r":{"description":"Sets the radial coordinates","editType":"calc+clearAxisTypes","valType":"data_array"},"r0":{"description":"Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"rsrc":{"description":"Sets the source reference on Chart Studio Cloud for `r`.","editType":"none","valType":"string"},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"subplot":{"description":"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.","dflt":"polar","editType":"calc","valType":"subplotid"},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"theta":{"description":"Sets the angular coordinates","editType":"calc+clearAxisTypes","valType":"data_array"},"theta0":{"description":"Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"thetasrc":{"description":"Sets the source reference on Chart Studio Cloud for `theta`.","editType":"none","valType":"string"},"thetaunit":{"description":"Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes.","dflt":"degrees","editType":"calc+clearAxisTypes","valType":"enumerated","values":["radians","degrees","gradians"]},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"barpolar","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"width":{"arrayOk":true,"description":"Sets the bar angular width (in *thetaunit* units).","dflt":null,"editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"categories":["polar","bar","showLegend"],"layoutAttributes":{"bargap":{"description":"Sets the gap between bars of adjacent location coordinates. Values are unitless, they represent fractions of the minimum difference in bar positions in the data.","dflt":0.1,"editType":"calc","max":1,"min":0,"valType":"number"},"barmode":{"description":"Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars.","dflt":"stack","editType":"calc","valType":"enumerated","values":["stack","overlay"]}},"meta":{"description":"The data visualized by the radial span of the bars is set in `r`","hrName":"bar_polar"},"type":"barpolar"},"box":{"animatable":false,"attributes":{"alignmentgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"boxmean":{"description":"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*.","editType":"calc","valType":"enumerated","values":[true,"sd",false]},"boxpoints":{"description":"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*.","editType":"calc","valType":"enumerated","values":["all","outliers","suspectedoutliers",false]},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dx":{"description":"Sets the x coordinate step for multi-box traces set using q1/median/q3.","editType":"calc","valType":"number"},"dy":{"description":"Sets the y coordinate step for multi-box traces set using q1/median/q3.","editType":"calc","valType":"number"},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"style","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hoveron":{"description":"Do the hover effects highlight individual boxes or sample points or both?","dflt":"boxes+points","editType":"style","flags":["boxes","points"],"valType":"flaglist"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"jitter":{"description":"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).","editType":"calc","max":1,"min":0,"valType":"number"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"color":{"description":"Sets the color of line bounding the box(es).","editType":"style","valType":"color"},"editType":"plot","role":"object","width":{"description":"Sets the width (in px) of line bounding the box(es).","dflt":2,"editType":"style","min":0,"valType":"number"}},"lowerfence":{"description":"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.","editType":"calc","valType":"data_array"},"lowerfencesrc":{"description":"Sets the source reference on Chart Studio Cloud for `lowerfence`.","editType":"none","valType":"string"},"marker":{"angle":{"arrayOk":false,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"calc","valType":"angle"},"color":{"arrayOk":false,"description":"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.","editType":"style","valType":"color"},"editType":"plot","line":{"color":{"arrayOk":false,"description":"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.","dflt":"#444","editType":"style","valType":"color"},"editType":"style","outliercolor":{"description":"Sets the border line color of the outlier sample points. Defaults to marker.color","editType":"style","valType":"color"},"outlierwidth":{"description":"Sets the border line width (in px) of the outlier sample points.","dflt":1,"editType":"style","min":0,"valType":"number"},"role":"object","width":{"arrayOk":false,"description":"Sets the width (in px) of the lines bounding the marker points.","dflt":0,"editType":"style","min":0,"valType":"number"}},"opacity":{"arrayOk":false,"description":"Sets the marker opacity.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"outliercolor":{"description":"Sets the color of the outlier sample points.","dflt":"rgba(0, 0, 0, 0)","editType":"style","valType":"color"},"role":"object","size":{"arrayOk":false,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"symbol":{"arrayOk":false,"description":"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.","dflt":"circle","editType":"plot","valType":"enumerated","values":[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"]}},"mean":{"description":"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.","editType":"calc","valType":"data_array"},"meansrc":{"description":"Sets the source reference on Chart Studio Cloud for `mean`.","editType":"none","valType":"string"},"median":{"description":"Sets the median values. There should be as many items as the number of boxes desired.","editType":"calc+clearAxisTypes","valType":"data_array"},"mediansrc":{"description":"Sets the source reference on Chart Studio Cloud for `median`.","editType":"none","valType":"string"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"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","editType":"calc+clearAxisTypes","valType":"string"},"notched":{"description":"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.","editType":"calc","valType":"boolean"},"notchspan":{"description":"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.","editType":"calc","valType":"data_array"},"notchspansrc":{"description":"Sets the source reference on Chart Studio Cloud for `notchspan`.","editType":"none","valType":"string"},"notchwidth":{"description":"Sets the width of the notches relative to the box' width. For example, with 0, the notches are as wide as the box(es).","dflt":0.25,"editType":"calc","max":0.5,"min":0,"valType":"number"},"offsetgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"orientation":{"description":"Sets the orientation of the box(es). If *v* (*h*), the distribution is visualized along the vertical (horizontal).","editType":"calc+clearAxisTypes","valType":"enumerated","values":["v","h"]},"pointpos":{"description":"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","editType":"calc","max":2,"min":-2,"valType":"number"},"q1":{"description":"Sets the Quartile 1 values. There should be as many items as the number of boxes desired.","editType":"calc+clearAxisTypes","valType":"data_array"},"q1src":{"description":"Sets the source reference on Chart Studio Cloud for `q1`.","editType":"none","valType":"string"},"q3":{"description":"Sets the Quartile 3 values. There should be as many items as the number of boxes desired.","editType":"calc+clearAxisTypes","valType":"data_array"},"q3src":{"description":"Sets the source reference on Chart Studio Cloud for `q3`.","editType":"none","valType":"string"},"quartilemethod":{"description":"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.","dflt":"linear","editType":"calc","valType":"enumerated","values":["linear","exclusive","inclusive"]},"sd":{"description":"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.","editType":"calc","valType":"data_array"},"sdmultiple":{"description":"Scales the box size when sizemode=sd Allowing boxes to be drawn across any stddev range For example 1-stddev, 3-stddev, 5-stddev","dflt":1,"editType":"calc","min":0,"valType":"number"},"sdsrc":{"description":"Sets the source reference on Chart Studio Cloud for `sd`.","editType":"none","valType":"string"},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"style","min":0,"valType":"number"}},"role":"object"},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"showwhiskers":{"description":"Determines whether or not whiskers are visible. Defaults to true for `sizemode` *quartiles*, false for *sd*.","editType":"calc","valType":"boolean"},"sizemode":{"description":"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","dflt":"quartiles","editType":"calc","valType":"enumerated","values":["quartiles","sd"]},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"box","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"style","min":0,"valType":"number"}},"role":"object"},"upperfence":{"description":"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.","editType":"calc","valType":"data_array"},"upperfencesrc":{"description":"Sets the source reference on Chart Studio Cloud for `upperfence`.","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"whiskerwidth":{"description":"Sets the width of the whiskers relative to the box' width. For example, with 1, the whiskers are as wide as the box(es).","dflt":0.5,"editType":"calc","max":1,"min":0,"valType":"number"},"width":{"description":"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.","dflt":0,"editType":"calc","min":0,"valType":"number"},"x":{"description":"Sets the x sample data or coordinates. See overview for more info.","editType":"calc+clearAxisTypes","valType":"data_array"},"x0":{"description":"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.","editType":"calc+clearAxisTypes","valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"xperiod0":{"description":"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.","editType":"calc","valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y sample data or coordinates. See overview for more info.","editType":"calc+clearAxisTypes","valType":"data_array"},"y0":{"description":"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.","editType":"calc+clearAxisTypes","valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"yperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the y axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"yperiod0":{"description":"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.","editType":"calc","valType":"any"},"yperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"}},"categories":["cartesian","svg","symbols","oriented","box-violin","showLegend","boxLayout","zoomScale"],"layoutAttributes":{"boxgap":{"description":"Sets the gap (in plot fraction) between boxes of adjacent location coordinates. Has no effect on traces that have *width* set.","dflt":0.3,"editType":"calc","max":1,"min":0,"valType":"number"},"boxgroupgap":{"description":"Sets the gap (in plot fraction) between boxes of the same location coordinate. Has no effect on traces that have *width* set.","dflt":0.3,"editType":"calc","max":1,"min":0,"valType":"number"},"boxmode":{"description":"Determines how boxes at the same location coordinate are displayed on the graph. If *group*, the boxes are plotted next to one another centered around the shared location. If *overlay*, the boxes are plotted over one another, you might need to set *opacity* to see them multiple boxes. Has no effect on traces that have *width* set.","dflt":"overlay","editType":"calc","valType":"enumerated","values":["group","overlay"]}},"meta":{"description":"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."},"type":"box"},"candlestick":{"animatable":false,"attributes":{"close":{"description":"Sets the close values.","editType":"calc","valType":"data_array"},"closesrc":{"description":"Sets the source reference on Chart Studio Cloud for `close`.","editType":"none","valType":"string"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"decreasing":{"editType":"style","fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"style","valType":"color"},"line":{"color":{"description":"Sets the color of line bounding the box(es).","dflt":"#FF4136","editType":"style","valType":"color"},"editType":"style","role":"object","width":{"description":"Sets the width (in px) of line bounding the box(es).","dflt":2,"editType":"style","min":0,"valType":"number"}},"role":"object"},"high":{"description":"Sets the high values.","editType":"calc","valType":"data_array"},"highsrc":{"description":"Sets the source reference on Chart Studio Cloud for `high`.","editType":"none","valType":"string"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object","split":{"description":"Show hover information (open, close, high, low) in separate labels.","dflt":false,"editType":"style","valType":"boolean"}},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"increasing":{"editType":"style","fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"style","valType":"color"},"line":{"color":{"description":"Sets the color of line bounding the box(es).","dflt":"#3D9970","editType":"style","valType":"color"},"editType":"style","role":"object","width":{"description":"Sets the width (in px) of line bounding the box(es).","dflt":2,"editType":"style","min":0,"valType":"number"}},"role":"object"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"editType":"style","role":"object","width":{"description":"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`.","dflt":2,"editType":"style","min":0,"valType":"number"}},"low":{"description":"Sets the low values.","editType":"calc","valType":"data_array"},"lowsrc":{"description":"Sets the source reference on Chart Studio Cloud for `low`.","editType":"none","valType":"string"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"open":{"description":"Sets the open values.","editType":"calc","valType":"data_array"},"opensrc":{"description":"Sets the source reference on Chart Studio Cloud for `open`.","editType":"none","valType":"string"},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"candlestick","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"whiskerwidth":{"description":"Sets the width of the whiskers relative to the box' width. For example, with 1, the whiskers are as wide as the box(es).","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"x":{"description":"Sets the x coordinates. If absent, linear coordinate will be generated.","editType":"calc+clearAxisTypes","valType":"data_array"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"xperiod0":{"description":"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.","editType":"calc","valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"}},"categories":["cartesian","svg","showLegend","candlestick","boxLayout"],"layoutAttributes":{"boxgap":{"description":"Sets the gap (in plot fraction) between boxes of adjacent location coordinates. Has no effect on traces that have *width* set.","dflt":0.3,"editType":"calc","max":1,"min":0,"valType":"number"},"boxgroupgap":{"description":"Sets the gap (in plot fraction) between boxes of the same location coordinate. Has no effect on traces that have *width* set.","dflt":0.3,"editType":"calc","max":1,"min":0,"valType":"number"},"boxmode":{"description":"Determines how boxes at the same location coordinate are displayed on the graph. If *group*, the boxes are plotted next to one another centered around the shared location. If *overlay*, the boxes are plotted over one another, you might need to set *opacity* to see them multiple boxes. Has no effect on traces that have *width* set.","dflt":"overlay","editType":"calc","valType":"enumerated","values":["group","overlay"]}},"meta":{"description":"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."},"type":"candlestick"},"carpet":{"animatable":true,"attributes":{"a":{"description":"An array containing values of the first parameter value","editType":"calc","valType":"data_array"},"a0":{"description":"Alternate to `a`. Builds a linear space of a coordinates. Use with `da` where `a0` is the starting coordinate and `da` the step.","dflt":0,"editType":"calc","valType":"number"},"aaxis":{"_deprecated":{"title":{"description":"Deprecated in favor of `title.text`. Note that value of `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleoffset":{"description":"Deprecated in favor of `title.offset`.","dflt":10,"editType":"calc","valType":"number"}},"arraydtick":{"description":"The stride between grid lines along the axis","dflt":1,"editType":"calc","min":1,"valType":"integer"},"arraytick0":{"description":"The starting index of grid lines along the axis","dflt":0,"editType":"calc","min":0,"valType":"integer"},"autorange":{"description":"Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided, then `autorange` is set to *false*.","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"reversed"]},"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"calc","valType":"enumerated","values":["convert types","strict"]},"categoryarray":{"description":"Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"calc","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`.","dflt":"trace","editType":"calc","valType":"enumerated","values":["trace","category ascending","category descending","array"]},"cheatertype":{"dflt":"value","editType":"calc","valType":"enumerated","values":["index","value"]},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","editType":"calc","valType":"color"},"dtick":{"description":"The stride between grid lines along the axis","dflt":1,"editType":"calc","min":0,"valType":"number"},"editType":"calc","endline":{"description":"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.","editType":"calc","valType":"boolean"},"endlinecolor":{"description":"Sets the line color of the end line.","editType":"calc","valType":"color"},"endlinewidth":{"description":"Sets the width (in px) of the end line.","dflt":1,"editType":"calc","valType":"number"},"exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"fixedrange":{"description":"Determines whether or not this axis is zoom-able. If true, then zoom is disabled.","dflt":false,"editType":"calc","valType":"boolean"},"gridcolor":{"description":"Sets the axis line color.","editType":"calc","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"calc","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"labelalias":{"description":"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.","dflt":false,"editType":"calc","valType":"any"},"labelpadding":{"description":"Extra padding between label and the axis","dflt":10,"editType":"calc","valType":"integer"},"labelprefix":{"description":"Sets a axis label prefix.","editType":"calc","valType":"string"},"labelsuffix":{"description":"Sets a axis label suffix.","dflt":"","editType":"calc","valType":"string"},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number","dflt":3,"editType":"calc","min":0,"valType":"number"},"minorgridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"calc","valType":"color"},"minorgridcount":{"description":"Sets the number of minor grid ticks per major grid tick","dflt":0,"editType":"calc","min":0,"valType":"integer"},"minorgriddash":{"description":"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*).","dflt":"solid","editType":"calc","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"minorgridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"range":{"description":"Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"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.","dflt":"normal","editType":"calc","valType":"enumerated","values":["normal","tozero","nonnegative"]},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","dflt":true,"editType":"calc","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":false,"editType":"calc","valType":"boolean"},"showticklabels":{"description":"Determines whether axis labels are drawn on the low side, the high side, both, or neither side of the axis.","dflt":"start","editType":"calc","valType":"enumerated","values":["start","end","both","none"]},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"smoothing":{"dflt":1,"editType":"calc","max":1.3,"min":0,"valType":"number"},"startline":{"description":"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.","editType":"calc","valType":"boolean"},"startlinecolor":{"description":"Sets the line color of the start line.","editType":"calc","valType":"color"},"startlinewidth":{"description":"Sets the width (in px) of the start line.","dflt":1,"editType":"calc","valType":"number"},"tick0":{"description":"The starting index of grid lines along the axis","dflt":0,"editType":"calc","min":0,"valType":"number"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the tick font.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"tickmode":{"dflt":"array","editType":"calc","valType":"enumerated","values":["linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"offset":{"description":"An additional amount by which to offset the title from the tick labels, given in pixels. Note that this used to be set by the now deprecated `titleoffset` attribute.","dflt":10,"editType":"calc","valType":"number"},"role":"object","text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","dflt":"","editType":"calc","valType":"string"}},"type":{"description":"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.","dflt":"-","editType":"calc","valType":"enumerated","values":["-","linear","date","category"]}},"asrc":{"description":"Sets the source reference on Chart Studio Cloud for `a`.","editType":"none","valType":"string"},"b":{"description":"A two dimensional array of y coordinates at each carpet point.","editType":"calc","valType":"data_array"},"b0":{"description":"Alternate to `b`. Builds a linear space of a coordinates. Use with `db` where `b0` is the starting coordinate and `db` the step.","dflt":0,"editType":"calc","valType":"number"},"baxis":{"_deprecated":{"title":{"description":"Deprecated in favor of `title.text`. Note that value of `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleoffset":{"description":"Deprecated in favor of `title.offset`.","dflt":10,"editType":"calc","valType":"number"}},"arraydtick":{"description":"The stride between grid lines along the axis","dflt":1,"editType":"calc","min":1,"valType":"integer"},"arraytick0":{"description":"The starting index of grid lines along the axis","dflt":0,"editType":"calc","min":0,"valType":"integer"},"autorange":{"description":"Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided, then `autorange` is set to *false*.","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"reversed"]},"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"calc","valType":"enumerated","values":["convert types","strict"]},"categoryarray":{"description":"Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"calc","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`.","dflt":"trace","editType":"calc","valType":"enumerated","values":["trace","category ascending","category descending","array"]},"cheatertype":{"dflt":"value","editType":"calc","valType":"enumerated","values":["index","value"]},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","editType":"calc","valType":"color"},"dtick":{"description":"The stride between grid lines along the axis","dflt":1,"editType":"calc","min":0,"valType":"number"},"editType":"calc","endline":{"description":"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.","editType":"calc","valType":"boolean"},"endlinecolor":{"description":"Sets the line color of the end line.","editType":"calc","valType":"color"},"endlinewidth":{"description":"Sets the width (in px) of the end line.","dflt":1,"editType":"calc","valType":"number"},"exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"fixedrange":{"description":"Determines whether or not this axis is zoom-able. If true, then zoom is disabled.","dflt":false,"editType":"calc","valType":"boolean"},"gridcolor":{"description":"Sets the axis line color.","editType":"calc","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"calc","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"labelalias":{"description":"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.","dflt":false,"editType":"calc","valType":"any"},"labelpadding":{"description":"Extra padding between label and the axis","dflt":10,"editType":"calc","valType":"integer"},"labelprefix":{"description":"Sets a axis label prefix.","editType":"calc","valType":"string"},"labelsuffix":{"description":"Sets a axis label suffix.","dflt":"","editType":"calc","valType":"string"},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number","dflt":3,"editType":"calc","min":0,"valType":"number"},"minorgridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"calc","valType":"color"},"minorgridcount":{"description":"Sets the number of minor grid ticks per major grid tick","dflt":0,"editType":"calc","min":0,"valType":"integer"},"minorgriddash":{"description":"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*).","dflt":"solid","editType":"calc","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"minorgridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"range":{"description":"Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"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.","dflt":"normal","editType":"calc","valType":"enumerated","values":["normal","tozero","nonnegative"]},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","dflt":true,"editType":"calc","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":false,"editType":"calc","valType":"boolean"},"showticklabels":{"description":"Determines whether axis labels are drawn on the low side, the high side, both, or neither side of the axis.","dflt":"start","editType":"calc","valType":"enumerated","values":["start","end","both","none"]},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"smoothing":{"dflt":1,"editType":"calc","max":1.3,"min":0,"valType":"number"},"startline":{"description":"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.","editType":"calc","valType":"boolean"},"startlinecolor":{"description":"Sets the line color of the start line.","editType":"calc","valType":"color"},"startlinewidth":{"description":"Sets the width (in px) of the start line.","dflt":1,"editType":"calc","valType":"number"},"tick0":{"description":"The starting index of grid lines along the axis","dflt":0,"editType":"calc","min":0,"valType":"number"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the tick font.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"tickmode":{"dflt":"array","editType":"calc","valType":"enumerated","values":["linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"offset":{"description":"An additional amount by which to offset the title from the tick labels, given in pixels. Note that this used to be set by the now deprecated `titleoffset` attribute.","dflt":10,"editType":"calc","valType":"number"},"role":"object","text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","dflt":"","editType":"calc","valType":"string"}},"type":{"description":"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.","dflt":"-","editType":"calc","valType":"enumerated","values":["-","linear","date","category"]}},"bsrc":{"description":"Sets the source reference on Chart Studio Cloud for `b`.","editType":"none","valType":"string"},"carpet":{"description":"An identifier for this carpet, so that `scattercarpet` and `contourcarpet` traces can specify a carpet plot on which they lie","editType":"calc","valType":"string"},"cheaterslope":{"description":"The shift applied to each successive row of data in creating a cheater plot. Only used if `x` is been omitted.","dflt":1,"editType":"calc","valType":"number"},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"da":{"description":"Sets the a coordinate step. See `a0` for more info.","dflt":1,"editType":"calc","valType":"number"},"db":{"description":"Sets the b coordinate step. See `b0` for more info.","dflt":1,"editType":"calc","valType":"number"},"font":{"color":{"dflt":"#444","editType":"calc","valType":"color"},"description":"The default font used for axis \u0026 tick labels on this carpet","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","dflt":"\"Open Sans\", verdana, arial, sans-serif","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"dflt":12,"editType":"calc","min":1,"valType":"number"}},"ids":{"anim":true,"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"type":"carpet","uid":{"anim":true,"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"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.","editType":"calc+clearAxisTypes","valType":"data_array"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"A two dimensional array of y coordinates at each carpet point.","editType":"calc+clearAxisTypes","valType":"data_array"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"}},"categories":["cartesian","svg","carpet","carpetAxis","notLegendIsolatable","noMultiCategory","noHover","noSortingByValue"],"meta":{"description":"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`."},"type":"carpet"},"choropleth":{"animatable":false,"attributes":{"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"featureidkey":{"description":"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*.","dflt":"id","editType":"calc","valType":"string"},"geo":{"description":"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.","dflt":"geo","editType":"calc","valType":"subplotid"},"geojson":{"description":"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*.","editType":"calc","valType":"any"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":["location","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"locationmode":{"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","values":["ISO-3","USA-states","country names","geojson-id"]},"locations":{"description":"Sets the coordinates via location IDs or names. See `locationmode` for more info.","editType":"calc","valType":"data_array"},"locationssrc":{"description":"Sets the source reference on Chart Studio Cloud for `locations`.","editType":"none","valType":"string"},"marker":{"editType":"calc","line":{"color":{"arrayOk":true,"description":"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.","dflt":"#444","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","dflt":1,"editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the opacity of the locations.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"role":"object"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"selected":{"editType":"plot","marker":{"editType":"plot","opacity":{"description":"Sets the marker opacity of selected points.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object"},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"Sets the text elements associated with each location.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"choropleth","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"plot","marker":{"editType":"plot","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"z":{"description":"Sets the color values.","editType":"calc","valType":"data_array"},"zauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"zmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"zmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["geo","noOpacity","showLegend"],"meta":{"description":"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`."},"type":"choropleth"},"choroplethmapbox":{"animatable":false,"attributes":{"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"below":{"description":"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.","editType":"plot","valType":"string"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"featureidkey":{"description":"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*.","dflt":"id","editType":"calc","valType":"string"},"geojson":{"description":"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*.","editType":"calc","valType":"any"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":["location","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"locations":{"description":"Sets which features found in *geojson* to plot using their feature `id` field.","editType":"calc","valType":"data_array"},"locationssrc":{"description":"Sets the source reference on Chart Studio Cloud for `locations`.","editType":"none","valType":"string"},"marker":{"editType":"calc","line":{"color":{"arrayOk":true,"description":"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.","dflt":"#444","editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","dflt":1,"editType":"plot","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the opacity of the locations.","dflt":1,"editType":"plot","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"role":"object"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"selected":{"editType":"plot","marker":{"editType":"plot","opacity":{"description":"Sets the marker opacity of selected points.","editType":"plot","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object"},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"subplot":{"description":"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.","dflt":"mapbox","editType":"calc","valType":"subplotid"},"text":{"arrayOk":true,"description":"Sets the text elements associated with each location.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"choroplethmapbox","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"plot","marker":{"editType":"plot","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"plot","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"z":{"description":"Sets the color values.","editType":"calc","valType":"data_array"},"zauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"zmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"zmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["mapbox","gl","noOpacity","showLegend"],"meta":{"description":"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`.","hr_name":"choropleth_mapbox"},"type":"choroplethmapbox"},"cone":{"animatable":false,"attributes":{"anchor":{"description":"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.","dflt":"cm","editType":"calc","valType":"enumerated","values":["tip","tail","cm","center"]},"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"x+y+z+norm+text+name","editType":"calc","extras":["all","none","skip"],"flags":["x","y","z","u","v","w","norm","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"lighting":{"ambient":{"description":"Ambient light increases overall color visibility but can wash out the image.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"diffuse":{"description":"Represents the extent that incident rays are reflected in a range of angles.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"editType":"calc","facenormalsepsilon":{"description":"Epsilon for face normals calculation avoids math issues arising from degenerate geometry.","dflt":0.000001,"editType":"calc","max":1,"min":0,"valType":"number"},"fresnel":{"description":"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.","dflt":0.2,"editType":"calc","max":5,"min":0,"valType":"number"},"role":"object","roughness":{"description":"Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.","dflt":0.5,"editType":"calc","max":1,"min":0,"valType":"number"},"specular":{"description":"Represents the level that incident rays are reflected in a single direction, causing shine.","dflt":0.05,"editType":"calc","max":2,"min":0,"valType":"number"},"vertexnormalsepsilon":{"description":"Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.","dflt":1e-12,"editType":"calc","max":1,"min":0,"valType":"number"}},"lightposition":{"editType":"calc","role":"object","x":{"description":"Numeric vector, representing the X coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"y":{"description":"Numeric vector, representing the Y coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"z":{"description":"Numeric vector, representing the Z coordinate for each vertex.","dflt":0,"editType":"calc","max":100000,"min":-100000,"valType":"number"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"scene":{"description":"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.","dflt":"scene","editType":"calc+clearAxisTypes","valType":"subplotid"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"sizemode":{"description":"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).","dflt":"scaled","editType":"calc","valType":"enumerated","values":["scaled","absolute"]},"sizeref":{"description":"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 *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.","editType":"calc","min":0,"valType":"number"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"type":"cone","u":{"description":"Sets the x components of the vector field.","editType":"calc","valType":"data_array"},"uhoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"usrc":{"description":"Sets the source reference on Chart Studio Cloud for `u`.","editType":"none","valType":"string"},"v":{"description":"Sets the y components of the vector field.","editType":"calc","valType":"data_array"},"vhoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"vsrc":{"description":"Sets the source reference on Chart Studio Cloud for `v`.","editType":"none","valType":"string"},"w":{"description":"Sets the z components of the vector field.","editType":"calc","valType":"data_array"},"whoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"wsrc":{"description":"Sets the source reference on Chart Studio Cloud for `w`.","editType":"none","valType":"string"},"x":{"description":"Sets the x coordinates of the vector field and of the displayed cones.","editType":"calc+clearAxisTypes","valType":"data_array"},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y coordinates of the vector field and of the displayed cones.","editType":"calc+clearAxisTypes","valType":"data_array"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"Sets the z coordinates of the vector field and of the displayed cones.","editType":"calc+clearAxisTypes","valType":"data_array"},"zhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["gl3d","showLegend"],"meta":{"description":"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`."},"type":"cone"},"contour":{"animatable":false,"attributes":{"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":false,"editType":"calc","impliedEdits":{},"valType":"boolean"},"autocontour":{"description":"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`.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"connectgaps":{"description":"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.","editType":"calc","valType":"boolean"},"contours":{"coloring":{"description":"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.","dflt":"fill","editType":"calc","valType":"enumerated","values":["fill","heatmap","lines","none"]},"editType":"calc","end":{"description":"Sets the end contour level value. Must be more than `contours.start`","dflt":null,"editType":"plot","impliedEdits":{"^autocontour":false},"valType":"number"},"impliedEdits":{"autocontour":false,"role":"object"},"labelfont":{"color":{"editType":"style","valType":"color"},"description":"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`.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"labelformat":{"description":"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.","dflt":"","editType":"plot","valType":"string"},"operation":{"description":"Sets the constraint operation. *=* keeps regions equal to `value` *\u003c* and *\u003c=* keep regions less than `value` *\u003e* and *\u003e=* 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.","dflt":"=","editType":"calc","valType":"enumerated","values":["=","\u003c","\u003e=","\u003e","\u003c=","[]","()","[)","(]","][",")(","](",")["]},"role":"object","showlabels":{"description":"Determines whether to label the contour lines with their values.","dflt":false,"editType":"plot","valType":"boolean"},"showlines":{"description":"Determines whether or not the contour lines are drawn. Has an effect only if `contours.coloring` is set to *fill*.","dflt":true,"editType":"plot","valType":"boolean"},"size":{"description":"Sets the step between each contour level. Must be positive.","dflt":null,"editType":"plot","impliedEdits":{"^autocontour":false},"min":0,"valType":"number"},"start":{"description":"Sets the starting contour level value. Must be less than `contours.end`","dflt":null,"editType":"plot","impliedEdits":{"^autocontour":false},"valType":"number"},"type":{"description":"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.","dflt":"levels","editType":"calc","valType":"enumerated","values":["levels","constraint"]},"value":{"description":"Sets the value or values of the constraint boundary. When `operation` is set to one of the comparison values (=,\u003c,\u003e=,\u003e,\u003c=) *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.","dflt":0,"editType":"calc","valType":"any"}},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dx":{"description":"Sets the x coordinate step. See `x0` for more info.","dflt":1,"editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"number"},"dy":{"description":"Sets the y coordinate step. See `y0` for more info.","dflt":1,"editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"number"},"fillcolor":{"description":"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.","editType":"calc","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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.","dflt":true,"editType":"none","valType":"boolean"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"description":"Same as `text`.","editType":"calc","valType":"data_array"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"color":{"description":"Sets the color of the contour level. Has no effect if `contours.coloring` is set to *lines*.","editType":"style+colorbars","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"plot","role":"object","smoothing":{"description":"Sets the amount of smoothing for the contour lines, where *0* corresponds to no smoothing.","dflt":1,"editType":"plot","max":1.3,"min":0,"valType":"number"},"width":{"description":"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*.","editType":"style+colorbars","min":0,"valType":"number"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"ncontours":{"description":"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.","dflt":15,"editType":"calc","min":1,"valType":"integer"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"Sets the text elements associated with each z value.","editType":"calc","valType":"data_array"},"textfont":{"color":{"dflt":"auto","editType":"style","valType":"color"},"description":"For this trace it only has an effect if `coloring` is set to *heatmap*. Sets the text font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"dflt":"auto","editType":"plot","min":1,"valType":"number"}},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"description":"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`.","dflt":"","editType":"plot","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"transpose":{"description":"Transposes the z data.","dflt":false,"editType":"calc","valType":"boolean"},"type":"contour","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","impliedEdits":{"xtype":"array"},"valType":"data_array"},"x0":{"description":"Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.","dflt":0,"editType":"calc+clearAxisTypes","impliedEdits":{"xtype":"scaled"},"valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"any"},"xperiod0":{"description":"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.","editType":"calc","valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"xtype":{"description":"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).","editType":"calc+clearAxisTypes","valType":"enumerated","values":["array","scaled"]},"y":{"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","impliedEdits":{"ytype":"array"},"valType":"data_array"},"y0":{"description":"Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.","dflt":0,"editType":"calc+clearAxisTypes","impliedEdits":{"ytype":"scaled"},"valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"yperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the y axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"any"},"yperiod0":{"description":"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.","editType":"calc","valType":"any"},"yperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.","dflt":"middle","editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"enumerated","values":["start","middle","end"]},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"ytype":{"description":"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)","editType":"calc+clearAxisTypes","valType":"enumerated","values":["array","scaled"]},"z":{"description":"Sets the z data.","editType":"calc","valType":"data_array"},"zauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"zhoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"zmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"zmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["cartesian","svg","2dMap","contour","showLegend"],"meta":{"description":"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."},"type":"contour"},"contourcarpet":{"animatable":false,"attributes":{"a":{"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","impliedEdits":{"xtype":"array"},"valType":"data_array"},"a0":{"description":"Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.","dflt":0,"editType":"calc+clearAxisTypes","impliedEdits":{"xtype":"scaled"},"valType":"any"},"asrc":{"description":"Sets the source reference on Chart Studio Cloud for `a`.","editType":"none","valType":"string"},"atype":{"description":"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).","editType":"calc+clearAxisTypes","valType":"enumerated","values":["array","scaled"]},"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":false,"editType":"calc","impliedEdits":{},"valType":"boolean"},"autocontour":{"description":"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`.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"b":{"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","impliedEdits":{"ytype":"array"},"valType":"data_array"},"b0":{"description":"Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.","dflt":0,"editType":"calc+clearAxisTypes","impliedEdits":{"ytype":"scaled"},"valType":"any"},"bsrc":{"description":"Sets the source reference on Chart Studio Cloud for `b`.","editType":"none","valType":"string"},"btype":{"description":"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)","editType":"calc+clearAxisTypes","valType":"enumerated","values":["array","scaled"]},"carpet":{"description":"The `carpet` of the carpet axes on which this contour trace lies","editType":"calc","valType":"string"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"contours":{"coloring":{"description":"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.","dflt":"fill","editType":"calc","valType":"enumerated","values":["fill","lines","none"]},"editType":"calc","end":{"description":"Sets the end contour level value. Must be more than `contours.start`","dflt":null,"editType":"plot","impliedEdits":{"^autocontour":false},"valType":"number"},"impliedEdits":{"autocontour":false,"role":"object"},"labelfont":{"color":{"editType":"style","valType":"color"},"description":"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`.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"labelformat":{"description":"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.","dflt":"","editType":"plot","valType":"string"},"operation":{"description":"Sets the constraint operation. *=* keeps regions equal to `value` *\u003c* and *\u003c=* keep regions less than `value` *\u003e* and *\u003e=* 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.","dflt":"=","editType":"calc","valType":"enumerated","values":["=","\u003c","\u003e=","\u003e","\u003c=","[]","()","[)","(]","][",")(","](",")["]},"role":"object","showlabels":{"description":"Determines whether to label the contour lines with their values.","dflt":false,"editType":"plot","valType":"boolean"},"showlines":{"description":"Determines whether or not the contour lines are drawn. Has an effect only if `contours.coloring` is set to *fill*.","dflt":true,"editType":"plot","valType":"boolean"},"size":{"description":"Sets the step between each contour level. Must be positive.","dflt":null,"editType":"plot","impliedEdits":{"^autocontour":false},"min":0,"valType":"number"},"start":{"description":"Sets the starting contour level value. Must be less than `contours.end`","dflt":null,"editType":"plot","impliedEdits":{"^autocontour":false},"valType":"number"},"type":{"description":"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.","dflt":"levels","editType":"calc","valType":"enumerated","values":["levels","constraint"]},"value":{"description":"Sets the value or values of the constraint boundary. When `operation` is set to one of the comparison values (=,\u003c,\u003e=,\u003e,\u003c=) *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.","dflt":0,"editType":"calc","valType":"any"}},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"da":{"description":"Sets the x coordinate step. See `x0` for more info.","dflt":1,"editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"number"},"db":{"description":"Sets the y coordinate step. See `y0` for more info.","dflt":1,"editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"number"},"fillcolor":{"description":"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.","editType":"calc","valType":"color"},"hovertext":{"description":"Same as `text`.","editType":"calc","valType":"data_array"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"color":{"description":"Sets the color of the contour level. Has no effect if `contours.coloring` is set to *lines*.","editType":"style+colorbars","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"plot","role":"object","smoothing":{"description":"Sets the amount of smoothing for the contour lines, where *0* corresponds to no smoothing.","dflt":1,"editType":"plot","max":1.3,"min":0,"valType":"number"},"width":{"description":"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*.","editType":"style+colorbars","min":0,"valType":"number"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"ncontours":{"description":"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.","dflt":15,"editType":"calc","min":1,"valType":"integer"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"Sets the text elements associated with each z value.","editType":"calc","valType":"data_array"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"transpose":{"description":"Transposes the z data.","dflt":false,"editType":"calc","valType":"boolean"},"type":"contourcarpet","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"z":{"description":"Sets the z data.","editType":"calc","valType":"data_array"},"zauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"zmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"zauto":false},"valType":"number"},"zmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"zmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"zauto":false},"valType":"number"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["cartesian","svg","carpet","contour","symbols","showLegend","hasLines","carpetDependent","noHover","noSortingByValue"],"meta":{"description":"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.","hrName":"contour_carpet"},"type":"contourcarpet"},"densitymapbox":{"animatable":false,"attributes":{"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"below":{"description":"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.","editType":"plot","valType":"string"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["lon","lat","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"lat":{"description":"Sets the latitude coordinates (in degrees North).","editType":"calc","valType":"data_array"},"latsrc":{"description":"Sets the source reference on Chart Studio Cloud for `lat`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"lon":{"description":"Sets the longitude coordinates (in degrees East).","editType":"calc","valType":"data_array"},"lonsrc":{"description":"Sets the source reference on Chart Studio Cloud for `lon`.","editType":"none","valType":"string"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"radius":{"arrayOk":true,"description":"Sets the radius of influence of one `lon` / `lat` point in pixels. Increasing the value makes the densitymapbox trace smoother, but less detailed.","dflt":30,"editType":"plot","min":1,"valType":"number"},"radiussrc":{"description":"Sets the source reference on Chart Studio Cloud for `radius`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"subplot":{"description":"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.","dflt":"mapbox","editType":"calc","valType":"subplotid"},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"densitymapbox","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"z":{"description":"Sets the points' weight. For example, a value of 10 would be equivalent to having 10 points of weight 1 in the same spot","editType":"calc","valType":"data_array"},"zauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"zmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"zmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["mapbox","gl","showLegend"],"meta":{"description":"Draws a bivariate kernel density estimation with a Gaussian kernel from `lon` and `lat` coordinates and optional `z` values using a colorscale.","hr_name":"density_mapbox"},"type":"densitymapbox"},"funnel":{"animatable":false,"attributes":{"alignmentgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"cliponaxis":{"description":"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*.","dflt":true,"editType":"plot","valType":"boolean"},"connector":{"editType":"plot","fillcolor":{"description":"Sets the fill color.","editType":"style","valType":"color"},"line":{"color":{"description":"Sets the line color.","dflt":"#444","editType":"style","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"style","role":"object","width":{"description":"Sets the line width (in px).","dflt":0,"editType":"plot","min":0,"valType":"number"}},"role":"object","visible":{"description":"Determines if connector regions and lines are drawn.","dflt":true,"editType":"plot","valType":"boolean"}},"constraintext":{"description":"Constrain the size of text inside or outside a bar to be no larger than the bar itself.","dflt":"both","editType":"calc","valType":"enumerated","values":["inside","outside","both","none"]},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dx":{"description":"Sets the x coordinate step. See `x0` for more info.","dflt":1,"editType":"calc","valType":"number"},"dy":{"description":"Sets the y coordinate step. See `y0` for more info.","dflt":1,"editType":"calc","valType":"number"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["name","x","y","text","percent initial","percent previous","percent total"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"insidetextanchor":{"description":"Determines if texts are kept at center or start/end points in `textposition` *inside* mode.","dflt":"middle","editType":"plot","valType":"enumerated","values":["end","middle","start"]},"insidetextfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `text` lying inside the bar.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"marker":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","dflt":0,"editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the opacity of the bars.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"offset":{"arrayOk":false,"description":"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.","dflt":null,"editType":"calc","valType":"number"},"offsetgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"orientation":{"description":"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*.","editType":"calc+clearAxisTypes","valType":"enumerated","values":["v","h"]},"outsidetextfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `text` lying outside the bar.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textangle":{"description":"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.","dflt":0,"editType":"plot","valType":"angle"},"textfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `text`.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textinfo":{"arrayOk":false,"description":"Determines which trace information appear on the graph. In the case of having multiple funnels, percentages \u0026 totals are computed separately (per trace).","editType":"plot","extras":["none"],"flags":["label","text","percent initial","percent previous","percent total","value"],"valType":"flaglist"},"textposition":{"arrayOk":true,"description":"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.","dflt":"auto","editType":"calc","valType":"enumerated","values":["inside","outside","auto","none"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"funnel","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"width":{"arrayOk":false,"description":"Sets the bar width (in position axis units).","dflt":null,"editType":"calc","min":0,"valType":"number"},"x":{"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"x0":{"description":"Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"xperiod0":{"description":"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.","editType":"calc","valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"y0":{"description":"Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"yperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the y axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"yperiod0":{"description":"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.","editType":"calc","valType":"any"},"yperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"}},"categories":["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],"layoutAttributes":{"funnelgap":{"description":"Sets the gap (in plot fraction) between bars of adjacent location coordinates.","editType":"calc","max":1,"min":0,"valType":"number"},"funnelgroupgap":{"description":"Sets the gap (in plot fraction) between bars of the same location coordinate.","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"funnelmode":{"description":"Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars.","dflt":"stack","editType":"calc","valType":"enumerated","values":["stack","group","overlay"]}},"meta":{"description":"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."},"type":"funnel"},"funnelarea":{"animatable":false,"attributes":{"aspectratio":{"description":"Sets the ratio between height and width","dflt":1,"editType":"plot","min":0,"valType":"number"},"baseratio":{"description":"Sets the ratio between bottom length and maximum top length.","dflt":0.333,"editType":"plot","max":1,"min":0,"valType":"number"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dlabel":{"description":"Sets the label step. See `label0` for more info.","dflt":1,"editType":"calc","valType":"number"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this funnelarea trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"editType":"calc","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this funnelarea trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this funnelarea trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this funnelarea trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["label","text","value","percent","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"insidetextfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo` lying inside the sector.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"label0":{"description":"Alternate to `labels`. Builds a numeric set of labels. Use with `dlabel` where `label0` is the starting label and `dlabel` the step.","dflt":0,"editType":"calc","valType":"number"},"labels":{"description":"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.","editType":"calc","valType":"data_array"},"labelssrc":{"description":"Sets the source reference on Chart Studio Cloud for `labels`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"marker":{"colors":{"description":"Sets the color of each sector. If not specified, the default trace color set is used to pick the sector colors.","editType":"calc","valType":"data_array"},"colorssrc":{"description":"Sets the source reference on Chart Studio Cloud for `colors`.","editType":"none","valType":"string"},"editType":"calc","line":{"color":{"arrayOk":true,"description":"Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value.","dflt":null,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the line enclosing each sector.","dflt":1,"editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"pattern":{"bgcolor":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"description":"Sets the pattern within the marker.","editType":"style","fgcolor":{"arrayOk":true,"description":"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`.","editType":"style","valType":"color"},"fgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `fgcolor`.","editType":"none","valType":"string"},"fgopacity":{"description":"Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.","editType":"style","max":1,"min":0,"valType":"number"},"fillmode":{"description":"Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.","dflt":"replace","editType":"style","valType":"enumerated","values":["replace","overlay"]},"role":"object","shape":{"arrayOk":true,"description":"Sets the shape of the pattern fill. By default, no pattern is used for filling the area.","dflt":"","editType":"style","valType":"enumerated","values":["","/","\\","x","-","|","+","."]},"shapesrc":{"description":"Sets the source reference on Chart Studio Cloud for `shape`.","editType":"none","valType":"string"},"size":{"arrayOk":true,"description":"Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.","dflt":8,"editType":"style","min":0,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"solidity":{"arrayOk":true,"description":"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.","dflt":0.3,"editType":"style","max":1,"min":0,"valType":"number"},"soliditysrc":{"description":"Sets the source reference on Chart Studio Cloud for `solidity`.","editType":"none","valType":"string"}},"role":"object"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"scalegroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"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.","editType":"plot","valType":"data_array"},"textfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo`.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textinfo":{"description":"Determines which trace information appear on the graph.","editType":"calc","extras":["none"],"flags":["label","text","value","percent"],"valType":"flaglist"},"textposition":{"arrayOk":true,"description":"Specifies the location of the `textinfo`.","dflt":"inside","editType":"plot","valType":"enumerated","values":["inside","none"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"title":{"editType":"plot","font":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `title`. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"position":{"description":"Specifies the location of the `title`. Note that the title's position used to be set by the now deprecated `titleposition` attribute.","dflt":"top center","editType":"plot","valType":"enumerated","values":["top left","top center","top right"]},"role":"object","text":{"description":"Sets the title of the chart. If it is empty, no title is displayed. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","dflt":"","editType":"plot","valType":"string"}},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"funnelarea","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"values":{"description":"Sets the values of the sectors. If omitted, we count occurrences of each label.","editType":"calc","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["pie-like","funnelarea","showLegend"],"layoutAttributes":{"extendfunnelareacolors":{"description":"If `true`, the funnelarea slice colors (whether given by `funnelareacolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended.","dflt":true,"editType":"calc","valType":"boolean"},"funnelareacolorway":{"description":"Sets the default funnelarea slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendfunnelareacolors`.","editType":"calc","valType":"colorlist"},"hiddenlabels":{"description":"hiddenlabels is the funnelarea \u0026 pie chart analog of visible:'legendonly' but it can contain many labels, and can simultaneously hide slices from several pies/funnelarea charts","editType":"calc","valType":"data_array"},"hiddenlabelssrc":{"description":"Sets the source reference on Chart Studio Cloud for `hiddenlabels`.","editType":"none","valType":"string"}},"meta":{"description":"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."},"type":"funnelarea"},"heatmap":{"animatable":false,"attributes":{"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":false,"editType":"calc","impliedEdits":{},"valType":"boolean"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"connectgaps":{"description":"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.","editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dx":{"description":"Sets the x coordinate step. See `x0` for more info.","dflt":1,"editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"number"},"dy":{"description":"Sets the y coordinate step. See `y0` for more info.","dflt":1,"editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"number"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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.","dflt":true,"editType":"none","valType":"boolean"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"description":"Same as `text`.","editType":"calc","valType":"data_array"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"Sets the text elements associated with each z value.","editType":"calc","valType":"data_array"},"textfont":{"color":{"dflt":"auto","editType":"style","valType":"color"},"description":"Sets the text font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"dflt":"auto","editType":"plot","min":1,"valType":"number"}},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"description":"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`.","dflt":"","editType":"plot","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"transpose":{"description":"Transposes the z data.","dflt":false,"editType":"calc","valType":"boolean"},"type":"heatmap","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","impliedEdits":{"xtype":"array"},"valType":"data_array"},"x0":{"description":"Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.","dflt":0,"editType":"calc+clearAxisTypes","impliedEdits":{"xtype":"scaled"},"valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xgap":{"description":"Sets the horizontal gap (in pixels) between bricks.","dflt":0,"editType":"plot","min":0,"valType":"number"},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"any"},"xperiod0":{"description":"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.","editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"xtype":{"description":"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).","editType":"calc+clearAxisTypes","valType":"enumerated","values":["array","scaled"]},"y":{"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","impliedEdits":{"ytype":"array"},"valType":"data_array"},"y0":{"description":"Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.","dflt":0,"editType":"calc+clearAxisTypes","impliedEdits":{"ytype":"scaled"},"valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"ygap":{"description":"Sets the vertical gap (in pixels) between bricks.","dflt":0,"editType":"plot","min":0,"valType":"number"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"yperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the y axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"any"},"yperiod0":{"description":"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.","editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"any"},"yperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.","dflt":"middle","editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"enumerated","values":["start","middle","end"]},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"ytype":{"description":"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)","editType":"calc+clearAxisTypes","valType":"enumerated","values":["array","scaled"]},"z":{"description":"Sets the z data.","editType":"calc","valType":"data_array"},"zauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"zhoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"zmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"zauto":false},"valType":"number"},"zmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"zmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"zauto":false},"valType":"number"},"zsmooth":{"description":"Picks a smoothing algorithm use to smooth `z` data.","dflt":false,"editType":"calc","valType":"enumerated","values":["fast","best",false]},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["cartesian","svg","2dMap","showLegend"],"meta":{"description":"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."},"type":"heatmap"},"heatmapgl":{"animatable":false,"attributes":{"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":false,"editType":"calc","impliedEdits":{},"valType":"boolean"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"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*.","editType":"calc","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"calc","valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dx":{"description":"Sets the x coordinate step. See `x0` for more info.","dflt":1,"editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"number"},"dy":{"description":"Sets the y coordinate step. See `y0` for more info.","dflt":1,"editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"number"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"Sets the text elements associated with each z value.","editType":"calc","valType":"data_array"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"transpose":{"description":"Transposes the z data.","dflt":false,"editType":"calc","valType":"boolean"},"type":"heatmapgl","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the x coordinates.","editType":"calc","impliedEdits":{"xtype":"array"},"valType":"data_array"},"x0":{"description":"Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.","dflt":0,"editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"xtype":{"description":"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).","editType":"calc","valType":"enumerated","values":["array","scaled"]},"y":{"description":"Sets the y coordinates.","editType":"calc","impliedEdits":{"ytype":"array"},"valType":"data_array"},"y0":{"description":"Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.","dflt":0,"editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"ytype":{"description":"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)","editType":"calc","valType":"enumerated","values":["array","scaled"]},"z":{"description":"Sets the z data.","editType":"calc","valType":"data_array"},"zauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"zmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"zmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zsmooth":{"description":"Picks a smoothing algorithm use to smooth `z` data.","dflt":"fast","editType":"calc","valType":"enumerated","values":["fast",false]},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["gl","gl2d","2dMap"],"meta":{"description":"*heatmapgl* trace is deprecated! Please consider switching to the *heatmap* or *image* trace types. Alternatively you could contribute/sponsor rewriting this trace type based on cartesian features and using regl framework. WebGL version of the heatmap trace type."},"type":"heatmapgl"},"histogram":{"animatable":false,"attributes":{"_deprecated":{"bardir":{"description":"Renamed to `orientation`.","editType":"calc","valType":"enumerated","values":["v","h"]}},"alignmentgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"autobinx":{"description":"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.","dflt":null,"editType":"calc","valType":"boolean"},"autobiny":{"description":"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.","dflt":null,"editType":"calc","valType":"boolean"},"bingroup":{"description":"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`","dflt":"","editType":"calc","valType":"string"},"cliponaxis":{"description":"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*.","dflt":true,"editType":"plot","valType":"boolean"},"constraintext":{"description":"Constrain the size of text inside or outside a bar to be no larger than the bar itself.","dflt":"both","editType":"calc","valType":"enumerated","values":["inside","outside","both","none"]},"cumulative":{"currentbin":{"description":"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.","dflt":"include","editType":"calc","valType":"enumerated","values":["include","exclude","half"]},"direction":{"description":"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.","dflt":"increasing","editType":"calc","valType":"enumerated","values":["increasing","decreasing"]},"editType":"calc","enabled":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"error_x":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"style","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"style","valType":"color"},"copy_ystyle":{"editType":"plot","valType":"boolean"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"style","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"plot","min":0,"valType":"number"}},"error_y":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"style","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"style","valType":"color"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"style","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"plot","min":0,"valType":"number"}},"histfunc":{"description":"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.","dflt":"count","editType":"calc","valType":"enumerated","values":["count","sum","avg","min","max"]},"histnorm":{"description":"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).","dflt":"","editType":"calc","valType":"enumerated","values":["","percent","probability","density","probability density"]},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"insidetextanchor":{"description":"Determines if texts are kept at center or start/end points in `textposition` *inside* mode.","dflt":"end","editType":"plot","valType":"enumerated","values":["end","middle","start"]},"insidetextfont":{"color":{"editType":"style","valType":"color"},"description":"Sets the font used for `text` lying inside the bar.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"marker":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"cornerradius":{"description":"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.","editType":"calc","valType":"any"},"editType":"calc","line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","dflt":0,"editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the opacity of the bars.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"pattern":{"bgcolor":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"description":"Sets the pattern within the marker.","editType":"style","fgcolor":{"arrayOk":true,"description":"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`.","editType":"style","valType":"color"},"fgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `fgcolor`.","editType":"none","valType":"string"},"fgopacity":{"description":"Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.","editType":"style","max":1,"min":0,"valType":"number"},"fillmode":{"description":"Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.","dflt":"replace","editType":"style","valType":"enumerated","values":["replace","overlay"]},"role":"object","shape":{"arrayOk":true,"description":"Sets the shape of the pattern fill. By default, no pattern is used for filling the area.","dflt":"","editType":"style","valType":"enumerated","values":["","/","\\","x","-","|","+","."]},"shapesrc":{"description":"Sets the source reference on Chart Studio Cloud for `shape`.","editType":"none","valType":"string"},"size":{"arrayOk":true,"description":"Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.","dflt":8,"editType":"style","min":0,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"solidity":{"arrayOk":true,"description":"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.","dflt":0.3,"editType":"style","max":1,"min":0,"valType":"number"},"soliditysrc":{"description":"Sets the source reference on Chart Studio Cloud for `solidity`.","editType":"none","valType":"string"}},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"nbinsx":{"description":"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.","dflt":0,"editType":"calc","min":0,"valType":"integer"},"nbinsy":{"description":"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.","dflt":0,"editType":"calc","min":0,"valType":"integer"},"offsetgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"orientation":{"description":"Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal).","editType":"calc+clearAxisTypes","valType":"enumerated","values":["v","h"]},"outsidetextfont":{"color":{"editType":"style","valType":"color"},"description":"Sets the font used for `text` lying outside the bar.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textangle":{"description":"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.","dflt":"auto","editType":"plot","valType":"angle"},"textfont":{"color":{"editType":"style","valType":"color"},"description":"Sets the text font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"textposition":{"arrayOk":false,"description":"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.","dflt":"auto","editType":"calc","valType":"enumerated","values":["inside","outside","auto","none"]},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"description":"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`.","dflt":"","editType":"plot","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"histogram","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the sample data to be binned on the x axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xbins":{"editType":"calc","end":{"description":"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.","editType":"calc","valType":"any"},"role":"object","size":{"description":"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\u003cn\u003e* 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.","editType":"calc","valType":"any"},"start":{"description":"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.","editType":"calc","valType":"any"}},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the sample data to be binned on the y axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ybins":{"editType":"calc","end":{"description":"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.","editType":"calc","valType":"any"},"role":"object","size":{"description":"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\u003cn\u003e* 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.","editType":"calc","valType":"any"},"start":{"description":"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.","editType":"calc","valType":"any"}},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"}},"categories":["bar-like","cartesian","svg","bar","histogram","oriented","errorBarsOK","showLegend"],"layoutAttributes":{"barcornerradius":{"description":"Sets the rounding of bar corners. May be an integer number of pixels, or a percentage of bar width (as a string ending in %).","editType":"calc","valType":"any"},"bargap":{"description":"Sets the gap (in plot fraction) between bars of adjacent location coordinates.","editType":"calc","max":1,"min":0,"valType":"number"},"bargroupgap":{"description":"Sets the gap (in plot fraction) between bars of the same location coordinate.","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"barmode":{"description":"Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *relative*, the bars are stacked on top of one another, with negative values below the axis, positive values above With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars.","dflt":"group","editType":"calc","valType":"enumerated","values":["stack","group","overlay","relative"]},"barnorm":{"description":"Sets the normalization for bar traces on the graph. With *fraction*, the value of each bar is divided by the sum of all values at that location coordinate. *percent* is the same but multiplied by 100 to show percentages.","dflt":"","editType":"calc","valType":"enumerated","values":["","fraction","percent"]}},"meta":{"description":"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."},"type":"histogram"},"histogram2d":{"animatable":false,"attributes":{"autobinx":{"description":"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.","dflt":null,"editType":"calc","valType":"boolean"},"autobiny":{"description":"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.","dflt":null,"editType":"calc","valType":"boolean"},"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":false,"editType":"calc","impliedEdits":{},"valType":"boolean"},"bingroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"histfunc":{"description":"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.","dflt":"count","editType":"calc","valType":"enumerated","values":["count","sum","avg","min","max"]},"histnorm":{"description":"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).","dflt":"","editType":"calc","valType":"enumerated","values":["","percent","probability","density","probability density"]},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"marker":{"color":{"description":"Sets the aggregation data.","editType":"calc","valType":"data_array"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"nbinsx":{"description":"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.","dflt":0,"editType":"calc","min":0,"valType":"integer"},"nbinsy":{"description":"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.","dflt":0,"editType":"calc","min":0,"valType":"integer"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"textfont":{"color":{"dflt":"auto","editType":"style","valType":"color"},"description":"Sets the text font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"dflt":"auto","editType":"plot","min":1,"valType":"number"}},"texttemplate":{"description":"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`","dflt":"","editType":"plot","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"histogram2d","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the sample data to be binned on the x axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xbingroup":{"description":"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`","dflt":"","editType":"calc","valType":"string"},"xbins":{"editType":"calc","end":{"description":"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.","editType":"calc","valType":"any"},"role":"object","size":{"description":"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\u003cn\u003e* for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). ","editType":"calc","valType":"any"},"start":{"description":"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. ","editType":"calc","valType":"any"}},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xgap":{"description":"Sets the horizontal gap (in pixels) between bricks.","dflt":0,"editType":"plot","min":0,"valType":"number"},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the sample data to be binned on the y axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ybingroup":{"description":"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`","dflt":"","editType":"calc","valType":"string"},"ybins":{"editType":"calc","end":{"description":"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.","editType":"calc","valType":"any"},"role":"object","size":{"description":"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\u003cn\u003e* for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). ","editType":"calc","valType":"any"},"start":{"description":"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. ","editType":"calc","valType":"any"}},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"ygap":{"description":"Sets the vertical gap (in pixels) between bricks.","dflt":0,"editType":"plot","min":0,"valType":"number"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"Sets the aggregation data.","editType":"calc","valType":"data_array"},"zauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"zhoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"zmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"zauto":false},"valType":"number"},"zmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"zmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"zauto":false},"valType":"number"},"zsmooth":{"description":"Picks a smoothing algorithm use to smooth `z` data.","dflt":false,"editType":"calc","valType":"enumerated","values":["fast","best",false]},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["cartesian","svg","2dMap","histogram","showLegend"],"meta":{"description":"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.","hrName":"histogram_2d"},"type":"histogram2d"},"histogram2dcontour":{"animatable":false,"attributes":{"autobinx":{"description":"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.","dflt":null,"editType":"calc","valType":"boolean"},"autobiny":{"description":"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.","dflt":null,"editType":"calc","valType":"boolean"},"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"autocontour":{"description":"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`.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"bingroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"contours":{"coloring":{"description":"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.","dflt":"fill","editType":"calc","valType":"enumerated","values":["fill","heatmap","lines","none"]},"editType":"calc","end":{"description":"Sets the end contour level value. Must be more than `contours.start`","dflt":null,"editType":"plot","impliedEdits":{"^autocontour":false},"valType":"number"},"impliedEdits":{"autocontour":false,"role":"object"},"labelfont":{"color":{"editType":"style","valType":"color"},"description":"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`.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"labelformat":{"description":"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.","dflt":"","editType":"plot","valType":"string"},"operation":{"description":"Sets the constraint operation. *=* keeps regions equal to `value` *\u003c* and *\u003c=* keep regions less than `value` *\u003e* and *\u003e=* 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.","dflt":"=","editType":"calc","valType":"enumerated","values":["=","\u003c","\u003e=","\u003e","\u003c=","[]","()","[)","(]","][",")(","](",")["]},"role":"object","showlabels":{"description":"Determines whether to label the contour lines with their values.","dflt":false,"editType":"plot","valType":"boolean"},"showlines":{"description":"Determines whether or not the contour lines are drawn. Has an effect only if `contours.coloring` is set to *fill*.","dflt":true,"editType":"plot","valType":"boolean"},"size":{"description":"Sets the step between each contour level. Must be positive.","dflt":null,"editType":"plot","impliedEdits":{"^autocontour":false},"min":0,"valType":"number"},"start":{"description":"Sets the starting contour level value. Must be less than `contours.end`","dflt":null,"editType":"plot","impliedEdits":{"^autocontour":false},"valType":"number"},"type":{"description":"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.","dflt":"levels","editType":"calc","valType":"enumerated","values":["levels","constraint"]},"value":{"description":"Sets the value or values of the constraint boundary. When `operation` is set to one of the comparison values (=,\u003c,\u003e=,\u003e,\u003c=) *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.","dflt":0,"editType":"calc","valType":"any"}},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"histfunc":{"description":"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.","dflt":"count","editType":"calc","valType":"enumerated","values":["count","sum","avg","min","max"]},"histnorm":{"description":"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).","dflt":"","editType":"calc","valType":"enumerated","values":["","percent","probability","density","probability density"]},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"color":{"description":"Sets the color of the contour level. Has no effect if `contours.coloring` is set to *lines*.","editType":"style+colorbars","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"plot","role":"object","smoothing":{"description":"Sets the amount of smoothing for the contour lines, where *0* corresponds to no smoothing.","dflt":1,"editType":"plot","max":1.3,"min":0,"valType":"number"},"width":{"description":"Sets the contour line width in (in px)","dflt":0.5,"editType":"style+colorbars","min":0,"valType":"number"}},"marker":{"color":{"description":"Sets the aggregation data.","editType":"calc","valType":"data_array"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"nbinsx":{"description":"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.","dflt":0,"editType":"calc","min":0,"valType":"integer"},"nbinsy":{"description":"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.","dflt":0,"editType":"calc","min":0,"valType":"integer"},"ncontours":{"description":"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.","dflt":15,"editType":"calc","min":1,"valType":"integer"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"textfont":{"color":{"dflt":"auto","editType":"style","valType":"color"},"description":"For this trace it only has an effect if `coloring` is set to *heatmap*. Sets the text font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"dflt":"auto","editType":"plot","min":1,"valType":"number"}},"texttemplate":{"description":"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`.","dflt":"","editType":"plot","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"histogram2dcontour","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the sample data to be binned on the x axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xbingroup":{"description":"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`","dflt":"","editType":"calc","valType":"string"},"xbins":{"editType":"calc","end":{"description":"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.","editType":"calc","valType":"any"},"role":"object","size":{"description":"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\u003cn\u003e* for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). ","editType":"calc","valType":"any"},"start":{"description":"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. ","editType":"calc","valType":"any"}},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the sample data to be binned on the y axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ybingroup":{"description":"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`","dflt":"","editType":"calc","valType":"string"},"ybins":{"editType":"calc","end":{"description":"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.","editType":"calc","valType":"any"},"role":"object","size":{"description":"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\u003cn\u003e* for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). ","editType":"calc","valType":"any"},"start":{"description":"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. ","editType":"calc","valType":"any"}},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"Sets the aggregation data.","editType":"calc","valType":"data_array"},"zauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"zhoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"zmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"zmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["cartesian","svg","2dMap","contour","histogram","showLegend"],"meta":{"description":"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.","hrName":"histogram_2d_contour"},"type":"histogram2dcontour"},"icicle":{"animatable":true,"attributes":{"branchvalues":{"description":"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.","dflt":"remainder","editType":"calc","valType":"enumerated","values":["remainder","total"]},"count":{"description":"Determines default for `values` when it is not provided, by inferring a 1 for each of the *leaves* and/or *branches*, otherwise 0.","dflt":"leaves","editType":"calc","flags":["branches","leaves"],"valType":"flaglist"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this icicle trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"editType":"calc","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this icicle trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this icicle trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this icicle trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"label+text+value+name","editType":"none","extras":["all","none","skip"],"flags":["label","text","value","name","current path","percent root","percent entry","percent parent"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"ids":{"anim":true,"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"insidetextfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo` lying inside the sector.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"labels":{"description":"Sets the labels of each of the sectors.","editType":"calc","valType":"data_array"},"labelssrc":{"description":"Sets the source reference on Chart Studio Cloud for `labels`.","editType":"none","valType":"string"},"leaf":{"editType":"plot","opacity":{"description":"Sets the opacity of the leaves. With colorscale it is defaulted to 1; otherwise it is defaulted to 0.7","editType":"style","max":1,"min":0,"valType":"number"},"role":"object"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"level":{"anim":true,"description":"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`.","editType":"plot","valType":"any"},"marker":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colors":{"description":"Sets the color of each sector of this trace. If not specified, the default trace color set is used to pick the sector colors.","editType":"calc","valType":"data_array"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorssrc":{"description":"Sets the source reference on Chart Studio Cloud for `colors`.","editType":"none","valType":"string"},"editType":"calc","line":{"color":{"arrayOk":true,"description":"Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value.","dflt":null,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the line enclosing each sector.","dflt":1,"editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"pattern":{"bgcolor":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"description":"Sets the pattern within the marker.","editType":"style","fgcolor":{"arrayOk":true,"description":"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`.","editType":"style","valType":"color"},"fgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `fgcolor`.","editType":"none","valType":"string"},"fgopacity":{"description":"Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.","editType":"style","max":1,"min":0,"valType":"number"},"fillmode":{"description":"Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.","dflt":"replace","editType":"style","valType":"enumerated","values":["replace","overlay"]},"role":"object","shape":{"arrayOk":true,"description":"Sets the shape of the pattern fill. By default, no pattern is used for filling the area.","dflt":"","editType":"style","valType":"enumerated","values":["","/","\\","x","-","|","+","."]},"shapesrc":{"description":"Sets the source reference on Chart Studio Cloud for `shape`.","editType":"none","valType":"string"},"size":{"arrayOk":true,"description":"Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.","dflt":8,"editType":"style","min":0,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"solidity":{"arrayOk":true,"description":"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.","dflt":0.3,"editType":"style","max":1,"min":0,"valType":"number"},"soliditysrc":{"description":"Sets the source reference on Chart Studio Cloud for `solidity`.","editType":"none","valType":"string"}},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"Determines whether or not a colorbar is displayed for this trace. Has an effect only if colors is set to a numerical array.","dflt":false,"editType":"calc","valType":"boolean"}},"maxdepth":{"description":"Sets the number of rendered sectors from any given `level`. Set `maxdepth` to *-1* to render all the levels in the hierarchy.","dflt":-1,"editType":"plot","valType":"integer"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"outsidetextfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"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.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"parents":{"description":"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.","editType":"calc","valType":"data_array"},"parentssrc":{"description":"Sets the source reference on Chart Studio Cloud for `parents`.","editType":"none","valType":"string"},"pathbar":{"edgeshape":{"description":"Determines which shape is used for edges between `barpath` labels.","dflt":"\u003e","editType":"plot","valType":"enumerated","values":["\u003e","\u003c","|","/","\\"]},"editType":"calc","role":"object","side":{"description":"Determines on which side of the the treemap the `pathbar` should be presented.","dflt":"top","editType":"plot","valType":"enumerated","values":["top","bottom"]},"textfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used inside `pathbar`.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"thickness":{"description":"Sets the thickness of `pathbar` (in px). If not specified the `pathbar.textfont.size` is used with 3 pixles extra padding on each side.","editType":"plot","min":12,"valType":"number"},"visible":{"description":"Determines if the path bar is drawn i.e. outside the trace `domain` and with one pixel gap.","dflt":true,"editType":"plot","valType":"boolean"}},"root":{"color":{"description":"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.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"editType":"calc","role":"object"},"sort":{"description":"Determines whether or not the sectors are reordered from largest to smallest.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"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.","editType":"plot","valType":"data_array"},"textfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo`.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textinfo":{"description":"Determines which trace information appear on the graph.","editType":"plot","extras":["none"],"flags":["label","text","value","current path","percent root","percent entry","percent parent"],"valType":"flaglist"},"textposition":{"description":"Sets the positions of the `text` elements.","dflt":"top left","editType":"plot","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"tiling":{"editType":"calc","flip":{"description":"Determines if the positions obtained from solver are flipped on each axis.","dflt":"","editType":"plot","flags":["x","y"],"valType":"flaglist"},"orientation":{"description":"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.","dflt":"h","editType":"plot","valType":"enumerated","values":["v","h"]},"pad":{"description":"Sets the inner padding (in px).","dflt":0,"editType":"plot","min":0,"valType":"number"},"role":"object"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"icicle","uid":{"anim":true,"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"values":{"description":"Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed.","editType":"calc","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":[],"layoutAttributes":{"extendiciclecolors":{"description":"If `true`, the icicle slice colors (whether given by `iciclecolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended.","dflt":true,"editType":"calc","valType":"boolean"},"iciclecolorway":{"description":"Sets the default icicle slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendiciclecolors`.","editType":"calc","valType":"colorlist"}},"meta":{"description":"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*."},"type":"icicle"},"image":{"animatable":false,"attributes":{"colormodel":{"description":"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`.","editType":"calc","valType":"enumerated","values":["rgb","rgba","rgba256","hsl","hsla"]},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dx":{"description":"Set the pixel's horizontal size.","dflt":1,"editType":"calc","valType":"number"},"dy":{"description":"Set the pixel's vertical size","dflt":1,"editType":"calc","valType":"number"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"x+y+z+text+name","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","color","name","text"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"description":"Same as `text`.","editType":"plot","valType":"data_array"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"source":{"description":"Specifies the data URI of the image to be visualized. The URI consists of \"data:image/[\u003cmedia subtype\u003e][;base64],\u003cdata\u003e\"","editType":"calc","valType":"string"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"Sets the text elements associated with each z value.","editType":"plot","valType":"data_array"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"type":"image","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x0":{"description":"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","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"y0":{"description":"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.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"z":{"description":"A 2-dimensional array in which each element is an array of 3 or 4 numbers representing a color.","editType":"calc","valType":"data_array"},"zmax":{"description":"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].","editType":"calc","items":[{"editType":"calc","valType":"number"},{"editType":"calc","valType":"number"},{"editType":"calc","valType":"number"},{"editType":"calc","valType":"number"}],"valType":"info_array"},"zmin":{"description":"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].","editType":"calc","items":[{"editType":"calc","valType":"number"},{"editType":"calc","valType":"number"},{"editType":"calc","valType":"number"},{"editType":"calc","valType":"number"}],"valType":"info_array"},"zsmooth":{"description":"Picks a smoothing algorithm used to smooth `z` data. This only applies for image traces that use the `source` attribute.","dflt":false,"editType":"plot","valType":"enumerated","values":["fast",false]},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["cartesian","svg","2dMap","noSortingByValue"],"meta":{"description":"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."},"type":"image"},"indicator":{"animatable":true,"attributes":{"align":{"description":"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","editType":"plot","valType":"enumerated","values":["left","center","right"]},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"delta":{"decreasing":{"color":{"description":"Sets the color for increasing value.","dflt":"#FF4136","editType":"plot","valType":"color"},"editType":"plot","role":"object","symbol":{"description":"Sets the symbol to display for increasing value","dflt":"▼","editType":"plot","valType":"string"}},"editType":"calc","font":{"color":{"editType":"plot","valType":"color"},"description":"Set the font used to display the delta","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"increasing":{"color":{"description":"Sets the color for increasing value.","dflt":"#3D9970","editType":"plot","valType":"color"},"editType":"plot","role":"object","symbol":{"description":"Sets the symbol to display for increasing value","dflt":"▲","editType":"plot","valType":"string"}},"position":{"description":"Sets the position of delta with respect to the number.","dflt":"bottom","editType":"plot","valType":"enumerated","values":["top","bottom","left","right"]},"prefix":{"description":"Sets a prefix appearing before the delta.","dflt":"","editType":"plot","valType":"string"},"reference":{"description":"Sets the reference value to compute the delta. By default, it is set to the current value.","editType":"calc","valType":"number"},"relative":{"description":"Show relative change","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","suffix":{"description":"Sets a suffix appearing next to the delta.","dflt":"","editType":"plot","valType":"string"},"valueformat":{"description":"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.","editType":"plot","valType":"string"}},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this indicator trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"editType":"calc","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this indicator trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this indicator trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this indicator trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"gauge":{"axis":{"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"plot","exponentformat":{"description":"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.","dflt":"B","editType":"plot","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"plot","valType":"any"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"plot","min":0,"valType":"number"},"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,"editType":"plot","min":0,"valType":"integer"},"range":{"description":"Sets the range of this axis.","editType":"plot","items":[{"editType":"plot","valType":"number"},{"editType":"plot","valType":"number"}],"valType":"info_array"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"plot","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"plot","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the color bar's tick label font","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"editType":"plot","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"plot","valType":"string"}}},"role":"object"},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"plot","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","dflt":"outside","editType":"plot","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"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","dflt":true,"editType":"plot","valType":"boolean"}},"bar":{"color":{"description":"Sets the background color of the arc.","dflt":"green","editType":"plot","valType":"color"},"description":"Set the appearance of the gauge's value","editType":"calc","line":{"color":{"description":"Sets the color of the line enclosing each sector.","dflt":"#444","editType":"plot","valType":"color"},"editType":"calc","role":"object","width":{"description":"Sets the width (in px) of the line enclosing each sector.","dflt":0,"editType":"plot","min":0,"valType":"number"}},"role":"object","thickness":{"description":"Sets the thickness of the bar as a fraction of the total thickness of the gauge.","dflt":1,"editType":"plot","max":1,"min":0,"valType":"number"}},"bgcolor":{"description":"Sets the gauge background color.","editType":"plot","valType":"color"},"bordercolor":{"description":"Sets the color of the border enclosing the gauge.","dflt":"#444","editType":"plot","valType":"color"},"borderwidth":{"description":"Sets the width (in px) of the border enclosing the gauge.","dflt":1,"editType":"plot","min":0,"valType":"number"},"description":"The gauge of the Indicator plot.","editType":"plot","role":"object","shape":{"description":"Set the shape of the gauge","dflt":"angular","editType":"plot","valType":"enumerated","values":["angular","bullet"]},"steps":{"items":{"step":{"color":{"description":"Sets the background color of the arc.","editType":"plot","valType":"color"},"editType":"calc","line":{"color":{"description":"Sets the color of the line enclosing each sector.","dflt":"#444","editType":"plot","valType":"color"},"editType":"calc","role":"object","width":{"description":"Sets the width (in px) of the line enclosing each sector.","dflt":0,"editType":"plot","min":0,"valType":"number"}},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"range":{"description":"Sets the range of this axis.","editType":"plot","items":[{"editType":"plot","valType":"number"},{"editType":"plot","valType":"number"}],"valType":"info_array"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"thickness":{"description":"Sets the thickness of the bar as a fraction of the total thickness of the gauge.","dflt":1,"editType":"plot","max":1,"min":0,"valType":"number"}}},"role":"object"},"threshold":{"editType":"plot","line":{"color":{"description":"Sets the color of the threshold line.","dflt":"#444","editType":"plot","valType":"color"},"editType":"plot","role":"object","width":{"description":"Sets the width (in px) of the threshold line.","dflt":1,"editType":"plot","min":0,"valType":"number"}},"role":"object","thickness":{"description":"Sets the thickness of the threshold line as a fraction of the thickness of the gauge.","dflt":0.85,"editType":"plot","max":1,"min":0,"valType":"number"},"value":{"description":"Sets a treshold value drawn as a line.","dflt":false,"editType":"calc","valType":"number"}}},"ids":{"anim":true,"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"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.","dflt":"number","editType":"calc","flags":["number","delta","gauge"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"number":{"editType":"plot","font":{"color":{"editType":"plot","valType":"color"},"description":"Set the font used to display main number","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"prefix":{"description":"Sets a prefix appearing before the number.","dflt":"","editType":"plot","valType":"string"},"role":"object","suffix":{"description":"Sets a suffix appearing next to the number.","dflt":"","editType":"plot","valType":"string"},"valueformat":{"description":"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.","dflt":"","editType":"plot","valType":"string"}},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"title":{"align":{"description":"Sets the horizontal alignment of the title. It defaults to `center` except for bullet charts for which it defaults to right.","editType":"plot","valType":"enumerated","values":["left","center","right"]},"editType":"plot","font":{"color":{"editType":"plot","valType":"color"},"description":"Set the font used to display the title","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of this indicator.","editType":"plot","valType":"string"}},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"indicator","uid":{"anim":true,"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"value":{"anim":true,"description":"Sets the number to be displayed.","editType":"calc","valType":"number"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["svg","noOpacity","noHover"],"meta":{"description":"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."},"type":"indicator"},"isosurface":{"animatable":false,"attributes":{"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"caps":{"editType":"calc","role":"object","x":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","show":{"description":"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.","dflt":true,"editType":"calc","valType":"boolean"}},"y":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","show":{"description":"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.","dflt":true,"editType":"calc","valType":"boolean"}},"z":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","show":{"description":"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.","dflt":true,"editType":"calc","valType":"boolean"}}},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"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*.","editType":"calc","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"calc","valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"contour":{"color":{"description":"Sets the color of the contour lines.","dflt":"#444","editType":"calc","valType":"color"},"editType":"calc","role":"object","show":{"description":"Sets whether or not dynamic contours are shown on hover","dflt":false,"editType":"calc","valType":"boolean"},"width":{"description":"Sets the width of the contour lines.","dflt":2,"editType":"calc","max":16,"min":1,"valType":"number"}},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"flatshading":{"description":"Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low-poly look via flat reflections.","dflt":true,"editType":"calc","valType":"boolean"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"isomax":{"description":"Sets the maximum boundary for iso-surface plot.","editType":"calc","valType":"number"},"isomin":{"description":"Sets the minimum boundary for iso-surface plot.","editType":"calc","valType":"number"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"lighting":{"ambient":{"description":"Ambient light increases overall color visibility but can wash out the image.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"diffuse":{"description":"Represents the extent that incident rays are reflected in a range of angles.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"editType":"calc","facenormalsepsilon":{"description":"Epsilon for face normals calculation avoids math issues arising from degenerate geometry.","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"fresnel":{"description":"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.","dflt":0.2,"editType":"calc","max":5,"min":0,"valType":"number"},"role":"object","roughness":{"description":"Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.","dflt":0.5,"editType":"calc","max":1,"min":0,"valType":"number"},"specular":{"description":"Represents the level that incident rays are reflected in a single direction, causing shine.","dflt":0.05,"editType":"calc","max":2,"min":0,"valType":"number"},"vertexnormalsepsilon":{"description":"Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.","dflt":1e-12,"editType":"calc","max":1,"min":0,"valType":"number"}},"lightposition":{"editType":"calc","role":"object","x":{"description":"Numeric vector, representing the X coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"y":{"description":"Numeric vector, representing the Y coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"z":{"description":"Numeric vector, representing the Z coordinate for each vertex.","dflt":0,"editType":"calc","max":100000,"min":-100000,"valType":"number"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"scene":{"description":"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.","dflt":"scene","editType":"calc+clearAxisTypes","valType":"subplotid"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"calc","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"slices":{"editType":"calc","role":"object","x":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"locations":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"locationssrc":{"description":"Sets the source reference on Chart Studio Cloud for `locations`.","editType":"none","valType":"string"},"role":"object","show":{"description":"Determines whether or not slice planes about the x dimension are drawn.","dflt":false,"editType":"calc","valType":"boolean"}},"y":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"locations":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"locationssrc":{"description":"Sets the source reference on Chart Studio Cloud for `locations`.","editType":"none","valType":"string"},"role":"object","show":{"description":"Determines whether or not slice planes about the y dimension are drawn.","dflt":false,"editType":"calc","valType":"boolean"}},"z":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"locations":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"locationssrc":{"description":"Sets the source reference on Chart Studio Cloud for `locations`.","editType":"none","valType":"string"},"role":"object","show":{"description":"Determines whether or not slice planes about the z dimension are drawn.","dflt":false,"editType":"calc","valType":"boolean"}}},"spaceframe":{"editType":"calc","fill":{"description":"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).","dflt":0.15,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","show":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"surface":{"count":{"description":"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.","dflt":2,"editType":"calc","min":1,"valType":"integer"},"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"pattern":{"description":"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.","dflt":"all","editType":"calc","extras":["all","odd","even"],"flags":["A","B","C","D","E"],"valType":"flaglist"},"role":"object","show":{"description":"Hides/displays surfaces between minimum and maximum iso-values.","dflt":true,"editType":"calc","valType":"boolean"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"type":"isosurface","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"value":{"description":"Sets the 4th dimension (value) of the vertices.","editType":"calc+clearAxisTypes","valType":"data_array"},"valuehoverformat":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"valuesrc":{"description":"Sets the source reference on Chart Studio Cloud for `value`.","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the X coordinates of the vertices on X axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"xhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the Y coordinates of the vertices on Y axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"yhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"Sets the Z coordinates of the vertices on Z axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"zhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["gl3d","showLegend"],"meta":{"description":"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."},"type":"isosurface"},"mesh3d":{"animatable":false,"attributes":{"alphahull":{"description":"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 *\u003e0*, 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.","dflt":-1,"editType":"calc","valType":"number"},"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"description":"Sets the color of the whole mesh","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"contour":{"color":{"description":"Sets the color of the contour lines.","dflt":"#444","editType":"calc","valType":"color"},"editType":"calc","role":"object","show":{"description":"Sets whether or not dynamic contours are shown on hover","dflt":false,"editType":"calc","valType":"boolean"},"width":{"description":"Sets the width of the contour lines.","dflt":2,"editType":"calc","max":16,"min":1,"valType":"number"}},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"delaunayaxis":{"description":"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.","dflt":"z","editType":"calc","valType":"enumerated","values":["x","y","z"]},"facecolor":{"description":"Sets the color of each face Overrides *color* and *vertexcolor*.","editType":"calc","valType":"data_array"},"facecolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `facecolor`.","editType":"none","valType":"string"},"flatshading":{"description":"Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low-poly look via flat reflections.","dflt":false,"editType":"calc","valType":"boolean"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"i":{"description":"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.","editType":"calc","valType":"data_array"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"intensity":{"description":"Sets the intensity values for vertices or cells as defined by `intensitymode`. It can be used for plotting fields on meshes.","editType":"calc","valType":"data_array"},"intensitymode":{"description":"Determines the source of `intensity` values.","dflt":"vertex","editType":"calc","valType":"enumerated","values":["vertex","cell"]},"intensitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `intensity`.","editType":"none","valType":"string"},"isrc":{"description":"Sets the source reference on Chart Studio Cloud for `i`.","editType":"none","valType":"string"},"j":{"description":"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.","editType":"calc","valType":"data_array"},"jsrc":{"description":"Sets the source reference on Chart Studio Cloud for `j`.","editType":"none","valType":"string"},"k":{"description":"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.","editType":"calc","valType":"data_array"},"ksrc":{"description":"Sets the source reference on Chart Studio Cloud for `k`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"lighting":{"ambient":{"description":"Ambient light increases overall color visibility but can wash out the image.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"diffuse":{"description":"Represents the extent that incident rays are reflected in a range of angles.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"editType":"calc","facenormalsepsilon":{"description":"Epsilon for face normals calculation avoids math issues arising from degenerate geometry.","dflt":0.000001,"editType":"calc","max":1,"min":0,"valType":"number"},"fresnel":{"description":"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.","dflt":0.2,"editType":"calc","max":5,"min":0,"valType":"number"},"role":"object","roughness":{"description":"Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.","dflt":0.5,"editType":"calc","max":1,"min":0,"valType":"number"},"specular":{"description":"Represents the level that incident rays are reflected in a single direction, causing shine.","dflt":0.05,"editType":"calc","max":2,"min":0,"valType":"number"},"vertexnormalsepsilon":{"description":"Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.","dflt":1e-12,"editType":"calc","max":1,"min":0,"valType":"number"}},"lightposition":{"editType":"calc","role":"object","x":{"description":"Numeric vector, representing the X coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"y":{"description":"Numeric vector, representing the Y coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"z":{"description":"Numeric vector, representing the Z coordinate for each vertex.","dflt":0,"editType":"calc","max":100000,"min":-100000,"valType":"number"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"scene":{"description":"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.","dflt":"scene","editType":"calc+clearAxisTypes","valType":"subplotid"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"type":"mesh3d","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"vertexcolor":{"description":"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.","editType":"calc","valType":"data_array"},"vertexcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `vertexcolor`.","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"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.","editType":"calc+clearAxisTypes","valType":"data_array"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"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.","editType":"calc+clearAxisTypes","valType":"data_array"},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"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.","editType":"calc+clearAxisTypes","valType":"data_array"},"zcalendar":{"description":"Sets the calendar system to use with `z` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"zhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["gl3d","showLegend"],"meta":{"description":"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"},"type":"mesh3d"},"ohlc":{"animatable":false,"attributes":{"close":{"description":"Sets the close values.","editType":"calc","valType":"data_array"},"closesrc":{"description":"Sets the source reference on Chart Studio Cloud for `close`.","editType":"none","valType":"string"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"decreasing":{"editType":"style","line":{"color":{"description":"Sets the line color.","dflt":"#FF4136","editType":"style","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"style","role":"object","width":{"description":"Sets the line width (in px).","dflt":2,"editType":"style","min":0,"valType":"number"}},"role":"object"},"high":{"description":"Sets the high values.","editType":"calc","valType":"data_array"},"highsrc":{"description":"Sets the source reference on Chart Studio Cloud for `high`.","editType":"none","valType":"string"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object","split":{"description":"Show hover information (open, close, high, low) in separate labels.","dflt":false,"editType":"style","valType":"boolean"}},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"increasing":{"editType":"style","line":{"color":{"description":"Sets the line color.","dflt":"#3D9970","editType":"style","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"style","role":"object","width":{"description":"Sets the line width (in px).","dflt":2,"editType":"style","min":0,"valType":"number"}},"role":"object"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"dash":{"description":"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`.","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"style","role":"object","width":{"description":"[object Object] Note that this style setting can also be set per direction via `increasing.line.width` and `decreasing.line.width`.","dflt":2,"editType":"style","min":0,"valType":"number"}},"low":{"description":"Sets the low values.","editType":"calc","valType":"data_array"},"lowsrc":{"description":"Sets the source reference on Chart Studio Cloud for `low`.","editType":"none","valType":"string"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"open":{"description":"Sets the open values.","editType":"calc","valType":"data_array"},"opensrc":{"description":"Sets the source reference on Chart Studio Cloud for `open`.","editType":"none","valType":"string"},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the width of the open/close tick marks relative to the *x* minimal interval.","dflt":0.3,"editType":"calc","max":0.5,"min":0,"valType":"number"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"ohlc","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the x coordinates. If absent, linear coordinate will be generated.","editType":"calc+clearAxisTypes","valType":"data_array"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"xperiod0":{"description":"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.","editType":"calc","valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"}},"categories":["cartesian","svg","showLegend"],"meta":{"description":"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."},"type":"ohlc"},"parcats":{"animatable":false,"attributes":{"arrangement":{"description":"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.","dflt":"perpendicular","editType":"plot","valType":"enumerated","values":["perpendicular","freeform","fixed"]},"bundlecolors":{"description":"Sort paths so that like colors are bundled together within each category.","dflt":true,"editType":"plot","valType":"boolean"},"counts":{"arrayOk":true,"description":"The number of observations represented by each state. Defaults to 1 so that each state represents one observation","dflt":1,"editType":"calc","min":0,"valType":"number"},"countssrc":{"description":"Sets the source reference on Chart Studio Cloud for `counts`.","editType":"none","valType":"string"},"dimensions":{"items":{"dimension":{"categoryarray":{"description":"Sets the order in which categories in this dimension appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"calc","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`.","dflt":"trace","editType":"calc","valType":"enumerated","values":["trace","category ascending","category descending","array"]},"description":"The dimensions (variables) of the parallel categories diagram.","displayindex":{"description":"The display index of dimension, from left to right, zero indexed, defaults to dimension index.","editType":"calc","valType":"integer"},"editType":"calc","label":{"description":"The shown name of the dimension.","editType":"calc","valType":"string"},"role":"object","ticktext":{"description":"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`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"values":{"description":"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).","dflt":[],"editType":"calc","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"},"visible":{"description":"Shows the dimension when set to `true` (the default). Hides the dimension for `false`.","dflt":true,"editType":"calc","valType":"boolean"}}},"role":"object"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this parcats trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"editType":"calc","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this parcats trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this parcats trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this parcats trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"hoverinfo":{"arrayOk":false,"description":"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.","dflt":"all","editType":"plot","extras":["all","none","skip"],"flags":["count","probability"],"valType":"flaglist"},"hoveron":{"description":"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.","dflt":"category","editType":"plot","valType":"enumerated","values":["category","color","dimension"]},"hovertemplate":{"description":"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* flagFinally, the template string has access to variables `count`, `probability`, `category`, `categorycount`, `colorcount` and `bandcolorcount`. Anything contained in tag `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"plot","valType":"string"},"labelfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the font for the `dimension` labels.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","hovertemplate":{"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"plot","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","shape":{"description":"Sets the shape of the paths. If `linear`, paths are composed of straight lines. If `hspline`, paths are composed of horizontal curved splines","dflt":"linear","editType":"plot","valType":"enumerated","values":["linear","hspline"]},"showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"sortpaths":{"description":"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.","dflt":"forward","editType":"plot","valType":"enumerated","values":["forward","backward"]},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the font for the `category` labels.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"parcats","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["noOpacity"],"meta":{"description":"Parallel categories diagram for multidimensional categorical data."},"type":"parcats"},"parcoords":{"animatable":false,"attributes":{"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dimensions":{"items":{"dimension":{"constraintrange":{"description":"The domain range to which the filter on the dimension is constrained. Must be an array of `[fromValue, toValue]` with `fromValue \u003c= toValue`, or if `multiselect` is not disabled, you may give an array of arrays, where each inner array is `[fromValue, toValue]`.","dimensions":"1-2","editType":"plot","freeLength":true,"items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"description":"The dimensions (variables) of the parallel coordinates chart. 2..60 dimensions are supported.","editType":"calc","label":{"description":"The shown name of the dimension.","editType":"plot","valType":"string"},"multiselect":{"description":"Do we allow multiple selection ranges or just a single range?","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"range":{"description":"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.","editType":"plot","items":[{"editType":"plot","valType":"number"},{"editType":"plot","valType":"number"}],"valType":"info_array"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"values":{"description":"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.","editType":"calc","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"},"visible":{"description":"Shows the dimension when set to `true` (the default). Hides the dimension for `false`.","dflt":true,"editType":"plot","valType":"boolean"}}},"role":"object"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this parcoords trace .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"editType":"plot","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this parcoords trace .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this parcoords trace (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this parcoords trace (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"labelangle":{"description":"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*.","dflt":0,"editType":"plot","valType":"angle"},"labelfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the font for the `dimension` labels.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"labelside":{"description":"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*.","dflt":"top","editType":"plot","valType":"enumerated","values":["top","bottom"]},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"autocolorscale":{"description":"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.","dflt":false,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":[[0,"#440154"],[0.06274509803921569,"#48186a"],[0.12549019607843137,"#472d7b"],[0.18823529411764706,"#424086"],[0.25098039215686274,"#3b528b"],[0.3137254901960784,"#33638d"],[0.3764705882352941,"#2c728e"],[0.4392156862745098,"#26828e"],[0.5019607843137255,"#21918c"],[0.5647058823529412,"#1fa088"],[0.6274509803921569,"#28ae80"],[0.6901960784313725,"#3fbc73"],[0.7529411764705882,"#5ec962"],[0.8156862745098039,"#84d44b"],[0.8784313725490196,"#addc30"],[0.9411764705882353,"#d8e219"],[1,"#fde725"]],"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"rangefont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the font for the `dimension` range values.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the font for the `dimension` tick values.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"parcoords","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"plot","line":{"color":{"description":"Sets the base color of unselected lines. in connection with `unselected.line.opacity`.","dflt":"#7f7f7f","editType":"plot","valType":"color"},"editType":"plot","opacity":{"description":"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`.","dflt":"auto","editType":"plot","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["gl","regl","noOpacity","noHover"],"meta":{"description":"Parallel coordinates for multidimensional exploratory data analysis. The samples are specified in `dimensions`. The colors are set in `line.color`."},"type":"parcoords"},"pie":{"animatable":false,"attributes":{"_deprecated":{"title":{"description":"Deprecated in favor of `title.text`. Note that value of `title` is no longer a simple *string* but a set of sub-attributes.","dflt":"","editType":"calc","valType":"string"},"titlefont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"description":"Deprecated in favor of `title.font`.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"}},"titleposition":{"description":"Deprecated in favor of `title.position`.","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle center","bottom left","bottom center","bottom right"]}},"automargin":{"description":"Determines whether outside text labels can push the margins.","dflt":false,"editType":"plot","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"direction":{"description":"Specifies the direction at which succeeding sectors follow one another.","dflt":"counterclockwise","editType":"calc","valType":"enumerated","values":["clockwise","counterclockwise"]},"dlabel":{"description":"Sets the label step. See `label0` for more info.","dflt":1,"editType":"calc","valType":"number"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this pie trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"editType":"calc","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this pie trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this pie trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this pie trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"hole":{"description":"Sets the fraction of the radius to cut out of the pie. Use this to make a donut chart.","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["label","text","value","percent","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"insidetextfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo` lying inside the sector.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"insidetextorientation":{"description":"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.","dflt":"auto","editType":"plot","valType":"enumerated","values":["horizontal","radial","tangential","auto"]},"label0":{"description":"Alternate to `labels`. Builds a numeric set of labels. Use with `dlabel` where `label0` is the starting label and `dlabel` the step.","dflt":0,"editType":"calc","valType":"number"},"labels":{"description":"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.","editType":"calc","valType":"data_array"},"labelssrc":{"description":"Sets the source reference on Chart Studio Cloud for `labels`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"marker":{"colors":{"description":"Sets the color of each sector. If not specified, the default trace color set is used to pick the sector colors.","editType":"calc","valType":"data_array"},"colorssrc":{"description":"Sets the source reference on Chart Studio Cloud for `colors`.","editType":"none","valType":"string"},"editType":"calc","line":{"color":{"arrayOk":true,"description":"Sets the color of the line enclosing each sector.","dflt":"#444","editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the line enclosing each sector.","dflt":0,"editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"pattern":{"bgcolor":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"description":"Sets the pattern within the marker.","editType":"style","fgcolor":{"arrayOk":true,"description":"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`.","editType":"style","valType":"color"},"fgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `fgcolor`.","editType":"none","valType":"string"},"fgopacity":{"description":"Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.","editType":"style","max":1,"min":0,"valType":"number"},"fillmode":{"description":"Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.","dflt":"replace","editType":"style","valType":"enumerated","values":["replace","overlay"]},"role":"object","shape":{"arrayOk":true,"description":"Sets the shape of the pattern fill. By default, no pattern is used for filling the area.","dflt":"","editType":"style","valType":"enumerated","values":["","/","\\","x","-","|","+","."]},"shapesrc":{"description":"Sets the source reference on Chart Studio Cloud for `shape`.","editType":"none","valType":"string"},"size":{"arrayOk":true,"description":"Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.","dflt":8,"editType":"style","min":0,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"solidity":{"arrayOk":true,"description":"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.","dflt":0.3,"editType":"style","max":1,"min":0,"valType":"number"},"soliditysrc":{"description":"Sets the source reference on Chart Studio Cloud for `solidity`.","editType":"none","valType":"string"}},"role":"object"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"outsidetextfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo` lying outside the sector.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"pull":{"arrayOk":true,"description":"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.","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"pullsrc":{"description":"Sets the source reference on Chart Studio Cloud for `pull`.","editType":"none","valType":"string"},"rotation":{"description":"Instead of the first slice starting at 12 o'clock, rotate to some other angle.","dflt":0,"editType":"calc","valType":"angle"},"scalegroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"sort":{"description":"Determines whether or not the sectors are reordered from largest to smallest.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"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.","editType":"plot","valType":"data_array"},"textfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo`.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textinfo":{"description":"Determines which trace information appear on the graph.","editType":"calc","extras":["none"],"flags":["label","text","value","percent"],"valType":"flaglist"},"textposition":{"arrayOk":true,"description":"Specifies the location of the `textinfo`.","dflt":"auto","editType":"plot","valType":"enumerated","values":["inside","outside","auto","none"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"title":{"editType":"plot","font":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `title`. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"position":{"description":"Specifies the location of the `title`. Note that the title's position used to be set by the now deprecated `titleposition` attribute.","editType":"plot","valType":"enumerated","values":["top left","top center","top right","middle center","bottom left","bottom center","bottom right"]},"role":"object","text":{"description":"Sets the title of the chart. If it is empty, no title is displayed. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","dflt":"","editType":"plot","valType":"string"}},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"pie","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"values":{"description":"Sets the values of the sectors. If omitted, we count occurrences of each label.","editType":"calc","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["pie-like","pie","showLegend"],"layoutAttributes":{"extendpiecolors":{"description":"If `true`, the pie slice colors (whether given by `piecolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended.","dflt":true,"editType":"calc","valType":"boolean"},"hiddenlabels":{"description":"hiddenlabels is the funnelarea \u0026 pie chart analog of visible:'legendonly' but it can contain many labels, and can simultaneously hide slices from several pies/funnelarea charts","editType":"calc","valType":"data_array"},"hiddenlabelssrc":{"description":"Sets the source reference on Chart Studio Cloud for `hiddenlabels`.","editType":"none","valType":"string"},"piecolorway":{"description":"Sets the default pie slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendpiecolors`.","editType":"calc","valType":"colorlist"}},"meta":{"description":"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`"},"type":"pie"},"pointcloud":{"animatable":false,"attributes":{"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"indices":{"description":"A sequential value, 0..n, supply it to avoid creating this array inside plotting. If specified, it must be a typed `Int32Array` array. Its length must be equal to or greater than the number of points. For the best performance and memory use, create one large `indices` typed array that is guaranteed to be at least as long as the largest number of points during use, and reuse it on each `Plotly.restyle()` call.","editType":"calc","valType":"data_array"},"indicessrc":{"description":"Sets the source reference on Chart Studio Cloud for `indices`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"marker":{"blend":{"description":"Determines if colors are blended together for a translucency effect in case `opacity` is specified as a value less then `1`. Setting `blend` to `true` reduces zoom/pan speed if used with large numbers of points.","dflt":null,"editType":"calc","valType":"boolean"},"border":{"arearatio":{"description":"Specifies what fraction of the marker area is covered with the border.","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"color":{"arrayOk":false,"description":"Sets the stroke color. It accepts a specific color. If the color is not fully opaque and there are hundreds of thousands of points, it may cause slower zooming and panning.","editType":"calc","valType":"color"},"editType":"calc","role":"object"},"color":{"arrayOk":false,"description":"Sets the marker fill color. It accepts a specific color. If the color is not fully opaque and there are hundreds of thousands of points, it may cause slower zooming and panning.","editType":"calc","valType":"color"},"editType":"calc","opacity":{"arrayOk":false,"description":"Sets the marker opacity. The default value is `1` (fully opaque). If the markers are not fully opaque and there are hundreds of thousands of points, it may cause slower zooming and panning. Opacity fades the color even if `blend` is left on `false` even if there is no translucency effect in that case.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","sizemax":{"description":"Sets the maximum size (in px) of the rendered marker points. Effective when the `pointcloud` shows only few points.","dflt":20,"editType":"calc","min":0.1,"valType":"number"},"sizemin":{"description":"Sets the minimum size (in px) of the rendered marker points, effective when the `pointcloud` shows a million or more points.","dflt":0.5,"editType":"calc","max":2,"min":0.1,"valType":"number"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"type":"pointcloud","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xbounds":{"description":"Specify `xbounds` in the shape of `[xMin, xMax] to avoid looping through the `xy` typed array. Use it in conjunction with `xy` and `ybounds` for the performance benefits.","editType":"calc","valType":"data_array"},"xboundssrc":{"description":"Sets the source reference on Chart Studio Cloud for `xbounds`.","editType":"none","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"xy":{"description":"Faster alternative to specifying `x` and `y` separately. If supplied, it must be a typed `Float32Array` array that represents points such that `xy[i * 2] = x[i]` and `xy[i * 2 + 1] = y[i]`","editType":"calc","valType":"data_array"},"xysrc":{"description":"Sets the source reference on Chart Studio Cloud for `xy`.","editType":"none","valType":"string"},"y":{"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ybounds":{"description":"Specify `ybounds` in the shape of `[yMin, yMax] to avoid looping through the `xy` typed array. Use it in conjunction with `xy` and `xbounds` for the performance benefits.","editType":"calc","valType":"data_array"},"yboundssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ybounds`.","editType":"none","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"}},"categories":["gl","gl2d","showLegend"],"meta":{"description":"*pointcloud* trace is deprecated! Please consider switching to the *scattergl* trace type. The data visualized as a point cloud set in `x` and `y` using the WebGl plotting engine."},"type":"pointcloud"},"sankey":{"animatable":false,"attributes":{"arrangement":{"description":"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.","dflt":"snap","editType":"calc","valType":"enumerated","values":["snap","perpendicular","freeform","fixed"]},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this sankey trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"editType":"calc","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this sankey trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this sankey trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this sankey trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"hoverinfo":{"arrayOk":false,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":[],"valType":"flaglist"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"calc","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"calc","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"calc","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"calc","font":{"color":{"arrayOk":true,"editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"calc","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"link":{"arrowlen":{"description":"Sets the length (in px) of the links arrow, if 0 no arrow will be drawn.","dflt":0,"editType":"calc","min":0,"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"colorscales":{"items":{"concentrationscales":{"cmax":{"description":"Sets the upper bound of the color domain.","dflt":1,"editType":"calc","valType":"number"},"cmin":{"description":"Sets the lower bound of the color domain.","dflt":0,"editType":"calc","valType":"number"},"colorscale":{"description":"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.","dflt":[[0,"white"],[1,"black"]],"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"editType":"calc","label":{"description":"The label of the links to color based on their concentration within a flow.","dflt":"","editType":"calc","valType":"string"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"}}},"role":"object"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"customdata":{"description":"Assigns extra data to each link.","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"description":"The links of the Sankey plot.","editType":"calc","hovercolor":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"hovercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovercolor`.","editType":"none","valType":"string"},"hoverinfo":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","none","skip"]},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"calc","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"calc","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"calc","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"calc","font":{"color":{"arrayOk":true,"editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"calc","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"label":{"description":"The shown name of the link.","dflt":[],"editType":"calc","valType":"data_array"},"labelsrc":{"description":"Sets the source reference on Chart Studio Cloud for `label`.","editType":"none","valType":"string"},"line":{"color":{"arrayOk":true,"description":"Sets the color of the `line` around each `link`.","dflt":"#444","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the `line` around each `link`.","dflt":0,"editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"role":"object","source":{"description":"An integer number `[0..nodes.length - 1]` that represents the source node.","dflt":[],"editType":"calc","valType":"data_array"},"sourcesrc":{"description":"Sets the source reference on Chart Studio Cloud for `source`.","editType":"none","valType":"string"},"target":{"description":"An integer number `[0..nodes.length - 1]` that represents the target node.","dflt":[],"editType":"calc","valType":"data_array"},"targetsrc":{"description":"Sets the source reference on Chart Studio Cloud for `target`.","editType":"none","valType":"string"},"value":{"description":"A numeric value representing the flow volume value.","dflt":[],"editType":"calc","valType":"data_array"},"valuesrc":{"description":"Sets the source reference on Chart Studio Cloud for `value`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"node":{"align":{"description":"Sets the alignment method used to position the nodes along the horizontal axis.","dflt":"justify","editType":"calc","valType":"enumerated","values":["justify","left","right","center"]},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"customdata":{"description":"Assigns extra data to each node.","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"description":"The nodes of the Sankey plot.","editType":"calc","groups":{"description":"Groups of nodes. Each group is defined by an array with the indices of the nodes it contains. Multiple groups can be specified.","dflt":[],"dimensions":2,"editType":"calc","freeLength":true,"impliedEdits":{"x":[],"y":[]},"items":{"editType":"calc","valType":"number"},"valType":"info_array"},"hoverinfo":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","none","skip"]},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"calc","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"calc","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"calc","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"calc","font":{"color":{"arrayOk":true,"editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"calc","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"label":{"description":"The shown name of the node.","dflt":[],"editType":"calc","valType":"data_array"},"labelsrc":{"description":"Sets the source reference on Chart Studio Cloud for `label`.","editType":"none","valType":"string"},"line":{"color":{"arrayOk":true,"description":"Sets the color of the `line` around each `node`.","dflt":"#444","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the `line` around each `node`.","dflt":0.5,"editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"pad":{"arrayOk":false,"description":"Sets the padding (in px) between the `nodes`.","dflt":20,"editType":"calc","min":0,"valType":"number"},"role":"object","thickness":{"arrayOk":false,"description":"Sets the thickness (in px) of the `nodes`.","dflt":20,"editType":"calc","min":1,"valType":"number"},"x":{"description":"The normalized horizontal position of the node.","dflt":[],"editType":"calc","valType":"data_array"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"The normalized vertical position of the node.","dflt":[],"editType":"calc","valType":"data_array"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"}},"orientation":{"description":"Sets the orientation of the Sankey diagram.","dflt":"h","editType":"calc","valType":"enumerated","values":["v","h"]},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"textfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the font for node labels","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"type":"sankey","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"valueformat":{"description":"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.","dflt":".3s","editType":"calc","valType":"string"},"valuesuffix":{"description":"Adds a unit to follow the value in the hover tooltip. Add a space if a separation is necessary from the value.","dflt":"","editType":"calc","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["noOpacity"],"meta":{"description":"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."},"type":"sankey"},"scatter":{"animatable":true,"attributes":{"alignmentgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"cliponaxis":{"description":"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*.","dflt":true,"editType":"plot","valType":"boolean"},"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dx":{"anim":true,"description":"Sets the x coordinate step. See `x0` for more info.","dflt":1,"editType":"calc","valType":"number"},"dy":{"anim":true,"description":"Sets the y coordinate step. See `y0` for more info.","dflt":1,"editType":"calc","valType":"number"},"error_x":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"style","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"style","valType":"color"},"copy_ystyle":{"editType":"plot","valType":"boolean"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"style","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"plot","min":0,"valType":"number"}},"error_y":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"style","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"style","valType":"color"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"style","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"plot","min":0,"valType":"number"}},"fill":{"description":"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.","editType":"calc","valType":"enumerated","values":["none","tozeroy","tozerox","tonexty","tonextx","toself","tonext"]},"fillcolor":{"anim":true,"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"style","valType":"color"},"fillpattern":{"bgcolor":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"description":"Sets the pattern within the marker.","editType":"style","fgcolor":{"arrayOk":true,"description":"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`.","editType":"style","valType":"color"},"fgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `fgcolor`.","editType":"none","valType":"string"},"fgopacity":{"description":"Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.","editType":"style","max":1,"min":0,"valType":"number"},"fillmode":{"description":"Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.","dflt":"replace","editType":"style","valType":"enumerated","values":["replace","overlay"]},"role":"object","shape":{"arrayOk":true,"description":"Sets the shape of the pattern fill. By default, no pattern is used for filling the area.","dflt":"","editType":"style","valType":"enumerated","values":["","/","\\","x","-","|","+","."]},"shapesrc":{"description":"Sets the source reference on Chart Studio Cloud for `shape`.","editType":"none","valType":"string"},"size":{"arrayOk":true,"description":"Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.","dflt":8,"editType":"style","min":0,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"solidity":{"arrayOk":true,"description":"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.","dflt":0.3,"editType":"style","max":1,"min":0,"valType":"number"},"soliditysrc":{"description":"Sets the source reference on Chart Studio Cloud for `solidity`.","editType":"none","valType":"string"}},"groupnorm":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["","fraction","percent"]},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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*.","editType":"style","flags":["points","fills"],"valType":"flaglist"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"ids":{"anim":true,"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"backoff":{"arrayOk":true,"description":"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*.","dflt":"auto","editType":"plot","min":0,"valType":"number"},"backoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `backoff`.","editType":"none","valType":"string"},"color":{"anim":true,"description":"Sets the line color.","editType":"style","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"plot","role":"object","shape":{"description":"Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.","dflt":"linear","editType":"plot","valType":"enumerated","values":["linear","spline","hv","vh","hvh","vhv"]},"simplify":{"description":"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.","dflt":true,"editType":"plot","valType":"boolean"},"smoothing":{"description":"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).","dflt":1,"editType":"plot","max":1.3,"min":0,"valType":"number"},"width":{"anim":true,"description":"Sets the line width (in px).","dflt":2,"editType":"style","min":0,"valType":"number"}},"marker":{"angle":{"anim":false,"arrayOk":true,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"plot","valType":"angle"},"angleref":{"anim":false,"description":"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.","dflt":"up","editType":"plot","valType":"enumerated","values":["previous","up"]},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"anim":true,"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","gradient":{"color":{"arrayOk":true,"description":"Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","type":{"arrayOk":true,"description":"Sets the type of gradient used to fill the markers","dflt":"none","editType":"calc","valType":"enumerated","values":["radial","horizontal","vertical","none"]},"typesrc":{"description":"Sets the source reference on Chart Studio Cloud for `type`.","editType":"none","valType":"string"}},"line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"anim":true,"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"anim":true,"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"maxdisplayed":{"description":"Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit.","dflt":0,"editType":"plot","min":0,"valType":"number"},"opacity":{"anim":true,"arrayOk":true,"description":"Sets the marker opacity.","editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"anim":true,"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"standoff":{"anim":true,"arrayOk":true,"description":"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.","dflt":0,"editType":"plot","min":0,"valType":"number"},"standoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `standoff`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"style","valType":"enumerated","values":[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"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"offsetgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"orientation":{"description":"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`.","editType":"calc","valType":"enumerated","values":["v","h"]},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stackgaps":{"description":"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.","dflt":"infer zero","editType":"calc","valType":"enumerated","values":["infer zero","interpolate"]},"stackgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the text font.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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. ","dflt":"","editType":"calc","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scatter","uid":{"anim":true,"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"anim":true,"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"x0":{"anim":true,"description":"Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"xperiod0":{"description":"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.","editType":"calc","valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"anim":true,"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"y0":{"anim":true,"description":"Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"yperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the y axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"yperiod0":{"description":"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.","editType":"calc","valType":"any"},"yperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"}},"categories":["cartesian","svg","symbols","errorBarsOK","showLegend","scatter-like","zoomScale"],"layoutAttributes":{"scattergap":{"description":"Sets the gap (in plot fraction) between scatter points of adjacent location coordinates. Defaults to `bargap`.","editType":"calc","max":1,"min":0,"valType":"number"},"scattermode":{"description":"Determines how scatter points at the same location coordinate are displayed on the graph. With *group*, the scatter points are plotted next to one another centered around the shared location. With *overlay*, the scatter points are plotted over one another, you might need to reduce *opacity* to see multiple scatter points.","dflt":"overlay","editType":"calc","valType":"enumerated","values":["group","overlay"]}},"meta":{"description":"The scatter trace type encompasses line charts, scatter charts, text charts, and bubble charts. The data visualized as scatter point or lines is set in `x` and `y`. Text (appearing either on the chart or on hover only) is via `text`. Bubble charts are achieved by setting `marker.size` and/or `marker.color` to numerical arrays."},"type":"scatter"},"scatter3d":{"animatable":false,"attributes":{"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"error_x":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"calc","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"calc","valType":"color"},"copy_zstyle":{"editType":"calc","valType":"boolean"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"calc","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"calc","min":0,"valType":"number"}},"error_y":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"calc","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"calc","valType":"color"},"copy_zstyle":{"editType":"calc","valType":"boolean"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"calc","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"calc","min":0,"valType":"number"}},"error_z":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"calc","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"calc","valType":"color"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"calc","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"calc","min":0,"valType":"number"}},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"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*.","editType":"calc","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"calc","valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"dash":{"description":"Sets the dash style of the lines.","dflt":"solid","editType":"calc","valType":"enumerated","values":["dash","dashdot","dot","longdash","longdashdot","solid"]},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"width":{"description":"Sets the line width (in px).","dflt":2,"editType":"calc","min":0,"valType":"number"}},"marker":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"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*.","editType":"calc","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"calc","valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","width":{"arrayOk":false,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"calc","min":0,"valType":"number"}},"opacity":{"arrayOk":false,"description":"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.","editType":"calc","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":8,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"Sets the marker symbol type.","dflt":"circle","editType":"calc","valType":"enumerated","values":["circle","circle-open","cross","diamond","diamond-open","square","square-open","x"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.","dflt":"lines+markers","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"projection":{"editType":"calc","role":"object","x":{"editType":"calc","opacity":{"description":"Sets the projection color.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","scale":{"description":"Sets the scale factor determining the size of the projection marker points.","dflt":0.6666666666666666,"editType":"calc","max":10,"min":0,"valType":"number"},"show":{"description":"Sets whether or not projections are shown along the x axis.","dflt":false,"editType":"calc","valType":"boolean"}},"y":{"editType":"calc","opacity":{"description":"Sets the projection color.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","scale":{"description":"Sets the scale factor determining the size of the projection marker points.","dflt":0.6666666666666666,"editType":"calc","max":10,"min":0,"valType":"number"},"show":{"description":"Sets whether or not projections are shown along the y axis.","dflt":false,"editType":"calc","valType":"boolean"}},"z":{"editType":"calc","opacity":{"description":"Sets the projection color.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","scale":{"description":"Sets the scale factor determining the size of the projection marker points.","dflt":0.6666666666666666,"editType":"calc","max":10,"min":0,"valType":"number"},"show":{"description":"Sets whether or not projections are shown along the z axis.","dflt":false,"editType":"calc","valType":"boolean"}}},"scene":{"description":"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.","dflt":"scene","editType":"calc+clearAxisTypes","valType":"subplotid"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"surfaceaxis":{"description":"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.","dflt":-1,"editType":"calc","valType":"enumerated","values":[-1,0,1,2]},"surfacecolor":{"description":"Sets the surface fill color.","editType":"calc","valType":"color"},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"arrayOk":true,"editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","family":{"arrayOk":false,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"top center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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. ","dflt":"","editType":"calc","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scatter3d","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"Sets the z coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"zcalendar":{"description":"Sets the calendar system to use with `z` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"zhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["gl3d","symbols","showLegend","scatter-like"],"meta":{"description":"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`.","hrName":"scatter_3d"},"type":"scatter3d"},"scattercarpet":{"animatable":false,"attributes":{"a":{"description":"Sets the a-axis coordinates.","editType":"calc","valType":"data_array"},"asrc":{"description":"Sets the source reference on Chart Studio Cloud for `a`.","editType":"none","valType":"string"},"b":{"description":"Sets the b-axis coordinates.","editType":"calc","valType":"data_array"},"bsrc":{"description":"Sets the source reference on Chart Studio Cloud for `b`.","editType":"none","valType":"string"},"carpet":{"description":"An identifier for this carpet, so that `scattercarpet` and `contourcarpet` traces can specify a carpet plot on which they lie","editType":"calc","valType":"string"},"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"fill":{"description":"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.","dflt":"none","editType":"calc","valType":"enumerated","values":["none","toself","tonext"]},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"style","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["a","b","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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*.","editType":"style","flags":["points","fills"],"valType":"flaglist"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"backoff":{"arrayOk":true,"description":"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*.","dflt":"auto","editType":"plot","min":0,"valType":"number"},"backoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `backoff`.","editType":"none","valType":"string"},"color":{"description":"Sets the line color.","editType":"style","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"calc","role":"object","shape":{"description":"Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.","dflt":"linear","editType":"plot","valType":"enumerated","values":["linear","spline"]},"smoothing":{"description":"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).","dflt":1,"editType":"plot","max":1.3,"min":0,"valType":"number"},"width":{"description":"Sets the line width (in px).","dflt":2,"editType":"style","min":0,"valType":"number"}},"marker":{"angle":{"arrayOk":true,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"plot","valType":"angle"},"angleref":{"description":"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.","dflt":"up","editType":"plot","valType":"enumerated","values":["previous","up"]},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","gradient":{"color":{"arrayOk":true,"description":"Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","type":{"arrayOk":true,"description":"Sets the type of gradient used to fill the markers","dflt":"none","editType":"calc","valType":"enumerated","values":["radial","horizontal","vertical","none"]},"typesrc":{"description":"Sets the source reference on Chart Studio Cloud for `type`.","editType":"none","valType":"string"}},"line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"maxdisplayed":{"description":"Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit.","dflt":0,"editType":"plot","min":0,"valType":"number"},"opacity":{"arrayOk":true,"description":"Sets the marker opacity.","editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"standoff":{"arrayOk":true,"description":"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.","dflt":0,"editType":"plot","min":0,"valType":"number"},"standoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `standoff`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"style","valType":"enumerated","values":[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"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.","dflt":"markers","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the text font.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scattercarpet","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"}},"categories":["svg","carpet","symbols","showLegend","carpetDependent","zoomScale"],"meta":{"description":"Plots a scatter trace on either the first carpet axis or the carpet axis with a matching `carpet` attribute.","hrName":"scatter_carpet"},"type":"scattercarpet"},"scattergeo":{"animatable":false,"attributes":{"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"featureidkey":{"description":"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*.","dflt":"id","editType":"calc","valType":"string"},"fill":{"description":"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.","dflt":"none","editType":"calc","valType":"enumerated","values":["none","toself"]},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"calc","valType":"color"},"geo":{"description":"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.","dflt":"geo","editType":"calc","valType":"subplotid"},"geojson":{"description":"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*.","editType":"calc","valType":"any"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":["lon","lat","location","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"lat":{"description":"Sets the latitude coordinates (in degrees North).","editType":"calc","valType":"data_array"},"latsrc":{"description":"Sets the source reference on Chart Studio Cloud for `lat`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"color":{"description":"Sets the line color.","editType":"calc","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"calc","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"calc","role":"object","width":{"description":"Sets the line width (in px).","dflt":2,"editType":"calc","min":0,"valType":"number"}},"locationmode":{"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","values":["ISO-3","USA-states","country names","geojson-id"]},"locations":{"description":"Sets the coordinates via location IDs or names. Coordinates correspond to the centroid of each location given. See `locationmode` for more info.","editType":"calc","valType":"data_array"},"locationssrc":{"description":"Sets the source reference on Chart Studio Cloud for `locations`.","editType":"none","valType":"string"},"lon":{"description":"Sets the longitude coordinates (in degrees East).","editType":"calc","valType":"data_array"},"lonsrc":{"description":"Sets the source reference on Chart Studio Cloud for `lon`.","editType":"none","valType":"string"},"marker":{"angle":{"arrayOk":true,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"calc","valType":"angle"},"angleref":{"description":"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.","dflt":"up","editType":"calc","valType":"enumerated","values":["previous","up","north"]},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"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*.","editType":"calc","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"calc","valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","gradient":{"color":{"arrayOk":true,"description":"Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","type":{"arrayOk":true,"description":"Sets the type of gradient used to fill the markers","dflt":"none","editType":"calc","valType":"enumerated","values":["radial","horizontal","vertical","none"]},"typesrc":{"description":"Sets the source reference on Chart Studio Cloud for `type`.","editType":"none","valType":"string"}},"line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the marker opacity.","editType":"calc","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"standoff":{"arrayOk":true,"description":"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.","dflt":0,"editType":"calc","min":0,"valType":"number"},"standoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `standoff`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"calc","valType":"enumerated","values":[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"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.","dflt":"markers","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"selected":{"editType":"calc","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"calc","valType":"color"},"editType":"calc","opacity":{"description":"Sets the marker opacity of selected points.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"calc","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"calc","valType":"color"},"editType":"calc","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"arrayOk":true,"editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the text font.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"calc","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scattergeo","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"calc","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"calc","valType":"color"},"editType":"calc","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"calc","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"calc","valType":"color"},"editType":"calc","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["geo","symbols","showLegend","scatter-like"],"meta":{"description":"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`.","hrName":"scatter_geo"},"type":"scattergeo"},"scattergl":{"animatable":false,"attributes":{"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dx":{"description":"Sets the x coordinate step. See `x0` for more info.","dflt":1,"editType":"calc","valType":"number"},"dy":{"description":"Sets the y coordinate step. See `y0` for more info.","dflt":1,"editType":"calc","valType":"number"},"error_x":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"calc","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"calc","valType":"color"},"copy_ystyle":{"editType":"calc","valType":"boolean"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"calc","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"calc","min":0,"valType":"number"}},"error_y":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"calc","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"calc","valType":"color"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"calc","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"calc","min":0,"valType":"number"}},"fill":{"description":"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.","dflt":"none","editType":"calc","valType":"enumerated","values":["none","tozeroy","tozerox","tonexty","tonextx","toself","tonext"]},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"calc","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"color":{"description":"Sets the line color.","editType":"calc","valType":"color"},"dash":{"description":"Sets the style of the lines.","dflt":"solid","editType":"calc","valType":"enumerated","values":["dash","dashdot","dot","longdash","longdashdot","solid"]},"editType":"calc","role":"object","shape":{"description":"Determines the line shape. The values correspond to step-wise line shapes.","dflt":"linear","editType":"calc","valType":"enumerated","values":["linear","hv","vh","hvh","vhv"]},"width":{"description":"Sets the line width (in px).","dflt":2,"editType":"calc","min":0,"valType":"number"}},"marker":{"angle":{"arrayOk":true,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"calc","valType":"angle"},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"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*.","editType":"calc","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"calc","valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the marker opacity.","editType":"calc","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"calc","valType":"enumerated","values":[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"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace.","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"selected":{"editType":"calc","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"calc","valType":"color"},"editType":"calc","opacity":{"description":"Sets the marker opacity of selected points.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"calc","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"calc","valType":"color"},"editType":"calc","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"arrayOk":true,"editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the text font.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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. ","dflt":"","editType":"calc","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scattergl","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"calc","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"calc","valType":"color"},"editType":"calc","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"calc","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"calc","valType":"color"},"editType":"calc","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"x0":{"description":"Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"xperiod0":{"description":"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.","editType":"calc","valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"y0":{"description":"Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"yperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the y axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"yperiod0":{"description":"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.","editType":"calc","valType":"any"},"yperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"}},"categories":["gl","regl","cartesian","symbols","errorBarsOK","showLegend","scatter-like"],"meta":{"description":"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.","hrName":"scatter_gl"},"type":"scattergl"},"scattermapbox":{"animatable":false,"attributes":{"below":{"description":"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 *''*.","editType":"calc","valType":"string"},"cluster":{"color":{"arrayOk":true,"description":"Sets the color for each cluster step.","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","enabled":{"description":"Determines whether clustering is enabled or disabled.","editType":"calc","valType":"boolean"},"maxzoom":{"description":"Sets the maximum zoom level. At zoom levels equal to or greater than this, points will never be clustered.","dflt":24,"editType":"calc","max":24,"min":0,"valType":"number"},"opacity":{"arrayOk":true,"description":"Sets the marker opacity.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"description":"Sets the size for each cluster step.","dflt":20,"editType":"calc","min":0,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"step":{"arrayOk":true,"description":"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.","dflt":-1,"editType":"calc","min":-1,"valType":"number"},"stepsrc":{"description":"Sets the source reference on Chart Studio Cloud for `step`.","editType":"none","valType":"string"}},"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"fill":{"description":"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.","dflt":"none","editType":"calc","valType":"enumerated","values":["none","toself"]},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"calc","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":["lon","lat","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"lat":{"description":"Sets the latitude coordinates (in degrees North).","editType":"calc","valType":"data_array"},"latsrc":{"description":"Sets the source reference on Chart Studio Cloud for `lat`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"color":{"description":"Sets the line color.","editType":"calc","valType":"color"},"editType":"calc","role":"object","width":{"description":"Sets the line width (in px).","dflt":2,"editType":"calc","min":0,"valType":"number"}},"lon":{"description":"Sets the longitude coordinates (in degrees East).","editType":"calc","valType":"data_array"},"lonsrc":{"description":"Sets the source reference on Chart Studio Cloud for `lon`.","editType":"none","valType":"string"},"marker":{"allowoverlap":{"description":"Flag to draw all symbols, even if they overlap.","dflt":false,"editType":"calc","valType":"boolean"},"angle":{"arrayOk":true,"description":"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.","dflt":"auto","editType":"calc","valType":"number"},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"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*.","editType":"calc","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"calc","valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","opacity":{"arrayOk":true,"description":"Sets the marker opacity.","editType":"calc","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"calc","valType":"string"},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover.","dflt":"markers","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"selected":{"editType":"calc","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"calc","valType":"color"},"editType":"calc","opacity":{"description":"Sets the marker opacity of selected points.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"calc","min":0,"valType":"number"}},"role":"object"},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"subplot":{"description":"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.","dflt":"mapbox","editType":"calc","valType":"subplotid"},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"editType":"calc","valType":"color"},"description":"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*.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","dflt":"Open Sans Regular, Arial Unicode MS Regular","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"textposition":{"arrayOk":false,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"calc","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scattermapbox","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"calc","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"calc","valType":"color"},"editType":"calc","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"calc","min":0,"valType":"number"}},"role":"object"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["mapbox","gl","symbols","showLegend","scatter-like"],"meta":{"description":"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`.","hrName":"scatter_mapbox"},"type":"scattermapbox"},"scatterpolar":{"animatable":false,"attributes":{"cliponaxis":{"description":"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*.","dflt":false,"editType":"plot","valType":"boolean"},"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dr":{"description":"Sets the r coordinate step.","dflt":1,"editType":"calc","valType":"number"},"dtheta":{"description":"Sets the theta coordinate step. By default, the `dtheta` step equals the subplot's period divided by the length of the `r` coordinates.","editType":"calc","valType":"number"},"fill":{"description":"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.","dflt":"none","editType":"calc","valType":"enumerated","values":["none","toself","tonext"]},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"style","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["r","theta","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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*.","editType":"style","flags":["points","fills"],"valType":"flaglist"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"backoff":{"arrayOk":true,"description":"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*.","dflt":"auto","editType":"plot","min":0,"valType":"number"},"backoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `backoff`.","editType":"none","valType":"string"},"color":{"description":"Sets the line color.","editType":"style","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"calc","role":"object","shape":{"description":"Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.","dflt":"linear","editType":"plot","valType":"enumerated","values":["linear","spline"]},"smoothing":{"description":"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).","dflt":1,"editType":"plot","max":1.3,"min":0,"valType":"number"},"width":{"description":"Sets the line width (in px).","dflt":2,"editType":"style","min":0,"valType":"number"}},"marker":{"angle":{"arrayOk":true,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"plot","valType":"angle"},"angleref":{"description":"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.","dflt":"up","editType":"plot","valType":"enumerated","values":["previous","up"]},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","gradient":{"color":{"arrayOk":true,"description":"Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","type":{"arrayOk":true,"description":"Sets the type of gradient used to fill the markers","dflt":"none","editType":"calc","valType":"enumerated","values":["radial","horizontal","vertical","none"]},"typesrc":{"description":"Sets the source reference on Chart Studio Cloud for `type`.","editType":"none","valType":"string"}},"line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"maxdisplayed":{"description":"Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit.","dflt":0,"editType":"plot","min":0,"valType":"number"},"opacity":{"arrayOk":true,"description":"Sets the marker opacity.","editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"standoff":{"arrayOk":true,"description":"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.","dflt":0,"editType":"plot","min":0,"valType":"number"},"standoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `standoff`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"style","valType":"enumerated","values":[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"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"r":{"description":"Sets the radial coordinates","editType":"calc+clearAxisTypes","valType":"data_array"},"r0":{"description":"Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"rsrc":{"description":"Sets the source reference on Chart Studio Cloud for `r`.","editType":"none","valType":"string"},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"subplot":{"description":"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.","dflt":"polar","editType":"calc","valType":"subplotid"},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the text font.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"theta":{"description":"Sets the angular coordinates","editType":"calc+clearAxisTypes","valType":"data_array"},"theta0":{"description":"Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"thetasrc":{"description":"Sets the source reference on Chart Studio Cloud for `theta`.","editType":"none","valType":"string"},"thetaunit":{"description":"Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes.","dflt":"degrees","editType":"calc+clearAxisTypes","valType":"enumerated","values":["radians","degrees","gradians"]},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scatterpolar","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["polar","symbols","showLegend","scatter-like"],"meta":{"description":"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.","hrName":"scatter_polar"},"type":"scatterpolar"},"scatterpolargl":{"animatable":false,"attributes":{"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dr":{"description":"Sets the r coordinate step.","dflt":1,"editType":"calc","valType":"number"},"dtheta":{"description":"Sets the theta coordinate step. By default, the `dtheta` step equals the subplot's period divided by the length of the `r` coordinates.","editType":"calc","valType":"number"},"fill":{"description":"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.","dflt":"none","editType":"calc","valType":"enumerated","values":["none","tozeroy","tozerox","tonexty","tonextx","toself","tonext"]},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"calc","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["r","theta","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"color":{"description":"Sets the line color.","editType":"calc","valType":"color"},"dash":{"description":"Sets the style of the lines.","dflt":"solid","editType":"calc","valType":"enumerated","values":["dash","dashdot","dot","longdash","longdashdot","solid"]},"editType":"calc","role":"object","width":{"description":"Sets the line width (in px).","dflt":2,"editType":"calc","min":0,"valType":"number"}},"marker":{"angle":{"arrayOk":true,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"calc","valType":"angle"},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"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*.","editType":"calc","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"calc","valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the marker opacity.","editType":"calc","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"calc","valType":"enumerated","values":[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"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"r":{"description":"Sets the radial coordinates","editType":"calc+clearAxisTypes","valType":"data_array"},"r0":{"description":"Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"rsrc":{"description":"Sets the source reference on Chart Studio Cloud for `r`.","editType":"none","valType":"string"},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"subplot":{"description":"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.","dflt":"polar","editType":"calc","valType":"subplotid"},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"arrayOk":true,"editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the text font.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"theta":{"description":"Sets the angular coordinates","editType":"calc+clearAxisTypes","valType":"data_array"},"theta0":{"description":"Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"thetasrc":{"description":"Sets the source reference on Chart Studio Cloud for `theta`.","editType":"none","valType":"string"},"thetaunit":{"description":"Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes.","dflt":"degrees","editType":"calc+clearAxisTypes","valType":"enumerated","values":["radians","degrees","gradians"]},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scatterpolargl","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["gl","regl","polar","symbols","showLegend","scatter-like"],"meta":{"description":"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.","hrName":"scatter_polar_gl"},"type":"scatterpolargl"},"scattersmith":{"animatable":false,"attributes":{"cliponaxis":{"description":"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*.","dflt":false,"editType":"plot","valType":"boolean"},"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"fill":{"description":"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.","dflt":"none","editType":"calc","valType":"enumerated","values":["none","toself","tonext"]},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"style","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["real","imag","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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*.","editType":"style","flags":["points","fills"],"valType":"flaglist"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"imag":{"description":"Sets the imaginary component of the data, in units of normalized impedance such that real=1, imag=0 is the center of the chart.","editType":"calc+clearAxisTypes","valType":"data_array"},"imagsrc":{"description":"Sets the source reference on Chart Studio Cloud for `imag`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"backoff":{"arrayOk":true,"description":"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*.","dflt":"auto","editType":"plot","min":0,"valType":"number"},"backoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `backoff`.","editType":"none","valType":"string"},"color":{"description":"Sets the line color.","editType":"style","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"calc","role":"object","shape":{"description":"Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.","dflt":"linear","editType":"plot","valType":"enumerated","values":["linear","spline"]},"smoothing":{"description":"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).","dflt":1,"editType":"plot","max":1.3,"min":0,"valType":"number"},"width":{"description":"Sets the line width (in px).","dflt":2,"editType":"style","min":0,"valType":"number"}},"marker":{"angle":{"arrayOk":true,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"plot","valType":"angle"},"angleref":{"description":"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.","dflt":"up","editType":"plot","valType":"enumerated","values":["previous","up"]},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","gradient":{"color":{"arrayOk":true,"description":"Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","type":{"arrayOk":true,"description":"Sets the type of gradient used to fill the markers","dflt":"none","editType":"calc","valType":"enumerated","values":["radial","horizontal","vertical","none"]},"typesrc":{"description":"Sets the source reference on Chart Studio Cloud for `type`.","editType":"none","valType":"string"}},"line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"maxdisplayed":{"description":"Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit.","dflt":0,"editType":"plot","min":0,"valType":"number"},"opacity":{"arrayOk":true,"description":"Sets the marker opacity.","editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"standoff":{"arrayOk":true,"description":"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.","dflt":0,"editType":"plot","min":0,"valType":"number"},"standoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `standoff`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"style","valType":"enumerated","values":[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"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"real":{"description":"Sets the real component of the data, in units of normalized impedance such that real=1, imag=0 is the center of the chart.","editType":"calc+clearAxisTypes","valType":"data_array"},"realsrc":{"description":"Sets the source reference on Chart Studio Cloud for `real`.","editType":"none","valType":"string"},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"subplot":{"description":"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.","dflt":"smith","editType":"calc","valType":"subplotid"},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the text font.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scattersmith","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["smith","symbols","showLegend","scatter-like"],"meta":{"description":"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.","hrName":"scatter_smith"},"type":"scattersmith"},"scatterternary":{"animatable":false,"attributes":{"a":{"description":"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\u003ci\u003e.sum`.","editType":"calc","valType":"data_array"},"asrc":{"description":"Sets the source reference on Chart Studio Cloud for `a`.","editType":"none","valType":"string"},"b":{"description":"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\u003ci\u003e.sum`.","editType":"calc","valType":"data_array"},"bsrc":{"description":"Sets the source reference on Chart Studio Cloud for `b`.","editType":"none","valType":"string"},"c":{"description":"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\u003ci\u003e.sum`.","editType":"calc","valType":"data_array"},"cliponaxis":{"description":"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*.","dflt":true,"editType":"plot","valType":"boolean"},"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"csrc":{"description":"Sets the source reference on Chart Studio Cloud for `c`.","editType":"none","valType":"string"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"fill":{"description":"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.","dflt":"none","editType":"calc","valType":"enumerated","values":["none","toself","tonext"]},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"style","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["a","b","c","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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*.","editType":"style","flags":["points","fills"],"valType":"flaglist"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"backoff":{"arrayOk":true,"description":"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*.","dflt":"auto","editType":"plot","min":0,"valType":"number"},"backoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `backoff`.","editType":"none","valType":"string"},"color":{"description":"Sets the line color.","editType":"style","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"calc","role":"object","shape":{"description":"Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.","dflt":"linear","editType":"plot","valType":"enumerated","values":["linear","spline"]},"smoothing":{"description":"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).","dflt":1,"editType":"plot","max":1.3,"min":0,"valType":"number"},"width":{"description":"Sets the line width (in px).","dflt":2,"editType":"style","min":0,"valType":"number"}},"marker":{"angle":{"arrayOk":true,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"plot","valType":"angle"},"angleref":{"description":"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.","dflt":"up","editType":"plot","valType":"enumerated","values":["previous","up"]},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","gradient":{"color":{"arrayOk":true,"description":"Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","type":{"arrayOk":true,"description":"Sets the type of gradient used to fill the markers","dflt":"none","editType":"calc","valType":"enumerated","values":["radial","horizontal","vertical","none"]},"typesrc":{"description":"Sets the source reference on Chart Studio Cloud for `type`.","editType":"none","valType":"string"}},"line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"maxdisplayed":{"description":"Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit.","dflt":0,"editType":"plot","min":0,"valType":"number"},"opacity":{"arrayOk":true,"description":"Sets the marker opacity.","editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"standoff":{"arrayOk":true,"description":"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.","dflt":0,"editType":"plot","min":0,"valType":"number"},"standoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `standoff`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"style","valType":"enumerated","values":[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"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.","dflt":"markers","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"subplot":{"description":"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.","dflt":"ternary","editType":"calc","valType":"subplotid"},"sum":{"description":"The number each triplet should sum to, if only two of `a`, `b`, and `c` are provided. This overrides `ternary\u003ci\u003e.sum` to normalize this specific trace, but does not affect the values displayed on the axes. 0 (or missing) means to use ternary\u003ci\u003e.sum","dflt":0,"editType":"calc","min":0,"valType":"number"},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the text font.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scatterternary","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["ternary","symbols","showLegend","scatter-like"],"meta":{"description":"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.","hrName":"scatter_ternary"},"type":"scatterternary"},"splom":{"animatable":false,"attributes":{"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"diagonal":{"editType":"calc","role":"object","visible":{"description":"Determines whether or not subplots on the diagonal are displayed.","dflt":true,"editType":"calc","valType":"boolean"}},"dimensions":{"items":{"dimension":{"axis":{"editType":"calc+clearAxisTypes","matches":{"description":"Determines whether or not the x \u0026 y axes generated by this dimension match. Equivalent to setting the `matches` axis attribute in the layout with the correct axis id.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","type":{"description":"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.","editType":"calc+clearAxisTypes","valType":"enumerated","values":["linear","log","date","category"]}},"editType":"calc+clearAxisTypes","label":{"description":"Sets the label corresponding to this splom dimension.","editType":"calc","valType":"string"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"values":{"description":"Sets the dimension values to be plotted.","editType":"calc+clearAxisTypes","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"},"visible":{"description":"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.","dflt":true,"editType":"calc","valType":"boolean"}}},"role":"object"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"marker":{"angle":{"arrayOk":true,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"plot","valType":"angle"},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"style","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"style","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the marker opacity.","editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"markerSize","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"style","valType":"enumerated","values":[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"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"selected":{"editType":"calc","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"calc","valType":"color"},"editType":"calc","opacity":{"description":"Sets the marker opacity of selected points.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"calc","min":0,"valType":"number"}},"role":"object"},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"showlowerhalf":{"description":"Determines whether or not subplots on the lower half from the diagonal are displayed.","dflt":true,"editType":"calc","valType":"boolean"},"showupperhalf":{"description":"Determines whether or not subplots on the upper half from the diagonal are displayed.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"splom","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"calc","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"calc","valType":"color"},"editType":"calc","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"calc","min":0,"valType":"number"}},"role":"object"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"xaxes":{"description":"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.","editType":"calc","freeLength":true,"items":{"editType":"plot","regex":"/^x([2-9]|[1-9][0-9]+)?( domain)?$/","valType":"subplotid"},"valType":"info_array"},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"yaxes":{"description":"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.","editType":"calc","freeLength":true,"items":{"editType":"plot","regex":"/^y([2-9]|[1-9][0-9]+)?( domain)?$/","valType":"subplotid"},"valType":"info_array"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"}},"categories":["gl","regl","cartesian","symbols","showLegend","scatter-like"],"meta":{"description":"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. "},"type":"splom"},"streamtube":{"animatable":false,"attributes":{"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"x+y+z+norm+text+name","editType":"calc","extras":["all","none","skip"],"flags":["x","y","z","u","v","w","norm","divergence","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"lighting":{"ambient":{"description":"Ambient light increases overall color visibility but can wash out the image.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"diffuse":{"description":"Represents the extent that incident rays are reflected in a range of angles.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"editType":"calc","facenormalsepsilon":{"description":"Epsilon for face normals calculation avoids math issues arising from degenerate geometry.","dflt":0.000001,"editType":"calc","max":1,"min":0,"valType":"number"},"fresnel":{"description":"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.","dflt":0.2,"editType":"calc","max":5,"min":0,"valType":"number"},"role":"object","roughness":{"description":"Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.","dflt":0.5,"editType":"calc","max":1,"min":0,"valType":"number"},"specular":{"description":"Represents the level that incident rays are reflected in a single direction, causing shine.","dflt":0.05,"editType":"calc","max":2,"min":0,"valType":"number"},"vertexnormalsepsilon":{"description":"Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.","dflt":1e-12,"editType":"calc","max":1,"min":0,"valType":"number"}},"lightposition":{"editType":"calc","role":"object","x":{"description":"Numeric vector, representing the X coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"y":{"description":"Numeric vector, representing the Y coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"z":{"description":"Numeric vector, representing the Z coordinate for each vertex.","dflt":0,"editType":"calc","max":100000,"min":-100000,"valType":"number"}},"maxdisplayed":{"description":"The maximum number of displayed segments in a streamtube.","dflt":1000,"editType":"calc","min":0,"valType":"integer"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"scene":{"description":"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.","dflt":"scene","editType":"calc+clearAxisTypes","valType":"subplotid"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"sizeref":{"description":"The scaling factor for the streamtubes. The default is 1, which avoids two max divergence tubes from touching at adjacent starting positions.","dflt":1,"editType":"calc","min":0,"valType":"number"},"starts":{"editType":"calc","role":"object","x":{"description":"Sets the x components of the starting position of the streamtubes","editType":"calc","valType":"data_array"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y components of the starting position of the streamtubes","editType":"calc","valType":"data_array"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"Sets the z components of the starting position of the streamtubes","editType":"calc","valType":"data_array"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"type":"streamtube","u":{"description":"Sets the x components of the vector field.","editType":"calc","valType":"data_array"},"uhoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"usrc":{"description":"Sets the source reference on Chart Studio Cloud for `u`.","editType":"none","valType":"string"},"v":{"description":"Sets the y components of the vector field.","editType":"calc","valType":"data_array"},"vhoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"vsrc":{"description":"Sets the source reference on Chart Studio Cloud for `v`.","editType":"none","valType":"string"},"w":{"description":"Sets the z components of the vector field.","editType":"calc","valType":"data_array"},"whoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"wsrc":{"description":"Sets the source reference on Chart Studio Cloud for `w`.","editType":"none","valType":"string"},"x":{"description":"Sets the x coordinates of the vector field.","editType":"calc+clearAxisTypes","valType":"data_array"},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y coordinates of the vector field.","editType":"calc+clearAxisTypes","valType":"data_array"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"Sets the z coordinates of the vector field.","editType":"calc+clearAxisTypes","valType":"data_array"},"zhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["gl3d","showLegend"],"meta":{"description":"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)."},"type":"streamtube"},"sunburst":{"animatable":true,"attributes":{"branchvalues":{"description":"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.","dflt":"remainder","editType":"calc","valType":"enumerated","values":["remainder","total"]},"count":{"description":"Determines default for `values` when it is not provided, by inferring a 1 for each of the *leaves* and/or *branches*, otherwise 0.","dflt":"leaves","editType":"calc","flags":["branches","leaves"],"valType":"flaglist"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this sunburst trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"editType":"calc","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this sunburst trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this sunburst trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this sunburst trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"label+text+value+name","editType":"none","extras":["all","none","skip"],"flags":["label","text","value","name","current path","percent root","percent entry","percent parent"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"ids":{"anim":true,"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"insidetextfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo` lying inside the sector.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"insidetextorientation":{"description":"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.","dflt":"auto","editType":"plot","valType":"enumerated","values":["horizontal","radial","tangential","auto"]},"labels":{"description":"Sets the labels of each of the sectors.","editType":"calc","valType":"data_array"},"labelssrc":{"description":"Sets the source reference on Chart Studio Cloud for `labels`.","editType":"none","valType":"string"},"leaf":{"editType":"plot","opacity":{"description":"Sets the opacity of the leaves. With colorscale it is defaulted to 1; otherwise it is defaulted to 0.7","editType":"style","max":1,"min":0,"valType":"number"},"role":"object"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"level":{"anim":true,"description":"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`.","editType":"plot","valType":"any"},"marker":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colors":{"description":"Sets the color of each sector of this trace. If not specified, the default trace color set is used to pick the sector colors.","editType":"calc","valType":"data_array"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorssrc":{"description":"Sets the source reference on Chart Studio Cloud for `colors`.","editType":"none","valType":"string"},"editType":"calc","line":{"color":{"arrayOk":true,"description":"Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value.","dflt":null,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the line enclosing each sector.","dflt":1,"editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"pattern":{"bgcolor":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"description":"Sets the pattern within the marker.","editType":"style","fgcolor":{"arrayOk":true,"description":"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`.","editType":"style","valType":"color"},"fgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `fgcolor`.","editType":"none","valType":"string"},"fgopacity":{"description":"Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.","editType":"style","max":1,"min":0,"valType":"number"},"fillmode":{"description":"Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.","dflt":"replace","editType":"style","valType":"enumerated","values":["replace","overlay"]},"role":"object","shape":{"arrayOk":true,"description":"Sets the shape of the pattern fill. By default, no pattern is used for filling the area.","dflt":"","editType":"style","valType":"enumerated","values":["","/","\\","x","-","|","+","."]},"shapesrc":{"description":"Sets the source reference on Chart Studio Cloud for `shape`.","editType":"none","valType":"string"},"size":{"arrayOk":true,"description":"Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.","dflt":8,"editType":"style","min":0,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"solidity":{"arrayOk":true,"description":"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.","dflt":0.3,"editType":"style","max":1,"min":0,"valType":"number"},"soliditysrc":{"description":"Sets the source reference on Chart Studio Cloud for `solidity`.","editType":"none","valType":"string"}},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"Determines whether or not a colorbar is displayed for this trace. Has an effect only if colors is set to a numerical array.","dflt":false,"editType":"calc","valType":"boolean"}},"maxdepth":{"description":"Sets the number of rendered sectors from any given `level`. Set `maxdepth` to *-1* to render all the levels in the hierarchy.","dflt":-1,"editType":"plot","valType":"integer"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"outsidetextfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"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.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"parents":{"description":"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.","editType":"calc","valType":"data_array"},"parentssrc":{"description":"Sets the source reference on Chart Studio Cloud for `parents`.","editType":"none","valType":"string"},"root":{"color":{"description":"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.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"editType":"calc","role":"object"},"rotation":{"description":"Rotates the whole diagram counterclockwise by some angle. By default the first slice starts at 3 o'clock.","dflt":0,"editType":"plot","valType":"angle"},"sort":{"description":"Determines whether or not the sectors are reordered from largest to smallest.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"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.","editType":"plot","valType":"data_array"},"textfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo`.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textinfo":{"description":"Determines which trace information appear on the graph.","editType":"plot","extras":["none"],"flags":["label","text","value","current path","percent root","percent entry","percent parent"],"valType":"flaglist"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"sunburst","uid":{"anim":true,"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"values":{"description":"Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed.","editType":"calc","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":[],"layoutAttributes":{"extendsunburstcolors":{"description":"If `true`, the sunburst slice colors (whether given by `sunburstcolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended.","dflt":true,"editType":"calc","valType":"boolean"},"sunburstcolorway":{"description":"Sets the default sunburst slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendsunburstcolors`.","editType":"calc","valType":"colorlist"}},"meta":{"description":"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*."},"type":"sunburst"},"surface":{"animatable":false,"attributes":{"_deprecated":{"zauto":{"description":"Obsolete. Use `cauto` instead.","editType":"calc"},"zmax":{"description":"Obsolete. Use `cmax` instead.","editType":"calc"},"zmin":{"description":"Obsolete. Use `cmin` instead.","editType":"calc"}},"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":false,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"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*.","editType":"calc","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"calc","valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data are filled in.","dflt":false,"editType":"calc","valType":"boolean"},"contours":{"editType":"calc","role":"object","x":{"color":{"description":"Sets the color of the contour lines.","dflt":"#444","editType":"calc","valType":"color"},"editType":"calc","end":{"description":"Sets the end contour level value. Must be more than `contours.start`","dflt":null,"editType":"calc","valType":"number"},"highlight":{"description":"Determines whether or not contour lines about the x dimension are highlighted on hover.","dflt":true,"editType":"calc","valType":"boolean"},"highlightcolor":{"description":"Sets the color of the highlighted contour lines.","dflt":"#444","editType":"calc","valType":"color"},"highlightwidth":{"description":"Sets the width of the highlighted contour lines.","dflt":2,"editType":"calc","max":16,"min":1,"valType":"number"},"project":{"editType":"calc","role":"object","x":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"y":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"z":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"role":"object","show":{"description":"Determines whether or not contour lines about the x dimension are drawn.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"description":"Sets the step between each contour level. Must be positive.","dflt":null,"editType":"calc","min":0,"valType":"number"},"start":{"description":"Sets the starting contour level value. Must be less than `contours.end`","dflt":null,"editType":"calc","valType":"number"},"usecolormap":{"description":"An alternate to *color*. Determines whether or not the contour lines are colored using the trace *colorscale*.","dflt":false,"editType":"calc","valType":"boolean"},"width":{"description":"Sets the width of the contour lines.","dflt":2,"editType":"calc","max":16,"min":1,"valType":"number"}},"y":{"color":{"description":"Sets the color of the contour lines.","dflt":"#444","editType":"calc","valType":"color"},"editType":"calc","end":{"description":"Sets the end contour level value. Must be more than `contours.start`","dflt":null,"editType":"calc","valType":"number"},"highlight":{"description":"Determines whether or not contour lines about the y dimension are highlighted on hover.","dflt":true,"editType":"calc","valType":"boolean"},"highlightcolor":{"description":"Sets the color of the highlighted contour lines.","dflt":"#444","editType":"calc","valType":"color"},"highlightwidth":{"description":"Sets the width of the highlighted contour lines.","dflt":2,"editType":"calc","max":16,"min":1,"valType":"number"},"project":{"editType":"calc","role":"object","x":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"y":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"z":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"role":"object","show":{"description":"Determines whether or not contour lines about the y dimension are drawn.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"description":"Sets the step between each contour level. Must be positive.","dflt":null,"editType":"calc","min":0,"valType":"number"},"start":{"description":"Sets the starting contour level value. Must be less than `contours.end`","dflt":null,"editType":"calc","valType":"number"},"usecolormap":{"description":"An alternate to *color*. Determines whether or not the contour lines are colored using the trace *colorscale*.","dflt":false,"editType":"calc","valType":"boolean"},"width":{"description":"Sets the width of the contour lines.","dflt":2,"editType":"calc","max":16,"min":1,"valType":"number"}},"z":{"color":{"description":"Sets the color of the contour lines.","dflt":"#444","editType":"calc","valType":"color"},"editType":"calc","end":{"description":"Sets the end contour level value. Must be more than `contours.start`","dflt":null,"editType":"calc","valType":"number"},"highlight":{"description":"Determines whether or not contour lines about the z dimension are highlighted on hover.","dflt":true,"editType":"calc","valType":"boolean"},"highlightcolor":{"description":"Sets the color of the highlighted contour lines.","dflt":"#444","editType":"calc","valType":"color"},"highlightwidth":{"description":"Sets the width of the highlighted contour lines.","dflt":2,"editType":"calc","max":16,"min":1,"valType":"number"},"project":{"editType":"calc","role":"object","x":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"y":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"z":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"role":"object","show":{"description":"Determines whether or not contour lines about the z dimension are drawn.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"description":"Sets the step between each contour level. Must be positive.","dflt":null,"editType":"calc","min":0,"valType":"number"},"start":{"description":"Sets the starting contour level value. Must be less than `contours.end`","dflt":null,"editType":"calc","valType":"number"},"usecolormap":{"description":"An alternate to *color*. Determines whether or not the contour lines are colored using the trace *colorscale*.","dflt":false,"editType":"calc","valType":"boolean"},"width":{"description":"Sets the width of the contour lines.","dflt":2,"editType":"calc","max":16,"min":1,"valType":"number"}}},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"hidesurface":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"lighting":{"ambient":{"description":"Ambient light increases overall color visibility but can wash out the image.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"diffuse":{"description":"Represents the extent that incident rays are reflected in a range of angles.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"editType":"calc","fresnel":{"description":"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.","dflt":0.2,"editType":"calc","max":5,"min":0,"valType":"number"},"role":"object","roughness":{"description":"Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.","dflt":0.5,"editType":"calc","max":1,"min":0,"valType":"number"},"specular":{"description":"Represents the level that incident rays are reflected in a single direction, causing shine.","dflt":0.05,"editType":"calc","max":2,"min":0,"valType":"number"}},"lightposition":{"editType":"calc","role":"object","x":{"description":"Numeric vector, representing the X coordinate for each vertex.","dflt":10,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"y":{"description":"Numeric vector, representing the Y coordinate for each vertex.","dflt":10000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"z":{"description":"Numeric vector, representing the Z coordinate for each vertex.","dflt":0,"editType":"calc","max":100000,"min":-100000,"valType":"number"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"opacityscale":{"description":"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'.","editType":"calc","valType":"any"},"reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"scene":{"description":"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.","dflt":"scene","editType":"calc+clearAxisTypes","valType":"subplotid"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"calc","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"surfacecolor":{"description":"Sets the surface color values, used for setting a color scale independent of `z`.","editType":"calc","valType":"data_array"},"surfacecolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `surfacecolor`.","editType":"none","valType":"string"},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"type":"surface","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"Sets the z coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"zcalendar":{"description":"Sets the calendar system to use with `z` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"zhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["gl3d","2dMap","showLegend"],"meta":{"description":"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`."},"type":"surface"},"table":{"animatable":false,"attributes":{"cells":{"align":{"arrayOk":true,"description":"Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more \u003cbr\u003e HTML tags) or if an explicit width is set to override the text width.","dflt":"center","editType":"calc","valType":"enumerated","values":["left","center","right"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"editType":"calc","fill":{"color":{"arrayOk":true,"description":"Sets the cell fill color. It accepts either a specific color or an array of colors or a 2D array of colors.","dflt":"white","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object"},"font":{"color":{"arrayOk":true,"editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"format":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"formatsrc":{"description":"Sets the source reference on Chart Studio Cloud for `format`.","editType":"none","valType":"string"},"height":{"description":"The height of cells.","dflt":20,"editType":"calc","valType":"number"},"line":{"color":{"arrayOk":true,"dflt":"grey","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"dflt":1,"editType":"calc","valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"prefix":{"arrayOk":true,"description":"Prefix for cell values.","dflt":null,"editType":"calc","valType":"string"},"prefixsrc":{"description":"Sets the source reference on Chart Studio Cloud for `prefix`.","editType":"none","valType":"string"},"role":"object","suffix":{"arrayOk":true,"description":"Suffix for cell values.","dflt":null,"editType":"calc","valType":"string"},"suffixsrc":{"description":"Sets the source reference on Chart Studio Cloud for `suffix`.","editType":"none","valType":"string"},"values":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"}},"columnorder":{"description":"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.","editType":"calc","valType":"data_array"},"columnordersrc":{"description":"Sets the source reference on Chart Studio Cloud for `columnorder`.","editType":"none","valType":"string"},"columnwidth":{"arrayOk":true,"description":"The width of columns expressed as a ratio. Columns fill the available width in proportion of their specified column widths.","dflt":null,"editType":"calc","valType":"number"},"columnwidthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `columnwidth`.","editType":"none","valType":"string"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this table trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"editType":"calc","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this table trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this table trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this table trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"editType":"calc","header":{"align":{"arrayOk":true,"description":"Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more \u003cbr\u003e HTML tags) or if an explicit width is set to override the text width.","dflt":"center","editType":"calc","valType":"enumerated","values":["left","center","right"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"editType":"calc","fill":{"color":{"arrayOk":true,"description":"Sets the cell fill color. It accepts either a specific color or an array of colors or a 2D array of colors.","dflt":"white","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object"},"font":{"color":{"arrayOk":true,"editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"format":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"formatsrc":{"description":"Sets the source reference on Chart Studio Cloud for `format`.","editType":"none","valType":"string"},"height":{"description":"The height of cells.","dflt":28,"editType":"calc","valType":"number"},"line":{"color":{"arrayOk":true,"dflt":"grey","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"dflt":1,"editType":"calc","valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"prefix":{"arrayOk":true,"description":"Prefix for cell values.","dflt":null,"editType":"calc","valType":"string"},"prefixsrc":{"description":"Sets the source reference on Chart Studio Cloud for `prefix`.","editType":"none","valType":"string"},"role":"object","suffix":{"arrayOk":true,"description":"Suffix for cell values.","dflt":null,"editType":"calc","valType":"string"},"suffixsrc":{"description":"Sets the source reference on Chart Studio Cloud for `suffix`.","editType":"none","valType":"string"},"values":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"}},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"type":"table","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["noOpacity"],"meta":{"description":"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."},"type":"table"},"treemap":{"animatable":true,"attributes":{"branchvalues":{"description":"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.","dflt":"remainder","editType":"calc","valType":"enumerated","values":["remainder","total"]},"count":{"description":"Determines default for `values` when it is not provided, by inferring a 1 for each of the *leaves* and/or *branches*, otherwise 0.","dflt":"leaves","editType":"calc","flags":["branches","leaves"],"valType":"flaglist"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this treemap trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"editType":"calc","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this treemap trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this treemap trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this treemap trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"label+text+value+name","editType":"none","extras":["all","none","skip"],"flags":["label","text","value","name","current path","percent root","percent entry","percent parent"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"ids":{"anim":true,"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"insidetextfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo` lying inside the sector.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"labels":{"description":"Sets the labels of each of the sectors.","editType":"calc","valType":"data_array"},"labelssrc":{"description":"Sets the source reference on Chart Studio Cloud for `labels`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"level":{"anim":true,"description":"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`.","editType":"plot","valType":"any"},"marker":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colors":{"description":"Sets the color of each sector of this trace. If not specified, the default trace color set is used to pick the sector colors.","editType":"calc","valType":"data_array"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorssrc":{"description":"Sets the source reference on Chart Studio Cloud for `colors`.","editType":"none","valType":"string"},"cornerradius":{"description":"Sets the maximum rounding of corners (in px).","dflt":0,"editType":"plot","min":0,"valType":"number"},"depthfade":{"description":"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.","editType":"style","valType":"enumerated","values":[true,false,"reversed"]},"editType":"calc","line":{"color":{"arrayOk":true,"description":"Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value.","dflt":null,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the line enclosing each sector.","dflt":1,"editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"pad":{"b":{"description":"Sets the padding form the bottom (in px).","editType":"plot","min":0,"valType":"number"},"editType":"calc","l":{"description":"Sets the padding form the left (in px).","editType":"plot","min":0,"valType":"number"},"r":{"description":"Sets the padding form the right (in px).","editType":"plot","min":0,"valType":"number"},"role":"object","t":{"description":"Sets the padding form the top (in px).","editType":"plot","min":0,"valType":"number"}},"pattern":{"bgcolor":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"description":"Sets the pattern within the marker.","editType":"style","fgcolor":{"arrayOk":true,"description":"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`.","editType":"style","valType":"color"},"fgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `fgcolor`.","editType":"none","valType":"string"},"fgopacity":{"description":"Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.","editType":"style","max":1,"min":0,"valType":"number"},"fillmode":{"description":"Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.","dflt":"replace","editType":"style","valType":"enumerated","values":["replace","overlay"]},"role":"object","shape":{"arrayOk":true,"description":"Sets the shape of the pattern fill. By default, no pattern is used for filling the area.","dflt":"","editType":"style","valType":"enumerated","values":["","/","\\","x","-","|","+","."]},"shapesrc":{"description":"Sets the source reference on Chart Studio Cloud for `shape`.","editType":"none","valType":"string"},"size":{"arrayOk":true,"description":"Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.","dflt":8,"editType":"style","min":0,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"solidity":{"arrayOk":true,"description":"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.","dflt":0.3,"editType":"style","max":1,"min":0,"valType":"number"},"soliditysrc":{"description":"Sets the source reference on Chart Studio Cloud for `solidity`.","editType":"none","valType":"string"}},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"Determines whether or not a colorbar is displayed for this trace. Has an effect only if colors is set to a numerical array.","dflt":false,"editType":"calc","valType":"boolean"}},"maxdepth":{"description":"Sets the number of rendered sectors from any given `level`. Set `maxdepth` to *-1* to render all the levels in the hierarchy.","dflt":-1,"editType":"plot","valType":"integer"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"outsidetextfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"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.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"parents":{"description":"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.","editType":"calc","valType":"data_array"},"parentssrc":{"description":"Sets the source reference on Chart Studio Cloud for `parents`.","editType":"none","valType":"string"},"pathbar":{"edgeshape":{"description":"Determines which shape is used for edges between `barpath` labels.","dflt":"\u003e","editType":"plot","valType":"enumerated","values":["\u003e","\u003c","|","/","\\"]},"editType":"calc","role":"object","side":{"description":"Determines on which side of the the treemap the `pathbar` should be presented.","dflt":"top","editType":"plot","valType":"enumerated","values":["top","bottom"]},"textfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used inside `pathbar`.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"thickness":{"description":"Sets the thickness of `pathbar` (in px). If not specified the `pathbar.textfont.size` is used with 3 pixles extra padding on each side.","editType":"plot","min":12,"valType":"number"},"visible":{"description":"Determines if the path bar is drawn i.e. outside the trace `domain` and with one pixel gap.","dflt":true,"editType":"plot","valType":"boolean"}},"root":{"color":{"description":"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.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"editType":"calc","role":"object"},"sort":{"description":"Determines whether or not the sectors are reordered from largest to smallest.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"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.","editType":"plot","valType":"data_array"},"textfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo`.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textinfo":{"description":"Determines which trace information appear on the graph.","editType":"plot","extras":["none"],"flags":["label","text","value","current path","percent root","percent entry","percent parent"],"valType":"flaglist"},"textposition":{"description":"Sets the positions of the `text` elements.","dflt":"top left","editType":"plot","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"tiling":{"editType":"calc","flip":{"description":"Determines if the positions obtained from solver are flipped on each axis.","dflt":"","editType":"plot","flags":["x","y"],"valType":"flaglist"},"packing":{"description":"Determines d3 treemap solver. For more info please refer to https://github.com/d3/d3-hierarchy#treemap-tiling","dflt":"squarify","editType":"plot","valType":"enumerated","values":["squarify","binary","dice","slice","slice-dice","dice-slice"]},"pad":{"description":"Sets the inner padding (in px).","dflt":3,"editType":"plot","min":0,"valType":"number"},"role":"object","squarifyratio":{"description":"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.","dflt":1,"editType":"plot","min":1,"valType":"number"}},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"treemap","uid":{"anim":true,"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"values":{"description":"Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed.","editType":"calc","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":[],"layoutAttributes":{"extendtreemapcolors":{"description":"If `true`, the treemap slice colors (whether given by `treemapcolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended.","dflt":true,"editType":"calc","valType":"boolean"},"treemapcolorway":{"description":"Sets the default treemap slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendtreemapcolors`.","editType":"calc","valType":"colorlist"}},"meta":{"description":"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*."},"type":"treemap"},"violin":{"animatable":false,"attributes":{"alignmentgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"bandwidth":{"description":"Sets the bandwidth used to compute the kernel density estimate. By default, the bandwidth is determined by Silverman's rule of thumb.","editType":"calc","min":0,"valType":"number"},"box":{"editType":"plot","fillcolor":{"description":"Sets the inner box plot fill color.","editType":"style","valType":"color"},"line":{"color":{"description":"Sets the inner box plot bounding line color.","editType":"style","valType":"color"},"editType":"style","role":"object","width":{"description":"Sets the inner box plot bounding line width.","editType":"style","min":0,"valType":"number"}},"role":"object","visible":{"description":"Determines if an miniature box plot is drawn inside the violins. ","dflt":false,"editType":"plot","valType":"boolean"},"width":{"description":"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.","dflt":0.25,"editType":"plot","max":1,"min":0,"valType":"number"}},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"style","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hoveron":{"description":"Do the hover effects highlight individual violins or sample points or the kernel density estimate or any combination of them?","dflt":"violins+points+kde","editType":"style","extras":["all"],"flags":["violins","points","kde"],"valType":"flaglist"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"jitter":{"description":"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.","editType":"calc","max":1,"min":0,"valType":"number"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"color":{"description":"Sets the color of line bounding the violin(s).","editType":"style","valType":"color"},"editType":"plot","role":"object","width":{"description":"Sets the width (in px) of line bounding the violin(s).","dflt":2,"editType":"style","min":0,"valType":"number"}},"marker":{"angle":{"arrayOk":false,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"calc","valType":"angle"},"color":{"arrayOk":false,"description":"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.","editType":"style","valType":"color"},"editType":"plot","line":{"color":{"arrayOk":false,"description":"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.","dflt":"#444","editType":"style","valType":"color"},"editType":"style","outliercolor":{"description":"Sets the border line color of the outlier sample points. Defaults to marker.color","editType":"style","valType":"color"},"outlierwidth":{"description":"Sets the border line width (in px) of the outlier sample points.","dflt":1,"editType":"style","min":0,"valType":"number"},"role":"object","width":{"arrayOk":false,"description":"Sets the width (in px) of the lines bounding the marker points.","dflt":0,"editType":"style","min":0,"valType":"number"}},"opacity":{"arrayOk":false,"description":"Sets the marker opacity.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"outliercolor":{"description":"Sets the color of the outlier sample points.","dflt":"rgba(0, 0, 0, 0)","editType":"style","valType":"color"},"role":"object","size":{"arrayOk":false,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"symbol":{"arrayOk":false,"description":"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.","dflt":"circle","editType":"plot","valType":"enumerated","values":[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"]}},"meanline":{"color":{"description":"Sets the mean line color.","editType":"style","valType":"color"},"editType":"plot","role":"object","visible":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"width":{"description":"Sets the mean line width.","editType":"style","min":0,"valType":"number"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"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).","editType":"calc+clearAxisTypes","valType":"string"},"offsetgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"orientation":{"description":"Sets the orientation of the violin(s). If *v* (*h*), the distribution is visualized along the vertical (horizontal).","editType":"calc+clearAxisTypes","valType":"enumerated","values":["v","h"]},"pointpos":{"description":"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.","editType":"calc","max":2,"min":-2,"valType":"number"},"points":{"description":"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*.","editType":"calc","valType":"enumerated","values":["all","outliers","suspectedoutliers",false]},"quartilemethod":{"description":"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.","dflt":"linear","editType":"calc","valType":"enumerated","values":["linear","exclusive","inclusive"]},"scalegroup":{"description":"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","dflt":"","editType":"calc","valType":"string"},"scalemode":{"description":"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.","dflt":"width","editType":"calc","valType":"enumerated","values":["width","count"]},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"style","min":0,"valType":"number"}},"role":"object"},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"side":{"description":"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*.","dflt":"both","editType":"calc","valType":"enumerated","values":["both","positive","negative"]},"span":{"description":"Sets the span in data space for which the density function will be computed. Has an effect only when `spanmode` is set to *manual*.","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"spanmode":{"description":"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.","dflt":"soft","editType":"calc","valType":"enumerated","values":["soft","hard","manual"]},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"violin","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"style","min":0,"valType":"number"}},"role":"object"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"width":{"description":"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.","dflt":0,"editType":"calc","min":0,"valType":"number"},"x":{"description":"Sets the x sample data or coordinates. See overview for more info.","editType":"calc+clearAxisTypes","valType":"data_array"},"x0":{"description":"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.","editType":"calc+clearAxisTypes","valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y sample data or coordinates. See overview for more info.","editType":"calc+clearAxisTypes","valType":"data_array"},"y0":{"description":"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.","editType":"calc+clearAxisTypes","valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"}},"categories":["cartesian","svg","symbols","oriented","box-violin","showLegend","violinLayout","zoomScale"],"layoutAttributes":{"violingap":{"description":"Sets the gap (in plot fraction) between violins of adjacent location coordinates. Has no effect on traces that have *width* set.","dflt":0.3,"editType":"calc","max":1,"min":0,"valType":"number"},"violingroupgap":{"description":"Sets the gap (in plot fraction) between violins of the same location coordinate. Has no effect on traces that have *width* set.","dflt":0.3,"editType":"calc","max":1,"min":0,"valType":"number"},"violinmode":{"description":"Determines how violins at the same location coordinate are displayed on the graph. If *group*, the violins are plotted next to one another centered around the shared location. If *overlay*, the violins are plotted over one another, you might need to set *opacity* to see them multiple violins. Has no effect on traces that have *width* set.","dflt":"overlay","editType":"calc","valType":"enumerated","values":["group","overlay"]}},"meta":{"description":"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."},"type":"violin"},"volume":{"animatable":false,"attributes":{"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"caps":{"editType":"calc","role":"object","x":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","show":{"description":"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.","dflt":true,"editType":"calc","valType":"boolean"}},"y":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","show":{"description":"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.","dflt":true,"editType":"calc","valType":"boolean"}},"z":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","show":{"description":"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.","dflt":true,"editType":"calc","valType":"boolean"}}},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"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*.","editType":"calc","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"calc","valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"contour":{"color":{"description":"Sets the color of the contour lines.","dflt":"#444","editType":"calc","valType":"color"},"editType":"calc","role":"object","show":{"description":"Sets whether or not dynamic contours are shown on hover","dflt":false,"editType":"calc","valType":"boolean"},"width":{"description":"Sets the width of the contour lines.","dflt":2,"editType":"calc","max":16,"min":1,"valType":"number"}},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"flatshading":{"description":"Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low-poly look via flat reflections.","dflt":true,"editType":"calc","valType":"boolean"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"isomax":{"description":"Sets the maximum boundary for iso-surface plot.","editType":"calc","valType":"number"},"isomin":{"description":"Sets the minimum boundary for iso-surface plot.","editType":"calc","valType":"number"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"lighting":{"ambient":{"description":"Ambient light increases overall color visibility but can wash out the image.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"diffuse":{"description":"Represents the extent that incident rays are reflected in a range of angles.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"editType":"calc","facenormalsepsilon":{"description":"Epsilon for face normals calculation avoids math issues arising from degenerate geometry.","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"fresnel":{"description":"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.","dflt":0.2,"editType":"calc","max":5,"min":0,"valType":"number"},"role":"object","roughness":{"description":"Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.","dflt":0.5,"editType":"calc","max":1,"min":0,"valType":"number"},"specular":{"description":"Represents the level that incident rays are reflected in a single direction, causing shine.","dflt":0.05,"editType":"calc","max":2,"min":0,"valType":"number"},"vertexnormalsepsilon":{"description":"Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.","dflt":1e-12,"editType":"calc","max":1,"min":0,"valType":"number"}},"lightposition":{"editType":"calc","role":"object","x":{"description":"Numeric vector, representing the X coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"y":{"description":"Numeric vector, representing the Y coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"z":{"description":"Numeric vector, representing the Z coordinate for each vertex.","dflt":0,"editType":"calc","max":100000,"min":-100000,"valType":"number"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"opacityscale":{"description":"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'.","editType":"calc","valType":"any"},"reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"scene":{"description":"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.","dflt":"scene","editType":"calc+clearAxisTypes","valType":"subplotid"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"calc","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"slices":{"editType":"calc","role":"object","x":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"locations":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"locationssrc":{"description":"Sets the source reference on Chart Studio Cloud for `locations`.","editType":"none","valType":"string"},"role":"object","show":{"description":"Determines whether or not slice planes about the x dimension are drawn.","dflt":false,"editType":"calc","valType":"boolean"}},"y":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"locations":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"locationssrc":{"description":"Sets the source reference on Chart Studio Cloud for `locations`.","editType":"none","valType":"string"},"role":"object","show":{"description":"Determines whether or not slice planes about the y dimension are drawn.","dflt":false,"editType":"calc","valType":"boolean"}},"z":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"locations":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"locationssrc":{"description":"Sets the source reference on Chart Studio Cloud for `locations`.","editType":"none","valType":"string"},"role":"object","show":{"description":"Determines whether or not slice planes about the z dimension are drawn.","dflt":false,"editType":"calc","valType":"boolean"}}},"spaceframe":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","show":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"surface":{"count":{"description":"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.","dflt":2,"editType":"calc","min":1,"valType":"integer"},"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"pattern":{"description":"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.","dflt":"all","editType":"calc","extras":["all","odd","even"],"flags":["A","B","C","D","E"],"valType":"flaglist"},"role":"object","show":{"description":"Hides/displays surfaces between minimum and maximum iso-values.","dflt":true,"editType":"calc","valType":"boolean"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"type":"volume","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"value":{"description":"Sets the 4th dimension (value) of the vertices.","editType":"calc+clearAxisTypes","valType":"data_array"},"valuehoverformat":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"valuesrc":{"description":"Sets the source reference on Chart Studio Cloud for `value`.","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the X coordinates of the vertices on X axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"xhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the Y coordinates of the vertices on Y axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"yhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"Sets the Z coordinates of the vertices on Z axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"zhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["gl3d","showLegend"],"meta":{"description":"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."},"type":"volume"},"waterfall":{"animatable":false,"attributes":{"alignmentgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"base":{"arrayOk":false,"description":"Sets where the bar base is drawn (in position axis units).","dflt":null,"editType":"calc","valType":"number"},"cliponaxis":{"description":"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*.","dflt":true,"editType":"plot","valType":"boolean"},"connector":{"editType":"plot","line":{"color":{"description":"Sets the line color.","dflt":"#444","editType":"style","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"plot","role":"object","width":{"description":"Sets the line width (in px).","dflt":2,"editType":"plot","min":0,"valType":"number"}},"mode":{"description":"Sets the shape of connector lines.","dflt":"between","editType":"plot","valType":"enumerated","values":["spanning","between"]},"role":"object","visible":{"description":"Determines if connector lines are drawn. ","dflt":true,"editType":"plot","valType":"boolean"}},"constraintext":{"description":"Constrain the size of text inside or outside a bar to be no larger than the bar itself.","dflt":"both","editType":"calc","valType":"enumerated","values":["inside","outside","both","none"]},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"decreasing":{"editType":"style","marker":{"color":{"arrayOk":false,"description":"Sets the marker color of all decreasing values.","editType":"style","valType":"color"},"editType":"style","line":{"color":{"arrayOk":false,"description":"Sets the line color of all decreasing values.","editType":"style","valType":"color"},"editType":"style","role":"object","width":{"arrayOk":false,"description":"Sets the line width of all decreasing values.","dflt":0,"editType":"style","min":0,"valType":"number"}},"role":"object"},"role":"object"},"dx":{"description":"Sets the x coordinate step. See `x0` for more info.","dflt":1,"editType":"calc","valType":"number"},"dy":{"description":"Sets the y coordinate step. See `y0` for more info.","dflt":1,"editType":"calc","valType":"number"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["name","x","y","text","initial","delta","final"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"increasing":{"editType":"style","marker":{"color":{"arrayOk":false,"description":"Sets the marker color of all increasing values.","editType":"style","valType":"color"},"editType":"style","line":{"color":{"arrayOk":false,"description":"Sets the line color of all increasing values.","editType":"style","valType":"color"},"editType":"style","role":"object","width":{"arrayOk":false,"description":"Sets the line width of all increasing values.","dflt":0,"editType":"style","min":0,"valType":"number"}},"role":"object"},"role":"object"},"insidetextanchor":{"description":"Determines if texts are kept at center or start/end points in `textposition` *inside* mode.","dflt":"end","editType":"plot","valType":"enumerated","values":["end","middle","start"]},"insidetextfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `text` lying inside the bar.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"measure":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"measuresrc":{"description":"Sets the source reference on Chart Studio Cloud for `measure`.","editType":"none","valType":"string"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"offset":{"arrayOk":true,"description":"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.","dflt":null,"editType":"calc","valType":"number"},"offsetgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"offsetsrc":{"description":"Sets the source reference on Chart Studio Cloud for `offset`.","editType":"none","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"orientation":{"description":"Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal).","editType":"calc+clearAxisTypes","valType":"enumerated","values":["v","h"]},"outsidetextfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `text` lying outside the bar.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textangle":{"description":"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.","dflt":"auto","editType":"plot","valType":"angle"},"textfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `text`.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textinfo":{"arrayOk":false,"description":"Determines which trace information appear on the graph. In the case of having multiple waterfalls, totals are computed separately (per trace).","editType":"plot","extras":["none"],"flags":["label","text","initial","delta","final"],"valType":"flaglist"},"textposition":{"arrayOk":true,"description":"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.","dflt":"auto","editType":"calc","valType":"enumerated","values":["inside","outside","auto","none"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"totals":{"editType":"style","marker":{"color":{"arrayOk":false,"description":"Sets the marker color of all intermediate sums and total values.","editType":"style","valType":"color"},"editType":"style","line":{"color":{"arrayOk":false,"description":"Sets the line color of all intermediate sums and total values.","editType":"style","valType":"color"},"editType":"style","role":"object","width":{"arrayOk":false,"description":"Sets the line width of all intermediate sums and total values.","dflt":0,"editType":"style","min":0,"valType":"number"}},"role":"object"},"role":"object"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"waterfall","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"width":{"arrayOk":true,"description":"Sets the bar width (in position axis units).","dflt":null,"editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"},"x":{"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"x0":{"description":"Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"xperiod0":{"description":"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.","editType":"calc","valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"y0":{"description":"Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"yperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the y axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"yperiod0":{"description":"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.","editType":"calc","valType":"any"},"yperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"}},"categories":["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],"layoutAttributes":{"waterfallgap":{"description":"Sets the gap (in plot fraction) between bars of adjacent location coordinates.","editType":"calc","max":1,"min":0,"valType":"number"},"waterfallgroupgap":{"description":"Sets the gap (in plot fraction) between bars of the same location coordinate.","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"waterfallmode":{"description":"Determines how bars at the same location coordinate are displayed on the graph. With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars.","dflt":"group","editType":"calc","valType":"enumerated","values":["group","overlay"]}},"meta":{"description":"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."},"type":"waterfall"}},"transforms":{"aggregate":{"attributes":{"aggregations":{"items":{"aggregation":{"editType":"calc","enabled":{"description":"Determines whether this aggregation function is enabled or disabled.","dflt":true,"editType":"calc","valType":"boolean"},"func":{"description":"Sets the aggregation function. All values from the linked `target`, corresponding to the same value in the `groups` array, are collected and reduced by this function. *count* is simply the number of values in the `groups` array, so does not even require the linked array to exist. *first* (*last*) is just the first (last) linked value. Invalid values are ignored, so for example in *avg* they do not contribute to either the numerator or the denominator. Any data type (numeric, date, category) may be aggregated with any function, even though in certain cases it is unlikely to make sense, for example a sum of dates or average of categories. *median* will return the average of the two central values if there is an even count. *mode* will return the first value to reach the maximum count, in case of a tie. *change* will return the difference between the first and last linked values. *range* will return the difference between the min and max linked values.","dflt":"first","editType":"calc","valType":"enumerated","values":["count","sum","avg","median","mode","rms","stddev","min","max","first","last","change","range"]},"funcmode":{"description":"*stddev* supports two formula variants: *sample* (normalize by N-1) and *population* (normalize by N).","dflt":"sample","editType":"calc","valType":"enumerated","values":["sample","population"]},"role":"object","target":{"description":"A reference to the data array in the parent trace to aggregate. To aggregate by nested variables, use *.* to access them. For example, set `groups` to *marker.color* to aggregate over the marker color array. The referenced array must already exist, unless `func` is *count*, and each array may only be referenced once.","editType":"calc","valType":"string"}}},"role":"object"},"editType":"calc","enabled":{"description":"Determines whether this aggregate transform is enabled or disabled.","dflt":true,"editType":"calc","valType":"boolean"},"groups":{"arrayOk":true,"description":"Sets the grouping target to which the aggregation is applied. Data points with matching group values will be coalesced into one point, using the supplied aggregation functions to reduce data in other data arrays. If a string, `groups` is assumed to be a reference to a data array in the parent trace object. To aggregate by nested variables, use *.* to access them. For example, set `groups` to *marker.color* to aggregate about the marker color array. If an array, `groups` is itself the data array by which we aggregate.","dflt":"x","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"groupssrc":{"description":"Sets the source reference on Chart Studio Cloud for `groups`.","editType":"none","valType":"string"}}},"filter":{"attributes":{"editType":"calc","enabled":{"description":"Determines whether this filter transform is enabled or disabled.","dflt":true,"editType":"calc","valType":"boolean"},"operation":{"description":"Sets the filter operation. *=* keeps items equal to `value` *!=* keeps items not equal to `value` *\u003c* keeps items less than `value` *\u003c=* keeps items less than or equal to `value` *\u003e* keeps items greater than `value` *\u003e=* keeps items greater than or equal to `value` *[]* keeps items inside `value[0]` to `value[1]` including both bounds *()* keeps items inside `value[0]` to `value[1]` excluding both bounds *[)* keeps items inside `value[0]` to `value[1]` including `value[0]` but excluding `value[1] *(]* keeps items inside `value[0]` to `value[1]` excluding `value[0]` but including `value[1] *][* keeps items outside `value[0]` to `value[1]` and equal to both bounds *)(* keeps items outside `value[0]` to `value[1]` *](* keeps items outside `value[0]` to `value[1]` and equal to `value[0]` *)[* keeps items outside `value[0]` to `value[1]` and equal to `value[1]` *{}* keeps items present in a set of values *}{* keeps items not present in a set of values","dflt":"=","editType":"calc","valType":"enumerated","values":["=","!=","\u003c","\u003e=","\u003e","\u003c=","[]","()","[)","(]","][",")(","](",")[","{}","}{"]},"preservegaps":{"description":"Determines whether or not gaps in data arrays produced by the filter operation are preserved. Setting this to *true* might be useful when plotting a line chart with `connectgaps` set to *false*.","dflt":false,"editType":"calc","valType":"boolean"},"target":{"arrayOk":true,"description":"Sets the filter target by which the filter is applied. If a string, `target` is assumed to be a reference to a data array in the parent trace object. To filter about nested variables, use *.* to access them. For example, set `target` to *marker.color* to filter about the marker color array. If an array, `target` is then the data array by which the filter is applied.","dflt":"x","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"targetcalendar":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. Sets the calendar system to use for `target`, if it is an array of dates. If `target` is a string (eg *x*) we use the corresponding trace attribute (eg `xcalendar`) if it exists, even if `targetcalendar` is provided.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"targetsrc":{"description":"Sets the source reference on Chart Studio Cloud for `target`.","editType":"none","valType":"string"},"value":{"description":"Sets the value or values by which to filter. Values are expected to be in the same type as the data linked to `target`. When `operation` is set to one of the comparison values (=,!=,\u003c,\u003e=,\u003e,\u003c=) `value` is expected to be a number or a string. When `operation` is set to one of the interval values ([],(),[),(],][,)(,](,)[) `value` is expected to be 2-item array where the first item is the lower bound and the second item is the upper bound. When `operation`, is set to one of the set values ({},}{) `value` is expected to be an array with as many items as the desired set elements.","dflt":0,"editType":"calc","valType":"any"},"valuecalendar":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. Sets the calendar system to use for `value`, if it is a date.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]}}},"groupby":{"attributes":{"editType":"calc","enabled":{"description":"Determines whether this group-by transform is enabled or disabled.","dflt":true,"editType":"calc","valType":"boolean"},"groups":{"description":"Sets the groups in which the trace data will be split. For example, with `x` set to *[1, 2, 3, 4]* and `groups` set to *['a', 'b', 'a', 'b']*, the groupby transform with split in one trace with `x` [1, 3] and one trace with `x` [2, 4].","dflt":[],"editType":"calc","valType":"data_array"},"groupssrc":{"description":"Sets the source reference on Chart Studio Cloud for `groups`.","editType":"none","valType":"string"},"nameformat":{"description":"Pattern by which grouped traces are named. If only one trace is present, defaults to the group name (`\"%{group}\"`), otherwise defaults to the group name with trace name (`\"%{group} (%{trace})\"`). Available escape sequences are `%{group}`, which inserts the group name, and `%{trace}`, which inserts the trace name. If grouping GDP data by country when more than one trace is present, for example, the default \"%{group} (%{trace})\" would return \"Monaco (GDP per capita)\".","editType":"calc","valType":"string"},"styles":{"items":{"style":{"editType":"calc","role":"object","target":{"description":"The group value which receives these styles.","editType":"calc","valType":"string"},"value":{"_compareAsJSON":true,"description":"Sets each group styles. For example, with `groups` set to *['a', 'b', 'a', 'b']* and `styles` set to *[{target: 'a', value: { marker: { color: 'red' } }}] marker points in group *'a'* will be drawn in red.","dflt":{},"editType":"calc","valType":"any"}}},"role":"object"}}},"sort":{"attributes":{"editType":"calc","enabled":{"description":"Determines whether this sort transform is enabled or disabled.","dflt":true,"editType":"calc","valType":"boolean"},"order":{"description":"Sets the sort transform order.","dflt":"ascending","editType":"calc","valType":"enumerated","values":["ascending","descending"]},"target":{"arrayOk":true,"description":"Sets the target by which the sort transform is applied. If a string, *target* is assumed to be a reference to a data array in the parent trace object. To sort about nested variables, use *.* to access them. For example, set `target` to *marker.size* to sort about the marker size array. If an array, *target* is then the data array by which the sort transform is applied.","dflt":"x","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"targetsrc":{"description":"Sets the source reference on Chart Studio Cloud for `target`.","editType":"none","valType":"string"}}}}}} \ No newline at end of file diff --git a/go.mod b/go.mod index 24c6246..0299b0a 100644 --- a/go.mod +++ b/go.mod @@ -1,13 +1,15 @@ module github.com/MetalBlueberry/go-plotly -go 1.18 +go 1.22 require ( - github.com/golang/mock v1.5.0 - github.com/huandu/xstrings v1.3.2 + github.com/golang/mock v1.6.0 + github.com/huandu/xstrings v1.4.0 github.com/onsi/ginkgo/v2 v2.17.2 github.com/onsi/gomega v1.33.0 - github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4 + github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c + github.com/pkg/errors v0.9.1 + gopkg.in/yaml.v3 v3.0.1 ) require ( @@ -16,8 +18,7 @@ require ( github.com/google/go-cmp v0.6.0 // indirect github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6 // indirect golang.org/x/net v0.24.0 // indirect - golang.org/x/sys v0.19.0 // indirect + golang.org/x/sys v0.20.0 // indirect golang.org/x/text v0.14.0 // indirect golang.org/x/tools v0.20.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index 9f3488b..5119a57 100644 --- a/go.sum +++ b/go.sum @@ -1,45 +1,63 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/golang/mock v1.5.0 h1:jlYHihg//f7RRwuPfptm04yp4s7O6Kw8EZiVYIGcH0g= -github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= +github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= +github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6 h1:k7nVchz72niMH6YLQNvHSdIE7iqsQxK1P41mySCvssg= github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6/go.mod h1:kf6iHlnVGwgKolg33glAes7Yg/8iWP8ukqeldJSO7jw= -github.com/huandu/xstrings v1.3.2 h1:L18LIDzqlW6xN2rEkpdV8+oL/IXWJ1APd+vsdYy4Wdw= -github.com/huandu/xstrings v1.3.2/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= +github.com/huandu/xstrings v1.4.0 h1:D17IlohoQq4UcpqD7fDk80P7l+lwAmlFaBHgOipl2FU= +github.com/huandu/xstrings v1.4.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/onsi/ginkgo/v2 v2.17.2 h1:7eMhcy3GimbsA3hEnVKdw/PQM9XN9krpKVXsZdph0/g= github.com/onsi/ginkgo/v2 v2.17.2/go.mod h1:nP2DPOQoNsQmsVyv5rDA8JkXQoCs6goXIvr/PRJ1eCc= github.com/onsi/gomega v1.33.0 h1:snPCflnZrpMsy94p4lXVEkHo12lmPnc3vY5XBbreexE= github.com/onsi/gomega v1.33.0/go.mod h1:+925n5YtiFsLzzafLUHzVMBpvvRAzrydIBiSIxjX3wY= -github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4 h1:49lOXmGaUpV9Fz3gd7TFZY106KVlPVa5jcYD1gaQf98= -github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA= +github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ= +github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w= golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= -golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= +golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.20.0 h1:hz/CVckiOxybQvFw6h7b/q80NTr9IUQb4s1IIzW7KNY= golang.org/x/tools v0.20.0/go.mod h1:WvitBU7JJf6A4jOdg4S1tviW9bhUxkgeCui/0JHctQg= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= +google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= diff --git a/graph_objects/area_gen.go b/graph_objects/area_gen.go deleted file mode 100644 index 887eee7..0000000 --- a/graph_objects/area_gen.go +++ /dev/null @@ -1,828 +0,0 @@ -package grob - -// Code generated by go-plotly/generator. DO NOT EDIT. - -var TraceTypeArea TraceType = "area" - -func (trace *Area) GetType() TraceType { - return TraceTypeArea -} - -// Area -type Area struct { - - // Type - // is the type of the plot - Type TraceType `json:"type,omitempty"` - - // Customdata - // arrayOK: false - // 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 - Customdata interface{} `json:"customdata,omitempty"` - - // Customdatasrc - // arrayOK: false - // type: string - // Sets the source reference on Chart Studio Cloud for customdata . - Customdatasrc String `json:"customdatasrc,omitempty"` - - // Hoverinfo - // default: all - // type: flaglist - // 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. - Hoverinfo AreaHoverinfo `json:"hoverinfo,omitempty"` - - // Hoverinfosrc - // arrayOK: false - // type: string - // Sets the source reference on Chart Studio Cloud for hoverinfo . - Hoverinfosrc String `json:"hoverinfosrc,omitempty"` - - // Hoverlabel - // role: Object - Hoverlabel *AreaHoverlabel `json:"hoverlabel,omitempty"` - - // Ids - // arrayOK: false - // 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. - Ids interface{} `json:"ids,omitempty"` - - // Idssrc - // arrayOK: false - // type: string - // Sets the source reference on Chart Studio Cloud for ids . - Idssrc String `json:"idssrc,omitempty"` - - // Legendgroup - // arrayOK: false - // type: string - // Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items. - Legendgroup String `json:"legendgroup,omitempty"` - - // Marker - // role: Object - Marker *AreaMarker `json:"marker,omitempty"` - - // Meta - // arrayOK: true - // type: any - // 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. - Meta interface{} `json:"meta,omitempty"` - - // Metasrc - // arrayOK: false - // type: string - // Sets the source reference on Chart Studio Cloud for meta . - Metasrc String `json:"metasrc,omitempty"` - - // Name - // arrayOK: false - // type: string - // Sets the trace name. The trace name appear as the legend item and on hover. - Name String `json:"name,omitempty"` - - // Opacity - // arrayOK: false - // type: number - // Sets the opacity of the trace. - Opacity float64 `json:"opacity,omitempty"` - - // R - // arrayOK: false - // type: data_array - // Area traces are deprecated! Please switch to the *barpolar* trace type. Sets the radial coordinates for legacy polar chart only. - R interface{} `json:"r,omitempty"` - - // Rsrc - // arrayOK: false - // type: string - // Sets the source reference on Chart Studio Cloud for r . - Rsrc String `json:"rsrc,omitempty"` - - // Showlegend - // arrayOK: false - // type: boolean - // Determines whether or not an item corresponding to this trace is shown in the legend. - Showlegend Bool `json:"showlegend,omitempty"` - - // Stream - // role: Object - Stream *AreaStream `json:"stream,omitempty"` - - // T - // arrayOK: false - // type: data_array - // Area traces are deprecated! Please switch to the *barpolar* trace type. Sets the angular coordinates for legacy polar chart only. - T interface{} `json:"t,omitempty"` - - // Transforms - // It's an items array and what goes inside it's... messy... check the docs - // I will be happy if you want to contribute by implementing this - // just raise an issue before you start so we do not overlap - Transforms interface{} `json:"transforms,omitempty"` - - // Tsrc - // arrayOK: false - // type: string - // Sets the source reference on Chart Studio Cloud for t . - Tsrc String `json:"tsrc,omitempty"` - - // Uid - // arrayOK: false - // type: string - // Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. - Uid String `json:"uid,omitempty"` - - // Uirevision - // arrayOK: false - // type: any - // 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. - Uirevision interface{} `json:"uirevision,omitempty"` - - // Visible - // default: %!s(bool=true) - // type: enumerated - // 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). - Visible AreaVisible `json:"visible,omitempty"` -} - -// AreaHoverlabelFont Sets the font used in hover labels. -type AreaHoverlabelFont struct { - - // Color - // arrayOK: true - // type: color - // - Color Color `json:"color,omitempty"` - - // Colorsrc - // arrayOK: false - // type: string - // Sets the source reference on Chart Studio Cloud for color . - Colorsrc String `json:"colorsrc,omitempty"` - - // Family - // arrayOK: true - // type: string - // HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*. - Family String `json:"family,omitempty"` - - // Familysrc - // arrayOK: false - // type: string - // Sets the source reference on Chart Studio Cloud for family . - Familysrc String `json:"familysrc,omitempty"` - - // Size - // arrayOK: true - // type: number - // - Size float64 `json:"size,omitempty"` - - // Sizesrc - // arrayOK: false - // type: string - // Sets the source reference on Chart Studio Cloud for size . - Sizesrc String `json:"sizesrc,omitempty"` -} - -// AreaHoverlabel -type AreaHoverlabel struct { - - // Align - // default: auto - // type: enumerated - // 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 - Align AreaHoverlabelAlign `json:"align,omitempty"` - - // Alignsrc - // arrayOK: false - // type: string - // Sets the source reference on Chart Studio Cloud for align . - Alignsrc String `json:"alignsrc,omitempty"` - - // Bgcolor - // arrayOK: true - // type: color - // Sets the background color of the hover labels for this trace - Bgcolor Color `json:"bgcolor,omitempty"` - - // Bgcolorsrc - // arrayOK: false - // type: string - // Sets the source reference on Chart Studio Cloud for bgcolor . - Bgcolorsrc String `json:"bgcolorsrc,omitempty"` - - // Bordercolor - // arrayOK: true - // type: color - // Sets the border color of the hover labels for this trace. - Bordercolor Color `json:"bordercolor,omitempty"` - - // Bordercolorsrc - // arrayOK: false - // type: string - // Sets the source reference on Chart Studio Cloud for bordercolor . - Bordercolorsrc String `json:"bordercolorsrc,omitempty"` - - // Font - // role: Object - Font *AreaHoverlabelFont `json:"font,omitempty"` - - // Namelength - // arrayOK: true - // type: integer - // 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. - Namelength int64 `json:"namelength,omitempty"` - - // Namelengthsrc - // arrayOK: false - // type: string - // Sets the source reference on Chart Studio Cloud for namelength . - Namelengthsrc String `json:"namelengthsrc,omitempty"` -} - -// AreaMarker -type AreaMarker struct { - - // Color - // arrayOK: true - // type: color - // Area traces are deprecated! Please switch to the *barpolar* trace type. Sets themarkercolor. 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. - Color Color `json:"color,omitempty"` - - // Colorsrc - // arrayOK: false - // type: string - // Sets the source reference on Chart Studio Cloud for color . - Colorsrc String `json:"colorsrc,omitempty"` - - // Opacity - // arrayOK: true - // type: number - // Area traces are deprecated! Please switch to the *barpolar* trace type. Sets the marker opacity. - Opacity float64 `json:"opacity,omitempty"` - - // Opacitysrc - // arrayOK: false - // type: string - // Sets the source reference on Chart Studio Cloud for opacity . - Opacitysrc String `json:"opacitysrc,omitempty"` - - // Size - // arrayOK: true - // type: number - // Area traces are deprecated! Please switch to the *barpolar* trace type. Sets the marker size (in px). - Size float64 `json:"size,omitempty"` - - // Sizesrc - // arrayOK: false - // type: string - // Sets the source reference on Chart Studio Cloud for size . - Sizesrc String `json:"sizesrc,omitempty"` - - // Symbol - // default: circle - // type: enumerated - // Area traces are deprecated! Please switch to the *barpolar* trace type. 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. - Symbol AreaMarkerSymbol `json:"symbol,omitempty"` - - // Symbolsrc - // arrayOK: false - // type: string - // Sets the source reference on Chart Studio Cloud for symbol . - Symbolsrc String `json:"symbolsrc,omitempty"` -} - -// AreaStream -type AreaStream struct { - - // Maxpoints - // arrayOK: false - // type: number - // Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot. - Maxpoints float64 `json:"maxpoints,omitempty"` - - // Token - // arrayOK: false - // type: string - // The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details. - Token String `json:"token,omitempty"` -} - -// AreaHoverlabelAlign 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 -type AreaHoverlabelAlign string - -const ( - AreaHoverlabelAlignLeft AreaHoverlabelAlign = "left" - AreaHoverlabelAlignRight AreaHoverlabelAlign = "right" - AreaHoverlabelAlignAuto AreaHoverlabelAlign = "auto" -) - -// AreaMarkerSymbol Area traces are deprecated! Please switch to the *barpolar* trace type. 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. -type AreaMarkerSymbol interface{} - -var ( - AreaMarkerSymbolNumber0 AreaMarkerSymbol = 0 - AreaMarkerSymbol0 AreaMarkerSymbol = "0" - AreaMarkerSymbolCircle AreaMarkerSymbol = "circle" - AreaMarkerSymbolNumber100 AreaMarkerSymbol = 100 - AreaMarkerSymbol100 AreaMarkerSymbol = "100" - AreaMarkerSymbolCircleOpen AreaMarkerSymbol = "circle-open" - AreaMarkerSymbolNumber200 AreaMarkerSymbol = 200 - AreaMarkerSymbol200 AreaMarkerSymbol = "200" - AreaMarkerSymbolCircleDot AreaMarkerSymbol = "circle-dot" - AreaMarkerSymbolNumber300 AreaMarkerSymbol = 300 - AreaMarkerSymbol300 AreaMarkerSymbol = "300" - AreaMarkerSymbolCircleOpenDot AreaMarkerSymbol = "circle-open-dot" - AreaMarkerSymbolNumber1 AreaMarkerSymbol = 1 - AreaMarkerSymbol1 AreaMarkerSymbol = "1" - AreaMarkerSymbolSquare AreaMarkerSymbol = "square" - AreaMarkerSymbolNumber101 AreaMarkerSymbol = 101 - AreaMarkerSymbol101 AreaMarkerSymbol = "101" - AreaMarkerSymbolSquareOpen AreaMarkerSymbol = "square-open" - AreaMarkerSymbolNumber201 AreaMarkerSymbol = 201 - AreaMarkerSymbol201 AreaMarkerSymbol = "201" - AreaMarkerSymbolSquareDot AreaMarkerSymbol = "square-dot" - AreaMarkerSymbolNumber301 AreaMarkerSymbol = 301 - AreaMarkerSymbol301 AreaMarkerSymbol = "301" - AreaMarkerSymbolSquareOpenDot AreaMarkerSymbol = "square-open-dot" - AreaMarkerSymbolNumber2 AreaMarkerSymbol = 2 - AreaMarkerSymbol2 AreaMarkerSymbol = "2" - AreaMarkerSymbolDiamond AreaMarkerSymbol = "diamond" - AreaMarkerSymbolNumber102 AreaMarkerSymbol = 102 - AreaMarkerSymbol102 AreaMarkerSymbol = "102" - AreaMarkerSymbolDiamondOpen AreaMarkerSymbol = "diamond-open" - AreaMarkerSymbolNumber202 AreaMarkerSymbol = 202 - AreaMarkerSymbol202 AreaMarkerSymbol = "202" - AreaMarkerSymbolDiamondDot AreaMarkerSymbol = "diamond-dot" - AreaMarkerSymbolNumber302 AreaMarkerSymbol = 302 - AreaMarkerSymbol302 AreaMarkerSymbol = "302" - AreaMarkerSymbolDiamondOpenDot AreaMarkerSymbol = "diamond-open-dot" - AreaMarkerSymbolNumber3 AreaMarkerSymbol = 3 - AreaMarkerSymbol3 AreaMarkerSymbol = "3" - AreaMarkerSymbolCross AreaMarkerSymbol = "cross" - AreaMarkerSymbolNumber103 AreaMarkerSymbol = 103 - AreaMarkerSymbol103 AreaMarkerSymbol = "103" - AreaMarkerSymbolCrossOpen AreaMarkerSymbol = "cross-open" - AreaMarkerSymbolNumber203 AreaMarkerSymbol = 203 - AreaMarkerSymbol203 AreaMarkerSymbol = "203" - AreaMarkerSymbolCrossDot AreaMarkerSymbol = "cross-dot" - AreaMarkerSymbolNumber303 AreaMarkerSymbol = 303 - AreaMarkerSymbol303 AreaMarkerSymbol = "303" - AreaMarkerSymbolCrossOpenDot AreaMarkerSymbol = "cross-open-dot" - AreaMarkerSymbolNumber4 AreaMarkerSymbol = 4 - AreaMarkerSymbol4 AreaMarkerSymbol = "4" - AreaMarkerSymbolX AreaMarkerSymbol = "x" - AreaMarkerSymbolNumber104 AreaMarkerSymbol = 104 - AreaMarkerSymbol104 AreaMarkerSymbol = "104" - AreaMarkerSymbolXOpen AreaMarkerSymbol = "x-open" - AreaMarkerSymbolNumber204 AreaMarkerSymbol = 204 - AreaMarkerSymbol204 AreaMarkerSymbol = "204" - AreaMarkerSymbolXDot AreaMarkerSymbol = "x-dot" - AreaMarkerSymbolNumber304 AreaMarkerSymbol = 304 - AreaMarkerSymbol304 AreaMarkerSymbol = "304" - AreaMarkerSymbolXOpenDot AreaMarkerSymbol = "x-open-dot" - AreaMarkerSymbolNumber5 AreaMarkerSymbol = 5 - AreaMarkerSymbol5 AreaMarkerSymbol = "5" - AreaMarkerSymbolTriangleUp AreaMarkerSymbol = "triangle-up" - AreaMarkerSymbolNumber105 AreaMarkerSymbol = 105 - AreaMarkerSymbol105 AreaMarkerSymbol = "105" - AreaMarkerSymbolTriangleUpOpen AreaMarkerSymbol = "triangle-up-open" - AreaMarkerSymbolNumber205 AreaMarkerSymbol = 205 - AreaMarkerSymbol205 AreaMarkerSymbol = "205" - AreaMarkerSymbolTriangleUpDot AreaMarkerSymbol = "triangle-up-dot" - AreaMarkerSymbolNumber305 AreaMarkerSymbol = 305 - AreaMarkerSymbol305 AreaMarkerSymbol = "305" - AreaMarkerSymbolTriangleUpOpenDot AreaMarkerSymbol = "triangle-up-open-dot" - AreaMarkerSymbolNumber6 AreaMarkerSymbol = 6 - AreaMarkerSymbol6 AreaMarkerSymbol = "6" - AreaMarkerSymbolTriangleDown AreaMarkerSymbol = "triangle-down" - AreaMarkerSymbolNumber106 AreaMarkerSymbol = 106 - AreaMarkerSymbol106 AreaMarkerSymbol = "106" - AreaMarkerSymbolTriangleDownOpen AreaMarkerSymbol = "triangle-down-open" - AreaMarkerSymbolNumber206 AreaMarkerSymbol = 206 - AreaMarkerSymbol206 AreaMarkerSymbol = "206" - AreaMarkerSymbolTriangleDownDot AreaMarkerSymbol = "triangle-down-dot" - AreaMarkerSymbolNumber306 AreaMarkerSymbol = 306 - AreaMarkerSymbol306 AreaMarkerSymbol = "306" - AreaMarkerSymbolTriangleDownOpenDot AreaMarkerSymbol = "triangle-down-open-dot" - AreaMarkerSymbolNumber7 AreaMarkerSymbol = 7 - AreaMarkerSymbol7 AreaMarkerSymbol = "7" - AreaMarkerSymbolTriangleLeft AreaMarkerSymbol = "triangle-left" - AreaMarkerSymbolNumber107 AreaMarkerSymbol = 107 - AreaMarkerSymbol107 AreaMarkerSymbol = "107" - AreaMarkerSymbolTriangleLeftOpen AreaMarkerSymbol = "triangle-left-open" - AreaMarkerSymbolNumber207 AreaMarkerSymbol = 207 - AreaMarkerSymbol207 AreaMarkerSymbol = "207" - AreaMarkerSymbolTriangleLeftDot AreaMarkerSymbol = "triangle-left-dot" - AreaMarkerSymbolNumber307 AreaMarkerSymbol = 307 - AreaMarkerSymbol307 AreaMarkerSymbol = "307" - AreaMarkerSymbolTriangleLeftOpenDot AreaMarkerSymbol = "triangle-left-open-dot" - AreaMarkerSymbolNumber8 AreaMarkerSymbol = 8 - AreaMarkerSymbol8 AreaMarkerSymbol = "8" - AreaMarkerSymbolTriangleRight AreaMarkerSymbol = "triangle-right" - AreaMarkerSymbolNumber108 AreaMarkerSymbol = 108 - AreaMarkerSymbol108 AreaMarkerSymbol = "108" - AreaMarkerSymbolTriangleRightOpen AreaMarkerSymbol = "triangle-right-open" - AreaMarkerSymbolNumber208 AreaMarkerSymbol = 208 - AreaMarkerSymbol208 AreaMarkerSymbol = "208" - AreaMarkerSymbolTriangleRightDot AreaMarkerSymbol = "triangle-right-dot" - AreaMarkerSymbolNumber308 AreaMarkerSymbol = 308 - AreaMarkerSymbol308 AreaMarkerSymbol = "308" - AreaMarkerSymbolTriangleRightOpenDot AreaMarkerSymbol = "triangle-right-open-dot" - AreaMarkerSymbolNumber9 AreaMarkerSymbol = 9 - AreaMarkerSymbol9 AreaMarkerSymbol = "9" - AreaMarkerSymbolTriangleNe AreaMarkerSymbol = "triangle-ne" - AreaMarkerSymbolNumber109 AreaMarkerSymbol = 109 - AreaMarkerSymbol109 AreaMarkerSymbol = "109" - AreaMarkerSymbolTriangleNeOpen AreaMarkerSymbol = "triangle-ne-open" - AreaMarkerSymbolNumber209 AreaMarkerSymbol = 209 - AreaMarkerSymbol209 AreaMarkerSymbol = "209" - AreaMarkerSymbolTriangleNeDot AreaMarkerSymbol = "triangle-ne-dot" - AreaMarkerSymbolNumber309 AreaMarkerSymbol = 309 - AreaMarkerSymbol309 AreaMarkerSymbol = "309" - AreaMarkerSymbolTriangleNeOpenDot AreaMarkerSymbol = "triangle-ne-open-dot" - AreaMarkerSymbolNumber10 AreaMarkerSymbol = 10 - AreaMarkerSymbol10 AreaMarkerSymbol = "10" - AreaMarkerSymbolTriangleSe AreaMarkerSymbol = "triangle-se" - AreaMarkerSymbolNumber110 AreaMarkerSymbol = 110 - AreaMarkerSymbol110 AreaMarkerSymbol = "110" - AreaMarkerSymbolTriangleSeOpen AreaMarkerSymbol = "triangle-se-open" - AreaMarkerSymbolNumber210 AreaMarkerSymbol = 210 - AreaMarkerSymbol210 AreaMarkerSymbol = "210" - AreaMarkerSymbolTriangleSeDot AreaMarkerSymbol = "triangle-se-dot" - AreaMarkerSymbolNumber310 AreaMarkerSymbol = 310 - AreaMarkerSymbol310 AreaMarkerSymbol = "310" - AreaMarkerSymbolTriangleSeOpenDot AreaMarkerSymbol = "triangle-se-open-dot" - AreaMarkerSymbolNumber11 AreaMarkerSymbol = 11 - AreaMarkerSymbol11 AreaMarkerSymbol = "11" - AreaMarkerSymbolTriangleSw AreaMarkerSymbol = "triangle-sw" - AreaMarkerSymbolNumber111 AreaMarkerSymbol = 111 - AreaMarkerSymbol111 AreaMarkerSymbol = "111" - AreaMarkerSymbolTriangleSwOpen AreaMarkerSymbol = "triangle-sw-open" - AreaMarkerSymbolNumber211 AreaMarkerSymbol = 211 - AreaMarkerSymbol211 AreaMarkerSymbol = "211" - AreaMarkerSymbolTriangleSwDot AreaMarkerSymbol = "triangle-sw-dot" - AreaMarkerSymbolNumber311 AreaMarkerSymbol = 311 - AreaMarkerSymbol311 AreaMarkerSymbol = "311" - AreaMarkerSymbolTriangleSwOpenDot AreaMarkerSymbol = "triangle-sw-open-dot" - AreaMarkerSymbolNumber12 AreaMarkerSymbol = 12 - AreaMarkerSymbol12 AreaMarkerSymbol = "12" - AreaMarkerSymbolTriangleNw AreaMarkerSymbol = "triangle-nw" - AreaMarkerSymbolNumber112 AreaMarkerSymbol = 112 - AreaMarkerSymbol112 AreaMarkerSymbol = "112" - AreaMarkerSymbolTriangleNwOpen AreaMarkerSymbol = "triangle-nw-open" - AreaMarkerSymbolNumber212 AreaMarkerSymbol = 212 - AreaMarkerSymbol212 AreaMarkerSymbol = "212" - AreaMarkerSymbolTriangleNwDot AreaMarkerSymbol = "triangle-nw-dot" - AreaMarkerSymbolNumber312 AreaMarkerSymbol = 312 - AreaMarkerSymbol312 AreaMarkerSymbol = "312" - AreaMarkerSymbolTriangleNwOpenDot AreaMarkerSymbol = "triangle-nw-open-dot" - AreaMarkerSymbolNumber13 AreaMarkerSymbol = 13 - AreaMarkerSymbol13 AreaMarkerSymbol = "13" - AreaMarkerSymbolPentagon AreaMarkerSymbol = "pentagon" - AreaMarkerSymbolNumber113 AreaMarkerSymbol = 113 - AreaMarkerSymbol113 AreaMarkerSymbol = "113" - AreaMarkerSymbolPentagonOpen AreaMarkerSymbol = "pentagon-open" - AreaMarkerSymbolNumber213 AreaMarkerSymbol = 213 - AreaMarkerSymbol213 AreaMarkerSymbol = "213" - AreaMarkerSymbolPentagonDot AreaMarkerSymbol = "pentagon-dot" - AreaMarkerSymbolNumber313 AreaMarkerSymbol = 313 - AreaMarkerSymbol313 AreaMarkerSymbol = "313" - AreaMarkerSymbolPentagonOpenDot AreaMarkerSymbol = "pentagon-open-dot" - AreaMarkerSymbolNumber14 AreaMarkerSymbol = 14 - AreaMarkerSymbol14 AreaMarkerSymbol = "14" - AreaMarkerSymbolHexagon AreaMarkerSymbol = "hexagon" - AreaMarkerSymbolNumber114 AreaMarkerSymbol = 114 - AreaMarkerSymbol114 AreaMarkerSymbol = "114" - AreaMarkerSymbolHexagonOpen AreaMarkerSymbol = "hexagon-open" - AreaMarkerSymbolNumber214 AreaMarkerSymbol = 214 - AreaMarkerSymbol214 AreaMarkerSymbol = "214" - AreaMarkerSymbolHexagonDot AreaMarkerSymbol = "hexagon-dot" - AreaMarkerSymbolNumber314 AreaMarkerSymbol = 314 - AreaMarkerSymbol314 AreaMarkerSymbol = "314" - AreaMarkerSymbolHexagonOpenDot AreaMarkerSymbol = "hexagon-open-dot" - AreaMarkerSymbolNumber15 AreaMarkerSymbol = 15 - AreaMarkerSymbol15 AreaMarkerSymbol = "15" - AreaMarkerSymbolHexagon2 AreaMarkerSymbol = "hexagon2" - AreaMarkerSymbolNumber115 AreaMarkerSymbol = 115 - AreaMarkerSymbol115 AreaMarkerSymbol = "115" - AreaMarkerSymbolHexagon2Open AreaMarkerSymbol = "hexagon2-open" - AreaMarkerSymbolNumber215 AreaMarkerSymbol = 215 - AreaMarkerSymbol215 AreaMarkerSymbol = "215" - AreaMarkerSymbolHexagon2Dot AreaMarkerSymbol = "hexagon2-dot" - AreaMarkerSymbolNumber315 AreaMarkerSymbol = 315 - AreaMarkerSymbol315 AreaMarkerSymbol = "315" - AreaMarkerSymbolHexagon2OpenDot AreaMarkerSymbol = "hexagon2-open-dot" - AreaMarkerSymbolNumber16 AreaMarkerSymbol = 16 - AreaMarkerSymbol16 AreaMarkerSymbol = "16" - AreaMarkerSymbolOctagon AreaMarkerSymbol = "octagon" - AreaMarkerSymbolNumber116 AreaMarkerSymbol = 116 - AreaMarkerSymbol116 AreaMarkerSymbol = "116" - AreaMarkerSymbolOctagonOpen AreaMarkerSymbol = "octagon-open" - AreaMarkerSymbolNumber216 AreaMarkerSymbol = 216 - AreaMarkerSymbol216 AreaMarkerSymbol = "216" - AreaMarkerSymbolOctagonDot AreaMarkerSymbol = "octagon-dot" - AreaMarkerSymbolNumber316 AreaMarkerSymbol = 316 - AreaMarkerSymbol316 AreaMarkerSymbol = "316" - AreaMarkerSymbolOctagonOpenDot AreaMarkerSymbol = "octagon-open-dot" - AreaMarkerSymbolNumber17 AreaMarkerSymbol = 17 - AreaMarkerSymbol17 AreaMarkerSymbol = "17" - AreaMarkerSymbolStar AreaMarkerSymbol = "star" - AreaMarkerSymbolNumber117 AreaMarkerSymbol = 117 - AreaMarkerSymbol117 AreaMarkerSymbol = "117" - AreaMarkerSymbolStarOpen AreaMarkerSymbol = "star-open" - AreaMarkerSymbolNumber217 AreaMarkerSymbol = 217 - AreaMarkerSymbol217 AreaMarkerSymbol = "217" - AreaMarkerSymbolStarDot AreaMarkerSymbol = "star-dot" - AreaMarkerSymbolNumber317 AreaMarkerSymbol = 317 - AreaMarkerSymbol317 AreaMarkerSymbol = "317" - AreaMarkerSymbolStarOpenDot AreaMarkerSymbol = "star-open-dot" - AreaMarkerSymbolNumber18 AreaMarkerSymbol = 18 - AreaMarkerSymbol18 AreaMarkerSymbol = "18" - AreaMarkerSymbolHexagram AreaMarkerSymbol = "hexagram" - AreaMarkerSymbolNumber118 AreaMarkerSymbol = 118 - AreaMarkerSymbol118 AreaMarkerSymbol = "118" - AreaMarkerSymbolHexagramOpen AreaMarkerSymbol = "hexagram-open" - AreaMarkerSymbolNumber218 AreaMarkerSymbol = 218 - AreaMarkerSymbol218 AreaMarkerSymbol = "218" - AreaMarkerSymbolHexagramDot AreaMarkerSymbol = "hexagram-dot" - AreaMarkerSymbolNumber318 AreaMarkerSymbol = 318 - AreaMarkerSymbol318 AreaMarkerSymbol = "318" - AreaMarkerSymbolHexagramOpenDot AreaMarkerSymbol = "hexagram-open-dot" - AreaMarkerSymbolNumber19 AreaMarkerSymbol = 19 - AreaMarkerSymbol19 AreaMarkerSymbol = "19" - AreaMarkerSymbolStarTriangleUp AreaMarkerSymbol = "star-triangle-up" - AreaMarkerSymbolNumber119 AreaMarkerSymbol = 119 - AreaMarkerSymbol119 AreaMarkerSymbol = "119" - AreaMarkerSymbolStarTriangleUpOpen AreaMarkerSymbol = "star-triangle-up-open" - AreaMarkerSymbolNumber219 AreaMarkerSymbol = 219 - AreaMarkerSymbol219 AreaMarkerSymbol = "219" - AreaMarkerSymbolStarTriangleUpDot AreaMarkerSymbol = "star-triangle-up-dot" - AreaMarkerSymbolNumber319 AreaMarkerSymbol = 319 - AreaMarkerSymbol319 AreaMarkerSymbol = "319" - AreaMarkerSymbolStarTriangleUpOpenDot AreaMarkerSymbol = "star-triangle-up-open-dot" - AreaMarkerSymbolNumber20 AreaMarkerSymbol = 20 - AreaMarkerSymbol20 AreaMarkerSymbol = "20" - AreaMarkerSymbolStarTriangleDown AreaMarkerSymbol = "star-triangle-down" - AreaMarkerSymbolNumber120 AreaMarkerSymbol = 120 - AreaMarkerSymbol120 AreaMarkerSymbol = "120" - AreaMarkerSymbolStarTriangleDownOpen AreaMarkerSymbol = "star-triangle-down-open" - AreaMarkerSymbolNumber220 AreaMarkerSymbol = 220 - AreaMarkerSymbol220 AreaMarkerSymbol = "220" - AreaMarkerSymbolStarTriangleDownDot AreaMarkerSymbol = "star-triangle-down-dot" - AreaMarkerSymbolNumber320 AreaMarkerSymbol = 320 - AreaMarkerSymbol320 AreaMarkerSymbol = "320" - AreaMarkerSymbolStarTriangleDownOpenDot AreaMarkerSymbol = "star-triangle-down-open-dot" - AreaMarkerSymbolNumber21 AreaMarkerSymbol = 21 - AreaMarkerSymbol21 AreaMarkerSymbol = "21" - AreaMarkerSymbolStarSquare AreaMarkerSymbol = "star-square" - AreaMarkerSymbolNumber121 AreaMarkerSymbol = 121 - AreaMarkerSymbol121 AreaMarkerSymbol = "121" - AreaMarkerSymbolStarSquareOpen AreaMarkerSymbol = "star-square-open" - AreaMarkerSymbolNumber221 AreaMarkerSymbol = 221 - AreaMarkerSymbol221 AreaMarkerSymbol = "221" - AreaMarkerSymbolStarSquareDot AreaMarkerSymbol = "star-square-dot" - AreaMarkerSymbolNumber321 AreaMarkerSymbol = 321 - AreaMarkerSymbol321 AreaMarkerSymbol = "321" - AreaMarkerSymbolStarSquareOpenDot AreaMarkerSymbol = "star-square-open-dot" - AreaMarkerSymbolNumber22 AreaMarkerSymbol = 22 - AreaMarkerSymbol22 AreaMarkerSymbol = "22" - AreaMarkerSymbolStarDiamond AreaMarkerSymbol = "star-diamond" - AreaMarkerSymbolNumber122 AreaMarkerSymbol = 122 - AreaMarkerSymbol122 AreaMarkerSymbol = "122" - AreaMarkerSymbolStarDiamondOpen AreaMarkerSymbol = "star-diamond-open" - AreaMarkerSymbolNumber222 AreaMarkerSymbol = 222 - AreaMarkerSymbol222 AreaMarkerSymbol = "222" - AreaMarkerSymbolStarDiamondDot AreaMarkerSymbol = "star-diamond-dot" - AreaMarkerSymbolNumber322 AreaMarkerSymbol = 322 - AreaMarkerSymbol322 AreaMarkerSymbol = "322" - AreaMarkerSymbolStarDiamondOpenDot AreaMarkerSymbol = "star-diamond-open-dot" - AreaMarkerSymbolNumber23 AreaMarkerSymbol = 23 - AreaMarkerSymbol23 AreaMarkerSymbol = "23" - AreaMarkerSymbolDiamondTall AreaMarkerSymbol = "diamond-tall" - AreaMarkerSymbolNumber123 AreaMarkerSymbol = 123 - AreaMarkerSymbol123 AreaMarkerSymbol = "123" - AreaMarkerSymbolDiamondTallOpen AreaMarkerSymbol = "diamond-tall-open" - AreaMarkerSymbolNumber223 AreaMarkerSymbol = 223 - AreaMarkerSymbol223 AreaMarkerSymbol = "223" - AreaMarkerSymbolDiamondTallDot AreaMarkerSymbol = "diamond-tall-dot" - AreaMarkerSymbolNumber323 AreaMarkerSymbol = 323 - AreaMarkerSymbol323 AreaMarkerSymbol = "323" - AreaMarkerSymbolDiamondTallOpenDot AreaMarkerSymbol = "diamond-tall-open-dot" - AreaMarkerSymbolNumber24 AreaMarkerSymbol = 24 - AreaMarkerSymbol24 AreaMarkerSymbol = "24" - AreaMarkerSymbolDiamondWide AreaMarkerSymbol = "diamond-wide" - AreaMarkerSymbolNumber124 AreaMarkerSymbol = 124 - AreaMarkerSymbol124 AreaMarkerSymbol = "124" - AreaMarkerSymbolDiamondWideOpen AreaMarkerSymbol = "diamond-wide-open" - AreaMarkerSymbolNumber224 AreaMarkerSymbol = 224 - AreaMarkerSymbol224 AreaMarkerSymbol = "224" - AreaMarkerSymbolDiamondWideDot AreaMarkerSymbol = "diamond-wide-dot" - AreaMarkerSymbolNumber324 AreaMarkerSymbol = 324 - AreaMarkerSymbol324 AreaMarkerSymbol = "324" - AreaMarkerSymbolDiamondWideOpenDot AreaMarkerSymbol = "diamond-wide-open-dot" - AreaMarkerSymbolNumber25 AreaMarkerSymbol = 25 - AreaMarkerSymbol25 AreaMarkerSymbol = "25" - AreaMarkerSymbolHourglass AreaMarkerSymbol = "hourglass" - AreaMarkerSymbolNumber125 AreaMarkerSymbol = 125 - AreaMarkerSymbol125 AreaMarkerSymbol = "125" - AreaMarkerSymbolHourglassOpen AreaMarkerSymbol = "hourglass-open" - AreaMarkerSymbolNumber26 AreaMarkerSymbol = 26 - AreaMarkerSymbol26 AreaMarkerSymbol = "26" - AreaMarkerSymbolBowtie AreaMarkerSymbol = "bowtie" - AreaMarkerSymbolNumber126 AreaMarkerSymbol = 126 - AreaMarkerSymbol126 AreaMarkerSymbol = "126" - AreaMarkerSymbolBowtieOpen AreaMarkerSymbol = "bowtie-open" - AreaMarkerSymbolNumber27 AreaMarkerSymbol = 27 - AreaMarkerSymbol27 AreaMarkerSymbol = "27" - AreaMarkerSymbolCircleCross AreaMarkerSymbol = "circle-cross" - AreaMarkerSymbolNumber127 AreaMarkerSymbol = 127 - AreaMarkerSymbol127 AreaMarkerSymbol = "127" - AreaMarkerSymbolCircleCrossOpen AreaMarkerSymbol = "circle-cross-open" - AreaMarkerSymbolNumber28 AreaMarkerSymbol = 28 - AreaMarkerSymbol28 AreaMarkerSymbol = "28" - AreaMarkerSymbolCircleX AreaMarkerSymbol = "circle-x" - AreaMarkerSymbolNumber128 AreaMarkerSymbol = 128 - AreaMarkerSymbol128 AreaMarkerSymbol = "128" - AreaMarkerSymbolCircleXOpen AreaMarkerSymbol = "circle-x-open" - AreaMarkerSymbolNumber29 AreaMarkerSymbol = 29 - AreaMarkerSymbol29 AreaMarkerSymbol = "29" - AreaMarkerSymbolSquareCross AreaMarkerSymbol = "square-cross" - AreaMarkerSymbolNumber129 AreaMarkerSymbol = 129 - AreaMarkerSymbol129 AreaMarkerSymbol = "129" - AreaMarkerSymbolSquareCrossOpen AreaMarkerSymbol = "square-cross-open" - AreaMarkerSymbolNumber30 AreaMarkerSymbol = 30 - AreaMarkerSymbol30 AreaMarkerSymbol = "30" - AreaMarkerSymbolSquareX AreaMarkerSymbol = "square-x" - AreaMarkerSymbolNumber130 AreaMarkerSymbol = 130 - AreaMarkerSymbol130 AreaMarkerSymbol = "130" - AreaMarkerSymbolSquareXOpen AreaMarkerSymbol = "square-x-open" - AreaMarkerSymbolNumber31 AreaMarkerSymbol = 31 - AreaMarkerSymbol31 AreaMarkerSymbol = "31" - AreaMarkerSymbolDiamondCross AreaMarkerSymbol = "diamond-cross" - AreaMarkerSymbolNumber131 AreaMarkerSymbol = 131 - AreaMarkerSymbol131 AreaMarkerSymbol = "131" - AreaMarkerSymbolDiamondCrossOpen AreaMarkerSymbol = "diamond-cross-open" - AreaMarkerSymbolNumber32 AreaMarkerSymbol = 32 - AreaMarkerSymbol32 AreaMarkerSymbol = "32" - AreaMarkerSymbolDiamondX AreaMarkerSymbol = "diamond-x" - AreaMarkerSymbolNumber132 AreaMarkerSymbol = 132 - AreaMarkerSymbol132 AreaMarkerSymbol = "132" - AreaMarkerSymbolDiamondXOpen AreaMarkerSymbol = "diamond-x-open" - AreaMarkerSymbolNumber33 AreaMarkerSymbol = 33 - AreaMarkerSymbol33 AreaMarkerSymbol = "33" - AreaMarkerSymbolCrossThin AreaMarkerSymbol = "cross-thin" - AreaMarkerSymbolNumber133 AreaMarkerSymbol = 133 - AreaMarkerSymbol133 AreaMarkerSymbol = "133" - AreaMarkerSymbolCrossThinOpen AreaMarkerSymbol = "cross-thin-open" - AreaMarkerSymbolNumber34 AreaMarkerSymbol = 34 - AreaMarkerSymbol34 AreaMarkerSymbol = "34" - AreaMarkerSymbolXThin AreaMarkerSymbol = "x-thin" - AreaMarkerSymbolNumber134 AreaMarkerSymbol = 134 - AreaMarkerSymbol134 AreaMarkerSymbol = "134" - AreaMarkerSymbolXThinOpen AreaMarkerSymbol = "x-thin-open" - AreaMarkerSymbolNumber35 AreaMarkerSymbol = 35 - AreaMarkerSymbol35 AreaMarkerSymbol = "35" - AreaMarkerSymbolAsterisk AreaMarkerSymbol = "asterisk" - AreaMarkerSymbolNumber135 AreaMarkerSymbol = 135 - AreaMarkerSymbol135 AreaMarkerSymbol = "135" - AreaMarkerSymbolAsteriskOpen AreaMarkerSymbol = "asterisk-open" - AreaMarkerSymbolNumber36 AreaMarkerSymbol = 36 - AreaMarkerSymbol36 AreaMarkerSymbol = "36" - AreaMarkerSymbolHash AreaMarkerSymbol = "hash" - AreaMarkerSymbolNumber136 AreaMarkerSymbol = 136 - AreaMarkerSymbol136 AreaMarkerSymbol = "136" - AreaMarkerSymbolHashOpen AreaMarkerSymbol = "hash-open" - AreaMarkerSymbolNumber236 AreaMarkerSymbol = 236 - AreaMarkerSymbol236 AreaMarkerSymbol = "236" - AreaMarkerSymbolHashDot AreaMarkerSymbol = "hash-dot" - AreaMarkerSymbolNumber336 AreaMarkerSymbol = 336 - AreaMarkerSymbol336 AreaMarkerSymbol = "336" - AreaMarkerSymbolHashOpenDot AreaMarkerSymbol = "hash-open-dot" - AreaMarkerSymbolNumber37 AreaMarkerSymbol = 37 - AreaMarkerSymbol37 AreaMarkerSymbol = "37" - AreaMarkerSymbolYUp AreaMarkerSymbol = "y-up" - AreaMarkerSymbolNumber137 AreaMarkerSymbol = 137 - AreaMarkerSymbol137 AreaMarkerSymbol = "137" - AreaMarkerSymbolYUpOpen AreaMarkerSymbol = "y-up-open" - AreaMarkerSymbolNumber38 AreaMarkerSymbol = 38 - AreaMarkerSymbol38 AreaMarkerSymbol = "38" - AreaMarkerSymbolYDown AreaMarkerSymbol = "y-down" - AreaMarkerSymbolNumber138 AreaMarkerSymbol = 138 - AreaMarkerSymbol138 AreaMarkerSymbol = "138" - AreaMarkerSymbolYDownOpen AreaMarkerSymbol = "y-down-open" - AreaMarkerSymbolNumber39 AreaMarkerSymbol = 39 - AreaMarkerSymbol39 AreaMarkerSymbol = "39" - AreaMarkerSymbolYLeft AreaMarkerSymbol = "y-left" - AreaMarkerSymbolNumber139 AreaMarkerSymbol = 139 - AreaMarkerSymbol139 AreaMarkerSymbol = "139" - AreaMarkerSymbolYLeftOpen AreaMarkerSymbol = "y-left-open" - AreaMarkerSymbolNumber40 AreaMarkerSymbol = 40 - AreaMarkerSymbol40 AreaMarkerSymbol = "40" - AreaMarkerSymbolYRight AreaMarkerSymbol = "y-right" - AreaMarkerSymbolNumber140 AreaMarkerSymbol = 140 - AreaMarkerSymbol140 AreaMarkerSymbol = "140" - AreaMarkerSymbolYRightOpen AreaMarkerSymbol = "y-right-open" - AreaMarkerSymbolNumber41 AreaMarkerSymbol = 41 - AreaMarkerSymbol41 AreaMarkerSymbol = "41" - AreaMarkerSymbolLineEw AreaMarkerSymbol = "line-ew" - AreaMarkerSymbolNumber141 AreaMarkerSymbol = 141 - AreaMarkerSymbol141 AreaMarkerSymbol = "141" - AreaMarkerSymbolLineEwOpen AreaMarkerSymbol = "line-ew-open" - AreaMarkerSymbolNumber42 AreaMarkerSymbol = 42 - AreaMarkerSymbol42 AreaMarkerSymbol = "42" - AreaMarkerSymbolLineNs AreaMarkerSymbol = "line-ns" - AreaMarkerSymbolNumber142 AreaMarkerSymbol = 142 - AreaMarkerSymbol142 AreaMarkerSymbol = "142" - AreaMarkerSymbolLineNsOpen AreaMarkerSymbol = "line-ns-open" - AreaMarkerSymbolNumber43 AreaMarkerSymbol = 43 - AreaMarkerSymbol43 AreaMarkerSymbol = "43" - AreaMarkerSymbolLineNe AreaMarkerSymbol = "line-ne" - AreaMarkerSymbolNumber143 AreaMarkerSymbol = 143 - AreaMarkerSymbol143 AreaMarkerSymbol = "143" - AreaMarkerSymbolLineNeOpen AreaMarkerSymbol = "line-ne-open" - AreaMarkerSymbolNumber44 AreaMarkerSymbol = 44 - AreaMarkerSymbol44 AreaMarkerSymbol = "44" - AreaMarkerSymbolLineNw AreaMarkerSymbol = "line-nw" - AreaMarkerSymbolNumber144 AreaMarkerSymbol = 144 - AreaMarkerSymbol144 AreaMarkerSymbol = "144" - AreaMarkerSymbolLineNwOpen AreaMarkerSymbol = "line-nw-open" - AreaMarkerSymbolNumber45 AreaMarkerSymbol = 45 - AreaMarkerSymbol45 AreaMarkerSymbol = "45" - AreaMarkerSymbolArrowUp AreaMarkerSymbol = "arrow-up" - AreaMarkerSymbolNumber145 AreaMarkerSymbol = 145 - AreaMarkerSymbol145 AreaMarkerSymbol = "145" - AreaMarkerSymbolArrowUpOpen AreaMarkerSymbol = "arrow-up-open" - AreaMarkerSymbolNumber46 AreaMarkerSymbol = 46 - AreaMarkerSymbol46 AreaMarkerSymbol = "46" - AreaMarkerSymbolArrowDown AreaMarkerSymbol = "arrow-down" - AreaMarkerSymbolNumber146 AreaMarkerSymbol = 146 - AreaMarkerSymbol146 AreaMarkerSymbol = "146" - AreaMarkerSymbolArrowDownOpen AreaMarkerSymbol = "arrow-down-open" - AreaMarkerSymbolNumber47 AreaMarkerSymbol = 47 - AreaMarkerSymbol47 AreaMarkerSymbol = "47" - AreaMarkerSymbolArrowLeft AreaMarkerSymbol = "arrow-left" - AreaMarkerSymbolNumber147 AreaMarkerSymbol = 147 - AreaMarkerSymbol147 AreaMarkerSymbol = "147" - AreaMarkerSymbolArrowLeftOpen AreaMarkerSymbol = "arrow-left-open" - AreaMarkerSymbolNumber48 AreaMarkerSymbol = 48 - AreaMarkerSymbol48 AreaMarkerSymbol = "48" - AreaMarkerSymbolArrowRight AreaMarkerSymbol = "arrow-right" - AreaMarkerSymbolNumber148 AreaMarkerSymbol = 148 - AreaMarkerSymbol148 AreaMarkerSymbol = "148" - AreaMarkerSymbolArrowRightOpen AreaMarkerSymbol = "arrow-right-open" - AreaMarkerSymbolNumber49 AreaMarkerSymbol = 49 - AreaMarkerSymbol49 AreaMarkerSymbol = "49" - AreaMarkerSymbolArrowBarUp AreaMarkerSymbol = "arrow-bar-up" - AreaMarkerSymbolNumber149 AreaMarkerSymbol = 149 - AreaMarkerSymbol149 AreaMarkerSymbol = "149" - AreaMarkerSymbolArrowBarUpOpen AreaMarkerSymbol = "arrow-bar-up-open" - AreaMarkerSymbolNumber50 AreaMarkerSymbol = 50 - AreaMarkerSymbol50 AreaMarkerSymbol = "50" - AreaMarkerSymbolArrowBarDown AreaMarkerSymbol = "arrow-bar-down" - AreaMarkerSymbolNumber150 AreaMarkerSymbol = 150 - AreaMarkerSymbol150 AreaMarkerSymbol = "150" - AreaMarkerSymbolArrowBarDownOpen AreaMarkerSymbol = "arrow-bar-down-open" - AreaMarkerSymbolNumber51 AreaMarkerSymbol = 51 - AreaMarkerSymbol51 AreaMarkerSymbol = "51" - AreaMarkerSymbolArrowBarLeft AreaMarkerSymbol = "arrow-bar-left" - AreaMarkerSymbolNumber151 AreaMarkerSymbol = 151 - AreaMarkerSymbol151 AreaMarkerSymbol = "151" - AreaMarkerSymbolArrowBarLeftOpen AreaMarkerSymbol = "arrow-bar-left-open" - AreaMarkerSymbolNumber52 AreaMarkerSymbol = 52 - AreaMarkerSymbol52 AreaMarkerSymbol = "52" - AreaMarkerSymbolArrowBarRight AreaMarkerSymbol = "arrow-bar-right" - AreaMarkerSymbolNumber152 AreaMarkerSymbol = 152 - AreaMarkerSymbol152 AreaMarkerSymbol = "152" - AreaMarkerSymbolArrowBarRightOpen AreaMarkerSymbol = "arrow-bar-right-open" -) - -// AreaVisible 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). -type AreaVisible interface{} - -var ( - AreaVisibleTrue AreaVisible = true - AreaVisibleFalse AreaVisible = false - AreaVisibleLegendonly AreaVisible = "legendonly" -) - -// AreaHoverinfo 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. -type AreaHoverinfo string - -const ( - // Flags - AreaHoverinfoX AreaHoverinfo = "x" - AreaHoverinfoY AreaHoverinfo = "y" - AreaHoverinfoZ AreaHoverinfo = "z" - AreaHoverinfoText AreaHoverinfo = "text" - AreaHoverinfoName AreaHoverinfo = "name" - - // Extra - AreaHoverinfoAll AreaHoverinfo = "all" - AreaHoverinfoNone AreaHoverinfo = "none" - AreaHoverinfoSkip AreaHoverinfo = "skip" -) diff --git a/schemas.yaml b/schemas.yaml new file mode 100644 index 0000000..a7f8e87 --- /dev/null +++ b/schemas.yaml @@ -0,0 +1,19 @@ +versions: + - Name: Plotly 2.31.1 + Tag: v2.31.1 + URL: https://raw.githubusercontent.com/plotly/plotly.js/v2.31.1/test/plot-schema.json + Path: schemas/v2.31.1/plot-schema.json + Generated: generated/v2.31.1 + CDN: https://cdn.plot.ly/plotly-2.31.1.min.js + - Name: Plotly 2.29.1 + Tag: v2.29.1 + URL: https://raw.githubusercontent.com/plotly/plotly.js/v2.29.1/test/plot-schema.json + Path: schemas/v2.29.1/plot-schema.json + Generated: generated/v2.29.1 + CDN: https://cdn.plot.ly/plotly-2.29.1.min.js + - Name: Plotly 2.19.0 + Tag: v2.19.0 + URL: https://raw.githubusercontent.com/plotly/plotly.js/v2.19.0/test/plot-schema.json + Path: schemas/v2.19.0/plot-schema.json + Generated: generated/v2.19.0 + CDN: https://cdn.plot.ly/plotly-2.19.0.min.js \ No newline at end of file diff --git a/schemas/v2.19.0/plot-schema.json b/schemas/v2.19.0/plot-schema.json new file mode 100644 index 0000000..ece0bb0 --- /dev/null +++ b/schemas/v2.19.0/plot-schema.json @@ -0,0 +1 @@ +{"sha1":"11b662302a42aa0698df091a9974ac8f6e1a2292","modified":true,"schema":{"animation":{"direction":{"description":"The direction in which to play the frames triggered by the animation call","dflt":"forward","valType":"enumerated","values":["forward","reverse"]},"frame":{"duration":{"description":"The duration in milliseconds of each frame. If greater than the frame duration, it will be limited to the frame duration.","dflt":500,"min":0,"valType":"number"},"redraw":{"description":"Redraw the plot at completion of the transition. This is desirable for transitions that include properties that cannot be transitioned, but may significantly slow down updates that do not require a full redraw of the plot","dflt":true,"valType":"boolean"},"role":"object"},"fromcurrent":{"description":"Play frames starting at the current frame instead of the beginning.","dflt":false,"valType":"boolean"},"mode":{"description":"Describes how a new animate call interacts with currently-running animations. If `immediate`, current animations are interrupted and the new animation is started. If `next`, the current frame is allowed to complete, after which the new animation is started. If `afterall` all existing frames are animated to completion before the new animation is started.","dflt":"afterall","valType":"enumerated","values":["immediate","next","afterall"]},"transition":{"duration":{"description":"The duration of the transition, in milliseconds. If equal to zero, updates are synchronous.","dflt":500,"editType":"none","min":0,"valType":"number"},"easing":{"description":"The easing function used for the transition","dflt":"cubic-in-out","editType":"none","valType":"enumerated","values":["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"]},"ordering":{"description":"Determines whether the figure's layout or traces smoothly transitions during updates that make both traces and layout change.","dflt":"layout first","editType":"none","valType":"enumerated","values":["layout first","traces first"]},"role":"object"}},"config":{"autosizable":{"description":"Determines whether the graphs are plotted with respect to layout.autosize:true and infer its container size.","dflt":false,"valType":"boolean"},"displayModeBar":{"description":"Determines the mode bar display mode. If *true*, the mode bar is always visible. If *false*, the mode bar is always hidden. If *hover*, the mode bar is visible while the mouse cursor is on the graph container.","dflt":"hover","valType":"enumerated","values":["hover",true,false]},"displaylogo":{"description":"Determines whether or not the plotly logo is displayed on the end of the mode bar.","dflt":true,"valType":"boolean"},"doubleClick":{"description":"Sets the double click interaction mode. Has an effect only in cartesian plots. If *false*, double click is disable. If *reset*, double click resets the axis ranges to their initial values. If *autosize*, double click set the axis ranges to their autorange values. If *reset+autosize*, the odd double clicks resets the axis ranges to their initial values and even double clicks set the axis ranges to their autorange values.","dflt":"reset+autosize","valType":"enumerated","values":[false,"reset","autosize","reset+autosize"]},"doubleClickDelay":{"description":"Sets the delay for registering a double-click in ms. This is the time interval (in ms) between first mousedown and 2nd mouseup to constitute a double-click. This setting propagates to all on-subplot double clicks (except for geo and mapbox) and on-legend double clicks.","dflt":300,"min":0,"valType":"number"},"editSelection":{"description":"Enables moving selections.","dflt":true,"valType":"boolean"},"editable":{"description":"Determines whether the graph is editable or not. Sets all pieces of `edits` unless a separate `edits` config item overrides individual parts.","dflt":false,"valType":"boolean"},"edits":{"annotationPosition":{"description":"Determines if the main anchor of the annotation is editable. The main anchor corresponds to the text (if no arrow) or the arrow (which drags the whole thing leaving the arrow length \u0026 direction unchanged).","dflt":false,"valType":"boolean"},"annotationTail":{"description":"Has only an effect for annotations with arrows. Enables changing the length and direction of the arrow.","dflt":false,"valType":"boolean"},"annotationText":{"description":"Enables editing annotation text.","dflt":false,"valType":"boolean"},"axisTitleText":{"description":"Enables editing axis title text.","dflt":false,"valType":"boolean"},"colorbarPosition":{"description":"Enables moving colorbars.","dflt":false,"valType":"boolean"},"colorbarTitleText":{"description":"Enables editing colorbar title text.","dflt":false,"valType":"boolean"},"legendPosition":{"description":"Enables moving the legend.","dflt":false,"valType":"boolean"},"legendText":{"description":"Enables editing the trace name fields from the legend","dflt":false,"valType":"boolean"},"role":"object","shapePosition":{"description":"Enables moving shapes.","dflt":false,"valType":"boolean"},"titleText":{"description":"Enables editing the global layout title.","dflt":false,"valType":"boolean"}},"fillFrame":{"description":"When `layout.autosize` is turned on, determines whether the graph fills the container (the default) or the screen (if set to *true*).","dflt":false,"valType":"boolean"},"frameMargins":{"description":"When `layout.autosize` is turned on, set the frame margins in fraction of the graph size.","dflt":0,"max":0.5,"min":0,"valType":"number"},"globalTransforms":{"description":"Set global transform to be applied to all traces with no specification needed","dflt":[],"valType":"any"},"linkText":{"description":"Sets the text appearing in the `showLink` link.","dflt":"Edit chart","noBlank":true,"valType":"string"},"locale":{"description":"Which localization should we use? Should be a string like 'en' or 'en-US'.","dflt":"en-US","valType":"string"},"locales":{"description":"Localization definitions Locales can be provided either here (specific to one chart) or globally by registering them as modules. Should be an object of objects {locale: {dictionary: {...}, format: {...}}} { da: { dictionary: {'Reset axes': 'Nulstil aksler', ...}, format: {months: [...], shortMonths: [...]} }, ... } All parts are optional. When looking for translation or format fields, we look first for an exact match in a config locale, then in a registered module. If those fail, we strip off any regionalization ('en-US' -\u003e 'en') and try each (config, registry) again. The final fallback for translation is untranslated (which is US English) and for formats is the base English (the only consequence being the last fallback date format %x is DD/MM/YYYY instead of MM/DD/YYYY). Currently `grouping` and `currency` are ignored for our automatic number formatting, but can be used in custom formats.","dflt":{},"valType":"any"},"logging":{"description":"Turn all console logging on or off (errors will be thrown) This should ONLY be set via Plotly.setPlotConfig Available levels: 0: no logs 1: warnings and errors, but not informational messages 2: verbose logs","dflt":1,"max":2,"min":0,"valType":"integer"},"mapboxAccessToken":{"description":"Mapbox access token (required to plot mapbox trace types) If using an Mapbox Atlas server, set this option to '' so that plotly.js won't attempt to authenticate to the public Mapbox server.","dflt":null,"valType":"string"},"modeBarButtons":{"description":"Define fully custom mode bar buttons as nested array, where the outer arrays represents button groups, and the inner arrays have buttons config objects or names of default buttons See ./components/modebar/buttons.js for more info.","dflt":false,"valType":"any"},"modeBarButtonsToAdd":{"description":"Add mode bar button using config objects See ./components/modebar/buttons.js for list of arguments. To enable predefined modebar buttons e.g. shape drawing, hover and spikelines, simply provide their string name(s). This could include: *v1hovermode*, *hoverclosest*, *hovercompare*, *togglehover*, *togglespikelines*, *drawline*, *drawopenpath*, *drawclosedpath*, *drawcircle*, *drawrect* and *eraseshape*. Please note that these predefined buttons will only be shown if they are compatible with all trace types used in a graph.","dflt":[],"valType":"any"},"modeBarButtonsToRemove":{"description":"Remove mode bar buttons by name. See ./components/modebar/buttons.js for the list of names.","dflt":[],"valType":"any"},"notifyOnLogging":{"description":"Set on-graph logging (notifier) level This should ONLY be set via Plotly.setPlotConfig Available levels: 0: no on-graph logs 1: warnings and errors, but not informational messages 2: verbose logs","dflt":0,"max":2,"min":0,"valType":"integer"},"plotGlPixelRatio":{"description":"Set the pixel ratio during WebGL image export. This config option was formerly named `plot3dPixelRatio` which is now deprecated.","dflt":2,"max":4,"min":1,"valType":"number"},"plotlyServerURL":{"description":"When set it determines base URL for the 'Edit in Chart Studio' `showEditInChartStudio`/`showSendToCloud` mode bar button and the showLink/sendData on-graph link. To enable sending your data to Chart Studio Cloud, you need to set both `plotlyServerURL` to 'https://chart-studio.plotly.com' and also set `showSendToCloud` to true.","dflt":"","valType":"string"},"queueLength":{"description":"Sets the length of the undo/redo queue.","dflt":0,"min":0,"valType":"integer"},"responsive":{"description":"Determines whether to change the layout size when window is resized. In v3, this option will be removed and will always be true.","dflt":false,"valType":"boolean"},"scrollZoom":{"description":"Determines whether mouse wheel or two-finger scroll zooms is enable. Turned on by default for gl3d, geo and mapbox subplots (as these subplot types do not have zoombox via pan), but turned off by default for cartesian subplots. Set `scrollZoom` to *false* to disable scrolling for all subplots.","dflt":"gl3d+geo+mapbox","extras":[true,false],"flags":["cartesian","gl3d","geo","mapbox"],"valType":"flaglist"},"sendData":{"description":"If *showLink* is true, does it contain data just link to a Chart Studio Cloud file?","dflt":true,"valType":"boolean"},"setBackground":{"description":"Set function to add the background color (i.e. `layout.paper_color`) to a different container. This function take the graph div as first argument and the current background color as second argument. Alternatively, set to string *opaque* to ensure there is white behind it.","dflt":"transparent","valType":"any"},"showAxisDragHandles":{"description":"Set to *false* to omit cartesian axis pan/zoom drag handles.","dflt":true,"valType":"boolean"},"showAxisRangeEntryBoxes":{"description":"Set to *false* to omit direct range entry at the pan/zoom drag points, note that `showAxisDragHandles` must be enabled to have an effect.","dflt":true,"valType":"boolean"},"showEditInChartStudio":{"description":"Same as `showSendToCloud`, but use a pencil icon instead of a floppy-disk. Note that if both `showSendToCloud` and `showEditInChartStudio` are turned, only `showEditInChartStudio` will be honored.","dflt":false,"valType":"boolean"},"showLink":{"description":"Determines whether a link to Chart Studio Cloud is displayed at the bottom right corner of resulting graphs. Use with `sendData` and `linkText`.","dflt":false,"valType":"boolean"},"showSendToCloud":{"description":"Should we include a ModeBar button, labeled \"Edit in Chart Studio\", that sends this chart to chart-studio.plotly.com (formerly plot.ly) or another plotly server as specified by `plotlyServerURL` for editing, export, etc? Prior to version 1.43.0 this button was included by default, now it is opt-in using this flag. Note that this button can (depending on `plotlyServerURL` being set) send your data to an external server. However that server does not persist your data until you arrive at the Chart Studio and explicitly click \"Save\".","dflt":false,"valType":"boolean"},"showSources":{"description":"Adds a source-displaying function to show sources on the resulting graphs.","dflt":false,"valType":"any"},"showTips":{"description":"Determines whether or not tips are shown while interacting with the resulting graphs.","dflt":true,"valType":"boolean"},"staticPlot":{"description":"Determines whether the graphs are interactive or not. If *false*, no interactivity, for export or image generation.","dflt":false,"valType":"boolean"},"toImageButtonOptions":{"description":"Statically override options for toImage modebar button allowed keys are format, filename, width, height, scale see ../components/modebar/buttons.js","dflt":{},"valType":"any"},"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: \u003cpath-to-plotly.js\u003e/dist/topojson/ to render geographical feature using the topojson files that ship with the plotly.js module.","dflt":"https://cdn.plot.ly/","noBlank":true,"valType":"string"},"typesetMath":{"description":"Determines whether math should be typeset or not, when MathJax (either v2 or v3) is present on the page.","dflt":true,"valType":"boolean"},"watermark":{"description":"watermark the images with the company's logo","dflt":false,"valType":"boolean"}},"defs":{"editType":{"layout":{"description":"layout attributes should include an `editType` string matching this flaglist. *calc* is the most extensive: a full (re)plot starting by clearing `gd.calcdata` to force it to be regenerated *plot* (re)plots but without first clearing `gd.calcdata`. *legend* only redraws the legend. *ticks* only redraws axis ticks, labels, and gridlines. *axrange* minimal sequence when updating axis ranges. *layoutstyle* reapplies global and SVG cartesian axis styles. *modebar* just updates the modebar. *camera* just updates the camera settings for gl3d scenes. *arraydraw* allows component arrays to invoke the redraw routines just for the component(s) that changed. *colorbars* only redraws colorbars.","extras":["none"],"flags":["calc","plot","legend","ticks","axrange","layoutstyle","modebar","camera","arraydraw","colorbars"],"valType":"flaglist"},"traces":{"description":"trace attributes should include an `editType` string matching this flaglist. *calc* is the most extensive: a full (re)plot starting by clearing `gd.calcdata` to force it to be regenerated *clearAxisTypes* resets the types of the axes this trace is on, because new data could cause the automatic axis type detection to change. Log type will not be cleared, as that is never automatically chosen so must have been user-specified. *plot* (re)plots but without first clearing `gd.calcdata`. *style* only calls `module.style` (or module.editStyle) for all trace modules and redraws the legend. *markerSize* is like *style*, but propagate axis-range changes due to scatter `marker.size` *colorbars* only redraws colorbars.","extras":["none"],"flags":["calc","clearAxisTypes","plot","style","markerSize","colorbars"],"valType":"flaglist"}},"impliedEdits":{"description":"Sometimes when an attribute is changed, other attributes must be altered as well in order to achieve the intended result. For example, when `range` is specified, it is important to set `autorange` to `false` or the new `range` value would be lost in the redraw. `impliedEdits` is the mechanism to do this: `impliedEdits: {autorange: false}`. Each key is a relative paths to the attribute string to change, using *^* to ascend into the parent container, for example `range[0]` has `impliedEdits: {*^autorange*: false}`. A value of `undefined` means that the attribute will not be changed, but its previous value should be recorded in case we want to reverse this change later. For example, `autorange` has `impliedEdits: {*range[0]*: undefined, *range[1]*:undefined} because the range will likely be changed by redraw."},"metaKeys":["_isSubplotObj","_isLinkedToArray","_arrayAttrRegexps","_deprecated","description","role","editType","impliedEdits"],"valObjects":{"angle":{"description":"A number (in degree) between -180 and 180.","otherOpts":["dflt","arrayOk"],"requiredOpts":[]},"any":{"description":"Any type.","otherOpts":["dflt","values","arrayOk"],"requiredOpts":[]},"boolean":{"description":"A boolean (true/false) value.","otherOpts":["dflt"],"requiredOpts":[]},"color":{"description":"A string describing color. Supported formats: - hex (e.g. '#d3d3d3') - rgb (e.g. 'rgb(255, 0, 0)') - rgba (e.g. 'rgb(255, 0, 0, 0.5)') - hsl (e.g. 'hsl(0, 100%, 50%)') - hsv (e.g. 'hsv(0, 100%, 100%)') - named colors (full list: http://www.w3.org/TR/css3-color/#svg-color)","otherOpts":["dflt","arrayOk"],"requiredOpts":[]},"colorlist":{"description":"A list of colors. Must be an {array} containing valid colors.","otherOpts":["dflt"],"requiredOpts":[]},"colorscale":{"description":"A Plotly colorscale either picked by a name: (any of Greys, YlGnBu, Greens, YlOrRd, Bluered, RdBu, Reds, Blues, Picnic, Rainbow, Portland, Jet, Hot, Blackbody, Earth, Electric, Viridis, Cividis ) customized as an {array} of 2-element {arrays} where the first element is the normalized color level value (starting at *0* and ending at *1*), and the second item is a valid color string.","otherOpts":["dflt"],"requiredOpts":[]},"data_array":{"description":"An {array} of data. The value MUST be an {array}, or we ignore it. Note that typed arrays (e.g. Float32Array) are supported.","otherOpts":["dflt"],"requiredOpts":[]},"enumerated":{"description":"Enumerated value type. The available values are listed in `values`.","otherOpts":["dflt","coerceNumber","arrayOk"],"requiredOpts":["values"]},"flaglist":{"description":"A string representing a combination of flags (order does not matter here). Combine any of the available `flags` with *+*. (e.g. ('lines+markers')). Values in `extras` cannot be combined.","otherOpts":["dflt","extras","arrayOk"],"requiredOpts":["flags"]},"info_array":{"description":"An {array} of plot information.","otherOpts":["dflt","freeLength","dimensions"],"requiredOpts":["items"]},"integer":{"description":"An integer or an integer inside a string. When applicable, values greater (less) than `max` (`min`) are coerced to the `dflt`.","otherOpts":["dflt","min","max","arrayOk"],"requiredOpts":[]},"number":{"description":"A number or a numeric value (e.g. a number inside a string). When applicable, values greater (less) than `max` (`min`) are coerced to the `dflt`.","otherOpts":["dflt","min","max","arrayOk"],"requiredOpts":[]},"string":{"description":"A string value. Numbers are converted to strings except for attributes with `strict` set to true.","otherOpts":["dflt","noBlank","strict","arrayOk","values"],"requiredOpts":[]},"subplotid":{"description":"An id string of a subplot type (given by dflt), optionally followed by an integer \u003e1. e.g. if dflt='geo', we can have 'geo', 'geo2', 'geo3', ...","otherOpts":["regex"],"requiredOpts":["dflt"]}}},"frames":{"items":{"frames_entry":{"baseframe":{"description":"The name of the frame into which this frame's properties are merged before applying. This is used to unify properties and avoid needing to specify the same values for the same properties in multiple frames.","valType":"string"},"data":{"description":"A list of traces this frame modifies. The format is identical to the normal trace definition.","valType":"any"},"group":{"description":"An identifier that specifies the group to which the frame belongs, used by animate to select a subset of frames.","valType":"string"},"layout":{"description":"Layout properties which this frame modifies. The format is identical to the normal layout definition.","valType":"any"},"name":{"description":"A label by which to identify the frame","valType":"string"},"role":"object","traces":{"description":"A list of trace indices that identify the respective traces in the data attribute","valType":"any"}}},"role":"object"},"layout":{"layoutAttributes":{"_deprecated":{"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the contents of the title, please use `title.text` now.","editType":"layoutstyle","valType":"string"},"titlefont":{"color":{"editType":"layoutstyle","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"layoutstyle","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"layoutstyle","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"layoutstyle","min":1,"valType":"number"}}},"activeselection":{"editType":"none","fillcolor":{"description":"Sets the color filling the active selection' interior.","dflt":"rgba(0,0,0,0)","editType":"none","valType":"color"},"opacity":{"description":"Sets the opacity of the active selection.","dflt":0.5,"editType":"none","max":1,"min":0,"valType":"number"},"role":"object"},"activeshape":{"editType":"none","fillcolor":{"description":"Sets the color filling the active shape' interior.","dflt":"rgb(255,0,255)","editType":"none","valType":"color"},"opacity":{"description":"Sets the opacity of the active shape.","dflt":0.5,"editType":"none","max":1,"min":0,"valType":"number"},"role":"object"},"annotations":{"items":{"annotation":{"_deprecated":{"ref":{"description":"Obsolete. Set `xref` and `yref` separately instead.","editType":"calc","valType":"string"}},"align":{"description":"Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more \u003cbr\u003e HTML tags) or if an explicit width is set to override the text width.","dflt":"center","editType":"arraydraw","valType":"enumerated","values":["left","center","right"]},"arrowcolor":{"description":"Sets the color of the annotation arrow.","editType":"arraydraw","valType":"color"},"arrowhead":{"description":"Sets the end annotation arrow head style.","dflt":1,"editType":"arraydraw","max":8,"min":0,"valType":"integer"},"arrowside":{"description":"Sets the annotation arrow head position.","dflt":"end","editType":"arraydraw","extras":["none"],"flags":["end","start"],"valType":"flaglist"},"arrowsize":{"description":"Sets the size of the end annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.","dflt":1,"editType":"calc+arraydraw","min":0.3,"valType":"number"},"arrowwidth":{"description":"Sets the width (in px) of annotation arrow line.","editType":"calc+arraydraw","min":0.1,"valType":"number"},"ax":{"description":"Sets the x component of the arrow tail about the arrow head. If `axref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from right to left (left to right). If `axref` is not `pixel` and is exactly the same as `xref`, this is an absolute value on that axis, like `x`, specified in the same coordinates as `xref`.","editType":"calc+arraydraw","valType":"any"},"axref":{"description":"Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. In order for absolute positioning of the arrow to work, *axref* must be exactly the same as *xref*, otherwise *axref* will revert to *pixel* (explained next). For relative positioning, *axref* can be set to *pixel*, in which case the *ax* value is specified in pixels relative to *x*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.","dflt":"pixel","editType":"calc","valType":"enumerated","values":["pixel","/^x([2-9]|[1-9][0-9]+)?( domain)?$/"]},"ay":{"description":"Sets the y component of the arrow tail about the arrow head. If `ayref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from bottom to top (top to bottom). If `ayref` is not `pixel` and is exactly the same as `yref`, this is an absolute value on that axis, like `y`, specified in the same coordinates as `yref`.","editType":"calc+arraydraw","valType":"any"},"ayref":{"description":"Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. In order for absolute positioning of the arrow to work, *ayref* must be exactly the same as *yref*, otherwise *ayref* will revert to *pixel* (explained next). For relative positioning, *ayref* can be set to *pixel*, in which case the *ay* value is specified in pixels relative to *y*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.","dflt":"pixel","editType":"calc","valType":"enumerated","values":["pixel","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]},"bgcolor":{"description":"Sets the background color of the annotation.","dflt":"rgba(0,0,0,0)","editType":"arraydraw","valType":"color"},"bordercolor":{"description":"Sets the color of the border enclosing the annotation `text`.","dflt":"rgba(0,0,0,0)","editType":"arraydraw","valType":"color"},"borderpad":{"description":"Sets the padding (in px) between the `text` and the enclosing border.","dflt":1,"editType":"calc+arraydraw","min":0,"valType":"number"},"borderwidth":{"description":"Sets the width (in px) of the border enclosing the annotation `text`.","dflt":1,"editType":"calc+arraydraw","min":0,"valType":"number"},"captureevents":{"description":"Determines whether the annotation text box captures mouse move and click events, or allows those events to pass through to data points in the plot that may be behind the annotation. By default `captureevents` is *false* unless `hovertext` is provided. If you use the event `plotly_clickannotation` without `hovertext` you must explicitly enable `captureevents`.","editType":"arraydraw","valType":"boolean"},"clicktoshow":{"description":"Makes this annotation respond to clicks on the plot. If you click a data point that exactly matches the `x` and `y` values of this annotation, and it is hidden (visible: false), it will appear. In *onoff* mode, you must click the same point again to make it disappear, so if you click multiple points, you can show multiple annotations. In *onout* mode, a click anywhere else in the plot (on another data point or not) will hide this annotation. If you need to show/hide this annotation in response to different `x` or `y` values, you can set `xclick` and/or `yclick`. This is useful for example to label the side of a bar. To label markers though, `standoff` is preferred over `xclick` and `yclick`.","dflt":false,"editType":"arraydraw","valType":"enumerated","values":[false,"onoff","onout"]},"editType":"calc","font":{"color":{"editType":"arraydraw","valType":"color"},"description":"Sets the annotation text font.","editType":"calc+arraydraw","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc+arraydraw","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc+arraydraw","min":1,"valType":"number"}},"height":{"description":"Sets an explicit height for the text box. null (default) lets the text set the box height. Taller text will be clipped.","dflt":null,"editType":"calc+arraydraw","min":1,"valType":"number"},"hoverlabel":{"bgcolor":{"description":"Sets the background color of the hover label. By default uses the annotation's `bgcolor` made opaque, or white if it was transparent.","editType":"arraydraw","valType":"color"},"bordercolor":{"description":"Sets the border color of the hover label. By default uses either dark grey or white, for maximum contrast with `hoverlabel.bgcolor`.","editType":"arraydraw","valType":"color"},"editType":"arraydraw","font":{"color":{"editType":"arraydraw","valType":"color"},"description":"Sets the hover label text font. By default uses the global hover font and size, with color from `hoverlabel.bordercolor`.","editType":"arraydraw","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"arraydraw","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"arraydraw","min":1,"valType":"number"}},"role":"object"},"hovertext":{"description":"Sets text to appear when hovering over this annotation. If omitted or blank, no hover label will appear.","editType":"arraydraw","valType":"string"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"opacity":{"description":"Sets the opacity of the annotation (text + arrow).","dflt":1,"editType":"arraydraw","max":1,"min":0,"valType":"number"},"role":"object","showarrow":{"description":"Determines whether or not the annotation is drawn with an arrow. If *true*, `text` is placed near the arrow's tail. If *false*, `text` lines up with the `x` and `y` provided.","dflt":true,"editType":"calc+arraydraw","valType":"boolean"},"standoff":{"description":"Sets a distance, in pixels, to move the end arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.","dflt":0,"editType":"calc+arraydraw","min":0,"valType":"number"},"startarrowhead":{"description":"Sets the start annotation arrow head style.","dflt":1,"editType":"arraydraw","max":8,"min":0,"valType":"integer"},"startarrowsize":{"description":"Sets the size of the start annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.","dflt":1,"editType":"calc+arraydraw","min":0.3,"valType":"number"},"startstandoff":{"description":"Sets a distance, in pixels, to move the start arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.","dflt":0,"editType":"calc+arraydraw","min":0,"valType":"number"},"templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"text":{"description":"Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (\u003cbr\u003e), bold (\u003cb\u003e\u003c/b\u003e), italics (\u003ci\u003e\u003c/i\u003e), hyperlinks (\u003ca href='...'\u003e\u003c/a\u003e). Tags \u003cem\u003e, \u003csup\u003e, \u003csub\u003e \u003cspan\u003e are also supported.","editType":"calc+arraydraw","valType":"string"},"textangle":{"description":"Sets the angle at which the `text` is drawn with respect to the horizontal.","dflt":0,"editType":"calc+arraydraw","valType":"angle"},"valign":{"description":"Sets the vertical alignment of the `text` within the box. Has an effect only if an explicit height is set to override the text height.","dflt":"middle","editType":"arraydraw","valType":"enumerated","values":["top","middle","bottom"]},"visible":{"description":"Determines whether or not this annotation is visible.","dflt":true,"editType":"calc+arraydraw","valType":"boolean"},"width":{"description":"Sets an explicit width for the text box. null (default) lets the text set the box width. Wider text will be clipped. There is no automatic wrapping; use \u003cbr\u003e to start a new line.","dflt":null,"editType":"calc+arraydraw","min":1,"valType":"number"},"x":{"description":"Sets the annotation's x position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.","editType":"calc+arraydraw","valType":"any"},"xanchor":{"description":"Sets the text box's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the annotation. For example, if `x` is set to 1, `xref` to *paper* and `xanchor` to *right* then the right-most portion of the annotation lines up with the right-most edge of the plotting area. If *auto*, the anchor is equivalent to *center* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.","dflt":"auto","editType":"calc+arraydraw","valType":"enumerated","values":["auto","left","center","right"]},"xclick":{"description":"Toggle this annotation when clicking a data point whose `x` value is `xclick` rather than the annotation's `x` value.","editType":"arraydraw","valType":"any"},"xref":{"description":"Sets the annotation's x coordinate axis. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis.","editType":"calc","valType":"enumerated","values":["paper","/^x([2-9]|[1-9][0-9]+)?( domain)?$/"]},"xshift":{"description":"Shifts the position of the whole annotation and arrow to the right (positive) or left (negative) by this many pixels.","dflt":0,"editType":"calc+arraydraw","valType":"number"},"y":{"description":"Sets the annotation's y position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.","editType":"calc+arraydraw","valType":"any"},"yanchor":{"description":"Sets the text box's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the annotation. For example, if `y` is set to 1, `yref` to *paper* and `yanchor` to *top* then the top-most portion of the annotation lines up with the top-most edge of the plotting area. If *auto*, the anchor is equivalent to *middle* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.","dflt":"auto","editType":"calc+arraydraw","valType":"enumerated","values":["auto","top","middle","bottom"]},"yclick":{"description":"Toggle this annotation when clicking a data point whose `y` value is `yclick` rather than the annotation's `y` value.","editType":"arraydraw","valType":"any"},"yref":{"description":"Sets the annotation's y coordinate axis. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis.","editType":"calc","valType":"enumerated","values":["paper","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]},"yshift":{"description":"Shifts the position of the whole annotation and arrow up (positive) or down (negative) by this many pixels.","dflt":0,"editType":"calc+arraydraw","valType":"number"}}},"role":"object"},"autosize":{"description":"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.","dflt":false,"editType":"none","valType":"boolean"},"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"calc","valType":"enumerated","values":["convert types","strict"]},"calendar":{"description":"Sets the default calendar system to use for interpreting and displaying dates throughout the plot.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"clickmode":{"description":"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.","dflt":"event","editType":"plot","extras":["none"],"flags":["event","select"],"valType":"flaglist"},"coloraxis":{"_isSubplotObj":true,"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"Determines whether or not the color domain is computed with respect to the input data (here corresponding trace color array(s)) or the bounds set in `cmin` and `cmax` Defaults to `false` when `cmin` and `cmax` are set by the user.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"Sets the upper bound of the color domain. Value should have the same units as corresponding trace color array(s) and if set, `cmin` must be set as well.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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 corresponding trace color array(s). Has no effect when `cauto` is `false`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"Sets the lower bound of the color domain. Value should have the same units as corresponding trace color array(s) and if set, `cmax` must be set as well.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"y":{"description":"Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"description":"","editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"}},"colorscale":{"diverging":{"description":"Sets the default diverging colorscale. Note that `autocolorscale` must be true for this attribute to work.","dflt":[[0,"rgb(5,10,172)"],[0.35,"rgb(106,137,247)"],[0.5,"rgb(190,190,190)"],[0.6,"rgb(220,170,132)"],[0.7,"rgb(230,145,90)"],[1,"rgb(178,10,28)"]],"editType":"calc","valType":"colorscale"},"editType":"calc","role":"object","sequential":{"description":"Sets the default sequential colorscale for positive values. Note that `autocolorscale` must be true for this attribute to work.","dflt":[[0,"rgb(220,220,220)"],[0.2,"rgb(245,195,157)"],[0.4,"rgb(245,160,105)"],[1,"rgb(178,10,28)"]],"editType":"calc","valType":"colorscale"},"sequentialminus":{"description":"Sets the default sequential colorscale for negative values. Note that `autocolorscale` must be true for this attribute to work.","dflt":[[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)"]],"editType":"calc","valType":"colorscale"}},"colorway":{"description":"Sets the default trace colors.","dflt":["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],"editType":"calc","valType":"colorlist"},"computed":{"description":"Placeholder for exporting automargin-impacting values namely `margin.t`, `margin.b`, `margin.l` and `margin.r` in *full-json* mode.","editType":"none","valType":"any"},"datarevision":{"description":"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.","editType":"calc","valType":"any"},"dragmode":{"description":"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.","dflt":"zoom","editType":"modebar","valType":"enumerated","values":["zoom","pan","select","lasso","drawclosedpath","drawopenpath","drawline","drawrect","drawcircle","orbit","turntable",false]},"editType":"calc","editrevision":{"description":"Controls persistence of user-driven changes in `editable: true` configuration, other than trace names and axis titles. Defaults to `layout.uirevision`.","editType":"none","valType":"any"},"font":{"color":{"dflt":"#444","editType":"calc","valType":"color"},"description":"Sets the global font. Note that fonts used in traces and other layout components inherit from the global font.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","dflt":"\"Open Sans\", verdana, arial, sans-serif","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"dflt":12,"editType":"calc","min":1,"valType":"number"}},"geo":{"_isSubplotObj":true,"bgcolor":{"description":"Set the background color of the map","dflt":"#fff","editType":"plot","valType":"color"},"center":{"editType":"plot","lat":{"description":"Sets the latitude of the map's center. For all projection types, the map's latitude center lies at the middle of the latitude range by default.","editType":"plot","valType":"number"},"lon":{"description":"Sets the longitude of the map's center. By default, the map's longitude center lies at the middle of the longitude range for scoped projection and above `projection.rotation.lon` otherwise.","editType":"plot","valType":"number"},"role":"object"},"coastlinecolor":{"description":"Sets the coastline color.","dflt":"#444","editType":"plot","valType":"color"},"coastlinewidth":{"description":"Sets the coastline stroke width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"countrycolor":{"description":"Sets line color of the country boundaries.","dflt":"#444","editType":"plot","valType":"color"},"countrywidth":{"description":"Sets line width (in px) of the country boundaries.","dflt":1,"editType":"plot","min":0,"valType":"number"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this geo subplot . Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both.","dflt":0,"editType":"plot","min":0,"valType":"integer"},"editType":"plot","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this geo subplot . Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both.","dflt":0,"editType":"plot","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this geo subplot (in plot fraction). Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both.","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this geo subplot (in plot fraction). Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both.","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"editType":"plot","fitbounds":{"description":"Determines if this subplot's view settings are auto-computed to fit trace data. On scoped maps, setting `fitbounds` leads to `center.lon` and `center.lat` getting auto-filled. On maps with a non-clipped projection, setting `fitbounds` leads to `center.lon`, `center.lat`, and `projection.rotation.lon` getting auto-filled. On maps with a clipped projection, setting `fitbounds` leads to `center.lon`, `center.lat`, `projection.rotation.lon`, `projection.rotation.lat`, `lonaxis.range` and `lonaxis.range` getting auto-filled. If *locations*, only the trace's visible locations are considered in the `fitbounds` computations. If *geojson*, the entire trace input `geojson` (if provided) is considered in the `fitbounds` computations, Defaults to *false*.","dflt":false,"editType":"plot","valType":"enumerated","values":[false,"locations","geojson"]},"framecolor":{"description":"Sets the color the frame.","dflt":"#444","editType":"plot","valType":"color"},"framewidth":{"description":"Sets the stroke width (in px) of the frame.","dflt":1,"editType":"plot","min":0,"valType":"number"},"lakecolor":{"description":"Sets the color of the lakes.","dflt":"#3399FF","editType":"plot","valType":"color"},"landcolor":{"description":"Sets the land mass color.","dflt":"#F0DC82","editType":"plot","valType":"color"},"lataxis":{"dtick":{"description":"Sets the graticule's longitude/latitude tick step.","editType":"plot","valType":"number"},"editType":"plot","gridcolor":{"description":"Sets the graticule's stroke color.","dflt":"#eee","editType":"plot","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"plot","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the graticule's stroke width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"range":{"description":"Sets the range of this axis (in degrees), sets the map's clipped coordinates.","editType":"plot","items":[{"editType":"plot","valType":"number"},{"editType":"plot","valType":"number"}],"valType":"info_array"},"role":"object","showgrid":{"description":"Sets whether or not graticule are shown on the map.","dflt":false,"editType":"plot","valType":"boolean"},"tick0":{"description":"Sets the graticule's starting tick longitude/latitude.","dflt":0,"editType":"plot","valType":"number"}},"lonaxis":{"dtick":{"description":"Sets the graticule's longitude/latitude tick step.","editType":"plot","valType":"number"},"editType":"plot","gridcolor":{"description":"Sets the graticule's stroke color.","dflt":"#eee","editType":"plot","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"plot","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the graticule's stroke width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"range":{"description":"Sets the range of this axis (in degrees), sets the map's clipped coordinates.","editType":"plot","items":[{"editType":"plot","valType":"number"},{"editType":"plot","valType":"number"}],"valType":"info_array"},"role":"object","showgrid":{"description":"Sets whether or not graticule are shown on the map.","dflt":false,"editType":"plot","valType":"boolean"},"tick0":{"description":"Sets the graticule's starting tick longitude/latitude.","dflt":0,"editType":"plot","valType":"number"}},"oceancolor":{"description":"Sets the ocean color","dflt":"#3399FF","editType":"plot","valType":"color"},"projection":{"distance":{"description":"For satellite projection type only. Sets the distance from the center of the sphere to the point of view as a proportion of the sphere’s radius.","dflt":2,"editType":"plot","min":1.001,"valType":"number"},"editType":"plot","parallels":{"description":"For conic projection types only. Sets the parallels (tangent, secant) where the cone intersects the sphere.","editType":"plot","items":[{"editType":"plot","valType":"number"},{"editType":"plot","valType":"number"}],"valType":"info_array"},"role":"object","rotation":{"editType":"plot","lat":{"description":"Rotates the map along meridians (in degrees North).","editType":"plot","valType":"number"},"lon":{"description":"Rotates the map along parallels (in degrees East). Defaults to the center of the `lonaxis.range` values.","editType":"plot","valType":"number"},"role":"object","roll":{"description":"Roll the map (in degrees) For example, a roll of *180* makes the map appear upside down.","editType":"plot","valType":"number"}},"scale":{"description":"Zooms in or out on the map view. A scale of *1* corresponds to the largest zoom level that fits the map's lon and lat ranges. ","dflt":1,"editType":"plot","min":0,"valType":"number"},"tilt":{"description":"For satellite projection type only. Sets the tilt angle of perspective projection.","dflt":0,"editType":"plot","valType":"number"},"type":{"description":"Sets the projection type.","editType":"plot","valType":"enumerated","values":["airy","aitoff","albers","albers usa","august","azimuthal equal area","azimuthal equidistant","baker","bertin1953","boggs","bonne","bottomley","bromley","collignon","conic conformal","conic equal area","conic equidistant","craig","craster","cylindrical equal area","cylindrical stereographic","eckert1","eckert2","eckert3","eckert4","eckert5","eckert6","eisenlohr","equirectangular","fahey","foucaut","foucaut sinusoidal","ginzburg4","ginzburg5","ginzburg6","ginzburg8","ginzburg9","gnomonic","gringorten","gringorten quincuncial","guyou","hammer","hill","homolosine","hufnagel","hyperelliptical","kavrayskiy7","lagrange","larrivee","laskowski","loximuthal","mercator","miller","mollweide","mt flat polar parabolic","mt flat polar quartic","mt flat polar sinusoidal","natural earth","natural earth1","natural earth2","nell hammer","nicolosi","orthographic","patterson","peirce quincuncial","polyconic","rectangular polyconic","robinson","satellite","sinu mollweide","sinusoidal","stereographic","times","transverse mercator","van der grinten","van der grinten2","van der grinten3","van der grinten4","wagner4","wagner6","wiechel","winkel tripel","winkel3"]}},"resolution":{"coerceNumber":true,"description":"Sets the resolution of the base layers. The values have units of km/mm e.g. 110 corresponds to a scale ratio of 1:110,000,000.","dflt":110,"editType":"plot","valType":"enumerated","values":[110,50]},"rivercolor":{"description":"Sets color of the rivers.","dflt":"#3399FF","editType":"plot","valType":"color"},"riverwidth":{"description":"Sets the stroke width (in px) of the rivers.","dflt":1,"editType":"plot","min":0,"valType":"number"},"role":"object","scope":{"description":"Set the scope of the map.","dflt":"world","editType":"plot","valType":"enumerated","values":["africa","asia","europe","north america","south america","usa","world"]},"showcoastlines":{"description":"Sets whether or not the coastlines are drawn.","editType":"plot","valType":"boolean"},"showcountries":{"description":"Sets whether or not country boundaries are drawn.","editType":"plot","valType":"boolean"},"showframe":{"description":"Sets whether or not a frame is drawn around the map.","editType":"plot","valType":"boolean"},"showlakes":{"description":"Sets whether or not lakes are drawn.","dflt":false,"editType":"plot","valType":"boolean"},"showland":{"description":"Sets whether or not land masses are filled in color.","dflt":false,"editType":"plot","valType":"boolean"},"showocean":{"description":"Sets whether or not oceans are filled in color.","dflt":false,"editType":"plot","valType":"boolean"},"showrivers":{"description":"Sets whether or not rivers are drawn.","dflt":false,"editType":"plot","valType":"boolean"},"showsubunits":{"description":"Sets whether or not boundaries of subunits within countries (e.g. states, provinces) are drawn.","editType":"plot","valType":"boolean"},"subunitcolor":{"description":"Sets the color of the subunits boundaries.","dflt":"#444","editType":"plot","valType":"color"},"subunitwidth":{"description":"Sets the stroke width (in px) of the subunits boundaries.","dflt":1,"editType":"plot","min":0,"valType":"number"},"uirevision":{"description":"Controls persistence of user-driven changes in the view (projection and center). Defaults to `layout.uirevision`.","editType":"none","valType":"any"},"visible":{"description":"Sets the default visibility of the base layers.","dflt":true,"editType":"plot","valType":"boolean"}},"grid":{"columns":{"description":"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.","editType":"plot","min":1,"valType":"integer"},"domain":{"editType":"plot","role":"object","x":{"description":"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.","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"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.","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"editType":"plot","pattern":{"description":"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`.","dflt":"coupled","editType":"plot","valType":"enumerated","values":["independent","coupled"]},"role":"object","roworder":{"description":"Is the first row the top or the bottom? Note that columns are always enumerated from left to right.","dflt":"top to bottom","editType":"plot","valType":"enumerated","values":["top to bottom","bottom to top"]},"rows":{"description":"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.","editType":"plot","min":1,"valType":"integer"},"subplots":{"description":"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.","dimensions":2,"editType":"plot","freeLength":true,"items":{"editType":"plot","valType":"enumerated","values":["/^x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?$/",""]},"valType":"info_array"},"xaxes":{"description":"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.","editType":"plot","freeLength":true,"items":{"editType":"plot","valType":"enumerated","values":["/^x([2-9]|[1-9][0-9]+)?( domain)?$/",""]},"valType":"info_array"},"xgap":{"description":"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.","editType":"plot","max":1,"min":0,"valType":"number"},"xside":{"description":"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.","dflt":"bottom plot","editType":"plot","valType":"enumerated","values":["bottom","bottom plot","top plot","top"]},"yaxes":{"description":"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.","editType":"plot","freeLength":true,"items":{"editType":"plot","valType":"enumerated","values":["/^y([2-9]|[1-9][0-9]+)?( domain)?$/",""]},"valType":"info_array"},"ygap":{"description":"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.","editType":"plot","max":1,"min":0,"valType":"number"},"yside":{"description":"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.","dflt":"left plot","editType":"plot","valType":"enumerated","values":["left","left plot","right plot","right"]}},"height":{"description":"Sets the plot's height (in px).","dflt":450,"editType":"plot","min":10,"valType":"number"},"hidesources":{"description":"Determines whether or not a text link citing the data source is placed at the bottom-right cored of the figure. Has only an effect only on graphs that have been generated via forked graphs from the Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise).","dflt":false,"editType":"plot","valType":"boolean"},"hoverdistance":{"description":"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.","dflt":20,"editType":"none","min":-1,"valType":"integer"},"hoverlabel":{"align":{"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"bgcolor":{"description":"Sets the background color of all hover labels on graph","editType":"none","valType":"color"},"bordercolor":{"description":"Sets the border color of all hover labels on graph.","editType":"none","valType":"color"},"editType":"none","font":{"color":{"editType":"none","valType":"color"},"description":"Sets the default hover label font used by all traces on the graph.","editType":"none","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","dflt":"Arial, sans-serif","editType":"none","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"dflt":13,"editType":"none","min":1,"valType":"number"}},"grouptitlefont":{"color":{"editType":"none","valType":"color"},"description":"Sets the font for group titles in hover (unified modes). Defaults to `hoverlabel.font`.","editType":"none","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"none","min":1,"valType":"number"}},"namelength":{"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"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.","dflt":"closest","editType":"modebar","valType":"enumerated","values":["x","y","closest",false,"x unified","y unified"]},"images":{"items":{"image":{"editType":"arraydraw","layer":{"description":"Specifies whether images are drawn below or above traces. When `xref` and `yref` are both set to `paper`, image is drawn below the entire plot area.","dflt":"above","editType":"arraydraw","valType":"enumerated","values":["below","above"]},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"opacity":{"description":"Sets the opacity of the image.","dflt":1,"editType":"arraydraw","max":1,"min":0,"valType":"number"},"role":"object","sizex":{"description":"Sets the image container size horizontally. The image will be sized based on the `position` value. When `xref` is set to `paper`, units are sized relative to the plot width. When `xref` ends with ` domain`, units are sized relative to the axis width.","dflt":0,"editType":"arraydraw","valType":"number"},"sizey":{"description":"Sets the image container size vertically. The image will be sized based on the `position` value. When `yref` is set to `paper`, units are sized relative to the plot height. When `yref` ends with ` domain`, units are sized relative to the axis height.","dflt":0,"editType":"arraydraw","valType":"number"},"sizing":{"description":"Specifies which dimension of the image to constrain.","dflt":"contain","editType":"arraydraw","valType":"enumerated","values":["fill","contain","stretch"]},"source":{"description":"Specifies the URL of the image to be used. The URL must be accessible from the domain where the plot code is run, and can be either relative or absolute.","editType":"arraydraw","valType":"string"},"templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"visible":{"description":"Determines whether or not this image is visible.","dflt":true,"editType":"arraydraw","valType":"boolean"},"x":{"description":"Sets the image's x position. When `xref` is set to `paper`, units are sized relative to the plot height. See `xref` for more info","dflt":0,"editType":"arraydraw","valType":"any"},"xanchor":{"description":"Sets the anchor for the x position","dflt":"left","editType":"arraydraw","valType":"enumerated","values":["left","center","right"]},"xref":{"description":"Sets the images'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.","dflt":"paper","editType":"arraydraw","valType":"enumerated","values":["paper","/^x([2-9]|[1-9][0-9]+)?( domain)?$/"]},"y":{"description":"Sets the image's y position. When `yref` is set to `paper`, units are sized relative to the plot height. See `yref` for more info","dflt":0,"editType":"arraydraw","valType":"any"},"yanchor":{"description":"Sets the anchor for the y position.","dflt":"top","editType":"arraydraw","valType":"enumerated","values":["top","middle","bottom"]},"yref":{"description":"Sets the images's y coordinate axis. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis.","dflt":"paper","editType":"arraydraw","valType":"enumerated","values":["paper","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]}}},"role":"object"},"legend":{"bgcolor":{"description":"Sets the legend background color. Defaults to `layout.paper_bgcolor`.","editType":"legend","valType":"color"},"bordercolor":{"description":"Sets the color of the border enclosing the legend.","dflt":"#444","editType":"legend","valType":"color"},"borderwidth":{"description":"Sets the width (in px) of the border enclosing the legend.","dflt":0,"editType":"legend","min":0,"valType":"number"},"editType":"legend","entrywidth":{"description":"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*.","editType":"legend","min":0,"valType":"number"},"entrywidthmode":{"description":"Determines what entrywidth means.","dflt":"pixels","editType":"legend","valType":"enumerated","values":["fraction","pixels"]},"font":{"color":{"editType":"legend","valType":"color"},"description":"Sets the font used to text the legend items.","editType":"legend","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"legend","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"legend","min":1,"valType":"number"}},"groupclick":{"description":"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.","dflt":"togglegroup","editType":"legend","valType":"enumerated","values":["toggleitem","togglegroup"]},"grouptitlefont":{"color":{"editType":"legend","valType":"color"},"description":"Sets the font for group titles in legend. Defaults to `legend.font` with its size increased about 10%.","editType":"legend","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"legend","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"legend","min":1,"valType":"number"}},"itemclick":{"description":"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.","dflt":"toggle","editType":"legend","valType":"enumerated","values":["toggle","toggleothers",false]},"itemdoubleclick":{"description":"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.","dflt":"toggleothers","editType":"legend","valType":"enumerated","values":["toggle","toggleothers",false]},"itemsizing":{"description":"Determines if the legend items symbols scale with their corresponding *trace* attributes or remain *constant* independent of the symbol size on the graph.","dflt":"trace","editType":"legend","valType":"enumerated","values":["trace","constant"]},"itemwidth":{"description":"Sets the width (in px) of the legend item symbols (the part other than the title.text).","dflt":30,"editType":"legend","min":30,"valType":"number"},"orientation":{"description":"Sets the orientation of the legend.","dflt":"v","editType":"legend","valType":"enumerated","values":["v","h"]},"role":"object","title":{"editType":"legend","font":{"color":{"editType":"legend","valType":"color"},"description":"Sets this legend's title font. Defaults to `legend.font` with its size increased about 20%.","editType":"legend","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"legend","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"legend","min":1,"valType":"number"}},"role":"object","side":{"description":"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 legend area in both x and y sides.","editType":"legend","valType":"enumerated","values":["top","left","top left"]},"text":{"description":"Sets the title of the legend.","dflt":"","editType":"legend","valType":"string"}},"tracegroupgap":{"description":"Sets the amount of vertical space (in px) between legend groups.","dflt":10,"editType":"legend","min":0,"valType":"number"},"traceorder":{"description":"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*.","editType":"legend","extras":["normal"],"flags":["reversed","grouped"],"valType":"flaglist"},"uirevision":{"description":"Controls persistence of legend-driven changes in trace and pie label visibility. Defaults to `layout.uirevision`.","editType":"none","valType":"any"},"valign":{"description":"Sets the vertical alignment of the symbols with respect to their associated text.","dflt":"middle","editType":"legend","valType":"enumerated","values":["top","middle","bottom"]},"x":{"description":"Sets the x position (in normalized coordinates) of the legend. Defaults to *1.02* for vertical legends and defaults to *0* for horizontal legends.","editType":"legend","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets the legend's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the legend. 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.","dflt":"left","editType":"legend","valType":"enumerated","values":["auto","left","center","right"]},"y":{"description":"Sets the y position (in normalized coordinates) of the legend. 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.","editType":"legend","max":3,"min":-2,"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.","editType":"legend","valType":"enumerated","values":["auto","top","middle","bottom"]}},"mapbox":{"_arrayAttrRegexps":[{}],"_isSubplotObj":true,"accesstoken":{"description":"Sets the mapbox access token to be used for this mapbox map. Alternatively, the mapbox access token can be set in the configuration options under `mapboxAccessToken`. Note that accessToken are only required when `style` (e.g with values : basic, streets, outdoors, light, dark, satellite, satellite-streets ) and/or a layout layer references the Mapbox server.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"bearing":{"description":"Sets the bearing angle of the map in degrees counter-clockwise from North (mapbox.bearing).","dflt":0,"editType":"plot","valType":"number"},"bounds":{"east":{"description":"Sets the maximum longitude of the map (in degrees East) if `west`, `south` and `north` are declared.","editType":"plot","valType":"number"},"editType":"plot","north":{"description":"Sets the maximum latitude of the map (in degrees North) if `east`, `west` and `south` are declared.","editType":"plot","valType":"number"},"role":"object","south":{"description":"Sets the minimum latitude of the map (in degrees North) if `east`, `west` and `north` are declared.","editType":"plot","valType":"number"},"west":{"description":"Sets the minimum longitude of the map (in degrees East) if `east`, `south` and `north` are declared.","editType":"plot","valType":"number"}},"center":{"editType":"plot","lat":{"description":"Sets the latitude of the center of the map (in degrees North).","dflt":0,"editType":"plot","valType":"number"},"lon":{"description":"Sets the longitude of the center of the map (in degrees East).","dflt":0,"editType":"plot","valType":"number"},"role":"object"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this mapbox subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"editType":"plot","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this mapbox subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this mapbox subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this mapbox subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"editType":"plot","layers":{"items":{"layer":{"below":{"description":"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.","editType":"plot","valType":"string"},"circle":{"editType":"plot","radius":{"description":"Sets the circle radius (mapbox.layer.paint.circle-radius). Has an effect only when `type` is set to *circle*.","dflt":15,"editType":"plot","valType":"number"},"role":"object"},"color":{"description":"Sets the primary layer color. If `type` is *circle*, color corresponds to the circle color (mapbox.layer.paint.circle-color) If `type` is *line*, color corresponds to the line color (mapbox.layer.paint.line-color) If `type` is *fill*, color corresponds to the fill color (mapbox.layer.paint.fill-color) If `type` is *symbol*, color corresponds to the icon color (mapbox.layer.paint.icon-color)","dflt":"#444","editType":"plot","valType":"color"},"coordinates":{"description":"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`.","editType":"plot","valType":"any"},"editType":"plot","fill":{"editType":"plot","outlinecolor":{"description":"Sets the fill outline color (mapbox.layer.paint.fill-outline-color). Has an effect only when `type` is set to *fill*.","dflt":"#444","editType":"plot","valType":"color"},"role":"object"},"line":{"dash":{"description":"Sets the length of dashes and gaps (mapbox.layer.paint.line-dasharray). Has an effect only when `type` is set to *line*.","editType":"plot","valType":"data_array"},"dashsrc":{"description":"Sets the source reference on Chart Studio Cloud for `dash`.","editType":"none","valType":"string"},"editType":"plot","role":"object","width":{"description":"Sets the line width (mapbox.layer.paint.line-width). Has an effect only when `type` is set to *line*.","dflt":2,"editType":"plot","valType":"number"}},"maxzoom":{"description":"Sets the maximum zoom level (mapbox.layer.maxzoom). At zoom levels equal to or greater than the maxzoom, the layer will be hidden.","dflt":24,"editType":"plot","max":24,"min":0,"valType":"number"},"minzoom":{"description":"Sets the minimum zoom level (mapbox.layer.minzoom). At zoom levels less than the minzoom, the layer will be hidden.","dflt":0,"editType":"plot","max":24,"min":0,"valType":"number"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"opacity":{"description":"Sets the opacity of the layer. If `type` is *circle*, opacity corresponds to the circle opacity (mapbox.layer.paint.circle-opacity) If `type` is *line*, opacity corresponds to the line opacity (mapbox.layer.paint.line-opacity) If `type` is *fill*, opacity corresponds to the fill opacity (mapbox.layer.paint.fill-opacity) If `type` is *symbol*, opacity corresponds to the icon/text opacity (mapbox.layer.paint.text-opacity)","dflt":1,"editType":"plot","max":1,"min":0,"valType":"number"},"role":"object","source":{"description":"Sets the source data for this layer (mapbox.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.","editType":"plot","valType":"any"},"sourceattribution":{"description":"Sets the attribution for this source.","editType":"plot","valType":"string"},"sourcelayer":{"description":"Specifies the layer to use from a vector tile source (mapbox.layer.source-layer). Required for *vector* source type that supports multiple layers.","dflt":"","editType":"plot","valType":"string"},"sourcetype":{"description":"Sets the source type for this layer, that is the type of the layer data.","dflt":"geojson","editType":"plot","valType":"enumerated","values":["geojson","vector","raster","image"]},"symbol":{"editType":"plot","icon":{"description":"Sets the symbol icon image (mapbox.layer.layout.icon-image). Full list: https://www.mapbox.com/maki-icons/","dflt":"marker","editType":"plot","valType":"string"},"iconsize":{"description":"Sets the symbol icon size (mapbox.layer.layout.icon-size). Has an effect only when `type` is set to *symbol*.","dflt":10,"editType":"plot","valType":"number"},"placement":{"description":"Sets the symbol and/or text placement (mapbox.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","dflt":"point","editType":"plot","valType":"enumerated","values":["point","line","line-center"]},"role":"object","text":{"description":"Sets the symbol text (mapbox.layer.layout.text-field).","dflt":"","editType":"plot","valType":"string"},"textfont":{"color":{"editType":"plot","valType":"color"},"description":"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*.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","dflt":"Open Sans Regular, Arial Unicode MS Regular","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"textposition":{"arrayOk":false,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"plot","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]}},"templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"type":{"description":"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.","dflt":"circle","editType":"plot","valType":"enumerated","values":["circle","line","fill","symbol","raster"]},"visible":{"description":"Determines whether this layer is displayed","dflt":true,"editType":"plot","valType":"boolean"}}},"role":"object"},"pitch":{"description":"Sets the pitch angle of the map (in degrees, where *0* means perpendicular to the surface of the map) (mapbox.pitch).","dflt":0,"editType":"plot","valType":"number"},"role":"object","style":{"description":"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.mapbox.layers`. These layers can be defined either explicitly as a Mapbox 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 which do not require any access tokens, or by using a default Mapbox style or custom Mapbox style URL, both of which require a Mapbox access token Note that Mapbox access token can be set in the `accesstoken` attribute or in the `mapboxAccessToken` config option. Mapbox Style objects are of the form described in the Mapbox GL JS documentation available at https://docs.mapbox.com/mapbox-gl-js/style-spec The built-in plotly.js styles objects are: carto-darkmatter, carto-positron, open-street-map, stamen-terrain, stamen-toner, stamen-watercolor, white-bg The built-in Mapbox styles are: basic, streets, outdoors, light, dark, satellite, satellite-streets Mapbox style URLs are of the form: mapbox://mapbox.mapbox-\u003cname\u003e-\u003cversion\u003e","dflt":"basic","editType":"plot","valType":"any","values":["basic","streets","outdoors","light","dark","satellite","satellite-streets","carto-darkmatter","carto-positron","open-street-map","stamen-terrain","stamen-toner","stamen-watercolor","white-bg"]},"uirevision":{"description":"Controls persistence of user-driven changes in the view: `center`, `zoom`, `bearing`, `pitch`. Defaults to `layout.uirevision`.","editType":"none","valType":"any"},"zoom":{"description":"Sets the zoom level of the map (mapbox.zoom).","dflt":1,"editType":"plot","valType":"number"}},"margin":{"autoexpand":{"description":"Turns on/off margin expansion computations. Legends, colorbars, updatemenus, sliders, axis rangeselector and rangeslider are allowed to push the margins by defaults.","dflt":true,"editType":"plot","valType":"boolean"},"b":{"description":"Sets the bottom margin (in px).","dflt":80,"editType":"plot","min":0,"valType":"number"},"editType":"plot","l":{"description":"Sets the left margin (in px).","dflt":80,"editType":"plot","min":0,"valType":"number"},"pad":{"description":"Sets the amount of padding (in px) between the plotting area and the axis lines","dflt":0,"editType":"plot","min":0,"valType":"number"},"r":{"description":"Sets the right margin (in px).","dflt":80,"editType":"plot","min":0,"valType":"number"},"role":"object","t":{"description":"Sets the top margin (in px).","dflt":100,"editType":"plot","min":0,"valType":"number"}},"meta":{"arrayOk":true,"description":"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]}.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"minreducedheight":{"description":"Minimum height of the plot with margin.automargin applied (in px)","dflt":64,"editType":"plot","min":2,"valType":"number"},"minreducedwidth":{"description":"Minimum width of the plot with margin.automargin applied (in px)","dflt":64,"editType":"plot","min":2,"valType":"number"},"modebar":{"activecolor":{"description":"Sets the color of the active or hovered on icons in the modebar.","editType":"modebar","valType":"color"},"add":{"arrayOk":true,"description":"Determines which predefined modebar buttons to add. Please note that these buttons will only be shown if they are compatible with all trace types used in a graph. Similar to `config.modeBarButtonsToAdd` option. This may include *v1hovermode*, *hoverclosest*, *hovercompare*, *togglehover*, *togglespikelines*, *drawline*, *drawopenpath*, *drawclosedpath*, *drawcircle*, *drawrect*, *eraseshape*.","dflt":"","editType":"modebar","valType":"string"},"addsrc":{"description":"Sets the source reference on Chart Studio Cloud for `add`.","editType":"none","valType":"string"},"bgcolor":{"description":"Sets the background color of the modebar.","editType":"modebar","valType":"color"},"color":{"description":"Sets the color of the icons in the modebar.","editType":"modebar","valType":"color"},"editType":"modebar","orientation":{"description":"Sets the orientation of the modebar.","dflt":"h","editType":"modebar","valType":"enumerated","values":["v","h"]},"remove":{"arrayOk":true,"description":"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*, *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*, *zoomInMapbox*, *zoomOut2d*, *zoomOutGeo*, *zoomOutMapbox*, *zoomin*, *zoomout*.","dflt":"","editType":"modebar","valType":"string"},"removesrc":{"description":"Sets the source reference on Chart Studio Cloud for `remove`.","editType":"none","valType":"string"},"role":"object","uirevision":{"description":"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`.","editType":"none","valType":"any"}},"newselection":{"editType":"none","line":{"color":{"description":"Sets the line color. By default uses either dark grey or white to increase contrast with background color.","editType":"none","valType":"color"},"dash":{"description":"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*).","dflt":"dot","editType":"none","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"none","role":"object","width":{"description":"Sets the line width (in px).","dflt":1,"editType":"none","min":1,"valType":"number"}},"mode":{"description":"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.","dflt":"immediate","editType":"none","valType":"enumerated","values":["immediate","gradual"]},"role":"object"},"newshape":{"drawdirection":{"description":"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.","dflt":"diagonal","editType":"none","valType":"enumerated","values":["ortho","horizontal","vertical","diagonal"]},"editType":"none","fillcolor":{"description":"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.","dflt":"rgba(0,0,0,0)","editType":"none","valType":"color"},"fillrule":{"description":"Determines the path's interior. For more info please visit https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule","dflt":"evenodd","editType":"none","valType":"enumerated","values":["evenodd","nonzero"]},"label":{"editType":"none","font":{"color":{"editType":"none","valType":"color"},"description":"Sets the new shape label text font.","editType":"none","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"none","min":1,"valType":"number"}},"padding":{"description":"Sets padding (in px) between edge of label and edge of new shape.","dflt":3,"editType":"none","min":0,"valType":"number"},"role":"object","text":{"description":"Sets the text to display with the new shape.","dflt":"","editType":"none","valType":"string"},"textangle":{"description":"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.","dflt":"auto","editType":"none","valType":"angle"},"textposition":{"description":"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.","editType":"none","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right","start","middle","end"]},"xanchor":{"description":"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.","dflt":"auto","editType":"none","valType":"enumerated","values":["auto","left","center","right"]},"yanchor":{"description":"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.","editType":"none","valType":"enumerated","values":["top","middle","bottom"]}},"layer":{"description":"Specifies whether new shapes are drawn below or above traces.","dflt":"above","editType":"none","valType":"enumerated","values":["below","above"]},"line":{"color":{"description":"Sets the line color. By default uses either dark grey or white to increase contrast with background color.","editType":"none","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"none","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"none","role":"object","width":{"description":"Sets the line width (in px).","dflt":4,"editType":"none","min":0,"valType":"number"}},"opacity":{"description":"Sets the opacity of new shapes.","dflt":1,"editType":"none","max":1,"min":0,"valType":"number"},"role":"object"},"paper_bgcolor":{"description":"Sets the background color of the paper where the graph is drawn.","dflt":"#fff","editType":"plot","valType":"color"},"plot_bgcolor":{"description":"Sets the background color of the plotting area in-between x and y axes.","dflt":"#fff","editType":"layoutstyle","valType":"color"},"polar":{"_isSubplotObj":true,"angularaxis":{"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"calc","valType":"enumerated","values":["convert types","strict"]},"categoryarray":{"description":"Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"calc","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.","dflt":"trace","editType":"calc","valType":"enumerated","values":["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","median ascending","median descending"]},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"direction":{"description":"Sets the direction corresponding to positive angles.","dflt":"counterclockwise","editType":"calc","valType":"enumerated","values":["counterclockwise","clockwise"]},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"plot","exponentformat":{"description":"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.","dflt":"B","editType":"plot","valType":"enumerated","values":["none","e","E","power","SI","B"]},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"plot","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"plot","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"none","valType":"string"},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"plot","valType":"any"},"layer":{"description":"Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.","dflt":"above traces","editType":"plot","valType":"enumerated","values":["above traces","below traces"]},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"plot","min":0,"valType":"number"},"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,"editType":"plot","min":0,"valType":"integer"},"period":{"description":"Set the angular period. Has an effect only when `angularaxis.type` is *category*.","editType":"calc","min":0,"valType":"number"},"role":"object","rotation":{"description":"Sets that start position (in degrees) of the angular axis By default, polar subplots with `direction` set to *counterclockwise* get a `rotation` of *0* which corresponds to due East (like what mathematicians prefer). In turn, polar with `direction` set to *clockwise* get a rotation of *90* which corresponds to due North (like on a compass),","editType":"calc","valType":"angle"},"separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"plot","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","dflt":true,"editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"thetaunit":{"description":"Sets the format unit of the formatted *theta* values. Has an effect only when `angularaxis.type` is *linear*.","dflt":"degrees","editType":"calc","valType":"enumerated","values":["radians","degrees"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"plot","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"editType":"plot","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"plot","valType":"string"}}},"role":"object"},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"plot","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","editType":"plot","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"type":{"_noTemplating":true,"description":"Sets the angular axis type. If *linear*, set `thetaunit` to determine the unit in which axis value are shown. If *category, use `period` to set the number of integer coordinates around polar axis.","dflt":"-","editType":"calc","valType":"enumerated","values":["-","linear","category"]},"uirevision":{"description":"Controls persistence of user-driven changes in axis `rotation`. Defaults to `polar\u003cN\u003e.uirevision`.","editType":"none","valType":"any"},"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","dflt":true,"editType":"plot","valType":"boolean"}},"bgcolor":{"description":"Set the background color of the subplot","dflt":"#fff","editType":"plot","valType":"color"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this polar subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"editType":"plot","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this polar subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this polar subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this polar subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"editType":"calc","gridshape":{"description":"Determines if the radial axis grid lines and angular axis line are drawn as *circular* sectors or as *linear* (polygon) sectors. Has an effect only when the angular axis has `type` *category*. Note that `radialaxis.angle` is snapped to the angle of the closest vertex when `gridshape` is *circular* (so that radial axis scale is the same as the data scale).","dflt":"circular","editType":"plot","valType":"enumerated","values":["circular","linear"]},"hole":{"description":"Sets the fraction of the radius to cut out of the polar subplot.","dflt":0,"editType":"plot","max":1,"min":0,"valType":"number"},"radialaxis":{"_deprecated":{"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.","editType":"ticks","valType":"string"},"titlefont":{"color":{"editType":"ticks","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"ticks","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"ticks","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"ticks","min":1,"valType":"number"}}},"angle":{"description":"Sets the angle (in degrees) from which the radial axis is drawn. Note that by default, radial axis line on the theta=0 line corresponds to a line pointing right (like what mathematicians prefer). Defaults to the first `polar.sector` angle.","editType":"plot","valType":"angle"},"autorange":{"description":"Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided, then `autorange` is set to *false*.","dflt":true,"editType":"plot","impliedEdits":{},"valType":"enumerated","values":[true,false,"reversed"]},"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"calc","valType":"enumerated","values":["convert types","strict"]},"calendar":{"description":"Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"categoryarray":{"description":"Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"calc","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.","dflt":"trace","editType":"calc","valType":"enumerated","values":["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","median ascending","median descending"]},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"plot","exponentformat":{"description":"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.","dflt":"B","editType":"plot","valType":"enumerated","values":["none","e","E","power","SI","B"]},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"plot","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"plot","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"none","valType":"string"},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"plot","valType":"any"},"layer":{"description":"Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.","dflt":"above traces","editType":"plot","valType":"enumerated","values":["above traces","below traces"]},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"plot","min":0,"valType":"number"},"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,"editType":"plot","min":0,"valType":"integer"},"range":{"anim":true,"description":"Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.","editType":"plot","impliedEdits":{"autorange":false},"items":[{"editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},{"editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"}],"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).","dflt":"tozero","editType":"calc","valType":"enumerated","values":["tozero","nonnegative","normal"]},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"plot","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","dflt":true,"editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"side":{"description":"Determines on which side of radial axis line the tick and tick labels appear.","dflt":"clockwise","editType":"plot","valType":"enumerated","values":["clockwise","counterclockwise"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"plot","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"editType":"plot","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"plot","valType":"string"}}},"role":"object"},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"plot","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","editType":"plot","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"title":{"editType":"plot","font":{"color":{"editType":"ticks","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"ticks","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"ticks","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","dflt":"","editType":"plot","valType":"string"}},"type":{"_noTemplating":true,"description":"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.","dflt":"-","editType":"calc","valType":"enumerated","values":["-","linear","log","date","category"]},"uirevision":{"description":"Controls persistence of user-driven changes in axis `range`, `autorange`, `angle`, and `title` if in `editable: true` configuration. Defaults to `polar\u003cN\u003e.uirevision`.","editType":"none","valType":"any"},"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","dflt":true,"editType":"plot","valType":"boolean"}},"role":"object","sector":{"description":"Sets angular span of this polar subplot with two angles (in degrees). Sector are assumed to be spanned in the counterclockwise direction with *0* corresponding to rightmost limit of the polar subplot.","dflt":[0,360],"editType":"plot","items":[{"editType":"plot","valType":"number"},{"editType":"plot","valType":"number"}],"valType":"info_array"},"uirevision":{"description":"Controls persistence of user-driven changes in axis attributes, if not overridden in the individual axes. Defaults to `layout.uirevision`.","editType":"none","valType":"any"}},"scene":{"_arrayAttrRegexps":[{}],"_deprecated":{"cameraposition":{"description":"Obsolete. Use `camera` instead.","editType":"camera","valType":"info_array"}},"_isSubplotObj":true,"annotations":{"items":{"annotation":{"align":{"description":"Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more \u003cbr\u003e HTML tags) or if an explicit width is set to override the text width.","dflt":"center","editType":"calc","valType":"enumerated","values":["left","center","right"]},"arrowcolor":{"description":"Sets the color of the annotation arrow.","editType":"calc","valType":"color"},"arrowhead":{"description":"Sets the end annotation arrow head style.","dflt":1,"editType":"calc","max":8,"min":0,"valType":"integer"},"arrowside":{"description":"Sets the annotation arrow head position.","dflt":"end","editType":"calc","extras":["none"],"flags":["end","start"],"valType":"flaglist"},"arrowsize":{"description":"Sets the size of the end annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.","dflt":1,"editType":"calc","min":0.3,"valType":"number"},"arrowwidth":{"description":"Sets the width (in px) of annotation arrow line.","editType":"calc","min":0.1,"valType":"number"},"ax":{"description":"Sets the x component of the arrow tail about the arrow head (in pixels).","editType":"calc","valType":"number"},"ay":{"description":"Sets the y component of the arrow tail about the arrow head (in pixels).","editType":"calc","valType":"number"},"bgcolor":{"description":"Sets the background color of the annotation.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the color of the border enclosing the annotation `text`.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"borderpad":{"description":"Sets the padding (in px) between the `text` and the enclosing border.","dflt":1,"editType":"calc","min":0,"valType":"number"},"borderwidth":{"description":"Sets the width (in px) of the border enclosing the annotation `text`.","dflt":1,"editType":"calc","min":0,"valType":"number"},"captureevents":{"description":"Determines whether the annotation text box captures mouse move and click events, or allows those events to pass through to data points in the plot that may be behind the annotation. By default `captureevents` is *false* unless `hovertext` is provided. If you use the event `plotly_clickannotation` without `hovertext` you must explicitly enable `captureevents`.","editType":"calc","valType":"boolean"},"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets the annotation text font.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"height":{"description":"Sets an explicit height for the text box. null (default) lets the text set the box height. Taller text will be clipped.","dflt":null,"editType":"calc","min":1,"valType":"number"},"hoverlabel":{"bgcolor":{"description":"Sets the background color of the hover label. By default uses the annotation's `bgcolor` made opaque, or white if it was transparent.","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the border color of the hover label. By default uses either dark grey or white, for maximum contrast with `hoverlabel.bgcolor`.","editType":"calc","valType":"color"},"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets the hover label text font. By default uses the global hover font and size, with color from `hoverlabel.bordercolor`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object"},"hovertext":{"description":"Sets text to appear when hovering over this annotation. If omitted or blank, no hover label will appear.","editType":"calc","valType":"string"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"opacity":{"description":"Sets the opacity of the annotation (text + arrow).","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","showarrow":{"description":"Determines whether or not the annotation is drawn with an arrow. If *true*, `text` is placed near the arrow's tail. If *false*, `text` lines up with the `x` and `y` provided.","dflt":true,"editType":"calc","valType":"boolean"},"standoff":{"description":"Sets a distance, in pixels, to move the end arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.","dflt":0,"editType":"calc","min":0,"valType":"number"},"startarrowhead":{"description":"Sets the start annotation arrow head style.","dflt":1,"editType":"calc","max":8,"min":0,"valType":"integer"},"startarrowsize":{"description":"Sets the size of the start annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.","dflt":1,"editType":"calc","min":0.3,"valType":"number"},"startstandoff":{"description":"Sets a distance, in pixels, to move the start arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.","dflt":0,"editType":"calc","min":0,"valType":"number"},"templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"text":{"description":"Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (\u003cbr\u003e), bold (\u003cb\u003e\u003c/b\u003e), italics (\u003ci\u003e\u003c/i\u003e), hyperlinks (\u003ca href='...'\u003e\u003c/a\u003e). Tags \u003cem\u003e, \u003csup\u003e, \u003csub\u003e \u003cspan\u003e are also supported.","editType":"calc","valType":"string"},"textangle":{"description":"Sets the angle at which the `text` is drawn with respect to the horizontal.","dflt":0,"editType":"calc","valType":"angle"},"valign":{"description":"Sets the vertical alignment of the `text` within the box. Has an effect only if an explicit height is set to override the text height.","dflt":"middle","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"visible":{"description":"Determines whether or not this annotation is visible.","dflt":true,"editType":"calc","valType":"boolean"},"width":{"description":"Sets an explicit width for the text box. null (default) lets the text set the box width. Wider text will be clipped. There is no automatic wrapping; use \u003cbr\u003e to start a new line.","dflt":null,"editType":"calc","min":1,"valType":"number"},"x":{"description":"Sets the annotation's x position.","editType":"calc","valType":"any"},"xanchor":{"description":"Sets the text box's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the annotation. For example, if `x` is set to 1, `xref` to *paper* and `xanchor` to *right* then the right-most portion of the annotation lines up with the right-most edge of the plotting area. If *auto*, the anchor is equivalent to *center* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.","dflt":"auto","editType":"calc","valType":"enumerated","values":["auto","left","center","right"]},"xshift":{"description":"Shifts the position of the whole annotation and arrow to the right (positive) or left (negative) by this many pixels.","dflt":0,"editType":"calc","valType":"number"},"y":{"description":"Sets the annotation's y position.","editType":"calc","valType":"any"},"yanchor":{"description":"Sets the text box's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the annotation. For example, if `y` is set to 1, `yref` to *paper* and `yanchor` to *top* then the top-most portion of the annotation lines up with the top-most edge of the plotting area. If *auto*, the anchor is equivalent to *middle* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.","dflt":"auto","editType":"calc","valType":"enumerated","values":["auto","top","middle","bottom"]},"yshift":{"description":"Shifts the position of the whole annotation and arrow up (positive) or down (negative) by this many pixels.","dflt":0,"editType":"calc","valType":"number"},"z":{"description":"Sets the annotation's z position.","editType":"calc","valType":"any"}}},"role":"object"},"aspectmode":{"description":"If *cube*, this scene's axes are drawn as a cube, regardless of the axes' ranges. If *data*, this scene's axes are drawn in proportion with the axes' ranges. If *manual*, this scene's axes are drawn in proportion with the input of *aspectratio* (the default behavior if *aspectratio* is provided). If *auto*, this scene's axes are drawn using the results of *data* except when one axis is more than four times the size of the two others, where in that case the results of *cube* are used.","dflt":"auto","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","cube","data","manual"]},"aspectratio":{"description":"Sets this scene's axis aspectratio.","editType":"plot","impliedEdits":{"aspectmode":"manual","role":"object"},"role":"object","x":{"editType":"plot","impliedEdits":{"^aspectmode":"manual"},"min":0,"valType":"number"},"y":{"editType":"plot","impliedEdits":{"^aspectmode":"manual"},"min":0,"valType":"number"},"z":{"editType":"plot","impliedEdits":{"^aspectmode":"manual"},"min":0,"valType":"number"}},"bgcolor":{"dflt":"rgba(0,0,0,0)","editType":"plot","valType":"color"},"camera":{"center":{"description":"Sets the (x,y,z) components of the 'center' camera vector This vector determines the translation (x,y,z) space about the center of this scene. By default, there is no such translation.","editType":"camera","role":"object","x":{"dflt":0,"editType":"camera","valType":"number"},"y":{"dflt":0,"editType":"camera","valType":"number"},"z":{"dflt":0,"editType":"camera","valType":"number"}},"editType":"camera","eye":{"description":"Sets the (x,y,z) components of the 'eye' camera vector. This vector determines the view point about the origin of this scene.","editType":"camera","role":"object","x":{"dflt":1.25,"editType":"camera","valType":"number"},"y":{"dflt":1.25,"editType":"camera","valType":"number"},"z":{"dflt":1.25,"editType":"camera","valType":"number"}},"projection":{"editType":"calc","role":"object","type":{"description":"Sets the projection type. The projection type could be either *perspective* or *orthographic*. The default is *perspective*.","dflt":"perspective","editType":"calc","valType":"enumerated","values":["perspective","orthographic"]}},"role":"object","up":{"description":"Sets the (x,y,z) components of the 'up' camera vector. This vector determines the up direction of this scene with respect to the page. The default is *{x: 0, y: 0, z: 1}* which means that the z axis points up.","editType":"camera","role":"object","x":{"dflt":0,"editType":"camera","valType":"number"},"y":{"dflt":0,"editType":"camera","valType":"number"},"z":{"dflt":1,"editType":"camera","valType":"number"}}},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this scene subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"editType":"plot","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this scene subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this scene subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this scene subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"dragmode":{"description":"Determines the mode of drag interactions for this scene.","editType":"plot","valType":"enumerated","values":["orbit","turntable","zoom","pan",false]},"editType":"plot","hovermode":{"description":"Determines the mode of hover interactions for this scene.","dflt":"closest","editType":"modebar","valType":"enumerated","values":["closest",false]},"role":"object","uirevision":{"description":"Controls persistence of user-driven changes in camera attributes. Defaults to `layout.uirevision`.","editType":"none","valType":"any"},"xaxis":{"_deprecated":{"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.","editType":"plot","valType":"string"},"titlefont":{"color":{"editType":"plot","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"plot","min":1,"valType":"number"}}},"autorange":{"description":"Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided, then `autorange` is set to *false*.","dflt":true,"editType":"plot","impliedEdits":{},"valType":"enumerated","values":[true,false,"reversed"]},"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"plot","valType":"enumerated","values":["convert types","strict"]},"backgroundcolor":{"description":"Sets the background color of this axis' wall.","dflt":"rgba(204, 204, 204, 0.5)","editType":"plot","valType":"color"},"calendar":{"description":"Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"categoryarray":{"description":"Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"plot","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.","dflt":"trace","editType":"plot","valType":"enumerated","values":["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","median ascending","median descending"]},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"plot","exponentformat":{"description":"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.","dflt":"B","editType":"plot","valType":"enumerated","values":["none","e","E","power","SI","B"]},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"rgb(204, 204, 204)","editType":"plot","valType":"color"},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"plot","valType":"string"},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"plot","valType":"any"},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"plot","min":0,"valType":"number"},"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,"editType":"plot","valType":"enumerated","values":[true,"ticks",false,"all","allticks"]},"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,"editType":"plot","min":0,"valType":"integer"},"range":{"anim":false,"description":"Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.","editType":"plot","impliedEdits":{"autorange":false},"items":[{"editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},{"editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"}],"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.","dflt":"normal","editType":"plot","valType":"enumerated","values":["normal","tozero","nonnegative"]},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"plot","valType":"boolean"},"showaxeslabels":{"description":"Sets whether or not this axis is labeled","dflt":true,"editType":"plot","valType":"boolean"},"showbackground":{"description":"Sets whether or not this axis' wall has a background color.","dflt":false,"editType":"plot","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":false,"editType":"plot","valType":"boolean"},"showspikes":{"description":"Sets whether or not spikes starting from data points to this axis' wall are shown on hover.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"spikecolor":{"description":"Sets the color of the spikes.","dflt":"#444","editType":"plot","valType":"color"},"spikesides":{"description":"Sets whether or not spikes extending from the projection data points to this axis' wall boundaries are shown on hover.","dflt":true,"editType":"plot","valType":"boolean"},"spikethickness":{"description":"Sets the thickness (in px) of the spikes.","dflt":2,"editType":"plot","min":0,"valType":"number"},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"plot","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"editType":"plot","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"plot","valType":"string"}}},"role":"object"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","editType":"plot","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"title":{"editType":"plot","font":{"color":{"editType":"plot","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"plot","valType":"string"}},"type":{"_noTemplating":true,"description":"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.","dflt":"-","editType":"plot","valType":"enumerated","values":["-","linear","log","date","category"]},"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","valType":"boolean"},"zeroline":{"description":"Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines.","editType":"plot","valType":"boolean"},"zerolinecolor":{"description":"Sets the line color of the zero line.","dflt":"#444","editType":"plot","valType":"color"},"zerolinewidth":{"description":"Sets the width (in px) of the zero line.","dflt":1,"editType":"plot","valType":"number"}},"yaxis":{"_deprecated":{"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.","editType":"plot","valType":"string"},"titlefont":{"color":{"editType":"plot","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"plot","min":1,"valType":"number"}}},"autorange":{"description":"Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided, then `autorange` is set to *false*.","dflt":true,"editType":"plot","impliedEdits":{},"valType":"enumerated","values":[true,false,"reversed"]},"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"plot","valType":"enumerated","values":["convert types","strict"]},"backgroundcolor":{"description":"Sets the background color of this axis' wall.","dflt":"rgba(204, 204, 204, 0.5)","editType":"plot","valType":"color"},"calendar":{"description":"Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"categoryarray":{"description":"Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"plot","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.","dflt":"trace","editType":"plot","valType":"enumerated","values":["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","median ascending","median descending"]},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"plot","exponentformat":{"description":"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.","dflt":"B","editType":"plot","valType":"enumerated","values":["none","e","E","power","SI","B"]},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"rgb(204, 204, 204)","editType":"plot","valType":"color"},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"plot","valType":"string"},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"plot","valType":"any"},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"plot","min":0,"valType":"number"},"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,"editType":"plot","valType":"enumerated","values":[true,"ticks",false,"all","allticks"]},"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,"editType":"plot","min":0,"valType":"integer"},"range":{"anim":false,"description":"Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.","editType":"plot","impliedEdits":{"autorange":false},"items":[{"editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},{"editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"}],"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.","dflt":"normal","editType":"plot","valType":"enumerated","values":["normal","tozero","nonnegative"]},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"plot","valType":"boolean"},"showaxeslabels":{"description":"Sets whether or not this axis is labeled","dflt":true,"editType":"plot","valType":"boolean"},"showbackground":{"description":"Sets whether or not this axis' wall has a background color.","dflt":false,"editType":"plot","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":false,"editType":"plot","valType":"boolean"},"showspikes":{"description":"Sets whether or not spikes starting from data points to this axis' wall are shown on hover.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"spikecolor":{"description":"Sets the color of the spikes.","dflt":"#444","editType":"plot","valType":"color"},"spikesides":{"description":"Sets whether or not spikes extending from the projection data points to this axis' wall boundaries are shown on hover.","dflt":true,"editType":"plot","valType":"boolean"},"spikethickness":{"description":"Sets the thickness (in px) of the spikes.","dflt":2,"editType":"plot","min":0,"valType":"number"},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"plot","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"editType":"plot","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"plot","valType":"string"}}},"role":"object"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","editType":"plot","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"title":{"editType":"plot","font":{"color":{"editType":"plot","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"plot","valType":"string"}},"type":{"_noTemplating":true,"description":"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.","dflt":"-","editType":"plot","valType":"enumerated","values":["-","linear","log","date","category"]},"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","valType":"boolean"},"zeroline":{"description":"Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines.","editType":"plot","valType":"boolean"},"zerolinecolor":{"description":"Sets the line color of the zero line.","dflt":"#444","editType":"plot","valType":"color"},"zerolinewidth":{"description":"Sets the width (in px) of the zero line.","dflt":1,"editType":"plot","valType":"number"}},"zaxis":{"_deprecated":{"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.","editType":"plot","valType":"string"},"titlefont":{"color":{"editType":"plot","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"plot","min":1,"valType":"number"}}},"autorange":{"description":"Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided, then `autorange` is set to *false*.","dflt":true,"editType":"plot","impliedEdits":{},"valType":"enumerated","values":[true,false,"reversed"]},"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"plot","valType":"enumerated","values":["convert types","strict"]},"backgroundcolor":{"description":"Sets the background color of this axis' wall.","dflt":"rgba(204, 204, 204, 0.5)","editType":"plot","valType":"color"},"calendar":{"description":"Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"categoryarray":{"description":"Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"plot","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.","dflt":"trace","editType":"plot","valType":"enumerated","values":["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","median ascending","median descending"]},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"plot","exponentformat":{"description":"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.","dflt":"B","editType":"plot","valType":"enumerated","values":["none","e","E","power","SI","B"]},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"rgb(204, 204, 204)","editType":"plot","valType":"color"},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"plot","valType":"string"},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"plot","valType":"any"},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"plot","min":0,"valType":"number"},"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,"editType":"plot","valType":"enumerated","values":[true,"ticks",false,"all","allticks"]},"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,"editType":"plot","min":0,"valType":"integer"},"range":{"anim":false,"description":"Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.","editType":"plot","impliedEdits":{"autorange":false},"items":[{"editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},{"editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"}],"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.","dflt":"normal","editType":"plot","valType":"enumerated","values":["normal","tozero","nonnegative"]},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"plot","valType":"boolean"},"showaxeslabels":{"description":"Sets whether or not this axis is labeled","dflt":true,"editType":"plot","valType":"boolean"},"showbackground":{"description":"Sets whether or not this axis' wall has a background color.","dflt":false,"editType":"plot","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":false,"editType":"plot","valType":"boolean"},"showspikes":{"description":"Sets whether or not spikes starting from data points to this axis' wall are shown on hover.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"spikecolor":{"description":"Sets the color of the spikes.","dflt":"#444","editType":"plot","valType":"color"},"spikesides":{"description":"Sets whether or not spikes extending from the projection data points to this axis' wall boundaries are shown on hover.","dflt":true,"editType":"plot","valType":"boolean"},"spikethickness":{"description":"Sets the thickness (in px) of the spikes.","dflt":2,"editType":"plot","min":0,"valType":"number"},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"plot","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"editType":"plot","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"plot","valType":"string"}}},"role":"object"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","editType":"plot","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"title":{"editType":"plot","font":{"color":{"editType":"plot","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"plot","valType":"string"}},"type":{"_noTemplating":true,"description":"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.","dflt":"-","editType":"plot","valType":"enumerated","values":["-","linear","log","date","category"]},"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","valType":"boolean"},"zeroline":{"description":"Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines.","editType":"plot","valType":"boolean"},"zerolinecolor":{"description":"Sets the line color of the zero line.","dflt":"#444","editType":"plot","valType":"color"},"zerolinewidth":{"description":"Sets the width (in px) of the zero line.","dflt":1,"editType":"plot","valType":"number"}}},"selectdirection":{"description":"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.","dflt":"any","editType":"none","valType":"enumerated","values":["h","v","d","any"]},"selectionrevision":{"description":"Controls persistence of user-driven changes in selected points from all traces.","editType":"none","valType":"any"},"selections":{"items":{"selection":{"editType":"arraydraw","line":{"color":{"anim":true,"description":"Sets the line color.","editType":"arraydraw","valType":"color"},"dash":{"description":"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*).","dflt":"dot","editType":"arraydraw","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"arraydraw","role":"object","width":{"anim":true,"description":"Sets the line width (in px).","dflt":1,"editType":"arraydraw","min":1,"valType":"number"}},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"arraydraw","valType":"string"},"opacity":{"description":"Sets the opacity of the selection.","dflt":0.7,"editType":"arraydraw","max":1,"min":0,"valType":"number"},"path":{"description":"For `type` *path* - a valid SVG path similar to `shapes.path` in data coordinates. Allowed segments are: M, L and Z.","editType":"arraydraw","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"arraydraw","valType":"string"},"type":{"description":"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`.","editType":"arraydraw","valType":"enumerated","values":["rect","path"]},"x0":{"description":"Sets the selection's starting x position.","editType":"arraydraw","valType":"any"},"x1":{"description":"Sets the selection's end x position.","editType":"arraydraw","valType":"any"},"xref":{"description":"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.","editType":"arraydraw","valType":"enumerated","values":["paper","/^x([2-9]|[1-9][0-9]+)?( domain)?$/"]},"y0":{"description":"Sets the selection's starting y position.","editType":"arraydraw","valType":"any"},"y1":{"description":"Sets the selection's end y position.","editType":"arraydraw","valType":"any"},"yref":{"description":"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.","editType":"arraydraw","valType":"enumerated","values":["paper","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]}}},"role":"object"},"separators":{"description":"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.","editType":"plot","valType":"string"},"shapes":{"items":{"shape":{"editType":"arraydraw","editable":{"description":"Determines whether the shape could be activated for edit or not. Has no effect when the older editable shapes mode is enabled via `config.editable` or `config.edits.shapePosition`.","dflt":false,"editType":"calc+arraydraw","valType":"boolean"},"fillcolor":{"description":"Sets the color filling the shape's interior. Only applies to closed shapes.","dflt":"rgba(0,0,0,0)","editType":"arraydraw","valType":"color"},"fillrule":{"description":"Determines which regions of complex paths constitute the interior. For more info please visit https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule","dflt":"evenodd","editType":"arraydraw","valType":"enumerated","values":["evenodd","nonzero"]},"label":{"editType":"arraydraw","font":{"color":{"editType":"arraydraw","valType":"color"},"description":"Sets the shape label text font.","editType":"calc+arraydraw","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc+arraydraw","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc+arraydraw","min":1,"valType":"number"}},"padding":{"description":"Sets padding (in px) between edge of label and edge of shape.","dflt":3,"editType":"arraydraw","min":0,"valType":"number"},"role":"object","text":{"description":"Sets the text to display with shape.","dflt":"","editType":"arraydraw","valType":"string"},"textangle":{"description":"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.","dflt":"auto","editType":"calc+arraydraw","valType":"angle"},"textposition":{"description":"Sets the position of the label text relative to the 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.","editType":"arraydraw","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right","start","middle","end"]},"xanchor":{"description":"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 shape.","dflt":"auto","editType":"calc+arraydraw","valType":"enumerated","values":["auto","left","center","right"]},"yanchor":{"description":"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 shape.","editType":"calc+arraydraw","valType":"enumerated","values":["top","middle","bottom"]}},"layer":{"description":"Specifies whether shapes are drawn below or above traces.","dflt":"above","editType":"arraydraw","valType":"enumerated","values":["below","above"]},"line":{"color":{"anim":true,"description":"Sets the line color.","editType":"arraydraw","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"arraydraw","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"calc+arraydraw","role":"object","width":{"anim":true,"description":"Sets the line width (in px).","dflt":2,"editType":"calc+arraydraw","min":0,"valType":"number"}},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"opacity":{"description":"Sets the opacity of the shape.","dflt":1,"editType":"arraydraw","max":1,"min":0,"valType":"number"},"path":{"description":"For `type` *path* - a valid SVG path with the pixel values replaced by data values in `xsizemode`/`ysizemode` being *scaled* and taken unmodified as pixels relative to `xanchor` and `yanchor` in case of *pixel* size mode. There are a few restrictions / quirks only absolute instructions, not relative. So the allowed segments are: M, L, H, V, Q, C, T, S, and Z arcs (A) are not allowed because radius rx and ry are relative. In the future we could consider supporting relative commands, but we would have to decide on how to handle date and log axes. Note that even as is, Q and C Bezier paths that are smooth on linear axes may not be smooth on log, and vice versa. no chained \"polybezier\" commands - specify the segment type for each one. On category axes, values are numbers scaled to the serial numbers of categories because using the categories themselves there would be no way to describe fractional positions On data axes: because space and T are both normal components of path strings, we can't use either to separate date from time parts. Therefore we'll use underscore for this purpose: 2015-02-21_13:45:56.789","editType":"calc+arraydraw","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"type":{"description":"Specifies the shape type to be drawn. If *line*, a line is drawn from (`x0`,`y0`) to (`x1`,`y1`) with respect to the axes' sizing mode. If *circle*, a circle is drawn from ((`x0`+`x1`)/2, (`y0`+`y1`)/2)) with radius (|(`x0`+`x1`)/2 - `x0`|, |(`y0`+`y1`)/2 -`y0`)|) with respect to the axes' sizing mode. If *rect*, a rectangle is drawn linking (`x0`,`y0`), (`x1`,`y0`), (`x1`,`y1`), (`x0`,`y1`), (`x0`,`y0`) with respect to the axes' sizing mode. If *path*, draw a custom SVG path using `path`. with respect to the axes' sizing mode.","editType":"calc+arraydraw","valType":"enumerated","values":["circle","rect","path","line"]},"visible":{"description":"Determines whether or not this shape is visible.","dflt":true,"editType":"calc+arraydraw","valType":"boolean"},"x0":{"description":"Sets the shape's starting x position. See `type` and `xsizemode` for more info.","editType":"calc+arraydraw","valType":"any"},"x1":{"description":"Sets the shape's end x position. See `type` and `xsizemode` for more info.","editType":"calc+arraydraw","valType":"any"},"xanchor":{"description":"Only relevant in conjunction with `xsizemode` set to *pixel*. Specifies the anchor point on the x axis to which `x0`, `x1` and x coordinates within `path` are relative to. E.g. useful to attach a pixel sized shape to a certain data value. No effect when `xsizemode` not set to *pixel*.","editType":"calc+arraydraw","valType":"any"},"xref":{"description":"Sets the shape's x coordinate axis. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis.","editType":"calc","valType":"enumerated","values":["paper","/^x([2-9]|[1-9][0-9]+)?( domain)?$/"]},"xsizemode":{"description":"Sets the shapes's sizing mode along the x axis. If set to *scaled*, `x0`, `x1` and x coordinates within `path` refer to data values on the x axis or a fraction of the plot area's width (`xref` set to *paper*). If set to *pixel*, `xanchor` specifies the x position in terms of data or plot fraction but `x0`, `x1` and x coordinates within `path` are pixels relative to `xanchor`. This way, the shape can have a fixed width while maintaining a position relative to data or plot fraction.","dflt":"scaled","editType":"calc+arraydraw","valType":"enumerated","values":["scaled","pixel"]},"y0":{"description":"Sets the shape's starting y position. See `type` and `ysizemode` for more info.","editType":"calc+arraydraw","valType":"any"},"y1":{"description":"Sets the shape's end y position. See `type` and `ysizemode` for more info.","editType":"calc+arraydraw","valType":"any"},"yanchor":{"description":"Only relevant in conjunction with `ysizemode` set to *pixel*. Specifies the anchor point on the y axis to which `y0`, `y1` and y coordinates within `path` are relative to. E.g. useful to attach a pixel sized shape to a certain data value. No effect when `ysizemode` not set to *pixel*.","editType":"calc+arraydraw","valType":"any"},"yref":{"description":"Sets the shape's y coordinate axis. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis.","editType":"calc","valType":"enumerated","values":["paper","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]},"ysizemode":{"description":"Sets the shapes's sizing mode along the y axis. If set to *scaled*, `y0`, `y1` and y coordinates within `path` refer to data values on the y axis or a fraction of the plot area's height (`yref` set to *paper*). If set to *pixel*, `yanchor` specifies the y position in terms of data or plot fraction but `y0`, `y1` and y coordinates within `path` are pixels relative to `yanchor`. This way, the shape can have a fixed height while maintaining a position relative to data or plot fraction.","dflt":"scaled","editType":"calc+arraydraw","valType":"enumerated","values":["scaled","pixel"]}}},"role":"object"},"showlegend":{"description":"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`.","editType":"legend","valType":"boolean"},"sliders":{"items":{"slider":{"active":{"description":"Determines which button (by index starting from 0) is considered active.","dflt":0,"editType":"arraydraw","min":0,"valType":"number"},"activebgcolor":{"description":"Sets the background color of the slider grip while dragging.","dflt":"#dbdde0","editType":"arraydraw","valType":"color"},"bgcolor":{"description":"Sets the background color of the slider.","dflt":"#f8fafc","editType":"arraydraw","valType":"color"},"bordercolor":{"description":"Sets the color of the border enclosing the slider.","dflt":"#bec8d9","editType":"arraydraw","valType":"color"},"borderwidth":{"description":"Sets the width (in px) of the border enclosing the slider.","dflt":1,"editType":"arraydraw","min":0,"valType":"number"},"currentvalue":{"editType":"arraydraw","font":{"color":{"editType":"arraydraw","valType":"color"},"description":"Sets the font of the current value label text.","editType":"arraydraw","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"arraydraw","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"arraydraw","min":1,"valType":"number"}},"offset":{"description":"The amount of space, in pixels, between the current value label and the slider.","dflt":10,"editType":"arraydraw","valType":"number"},"prefix":{"description":"When currentvalue.visible is true, this sets the prefix of the label.","editType":"arraydraw","valType":"string"},"role":"object","suffix":{"description":"When currentvalue.visible is true, this sets the suffix of the label.","editType":"arraydraw","valType":"string"},"visible":{"description":"Shows the currently-selected value above the slider.","dflt":true,"editType":"arraydraw","valType":"boolean"},"xanchor":{"description":"The alignment of the value readout relative to the length of the slider.","dflt":"left","editType":"arraydraw","valType":"enumerated","values":["left","center","right"]}},"editType":"arraydraw","font":{"color":{"editType":"arraydraw","valType":"color"},"description":"Sets the font of the slider step labels.","editType":"arraydraw","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"arraydraw","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"arraydraw","min":1,"valType":"number"}},"len":{"description":"Sets the length of the slider This measure excludes the padding of both ends. That is, the slider's length is this length minus the padding on both ends.","dflt":1,"editType":"arraydraw","min":0,"valType":"number"},"lenmode":{"description":"Determines whether this slider length is set in units of plot *fraction* or in *pixels. Use `len` to set the value.","dflt":"fraction","editType":"arraydraw","valType":"enumerated","values":["fraction","pixels"]},"minorticklen":{"description":"Sets the length in pixels of minor step tick marks","dflt":4,"editType":"arraydraw","min":0,"valType":"number"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"arraydraw","valType":"string"},"pad":{"b":{"description":"The amount of padding (in px) along the bottom of the component.","dflt":0,"editType":"arraydraw","valType":"number"},"description":"Set the padding of the slider component along each side.","editType":"arraydraw","l":{"description":"The amount of padding (in px) on the left side of the component.","dflt":0,"editType":"arraydraw","valType":"number"},"r":{"description":"The amount of padding (in px) on the right side of the component.","dflt":0,"editType":"arraydraw","valType":"number"},"role":"object","t":{"description":"The amount of padding (in px) along the top of the component.","dflt":20,"editType":"arraydraw","valType":"number"}},"role":"object","steps":{"items":{"step":{"args":{"description":"Sets the arguments values to be passed to the Plotly method set in `method` on slide.","editType":"arraydraw","freeLength":true,"items":[{"editType":"arraydraw","valType":"any"},{"editType":"arraydraw","valType":"any"},{"editType":"arraydraw","valType":"any"}],"valType":"info_array"},"editType":"arraydraw","execute":{"description":"When true, the API method is executed. When false, all other behaviors are the same and command execution is skipped. This may be useful when hooking into, for example, the `plotly_sliderchange` method and executing the API command manually without losing the benefit of the slider automatically binding to the state of the plot through the specification of `method` and `args`.","dflt":true,"editType":"arraydraw","valType":"boolean"},"label":{"description":"Sets the text label to appear on the slider","editType":"arraydraw","valType":"string"},"method":{"description":"Sets the Plotly method to be called when the slider value is changed. If the `skip` method is used, the API slider will function as normal but will perform no API calls and will not bind automatically to state updates. This may be used to create a component interface and attach to slider events manually via JavaScript.","dflt":"restyle","editType":"arraydraw","valType":"enumerated","values":["restyle","relayout","animate","update","skip"]},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"arraydraw","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"arraydraw","valType":"string"},"value":{"description":"Sets the value of the slider step, used to refer to the step programatically. Defaults to the slider label if not provided.","editType":"arraydraw","valType":"string"},"visible":{"description":"Determines whether or not this step is included in the slider.","dflt":true,"editType":"arraydraw","valType":"boolean"}}},"role":"object"},"templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"arraydraw","valType":"string"},"tickcolor":{"description":"Sets the color of the border enclosing the slider.","dflt":"#333","editType":"arraydraw","valType":"color"},"ticklen":{"description":"Sets the length in pixels of step tick marks","dflt":7,"editType":"arraydraw","min":0,"valType":"number"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"arraydraw","min":0,"valType":"number"},"transition":{"duration":{"description":"Sets the duration of the slider transition","dflt":150,"editType":"arraydraw","min":0,"valType":"number"},"easing":{"description":"Sets the easing function of the slider transition","dflt":"cubic-in-out","editType":"arraydraw","valType":"enumerated","values":["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"]},"editType":"arraydraw","role":"object"},"visible":{"description":"Determines whether or not the slider is visible.","dflt":true,"editType":"arraydraw","valType":"boolean"},"x":{"description":"Sets the x position (in normalized coordinates) of the slider.","dflt":0,"editType":"arraydraw","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets the slider's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the range selector.","dflt":"left","editType":"arraydraw","valType":"enumerated","values":["auto","left","center","right"]},"y":{"description":"Sets the y position (in normalized coordinates) of the slider.","dflt":0,"editType":"arraydraw","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"Sets the slider's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the range selector.","dflt":"top","editType":"arraydraw","valType":"enumerated","values":["auto","top","middle","bottom"]}}},"role":"object"},"smith":{"_isSubplotObj":true,"bgcolor":{"description":"Set the background color of the subplot","dflt":"#fff","editType":"plot","valType":"color"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this smith subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"editType":"plot","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this smith subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this smith subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this smith subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"editType":"calc","imaginaryaxis":{"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"editType":"plot","gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"plot","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"plot","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"plot","valType":"string"},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"plot","valType":"any"},"layer":{"description":"Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.","dflt":"above traces","editType":"plot","valType":"enumerated","values":["above traces","below traces"]},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"role":"object","showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","dflt":true,"editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","editType":"ticks","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Defaults to `realaxis.tickvals` plus the same as negatives and zero.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":2,"editType":"plot","min":0,"valType":"number"},"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","dflt":true,"editType":"plot","valType":"boolean"}},"realaxis":{"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"editType":"plot","gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"plot","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"plot","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"plot","valType":"string"},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"plot","valType":"any"},"layer":{"description":"Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.","dflt":"above traces","editType":"plot","valType":"enumerated","values":["above traces","below traces"]},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"role":"object","showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","dflt":true,"editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"side":{"description":"Determines on which side of real axis line the tick and tick labels appear.","dflt":"top","editType":"plot","valType":"enumerated","values":["top","bottom"]},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":90,"editType":"ticks","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *top* (*bottom*), this axis' are drawn above (below) the axis line.","editType":"ticks","valType":"enumerated","values":["top","bottom",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear.","dflt":[0.2,0.5,1,2,5],"editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":2,"editType":"plot","min":0,"valType":"number"},"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","dflt":true,"editType":"plot","valType":"boolean"}},"role":"object"},"spikedistance":{"description":"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.","dflt":-1,"editType":"none","min":-1,"valType":"integer"},"template":{"description":"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`.","editType":"calc","valType":"any"},"ternary":{"_isSubplotObj":true,"aaxis":{"_deprecated":{"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.","editType":"plot","valType":"string"},"titlefont":{"color":{"editType":"plot","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"plot","min":1,"valType":"number"}}},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"plot","exponentformat":{"description":"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.","dflt":"B","editType":"plot","valType":"enumerated","values":["none","e","E","power","SI","B"]},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"plot","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"plot","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"plot","valType":"string"},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"plot","valType":"any"},"layer":{"description":"Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.","dflt":"above traces","editType":"plot","valType":"enumerated","values":["above traces","below traces"]},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"min":{"description":"The minimum value visible on this axis. The maximum is determined by the sum minus the minimum values of the other two axes. The full view corresponds to all the minima set to zero.","dflt":0,"editType":"plot","min":0,"valType":"number"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"plot","min":0,"valType":"number"},"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":6,"editType":"plot","min":1,"valType":"integer"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"plot","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","dflt":true,"editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"plot","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"editType":"plot","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"plot","valType":"string"}}},"role":"object"},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"plot","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","editType":"plot","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"title":{"editType":"plot","font":{"color":{"editType":"plot","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"plot","valType":"string"}},"uirevision":{"description":"Controls persistence of user-driven changes in axis `min`, and `title` if in `editable: true` configuration. Defaults to `ternary\u003cN\u003e.uirevision`.","editType":"none","valType":"any"}},"baxis":{"_deprecated":{"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.","editType":"plot","valType":"string"},"titlefont":{"color":{"editType":"plot","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"plot","min":1,"valType":"number"}}},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"plot","exponentformat":{"description":"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.","dflt":"B","editType":"plot","valType":"enumerated","values":["none","e","E","power","SI","B"]},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"plot","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"plot","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"plot","valType":"string"},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"plot","valType":"any"},"layer":{"description":"Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.","dflt":"above traces","editType":"plot","valType":"enumerated","values":["above traces","below traces"]},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"min":{"description":"The minimum value visible on this axis. The maximum is determined by the sum minus the minimum values of the other two axes. The full view corresponds to all the minima set to zero.","dflt":0,"editType":"plot","min":0,"valType":"number"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"plot","min":0,"valType":"number"},"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":6,"editType":"plot","min":1,"valType":"integer"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"plot","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","dflt":true,"editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"plot","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"editType":"plot","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"plot","valType":"string"}}},"role":"object"},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"plot","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","editType":"plot","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"title":{"editType":"plot","font":{"color":{"editType":"plot","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"plot","valType":"string"}},"uirevision":{"description":"Controls persistence of user-driven changes in axis `min`, and `title` if in `editable: true` configuration. Defaults to `ternary\u003cN\u003e.uirevision`.","editType":"none","valType":"any"}},"bgcolor":{"description":"Set the background color of the subplot","dflt":"#fff","editType":"plot","valType":"color"},"caxis":{"_deprecated":{"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.","editType":"plot","valType":"string"},"titlefont":{"color":{"editType":"plot","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"plot","min":1,"valType":"number"}}},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"plot","exponentformat":{"description":"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.","dflt":"B","editType":"plot","valType":"enumerated","values":["none","e","E","power","SI","B"]},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"plot","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"plot","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"plot","valType":"string"},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"plot","valType":"any"},"layer":{"description":"Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.","dflt":"above traces","editType":"plot","valType":"enumerated","values":["above traces","below traces"]},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"min":{"description":"The minimum value visible on this axis. The maximum is determined by the sum minus the minimum values of the other two axes. The full view corresponds to all the minima set to zero.","dflt":0,"editType":"plot","min":0,"valType":"number"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"plot","min":0,"valType":"number"},"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":6,"editType":"plot","min":1,"valType":"integer"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"plot","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","dflt":true,"editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"plot","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"editType":"plot","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"plot","valType":"string"}}},"role":"object"},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"plot","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","editType":"plot","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"title":{"editType":"plot","font":{"color":{"editType":"plot","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"plot","valType":"string"}},"uirevision":{"description":"Controls persistence of user-driven changes in axis `min`, and `title` if in `editable: true` configuration. Defaults to `ternary\u003cN\u003e.uirevision`.","editType":"none","valType":"any"}},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this ternary subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"editType":"plot","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this ternary subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this ternary subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this ternary subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"editType":"plot","role":"object","sum":{"description":"The number each triplet should sum to, and the maximum range of each axis","dflt":1,"editType":"plot","min":0,"valType":"number"},"uirevision":{"description":"Controls persistence of user-driven changes in axis `min` and `title`, if not overridden in the individual axes. Defaults to `layout.uirevision`.","editType":"none","valType":"any"}},"title":{"editType":"layoutstyle","font":{"color":{"editType":"layoutstyle","valType":"color"},"description":"Sets the title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"layoutstyle","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"layoutstyle","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"layoutstyle","min":1,"valType":"number"}},"pad":{"b":{"description":"The amount of padding (in px) along the bottom of the component.","dflt":0,"editType":"layoutstyle","valType":"number"},"description":"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*.","editType":"layoutstyle","l":{"description":"The amount of padding (in px) on the left side of the component.","dflt":0,"editType":"layoutstyle","valType":"number"},"r":{"description":"The amount of padding (in px) on the right side of the component.","dflt":0,"editType":"layoutstyle","valType":"number"},"role":"object","t":{"description":"The amount of padding (in px) along the top of the component.","dflt":0,"editType":"layoutstyle","valType":"number"}},"role":"object","text":{"description":"Sets the plot's title. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"layoutstyle","valType":"string"},"x":{"description":"Sets the x position with respect to `xref` in normalized coordinates from *0* (left) to *1* (right).","dflt":0.5,"editType":"layoutstyle","max":1,"min":0,"valType":"number"},"xanchor":{"description":"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`.","dflt":"auto","editType":"layoutstyle","valType":"enumerated","values":["auto","left","center","right"]},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"container","editType":"layoutstyle","valType":"enumerated","values":["container","paper"]},"y":{"description":"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.","dflt":"auto","editType":"layoutstyle","max":1,"min":0,"valType":"number"},"yanchor":{"description":"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`.","dflt":"auto","editType":"layoutstyle","valType":"enumerated","values":["auto","top","middle","bottom"]},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"container","editType":"layoutstyle","valType":"enumerated","values":["container","paper"]}},"transition":{"description":"Sets transition options used during Plotly.react updates.","duration":{"description":"The duration of the transition, in milliseconds. If equal to zero, updates are synchronous.","dflt":500,"editType":"none","min":0,"valType":"number"},"easing":{"description":"The easing function used for the transition","dflt":"cubic-in-out","editType":"none","valType":"enumerated","values":["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"]},"editType":"none","ordering":{"description":"Determines whether the figure's layout or traces smoothly transitions during updates that make both traces and layout change.","dflt":"layout first","editType":"none","valType":"enumerated","values":["layout first","traces first"]},"role":"object"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"uniformtext":{"editType":"plot","minsize":{"description":"Sets the minimum text size between traces of the same type.","dflt":0,"editType":"plot","min":0,"valType":"number"},"mode":{"description":"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.","dflt":false,"editType":"plot","valType":"enumerated","values":[false,"hide","show"]},"role":"object"},"updatemenus":{"items":{"updatemenu":{"_arrayAttrRegexps":[{}],"active":{"description":"Determines which button (by index starting from 0) is considered active.","dflt":0,"editType":"arraydraw","min":-1,"valType":"integer"},"bgcolor":{"description":"Sets the background color of the update menu buttons.","editType":"arraydraw","valType":"color"},"bordercolor":{"description":"Sets the color of the border enclosing the update menu.","dflt":"#BEC8D9","editType":"arraydraw","valType":"color"},"borderwidth":{"description":"Sets the width (in px) of the border enclosing the update menu.","dflt":1,"editType":"arraydraw","min":0,"valType":"number"},"buttons":{"items":{"button":{"args":{"description":"Sets the arguments values to be passed to the Plotly method set in `method` on click.","editType":"arraydraw","freeLength":true,"items":[{"editType":"arraydraw","valType":"any"},{"editType":"arraydraw","valType":"any"},{"editType":"arraydraw","valType":"any"}],"valType":"info_array"},"args2":{"description":"Sets a 2nd set of `args`, these arguments values are passed to the Plotly method set in `method` when clicking this button while in the active state. Use this to create toggle buttons.","editType":"arraydraw","freeLength":true,"items":[{"editType":"arraydraw","valType":"any"},{"editType":"arraydraw","valType":"any"},{"editType":"arraydraw","valType":"any"}],"valType":"info_array"},"editType":"arraydraw","execute":{"description":"When true, the API method is executed. When false, all other behaviors are the same and command execution is skipped. This may be useful when hooking into, for example, the `plotly_buttonclicked` method and executing the API command manually without losing the benefit of the updatemenu automatically binding to the state of the plot through the specification of `method` and `args`.","dflt":true,"editType":"arraydraw","valType":"boolean"},"label":{"description":"Sets the text label to appear on the button.","dflt":"","editType":"arraydraw","valType":"string"},"method":{"description":"Sets the Plotly method to be called on click. If the `skip` method is used, the API updatemenu will function as normal but will perform no API calls and will not bind automatically to state updates. This may be used to create a component interface and attach to updatemenu events manually via JavaScript.","dflt":"restyle","editType":"arraydraw","valType":"enumerated","values":["restyle","relayout","animate","update","skip"]},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"arraydraw","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"arraydraw","valType":"string"},"visible":{"description":"Determines whether or not this button is visible.","editType":"arraydraw","valType":"boolean"}}},"role":"object"},"direction":{"description":"Determines the direction in which the buttons are laid out, whether in a dropdown menu or a row/column of buttons. For `left` and `up`, the buttons will still appear in left-to-right or top-to-bottom order respectively.","dflt":"down","editType":"arraydraw","valType":"enumerated","values":["left","right","up","down"]},"editType":"arraydraw","font":{"color":{"editType":"arraydraw","valType":"color"},"description":"Sets the font of the update menu button text.","editType":"arraydraw","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"arraydraw","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"arraydraw","min":1,"valType":"number"}},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"arraydraw","valType":"string"},"pad":{"b":{"description":"The amount of padding (in px) along the bottom of the component.","dflt":0,"editType":"arraydraw","valType":"number"},"description":"Sets the padding around the buttons or dropdown menu.","editType":"arraydraw","l":{"description":"The amount of padding (in px) on the left side of the component.","dflt":0,"editType":"arraydraw","valType":"number"},"r":{"description":"The amount of padding (in px) on the right side of the component.","dflt":0,"editType":"arraydraw","valType":"number"},"role":"object","t":{"description":"The amount of padding (in px) along the top of the component.","dflt":0,"editType":"arraydraw","valType":"number"}},"role":"object","showactive":{"description":"Highlights active dropdown item or active button if true.","dflt":true,"editType":"arraydraw","valType":"boolean"},"templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"arraydraw","valType":"string"},"type":{"description":"Determines whether the buttons are accessible via a dropdown menu or whether the buttons are stacked horizontally or vertically","dflt":"dropdown","editType":"arraydraw","valType":"enumerated","values":["dropdown","buttons"]},"visible":{"description":"Determines whether or not the update menu is visible.","editType":"arraydraw","valType":"boolean"},"x":{"description":"Sets the x position (in normalized coordinates) of the update menu.","dflt":-0.05,"editType":"arraydraw","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets the update menu's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the range selector.","dflt":"right","editType":"arraydraw","valType":"enumerated","values":["auto","left","center","right"]},"y":{"description":"Sets the y position (in normalized coordinates) of the update menu.","dflt":1,"editType":"arraydraw","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"Sets the update menu's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the range selector.","dflt":"top","editType":"arraydraw","valType":"enumerated","values":["auto","top","middle","bottom"]}}},"role":"object"},"width":{"description":"Sets the plot's width (in px).","dflt":700,"editType":"plot","min":10,"valType":"number"},"xaxis":{"_deprecated":{"autotick":{"description":"Obsolete. Set `tickmode` to *auto* for old `autotick` *true* behavior. Set `tickmode` to *linear* for `autotick` *false*.","editType":"ticks","valType":"boolean"},"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.","editType":"ticks","valType":"string"},"titlefont":{"color":{"editType":"ticks","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"ticks","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"ticks","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"ticks","min":1,"valType":"number"}}},"_isSubplotObj":true,"anchor":{"description":"If set to an opposite-letter axis id (e.g. `x2`, `y`), this axis is bound to the corresponding opposite-letter axis. If set to *free*, this axis' position is determined by `position`.","editType":"plot","valType":"enumerated","values":["free","/^x([2-9]|[1-9][0-9]+)?( domain)?$/","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]},"automargin":{"description":"Determines whether long tick labels automatically grow the figure margins.","dflt":false,"editType":"ticks","extras":[true,false],"flags":["height","width","left","right","top","bottom"],"valType":"flaglist"},"autorange":{"description":"Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided, then `autorange` is set to *false*.","dflt":true,"editType":"axrange","impliedEdits":{},"valType":"enumerated","values":[true,false,"reversed"]},"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"calc","valType":"enumerated","values":["convert types","strict"]},"calendar":{"description":"Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"categoryarray":{"description":"Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"calc","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.","dflt":"trace","editType":"calc","valType":"enumerated","values":["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","median ascending","median descending"]},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"ticks","valType":"color"},"constrain":{"description":"If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines how that happens: by increasing the *range*, or by decreasing the *domain*. Default is *domain* for axes containing image traces, *range* otherwise.","editType":"plot","valType":"enumerated","values":["range","domain"]},"constraintoward":{"description":"If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines which direction we push the originally specified plot area. Options are *left*, *center* (default), and *right* for x axes, and *top*, *middle* (default), and *bottom* for y axes.","editType":"plot","valType":"enumerated","values":["left","center","right","top","middle","bottom"]},"dividercolor":{"description":"Sets the color of the dividers Only has an effect on *multicategory* axes.","dflt":"#444","editType":"ticks","valType":"color"},"dividerwidth":{"description":"Sets the width (in px) of the dividers Only has an effect on *multicategory* axes.","dflt":1,"editType":"ticks","valType":"number"},"domain":{"description":"Sets the domain of this axis (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"ticks","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"ticks","valType":"enumerated","values":["none","e","E","power","SI","B"]},"fixedrange":{"description":"Determines whether or not this axis is zoom-able. If true, then zoom is disabled.","dflt":false,"editType":"calc","valType":"boolean"},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"ticks","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"ticks","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"ticks","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"none","valType":"string"},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"ticks","valType":"any"},"layer":{"description":"Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.","dflt":"above traces","editType":"plot","valType":"enumerated","values":["above traces","below traces"]},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"layoutstyle","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"ticks+layoutstyle","min":0,"valType":"number"},"matches":{"description":"If set to another axis id (e.g. `x2`, `y`), the range of this axis will match the range of the corresponding axis in data-coordinates space. Moreover, matching axes share auto-range values, category lists and histogram auto-bins. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden. Moreover, note that matching axes must have the same `type`.","editType":"calc","valType":"enumerated","values":["/^x([2-9]|[1-9][0-9]+)?( domain)?$/","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"ticks","min":0,"valType":"number"},"minor":{"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"ticks","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"ticks","gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"ticks","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"ticks","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","editType":"ticks","min":0,"valType":"number"},"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":5,"editType":"ticks","min":0,"valType":"integer"},"role":"object","showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","editType":"ticks","valType":"boolean"},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"ticks","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"ticks","valType":"color"},"ticklen":{"description":"Sets the tick length (in px).","editType":"ticks","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"ticks","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"ticks":{"description":"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.","editType":"ticks","valType":"enumerated","values":["outside","inside",""]},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"ticks","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","editType":"ticks","min":0,"valType":"number"}},"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,"editType":"ticks+layoutstyle","valType":"enumerated","values":[true,"ticks",false,"all","allticks"]},"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,"editType":"ticks","min":0,"valType":"integer"},"overlaying":{"description":"If set a same-letter axis id, this axis is overlaid on top of the corresponding same-letter axis, with traces and axes visible for both axes. If *false*, this axis does not overlay any same-letter axes. In this case, for axes with overlapping domains only the highest-numbered axis will be visible.","editType":"plot","valType":"enumerated","values":["free","/^x([2-9]|[1-9][0-9]+)?( domain)?$/","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]},"position":{"description":"Sets the position of this axis in the plotting space (in normalized coordinates). Only has an effect if `anchor` is set to *free*.","dflt":0,"editType":"plot","max":1,"min":0,"valType":"number"},"range":{"anim":true,"description":"Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.","editType":"axrange","impliedEdits":{"autorange":false},"items":[{"anim":true,"editType":"axrange","impliedEdits":{"^autorange":false},"valType":"any"},{"anim":true,"editType":"axrange","impliedEdits":{"^autorange":false},"valType":"any"}],"valType":"info_array"},"rangebreaks":{"items":{"rangebreak":{"bounds":{"description":"Sets the lower and upper bounds of this axis rangebreak. Can be used with `pattern`.","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"dvalue":{"description":"Sets the size of each `values` item. The default is one day in milliseconds.","dflt":86400000,"editType":"calc","min":0,"valType":"number"},"editType":"calc","enabled":{"description":"Determines whether this axis rangebreak is enabled or disabled. Please note that `rangebreaks` only work for *date* axis type.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"pattern":{"description":"Determines a pattern on the time line that generates breaks. If *day of week* - days of the week in English e.g. 'Sunday' or `sun` (matching is case-insensitive and considers only the first three characters), as well as Sunday-based integers between 0 and 6. If *hour* - hour (24-hour clock) as decimal numbers between 0 and 24. for more info. Examples: - { pattern: 'day of week', bounds: [6, 1] } or simply { bounds: ['sat', 'mon'] } breaks from Saturday to Monday (i.e. skips the weekends). - { pattern: 'hour', bounds: [17, 8] } breaks from 5pm to 8am (i.e. skips non-work hours).","editType":"calc","valType":"enumerated","values":["day of week","hour",""]},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"values":{"description":"Sets the coordinate values corresponding to the rangebreaks. An alternative to `bounds`. Use `dvalue` to set the size of the values along the axis.","editType":"calc","freeLength":true,"items":{"editType":"calc","valType":"any"},"valType":"info_array"}}},"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.","dflt":"normal","editType":"plot","valType":"enumerated","values":["normal","tozero","nonnegative"]},"rangeselector":{"activecolor":{"description":"Sets the background color of the active range selector button.","editType":"plot","valType":"color"},"bgcolor":{"description":"Sets the background color of the range selector buttons.","dflt":"#eee","editType":"plot","valType":"color"},"bordercolor":{"description":"Sets the color of the border enclosing the range selector.","dflt":"#444","editType":"plot","valType":"color"},"borderwidth":{"description":"Sets the width (in px) of the border enclosing the range selector.","dflt":0,"editType":"plot","min":0,"valType":"number"},"buttons":{"items":{"button":{"count":{"description":"Sets the number of steps to take to update the range. Use with `step` to specify the update interval.","dflt":1,"editType":"plot","min":0,"valType":"number"},"description":"Sets the specifications for each buttons. By default, a range selector comes with no buttons.","editType":"plot","label":{"description":"Sets the text label to appear on the button.","editType":"plot","valType":"string"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"role":"object","step":{"description":"The unit of measurement that the `count` value will set the range by.","dflt":"month","editType":"plot","valType":"enumerated","values":["month","year","day","hour","minute","second","all"]},"stepmode":{"description":"Sets the range update mode. If *backward*, the range update shifts the start of range back *count* times *step* milliseconds. If *todate*, the range update shifts the start of range back to the first timestamp from *count* times *step* milliseconds back. For example, with `step` set to *year* and `count` set to *1* the range update shifts the start of the range back to January 01 of the current year. Month and year *todate* are currently available only for the built-in (Gregorian) calendar.","dflt":"backward","editType":"plot","valType":"enumerated","values":["backward","todate"]},"templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"visible":{"description":"Determines whether or not this button is visible.","dflt":true,"editType":"plot","valType":"boolean"}}},"role":"object"},"editType":"plot","font":{"color":{"editType":"plot","valType":"color"},"description":"Sets the font of the range selector button text.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"role":"object","visible":{"description":"Determines whether or not this range selector is visible. Note that range selectors are only available for x axes of `type` set to or auto-typed to *date*.","editType":"plot","valType":"boolean"},"x":{"description":"Sets the x position (in normalized coordinates) of the range selector.","editType":"plot","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets the range selector's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the range selector.","dflt":"left","editType":"plot","valType":"enumerated","values":["auto","left","center","right"]},"y":{"description":"Sets the y position (in normalized coordinates) of the range selector.","editType":"plot","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"Sets the range selector's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the range selector.","dflt":"bottom","editType":"plot","valType":"enumerated","values":["auto","top","middle","bottom"]}},"rangeslider":{"autorange":{"description":"Determines whether or not the range slider range is computed in relation to the input data. If `range` is provided, then `autorange` is set to *false*.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"bgcolor":{"description":"Sets the background color of the range slider.","dflt":"#fff","editType":"plot","valType":"color"},"bordercolor":{"description":"Sets the border color of the range slider.","dflt":"#444","editType":"plot","valType":"color"},"borderwidth":{"description":"Sets the border width of the range slider.","dflt":0,"editType":"plot","min":0,"valType":"integer"},"editType":"calc","range":{"description":"Sets the range of the range slider. If not set, defaults to the full xaxis range. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.","editType":"calc","impliedEdits":{"autorange":false},"items":[{"editType":"calc","impliedEdits":{"^autorange":false},"valType":"any"},{"editType":"calc","impliedEdits":{"^autorange":false},"valType":"any"}],"valType":"info_array"},"role":"object","thickness":{"description":"The height of the range slider as a fraction of the total plot area height.","dflt":0.15,"editType":"plot","max":1,"min":0,"valType":"number"},"visible":{"description":"Determines whether or not the range slider will be visible. If visible, perpendicular axes will be set to `fixedrange`","dflt":true,"editType":"calc","valType":"boolean"},"yaxis":{"_isSubplotObj":true,"editType":"calc","range":{"description":"Sets the range of this axis for the rangeslider.","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"rangemode":{"description":"Determines whether or not the range of this axis in the rangeslider use the same value than in the main plot when zooming in/out. If *auto*, the autorange will be used. If *fixed*, the `range` is used. If *match*, the current range of the corresponding y-axis on the main subplot is used.","dflt":"match","editType":"calc","valType":"enumerated","values":["auto","fixed","match"]},"role":"object"}},"role":"object","scaleanchor":{"description":"If set to another axis id (e.g. `x2`, `y`), the range of this axis changes together with the range of the corresponding axis such that the scale of pixels per unit is in a constant ratio. Both axes are still zoomable, but when you zoom one, the other will zoom the same amount, keeping a fixed midpoint. `constrain` and `constraintoward` determine how we enforce the constraint. You can chain these, ie `yaxis: {scaleanchor: *x*}, xaxis2: {scaleanchor: *y*}` but you can only link axes of the same `type`. The linked axis can have the opposite letter (to constrain the aspect ratio) or the same letter (to match scales across subplots). Loops (`yaxis: {scaleanchor: *x*}, xaxis: {scaleanchor: *y*}` or longer) are redundant and the last constraint encountered will be ignored to avoid possible inconsistent constraints via `scaleratio`. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden.","editType":"plot","valType":"enumerated","values":["/^x([2-9]|[1-9][0-9]+)?( domain)?$/","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]},"scaleratio":{"description":"If this axis is linked to another by `scaleanchor`, this determines the pixel to unit scale ratio. For example, if this value is 10, then every unit on this axis spans 10 times the number of pixels as a unit on the linked axis. Use this for example to create an elevation profile where the vertical scale is exaggerated a fixed amount with respect to the horizontal.","dflt":1,"editType":"plot","min":0,"valType":"number"},"separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"ticks","valType":"boolean"},"showdividers":{"description":"Determines whether or not a dividers are drawn between the category levels of this axis. Only has an effect on *multicategory* axes.","dflt":true,"editType":"ticks","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"ticks","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","editType":"ticks","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":false,"editType":"ticks+layoutstyle","valType":"boolean"},"showspikes":{"description":"Determines whether or not spikes (aka droplines) are drawn for this axis. Note: This only takes affect when hovermode = closest","dflt":false,"editType":"modebar","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"ticks","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"ticks","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"ticks","valType":"enumerated","values":["all","first","last","none"]},"side":{"description":"Determines whether a x (y) axis is positioned at the *bottom* (*left*) or *top* (*right*) of the plotting area.","editType":"plot","valType":"enumerated","values":["top","bottom","left","right"]},"spikecolor":{"description":"Sets the spike color. If undefined, will use the series color","dflt":null,"editType":"none","valType":"color"},"spikedash":{"description":"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*).","dflt":"dash","editType":"none","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"spikemode":{"description":"Determines the drawing mode for the spike line If *toaxis*, the line is drawn from the data point to the axis the series is plotted on. If *across*, the line is drawn across the entire plot area, and supercedes *toaxis*. If *marker*, then a marker dot is drawn on the axis the series is plotted on","dflt":"toaxis","editType":"none","flags":["toaxis","across","marker"],"valType":"flaglist"},"spikesnap":{"description":"Determines whether spikelines are stuck to the cursor or to the closest datapoints.","dflt":"hovered data","editType":"none","valType":"enumerated","values":["data","cursor","hovered data"]},"spikethickness":{"description":"Sets the width (in px) of the zero line.","dflt":3,"editType":"none","valType":"number"},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"ticks","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"ticks","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"ticks","valType":"color"},"tickfont":{"color":{"editType":"ticks","valType":"color"},"description":"Sets the tick font.","editType":"ticks","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"ticks","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"ticks","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"ticks","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"ticks","items":[{"editType":"ticks","valType":"any"},{"editType":"ticks","valType":"any"}],"valType":"info_array"},"editType":"ticks","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"ticks","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"ticks","valType":"string"}}},"role":"object"},"ticklabelmode":{"description":"Determines where tick labels are drawn with respect to their corresponding ticks and grid lines. Only has an effect for axes of `type` *date* When set to *period*, tick labels are drawn in the middle of the period between ticks.","dflt":"instant","editType":"ticks","valType":"enumerated","values":["instant","period"]},"ticklabeloverflow":{"description":"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*. Otherwise on *category* and *multicategory* axes the default is *allow*. In other cases the default is *hide past div*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"Determines where tick labels are drawn with respect to the axis Please note that top or bottom has no effect on x axes or when `ticklabelmode` is set to *period*. Similarly left or right has no effect on y axes or when `ticklabelmode` is set to *period*. Has no effect on *multicategory* axes or when `tickson` is set to *boundaries*. When used on axes linked by `matches` or `scaleanchor`, no extra padding for inside labels would be added by autorange, so that the scales could match.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"ticks","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"ticks","min":0,"valType":"number"},"tickmode":{"description":"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). If *sync*, the number of ticks will sync with the overlayed axis set by `overlaying` property.","editType":"ticks","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array","sync"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"ticks","valType":"string"},"ticks":{"description":"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.","editType":"ticks","valType":"enumerated","values":["outside","inside",""]},"tickson":{"description":"Determines where ticks and grid lines are drawn with respect to their corresponding tick labels. Only has an effect for axes of `type` *category* or *multicategory*. When set to *boundaries*, ticks and grid lines are drawn half a category to the left/bottom of labels.","dflt":"labels","editType":"ticks","valType":"enumerated","values":["labels","boundaries"]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"ticks","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"ticks","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"ticks","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"ticks","min":0,"valType":"number"},"title":{"editType":"ticks","font":{"color":{"editType":"ticks","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"ticks","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"ticks","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"ticks","min":1,"valType":"number"}},"role":"object","standoff":{"description":"Sets the standoff distance (in px) between the axis labels and the title text The default value is a function of the axis tick labels, the title `font.size` and the axis `linewidth`. 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 on `automargin`, plotly.js will push the margins to fit the axis title at given standoff distance.","editType":"ticks","min":0,"valType":"number"},"text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"ticks","valType":"string"}},"type":{"_noTemplating":true,"description":"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.","dflt":"-","editType":"calc","valType":"enumerated","values":["-","linear","log","date","category","multicategory"]},"uirevision":{"description":"Controls persistence of user-driven changes in axis `range`, `autorange`, and `title` if in `editable: true` configuration. Defaults to `layout.uirevision`.","editType":"none","valType":"any"},"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","valType":"boolean"},"zeroline":{"description":"Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines.","editType":"ticks","valType":"boolean"},"zerolinecolor":{"description":"Sets the line color of the zero line.","dflt":"#444","editType":"ticks","valType":"color"},"zerolinewidth":{"description":"Sets the width (in px) of the zero line.","dflt":1,"editType":"ticks","valType":"number"}},"yaxis":{"_deprecated":{"autotick":{"description":"Obsolete. Set `tickmode` to *auto* for old `autotick` *true* behavior. Set `tickmode` to *linear* for `autotick` *false*.","editType":"ticks","valType":"boolean"},"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.","editType":"ticks","valType":"string"},"titlefont":{"color":{"editType":"ticks","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"ticks","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"ticks","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"ticks","min":1,"valType":"number"}}},"_isSubplotObj":true,"anchor":{"description":"If set to an opposite-letter axis id (e.g. `x2`, `y`), this axis is bound to the corresponding opposite-letter axis. If set to *free*, this axis' position is determined by `position`.","editType":"plot","valType":"enumerated","values":["free","/^x([2-9]|[1-9][0-9]+)?( domain)?$/","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]},"automargin":{"description":"Determines whether long tick labels automatically grow the figure margins.","dflt":false,"editType":"ticks","extras":[true,false],"flags":["height","width","left","right","top","bottom"],"valType":"flaglist"},"autorange":{"description":"Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided, then `autorange` is set to *false*.","dflt":true,"editType":"axrange","impliedEdits":{},"valType":"enumerated","values":[true,false,"reversed"]},"autoshift":{"description":"Automatically reposition the axis to avoid overlap with other axes with the same `overlaying` value. This repositioning will account for any `shift` amount applied to other axes on the same side with `autoshift` is set to true. Only has an effect if `anchor` is set to *free*.","dflt":false,"editType":"plot","valType":"boolean"},"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"calc","valType":"enumerated","values":["convert types","strict"]},"calendar":{"description":"Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"categoryarray":{"description":"Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"calc","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.","dflt":"trace","editType":"calc","valType":"enumerated","values":["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","median ascending","median descending"]},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"ticks","valType":"color"},"constrain":{"description":"If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines how that happens: by increasing the *range*, or by decreasing the *domain*. Default is *domain* for axes containing image traces, *range* otherwise.","editType":"plot","valType":"enumerated","values":["range","domain"]},"constraintoward":{"description":"If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines which direction we push the originally specified plot area. Options are *left*, *center* (default), and *right* for x axes, and *top*, *middle* (default), and *bottom* for y axes.","editType":"plot","valType":"enumerated","values":["left","center","right","top","middle","bottom"]},"dividercolor":{"description":"Sets the color of the dividers Only has an effect on *multicategory* axes.","dflt":"#444","editType":"ticks","valType":"color"},"dividerwidth":{"description":"Sets the width (in px) of the dividers Only has an effect on *multicategory* axes.","dflt":1,"editType":"ticks","valType":"number"},"domain":{"description":"Sets the domain of this axis (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"ticks","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"ticks","valType":"enumerated","values":["none","e","E","power","SI","B"]},"fixedrange":{"description":"Determines whether or not this axis is zoom-able. If true, then zoom is disabled.","dflt":false,"editType":"calc","valType":"boolean"},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"ticks","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"ticks","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"ticks","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"none","valType":"string"},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"ticks","valType":"any"},"layer":{"description":"Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.","dflt":"above traces","editType":"plot","valType":"enumerated","values":["above traces","below traces"]},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"layoutstyle","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"ticks+layoutstyle","min":0,"valType":"number"},"matches":{"description":"If set to another axis id (e.g. `x2`, `y`), the range of this axis will match the range of the corresponding axis in data-coordinates space. Moreover, matching axes share auto-range values, category lists and histogram auto-bins. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden. Moreover, note that matching axes must have the same `type`.","editType":"calc","valType":"enumerated","values":["/^x([2-9]|[1-9][0-9]+)?( domain)?$/","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"ticks","min":0,"valType":"number"},"minor":{"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"ticks","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"ticks","gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"ticks","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"ticks","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","editType":"ticks","min":0,"valType":"number"},"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":5,"editType":"ticks","min":0,"valType":"integer"},"role":"object","showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","editType":"ticks","valType":"boolean"},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"ticks","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"ticks","valType":"color"},"ticklen":{"description":"Sets the tick length (in px).","editType":"ticks","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"ticks","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"ticks":{"description":"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.","editType":"ticks","valType":"enumerated","values":["outside","inside",""]},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"ticks","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","editType":"ticks","min":0,"valType":"number"}},"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,"editType":"ticks+layoutstyle","valType":"enumerated","values":[true,"ticks",false,"all","allticks"]},"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,"editType":"ticks","min":0,"valType":"integer"},"overlaying":{"description":"If set a same-letter axis id, this axis is overlaid on top of the corresponding same-letter axis, with traces and axes visible for both axes. If *false*, this axis does not overlay any same-letter axes. In this case, for axes with overlapping domains only the highest-numbered axis will be visible.","editType":"plot","valType":"enumerated","values":["free","/^x([2-9]|[1-9][0-9]+)?( domain)?$/","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]},"position":{"description":"Sets the position of this axis in the plotting space (in normalized coordinates). Only has an effect if `anchor` is set to *free*.","dflt":0,"editType":"plot","max":1,"min":0,"valType":"number"},"range":{"anim":true,"description":"Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.","editType":"axrange","impliedEdits":{"autorange":false},"items":[{"anim":true,"editType":"axrange","impliedEdits":{"^autorange":false},"valType":"any"},{"anim":true,"editType":"axrange","impliedEdits":{"^autorange":false},"valType":"any"}],"valType":"info_array"},"rangebreaks":{"items":{"rangebreak":{"bounds":{"description":"Sets the lower and upper bounds of this axis rangebreak. Can be used with `pattern`.","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"dvalue":{"description":"Sets the size of each `values` item. The default is one day in milliseconds.","dflt":86400000,"editType":"calc","min":0,"valType":"number"},"editType":"calc","enabled":{"description":"Determines whether this axis rangebreak is enabled or disabled. Please note that `rangebreaks` only work for *date* axis type.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"pattern":{"description":"Determines a pattern on the time line that generates breaks. If *day of week* - days of the week in English e.g. 'Sunday' or `sun` (matching is case-insensitive and considers only the first three characters), as well as Sunday-based integers between 0 and 6. If *hour* - hour (24-hour clock) as decimal numbers between 0 and 24. for more info. Examples: - { pattern: 'day of week', bounds: [6, 1] } or simply { bounds: ['sat', 'mon'] } breaks from Saturday to Monday (i.e. skips the weekends). - { pattern: 'hour', bounds: [17, 8] } breaks from 5pm to 8am (i.e. skips non-work hours).","editType":"calc","valType":"enumerated","values":["day of week","hour",""]},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"values":{"description":"Sets the coordinate values corresponding to the rangebreaks. An alternative to `bounds`. Use `dvalue` to set the size of the values along the axis.","editType":"calc","freeLength":true,"items":{"editType":"calc","valType":"any"},"valType":"info_array"}}},"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.","dflt":"normal","editType":"plot","valType":"enumerated","values":["normal","tozero","nonnegative"]},"role":"object","scaleanchor":{"description":"If set to another axis id (e.g. `x2`, `y`), the range of this axis changes together with the range of the corresponding axis such that the scale of pixels per unit is in a constant ratio. Both axes are still zoomable, but when you zoom one, the other will zoom the same amount, keeping a fixed midpoint. `constrain` and `constraintoward` determine how we enforce the constraint. You can chain these, ie `yaxis: {scaleanchor: *x*}, xaxis2: {scaleanchor: *y*}` but you can only link axes of the same `type`. The linked axis can have the opposite letter (to constrain the aspect ratio) or the same letter (to match scales across subplots). Loops (`yaxis: {scaleanchor: *x*}, xaxis: {scaleanchor: *y*}` or longer) are redundant and the last constraint encountered will be ignored to avoid possible inconsistent constraints via `scaleratio`. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden.","editType":"plot","valType":"enumerated","values":["/^x([2-9]|[1-9][0-9]+)?( domain)?$/","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]},"scaleratio":{"description":"If this axis is linked to another by `scaleanchor`, this determines the pixel to unit scale ratio. For example, if this value is 10, then every unit on this axis spans 10 times the number of pixels as a unit on the linked axis. Use this for example to create an elevation profile where the vertical scale is exaggerated a fixed amount with respect to the horizontal.","dflt":1,"editType":"plot","min":0,"valType":"number"},"separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"ticks","valType":"boolean"},"shift":{"description":"Moves the axis a given number of pixels from where it would have been otherwise. Accepts both positive and negative values, which will shift the axis either right or left, respectively. If `autoshift` is set to true, then this defaults to a padding of -3 if `side` is set to *left*. and defaults to +3 if `side` is set to *right*. Defaults to 0 if `autoshift` is set to false. Only has an effect if `anchor` is set to *free*.","editType":"plot","valType":"number"},"showdividers":{"description":"Determines whether or not a dividers are drawn between the category levels of this axis. Only has an effect on *multicategory* axes.","dflt":true,"editType":"ticks","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"ticks","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","editType":"ticks","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":false,"editType":"ticks+layoutstyle","valType":"boolean"},"showspikes":{"description":"Determines whether or not spikes (aka droplines) are drawn for this axis. Note: This only takes affect when hovermode = closest","dflt":false,"editType":"modebar","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"ticks","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"ticks","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"ticks","valType":"enumerated","values":["all","first","last","none"]},"side":{"description":"Determines whether a x (y) axis is positioned at the *bottom* (*left*) or *top* (*right*) of the plotting area.","editType":"plot","valType":"enumerated","values":["top","bottom","left","right"]},"spikecolor":{"description":"Sets the spike color. If undefined, will use the series color","dflt":null,"editType":"none","valType":"color"},"spikedash":{"description":"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*).","dflt":"dash","editType":"none","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"spikemode":{"description":"Determines the drawing mode for the spike line If *toaxis*, the line is drawn from the data point to the axis the series is plotted on. If *across*, the line is drawn across the entire plot area, and supercedes *toaxis*. If *marker*, then a marker dot is drawn on the axis the series is plotted on","dflt":"toaxis","editType":"none","flags":["toaxis","across","marker"],"valType":"flaglist"},"spikesnap":{"description":"Determines whether spikelines are stuck to the cursor or to the closest datapoints.","dflt":"hovered data","editType":"none","valType":"enumerated","values":["data","cursor","hovered data"]},"spikethickness":{"description":"Sets the width (in px) of the zero line.","dflt":3,"editType":"none","valType":"number"},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"ticks","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"ticks","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"ticks","valType":"color"},"tickfont":{"color":{"editType":"ticks","valType":"color"},"description":"Sets the tick font.","editType":"ticks","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"ticks","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"ticks","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"ticks","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"ticks","items":[{"editType":"ticks","valType":"any"},{"editType":"ticks","valType":"any"}],"valType":"info_array"},"editType":"ticks","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"ticks","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"ticks","valType":"string"}}},"role":"object"},"ticklabelmode":{"description":"Determines where tick labels are drawn with respect to their corresponding ticks and grid lines. Only has an effect for axes of `type` *date* When set to *period*, tick labels are drawn in the middle of the period between ticks.","dflt":"instant","editType":"ticks","valType":"enumerated","values":["instant","period"]},"ticklabeloverflow":{"description":"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*. Otherwise on *category* and *multicategory* axes the default is *allow*. In other cases the default is *hide past div*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"Determines where tick labels are drawn with respect to the axis Please note that top or bottom has no effect on x axes or when `ticklabelmode` is set to *period*. Similarly left or right has no effect on y axes or when `ticklabelmode` is set to *period*. Has no effect on *multicategory* axes or when `tickson` is set to *boundaries*. When used on axes linked by `matches` or `scaleanchor`, no extra padding for inside labels would be added by autorange, so that the scales could match.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"ticks","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"ticks","min":0,"valType":"number"},"tickmode":{"description":"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). If *sync*, the number of ticks will sync with the overlayed axis set by `overlaying` property.","editType":"ticks","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array","sync"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"ticks","valType":"string"},"ticks":{"description":"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.","editType":"ticks","valType":"enumerated","values":["outside","inside",""]},"tickson":{"description":"Determines where ticks and grid lines are drawn with respect to their corresponding tick labels. Only has an effect for axes of `type` *category* or *multicategory*. When set to *boundaries*, ticks and grid lines are drawn half a category to the left/bottom of labels.","dflt":"labels","editType":"ticks","valType":"enumerated","values":["labels","boundaries"]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"ticks","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"ticks","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"ticks","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"ticks","min":0,"valType":"number"},"title":{"editType":"ticks","font":{"color":{"editType":"ticks","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"ticks","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"ticks","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"ticks","min":1,"valType":"number"}},"role":"object","standoff":{"description":"Sets the standoff distance (in px) between the axis labels and the title text The default value is a function of the axis tick labels, the title `font.size` and the axis `linewidth`. 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 on `automargin`, plotly.js will push the margins to fit the axis title at given standoff distance.","editType":"ticks","min":0,"valType":"number"},"text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"ticks","valType":"string"}},"type":{"_noTemplating":true,"description":"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.","dflt":"-","editType":"calc","valType":"enumerated","values":["-","linear","log","date","category","multicategory"]},"uirevision":{"description":"Controls persistence of user-driven changes in axis `range`, `autorange`, and `title` if in `editable: true` configuration. Defaults to `layout.uirevision`.","editType":"none","valType":"any"},"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","valType":"boolean"},"zeroline":{"description":"Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines.","editType":"ticks","valType":"boolean"},"zerolinecolor":{"description":"Sets the line color of the zero line.","dflt":"#444","editType":"ticks","valType":"color"},"zerolinewidth":{"description":"Sets the width (in px) of the zero line.","dflt":1,"editType":"ticks","valType":"number"}}}},"traces":{"bar":{"animatable":true,"attributes":{"_deprecated":{"bardir":{"description":"Renamed to `orientation`.","editType":"calc","valType":"enumerated","values":["v","h"]}},"alignmentgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"base":{"arrayOk":true,"description":"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.","dflt":null,"editType":"calc","valType":"any"},"basesrc":{"description":"Sets the source reference on Chart Studio Cloud for `base`.","editType":"none","valType":"string"},"cliponaxis":{"description":"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*.","dflt":true,"editType":"plot","valType":"boolean"},"constraintext":{"description":"Constrain the size of text inside or outside a bar to be no larger than the bar itself.","dflt":"both","editType":"calc","valType":"enumerated","values":["inside","outside","both","none"]},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dx":{"anim":true,"description":"Sets the x coordinate step. See `x0` for more info.","dflt":1,"editType":"calc","valType":"number"},"dy":{"anim":true,"description":"Sets the y coordinate step. See `y0` for more info.","dflt":1,"editType":"calc","valType":"number"},"error_x":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"style","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"style","valType":"color"},"copy_ystyle":{"editType":"plot","valType":"boolean"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"style","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"plot","min":0,"valType":"number"}},"error_y":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"style","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"style","valType":"color"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"style","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"plot","min":0,"valType":"number"}},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `value` and `label`. Anything contained in tag `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"ids":{"anim":true,"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"insidetextanchor":{"description":"Determines if texts are kept at center or start/end points in `textposition` *inside* mode.","dflt":"end","editType":"plot","valType":"enumerated","values":["end","middle","start"]},"insidetextfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `text` lying inside the bar.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"legendgroup":{"description":"Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"marker":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"y":{"description":"Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"anim":true,"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","dflt":0,"editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the opacity of the bars.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"pattern":{"bgcolor":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"description":"Sets the pattern within the marker.","editType":"style","fgcolor":{"arrayOk":true,"description":"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`.","editType":"style","valType":"color"},"fgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `fgcolor`.","editType":"none","valType":"string"},"fgopacity":{"description":"Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.","editType":"style","max":1,"min":0,"valType":"number"},"fillmode":{"description":"Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.","dflt":"replace","editType":"style","valType":"enumerated","values":["replace","overlay"]},"role":"object","shape":{"arrayOk":true,"description":"Sets the shape of the pattern fill. By default, no pattern is used for filling the area.","dflt":"","editType":"style","valType":"enumerated","values":["","/","\\","x","-","|","+","."]},"shapesrc":{"description":"Sets the source reference on Chart Studio Cloud for `shape`.","editType":"none","valType":"string"},"size":{"arrayOk":true,"description":"Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.","dflt":8,"editType":"style","min":0,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"solidity":{"arrayOk":true,"description":"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.","dflt":0.3,"editType":"style","max":1,"min":0,"valType":"number"},"soliditysrc":{"description":"Sets the source reference on Chart Studio Cloud for `solidity`.","editType":"none","valType":"string"}},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"offset":{"arrayOk":true,"description":"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.","dflt":null,"editType":"calc","valType":"number"},"offsetgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"offsetsrc":{"description":"Sets the source reference on Chart Studio Cloud for `offset`.","editType":"none","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"orientation":{"description":"Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal).","editType":"calc+clearAxisTypes","valType":"enumerated","values":["v","h"]},"outsidetextfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `text` lying outside the bar.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textangle":{"description":"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.","dflt":"auto","editType":"plot","valType":"angle"},"textfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `text`.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"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.","dflt":"auto","editType":"calc","valType":"enumerated","values":["inside","outside","auto","none"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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. variables `value` and `label`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"bar","uid":{"anim":true,"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"width":{"arrayOk":true,"description":"Sets the bar width (in position axis units).","dflt":null,"editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"},"x":{"anim":true,"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"x0":{"anim":true,"description":"Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"xperiod0":{"description":"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.","editType":"calc","valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"anim":true,"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"y0":{"anim":true,"description":"Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"yperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the y axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"yperiod0":{"description":"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.","editType":"calc","valType":"any"},"yperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"}},"categories":["bar-like","cartesian","svg","bar","oriented","errorBarsOK","showLegend","zoomScale"],"layoutAttributes":{"bargap":{"description":"Sets the gap (in plot fraction) between bars of adjacent location coordinates.","editType":"calc","max":1,"min":0,"valType":"number"},"bargroupgap":{"description":"Sets the gap (in plot fraction) between bars of the same location coordinate.","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"barmode":{"description":"Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *relative*, the bars are stacked on top of one another, with negative values below the axis, positive values above With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars.","dflt":"group","editType":"calc","valType":"enumerated","values":["stack","group","overlay","relative"]},"barnorm":{"description":"Sets the normalization for bar traces on the graph. With *fraction*, the value of each bar is divided by the sum of all values at that location coordinate. *percent* is the same but multiplied by 100 to show percentages.","dflt":"","editType":"calc","valType":"enumerated","values":["","fraction","percent"]}},"meta":{"description":"The data visualized by the span of the bars is set in `y` if `orientation` is set th *v* (the default) and the labels are set in `x`. By setting `orientation` to *h*, the roles are interchanged."},"type":"bar"},"barpolar":{"animatable":false,"attributes":{"base":{"arrayOk":true,"description":"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.","dflt":null,"editType":"calc","valType":"any"},"basesrc":{"description":"Sets the source reference on Chart Studio Cloud for `base`.","editType":"none","valType":"string"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dr":{"description":"Sets the r coordinate step.","dflt":1,"editType":"calc","valType":"number"},"dtheta":{"description":"Sets the theta coordinate step. By default, the `dtheta` step equals the subplot's period divided by the length of the `r` coordinates.","editType":"calc","valType":"number"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["r","theta","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legendgroup":{"description":"Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"marker":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"y":{"description":"Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","dflt":0,"editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the opacity of the bars.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"pattern":{"bgcolor":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"description":"Sets the pattern within the marker.","editType":"style","fgcolor":{"arrayOk":true,"description":"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`.","editType":"style","valType":"color"},"fgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `fgcolor`.","editType":"none","valType":"string"},"fgopacity":{"description":"Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.","editType":"style","max":1,"min":0,"valType":"number"},"fillmode":{"description":"Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.","dflt":"replace","editType":"style","valType":"enumerated","values":["replace","overlay"]},"role":"object","shape":{"arrayOk":true,"description":"Sets the shape of the pattern fill. By default, no pattern is used for filling the area.","dflt":"","editType":"style","valType":"enumerated","values":["","/","\\","x","-","|","+","."]},"shapesrc":{"description":"Sets the source reference on Chart Studio Cloud for `shape`.","editType":"none","valType":"string"},"size":{"arrayOk":true,"description":"Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.","dflt":8,"editType":"style","min":0,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"solidity":{"arrayOk":true,"description":"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.","dflt":0.3,"editType":"style","max":1,"min":0,"valType":"number"},"soliditysrc":{"description":"Sets the source reference on Chart Studio Cloud for `solidity`.","editType":"none","valType":"string"}},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"offset":{"arrayOk":true,"description":"Shifts the angular position where the bar is drawn (in *thetatunit* units).","dflt":null,"editType":"calc","valType":"number"},"offsetsrc":{"description":"Sets the source reference on Chart Studio Cloud for `offset`.","editType":"none","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"r":{"description":"Sets the radial coordinates","editType":"calc+clearAxisTypes","valType":"data_array"},"r0":{"description":"Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"rsrc":{"description":"Sets the source reference on Chart Studio Cloud for `r`.","editType":"none","valType":"string"},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"subplot":{"description":"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.","dflt":"polar","editType":"calc","valType":"subplotid"},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"theta":{"description":"Sets the angular coordinates","editType":"calc+clearAxisTypes","valType":"data_array"},"theta0":{"description":"Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"thetasrc":{"description":"Sets the source reference on Chart Studio Cloud for `theta`.","editType":"none","valType":"string"},"thetaunit":{"description":"Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes.","dflt":"degrees","editType":"calc+clearAxisTypes","valType":"enumerated","values":["radians","degrees","gradians"]},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"barpolar","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"width":{"arrayOk":true,"description":"Sets the bar angular width (in *thetaunit* units).","dflt":null,"editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"categories":["polar","bar","showLegend"],"layoutAttributes":{"bargap":{"description":"Sets the gap between bars of adjacent location coordinates. Values are unitless, they represent fractions of the minimum difference in bar positions in the data.","dflt":0.1,"editType":"calc","max":1,"min":0,"valType":"number"},"barmode":{"description":"Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars.","dflt":"stack","editType":"calc","valType":"enumerated","values":["stack","overlay"]}},"meta":{"description":"The data visualized by the radial span of the bars is set in `r`","hrName":"bar_polar"},"type":"barpolar"},"box":{"animatable":false,"attributes":{"alignmentgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"boxmean":{"description":"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*.","editType":"calc","valType":"enumerated","values":[true,"sd",false]},"boxpoints":{"description":"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*.","editType":"calc","valType":"enumerated","values":["all","outliers","suspectedoutliers",false]},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dx":{"description":"Sets the x coordinate step for multi-box traces set using q1/median/q3.","editType":"calc","valType":"number"},"dy":{"description":"Sets the y coordinate step for multi-box traces set using q1/median/q3.","editType":"calc","valType":"number"},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"style","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hoveron":{"description":"Do the hover effects highlight individual boxes or sample points or both?","dflt":"boxes+points","editType":"style","flags":["boxes","points"],"valType":"flaglist"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"jitter":{"description":"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).","editType":"calc","max":1,"min":0,"valType":"number"},"legendgroup":{"description":"Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"color":{"description":"Sets the color of line bounding the box(es).","editType":"style","valType":"color"},"editType":"plot","role":"object","width":{"description":"Sets the width (in px) of line bounding the box(es).","dflt":2,"editType":"style","min":0,"valType":"number"}},"lowerfence":{"description":"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.","editType":"calc","valType":"data_array"},"lowerfencesrc":{"description":"Sets the source reference on Chart Studio Cloud for `lowerfence`.","editType":"none","valType":"string"},"marker":{"angle":{"arrayOk":false,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"calc","valType":"angle"},"color":{"arrayOk":false,"description":"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.","editType":"style","valType":"color"},"editType":"plot","line":{"color":{"arrayOk":false,"description":"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.","dflt":"#444","editType":"style","valType":"color"},"editType":"style","outliercolor":{"description":"Sets the border line color of the outlier sample points. Defaults to marker.color","editType":"style","valType":"color"},"outlierwidth":{"description":"Sets the border line width (in px) of the outlier sample points.","dflt":1,"editType":"style","min":0,"valType":"number"},"role":"object","width":{"arrayOk":false,"description":"Sets the width (in px) of the lines bounding the marker points.","dflt":0,"editType":"style","min":0,"valType":"number"}},"opacity":{"arrayOk":false,"description":"Sets the marker opacity.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"outliercolor":{"description":"Sets the color of the outlier sample points.","dflt":"rgba(0, 0, 0, 0)","editType":"style","valType":"color"},"role":"object","size":{"arrayOk":false,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"symbol":{"arrayOk":false,"description":"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.","dflt":"circle","editType":"plot","valType":"enumerated","values":[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"]}},"mean":{"description":"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.","editType":"calc","valType":"data_array"},"meansrc":{"description":"Sets the source reference on Chart Studio Cloud for `mean`.","editType":"none","valType":"string"},"median":{"description":"Sets the median values. There should be as many items as the number of boxes desired.","editType":"calc+clearAxisTypes","valType":"data_array"},"mediansrc":{"description":"Sets the source reference on Chart Studio Cloud for `median`.","editType":"none","valType":"string"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appear 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","editType":"calc+clearAxisTypes","valType":"string"},"notched":{"description":"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.","editType":"calc","valType":"boolean"},"notchspan":{"description":"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.","editType":"calc","valType":"data_array"},"notchspansrc":{"description":"Sets the source reference on Chart Studio Cloud for `notchspan`.","editType":"none","valType":"string"},"notchwidth":{"description":"Sets the width of the notches relative to the box' width. For example, with 0, the notches are as wide as the box(es).","dflt":0.25,"editType":"calc","max":0.5,"min":0,"valType":"number"},"offsetgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"orientation":{"description":"Sets the orientation of the box(es). If *v* (*h*), the distribution is visualized along the vertical (horizontal).","editType":"calc+clearAxisTypes","valType":"enumerated","values":["v","h"]},"pointpos":{"description":"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","editType":"calc","max":2,"min":-2,"valType":"number"},"q1":{"description":"Sets the Quartile 1 values. There should be as many items as the number of boxes desired.","editType":"calc+clearAxisTypes","valType":"data_array"},"q1src":{"description":"Sets the source reference on Chart Studio Cloud for `q1`.","editType":"none","valType":"string"},"q3":{"description":"Sets the Quartile 3 values. There should be as many items as the number of boxes desired.","editType":"calc+clearAxisTypes","valType":"data_array"},"q3src":{"description":"Sets the source reference on Chart Studio Cloud for `q3`.","editType":"none","valType":"string"},"quartilemethod":{"description":"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.","dflt":"linear","editType":"calc","valType":"enumerated","values":["linear","exclusive","inclusive"]},"sd":{"description":"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.","editType":"calc","valType":"data_array"},"sdsrc":{"description":"Sets the source reference on Chart Studio Cloud for `sd`.","editType":"none","valType":"string"},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"style","min":0,"valType":"number"}},"role":"object"},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"box","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"style","min":0,"valType":"number"}},"role":"object"},"upperfence":{"description":"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 lower as the last sample point above 1.5 times the IQR.","editType":"calc","valType":"data_array"},"upperfencesrc":{"description":"Sets the source reference on Chart Studio Cloud for `upperfence`.","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"whiskerwidth":{"description":"Sets the width of the whiskers relative to the box' width. For example, with 1, the whiskers are as wide as the box(es).","dflt":0.5,"editType":"calc","max":1,"min":0,"valType":"number"},"width":{"description":"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.","dflt":0,"editType":"calc","min":0,"valType":"number"},"x":{"description":"Sets the x sample data or coordinates. See overview for more info.","editType":"calc+clearAxisTypes","valType":"data_array"},"x0":{"description":"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.","editType":"calc+clearAxisTypes","valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"xperiod0":{"description":"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.","editType":"calc","valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y sample data or coordinates. See overview for more info.","editType":"calc+clearAxisTypes","valType":"data_array"},"y0":{"description":"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.","editType":"calc+clearAxisTypes","valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"yperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the y axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"yperiod0":{"description":"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.","editType":"calc","valType":"any"},"yperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"}},"categories":["cartesian","svg","symbols","oriented","box-violin","showLegend","boxLayout","zoomScale"],"layoutAttributes":{"boxgap":{"description":"Sets the gap (in plot fraction) between boxes of adjacent location coordinates. Has no effect on traces that have *width* set.","dflt":0.3,"editType":"calc","max":1,"min":0,"valType":"number"},"boxgroupgap":{"description":"Sets the gap (in plot fraction) between boxes of the same location coordinate. Has no effect on traces that have *width* set.","dflt":0.3,"editType":"calc","max":1,"min":0,"valType":"number"},"boxmode":{"description":"Determines how boxes at the same location coordinate are displayed on the graph. If *group*, the boxes are plotted next to one another centered around the shared location. If *overlay*, the boxes are plotted over one another, you might need to set *opacity* to see them multiple boxes. Has no effect on traces that have *width* set.","dflt":"overlay","editType":"calc","valType":"enumerated","values":["group","overlay"]}},"meta":{"description":"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."},"type":"box"},"candlestick":{"animatable":false,"attributes":{"close":{"description":"Sets the close values.","editType":"calc","valType":"data_array"},"closesrc":{"description":"Sets the source reference on Chart Studio Cloud for `close`.","editType":"none","valType":"string"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"decreasing":{"editType":"style","fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"style","valType":"color"},"line":{"color":{"description":"Sets the color of line bounding the box(es).","dflt":"#FF4136","editType":"style","valType":"color"},"editType":"style","role":"object","width":{"description":"Sets the width (in px) of line bounding the box(es).","dflt":2,"editType":"style","min":0,"valType":"number"}},"role":"object"},"high":{"description":"Sets the high values.","editType":"calc","valType":"data_array"},"highsrc":{"description":"Sets the source reference on Chart Studio Cloud for `high`.","editType":"none","valType":"string"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object","split":{"description":"Show hover information (open, close, high, low) in separate labels.","dflt":false,"editType":"style","valType":"boolean"}},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"increasing":{"editType":"style","fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"style","valType":"color"},"line":{"color":{"description":"Sets the color of line bounding the box(es).","dflt":"#3D9970","editType":"style","valType":"color"},"editType":"style","role":"object","width":{"description":"Sets the width (in px) of line bounding the box(es).","dflt":2,"editType":"style","min":0,"valType":"number"}},"role":"object"},"legendgroup":{"description":"Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"editType":"style","role":"object","width":{"description":"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`.","dflt":2,"editType":"style","min":0,"valType":"number"}},"low":{"description":"Sets the low values.","editType":"calc","valType":"data_array"},"lowsrc":{"description":"Sets the source reference on Chart Studio Cloud for `low`.","editType":"none","valType":"string"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"open":{"description":"Sets the open values.","editType":"calc","valType":"data_array"},"opensrc":{"description":"Sets the source reference on Chart Studio Cloud for `open`.","editType":"none","valType":"string"},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"candlestick","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"whiskerwidth":{"description":"Sets the width of the whiskers relative to the box' width. For example, with 1, the whiskers are as wide as the box(es).","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"x":{"description":"Sets the x coordinates. If absent, linear coordinate will be generated.","editType":"calc+clearAxisTypes","valType":"data_array"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"xperiod0":{"description":"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.","editType":"calc","valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"}},"categories":["cartesian","svg","showLegend","candlestick","boxLayout"],"layoutAttributes":{"boxgap":{"description":"Sets the gap (in plot fraction) between boxes of adjacent location coordinates. Has no effect on traces that have *width* set.","dflt":0.3,"editType":"calc","max":1,"min":0,"valType":"number"},"boxgroupgap":{"description":"Sets the gap (in plot fraction) between boxes of the same location coordinate. Has no effect on traces that have *width* set.","dflt":0.3,"editType":"calc","max":1,"min":0,"valType":"number"},"boxmode":{"description":"Determines how boxes at the same location coordinate are displayed on the graph. If *group*, the boxes are plotted next to one another centered around the shared location. If *overlay*, the boxes are plotted over one another, you might need to set *opacity* to see them multiple boxes. Has no effect on traces that have *width* set.","dflt":"overlay","editType":"calc","valType":"enumerated","values":["group","overlay"]}},"meta":{"description":"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."},"type":"candlestick"},"carpet":{"animatable":true,"attributes":{"a":{"description":"An array containing values of the first parameter value","editType":"calc","valType":"data_array"},"a0":{"description":"Alternate to `a`. Builds a linear space of a coordinates. Use with `da` where `a0` is the starting coordinate and `da` the step.","dflt":0,"editType":"calc","valType":"number"},"aaxis":{"_deprecated":{"title":{"description":"Deprecated in favor of `title.text`. Note that value of `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleoffset":{"description":"Deprecated in favor of `title.offset`.","dflt":10,"editType":"calc","valType":"number"}},"arraydtick":{"description":"The stride between grid lines along the axis","dflt":1,"editType":"calc","min":1,"valType":"integer"},"arraytick0":{"description":"The starting index of grid lines along the axis","dflt":0,"editType":"calc","min":0,"valType":"integer"},"autorange":{"description":"Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided, then `autorange` is set to *false*.","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"reversed"]},"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"calc","valType":"enumerated","values":["convert types","strict"]},"categoryarray":{"description":"Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"calc","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`.","dflt":"trace","editType":"calc","valType":"enumerated","values":["trace","category ascending","category descending","array"]},"cheatertype":{"dflt":"value","editType":"calc","valType":"enumerated","values":["index","value"]},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","editType":"calc","valType":"color"},"dtick":{"description":"The stride between grid lines along the axis","dflt":1,"editType":"calc","min":0,"valType":"number"},"editType":"calc","endline":{"description":"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.","editType":"calc","valType":"boolean"},"endlinecolor":{"description":"Sets the line color of the end line.","editType":"calc","valType":"color"},"endlinewidth":{"description":"Sets the width (in px) of the end line.","dflt":1,"editType":"calc","valType":"number"},"exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"fixedrange":{"description":"Determines whether or not this axis is zoom-able. If true, then zoom is disabled.","dflt":false,"editType":"calc","valType":"boolean"},"gridcolor":{"description":"Sets the axis line color.","editType":"calc","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"calc","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"calc","valType":"any"},"labelpadding":{"description":"Extra padding between label and the axis","dflt":10,"editType":"calc","valType":"integer"},"labelprefix":{"description":"Sets a axis label prefix.","editType":"calc","valType":"string"},"labelsuffix":{"description":"Sets a axis label suffix.","dflt":"","editType":"calc","valType":"string"},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number","dflt":3,"editType":"calc","min":0,"valType":"number"},"minorgridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"calc","valType":"color"},"minorgridcount":{"description":"Sets the number of minor grid ticks per major grid tick","dflt":0,"editType":"calc","min":0,"valType":"integer"},"minorgriddash":{"description":"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*).","dflt":"solid","editType":"calc","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"minorgridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"range":{"description":"Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"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.","dflt":"normal","editType":"calc","valType":"enumerated","values":["normal","tozero","nonnegative"]},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","dflt":true,"editType":"calc","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":false,"editType":"calc","valType":"boolean"},"showticklabels":{"description":"Determines whether axis labels are drawn on the low side, the high side, both, or neither side of the axis.","dflt":"start","editType":"calc","valType":"enumerated","values":["start","end","both","none"]},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"smoothing":{"dflt":1,"editType":"calc","max":1.3,"min":0,"valType":"number"},"startline":{"description":"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.","editType":"calc","valType":"boolean"},"startlinecolor":{"description":"Sets the line color of the start line.","editType":"calc","valType":"color"},"startlinewidth":{"description":"Sets the width (in px) of the start line.","dflt":1,"editType":"calc","valType":"number"},"tick0":{"description":"The starting index of grid lines along the axis","dflt":0,"editType":"calc","min":0,"valType":"number"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the tick font.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"tickmode":{"dflt":"array","editType":"calc","valType":"enumerated","values":["linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"offset":{"description":"An additional amount by which to offset the title from the tick labels, given in pixels. Note that this used to be set by the now deprecated `titleoffset` attribute.","dflt":10,"editType":"calc","valType":"number"},"role":"object","text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","dflt":"","editType":"calc","valType":"string"}},"type":{"description":"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.","dflt":"-","editType":"calc","valType":"enumerated","values":["-","linear","date","category"]}},"asrc":{"description":"Sets the source reference on Chart Studio Cloud for `a`.","editType":"none","valType":"string"},"b":{"description":"A two dimensional array of y coordinates at each carpet point.","editType":"calc","valType":"data_array"},"b0":{"description":"Alternate to `b`. Builds a linear space of a coordinates. Use with `db` where `b0` is the starting coordinate and `db` the step.","dflt":0,"editType":"calc","valType":"number"},"baxis":{"_deprecated":{"title":{"description":"Deprecated in favor of `title.text`. Note that value of `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleoffset":{"description":"Deprecated in favor of `title.offset`.","dflt":10,"editType":"calc","valType":"number"}},"arraydtick":{"description":"The stride between grid lines along the axis","dflt":1,"editType":"calc","min":1,"valType":"integer"},"arraytick0":{"description":"The starting index of grid lines along the axis","dflt":0,"editType":"calc","min":0,"valType":"integer"},"autorange":{"description":"Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided, then `autorange` is set to *false*.","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"reversed"]},"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"calc","valType":"enumerated","values":["convert types","strict"]},"categoryarray":{"description":"Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"calc","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`.","dflt":"trace","editType":"calc","valType":"enumerated","values":["trace","category ascending","category descending","array"]},"cheatertype":{"dflt":"value","editType":"calc","valType":"enumerated","values":["index","value"]},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","editType":"calc","valType":"color"},"dtick":{"description":"The stride between grid lines along the axis","dflt":1,"editType":"calc","min":0,"valType":"number"},"editType":"calc","endline":{"description":"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.","editType":"calc","valType":"boolean"},"endlinecolor":{"description":"Sets the line color of the end line.","editType":"calc","valType":"color"},"endlinewidth":{"description":"Sets the width (in px) of the end line.","dflt":1,"editType":"calc","valType":"number"},"exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"fixedrange":{"description":"Determines whether or not this axis is zoom-able. If true, then zoom is disabled.","dflt":false,"editType":"calc","valType":"boolean"},"gridcolor":{"description":"Sets the axis line color.","editType":"calc","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"calc","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"calc","valType":"any"},"labelpadding":{"description":"Extra padding between label and the axis","dflt":10,"editType":"calc","valType":"integer"},"labelprefix":{"description":"Sets a axis label prefix.","editType":"calc","valType":"string"},"labelsuffix":{"description":"Sets a axis label suffix.","dflt":"","editType":"calc","valType":"string"},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number","dflt":3,"editType":"calc","min":0,"valType":"number"},"minorgridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"calc","valType":"color"},"minorgridcount":{"description":"Sets the number of minor grid ticks per major grid tick","dflt":0,"editType":"calc","min":0,"valType":"integer"},"minorgriddash":{"description":"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*).","dflt":"solid","editType":"calc","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"minorgridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"range":{"description":"Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"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.","dflt":"normal","editType":"calc","valType":"enumerated","values":["normal","tozero","nonnegative"]},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","dflt":true,"editType":"calc","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":false,"editType":"calc","valType":"boolean"},"showticklabels":{"description":"Determines whether axis labels are drawn on the low side, the high side, both, or neither side of the axis.","dflt":"start","editType":"calc","valType":"enumerated","values":["start","end","both","none"]},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"smoothing":{"dflt":1,"editType":"calc","max":1.3,"min":0,"valType":"number"},"startline":{"description":"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.","editType":"calc","valType":"boolean"},"startlinecolor":{"description":"Sets the line color of the start line.","editType":"calc","valType":"color"},"startlinewidth":{"description":"Sets the width (in px) of the start line.","dflt":1,"editType":"calc","valType":"number"},"tick0":{"description":"The starting index of grid lines along the axis","dflt":0,"editType":"calc","min":0,"valType":"number"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the tick font.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"tickmode":{"dflt":"array","editType":"calc","valType":"enumerated","values":["linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"offset":{"description":"An additional amount by which to offset the title from the tick labels, given in pixels. Note that this used to be set by the now deprecated `titleoffset` attribute.","dflt":10,"editType":"calc","valType":"number"},"role":"object","text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","dflt":"","editType":"calc","valType":"string"}},"type":{"description":"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.","dflt":"-","editType":"calc","valType":"enumerated","values":["-","linear","date","category"]}},"bsrc":{"description":"Sets the source reference on Chart Studio Cloud for `b`.","editType":"none","valType":"string"},"carpet":{"description":"An identifier for this carpet, so that `scattercarpet` and `contourcarpet` traces can specify a carpet plot on which they lie","editType":"calc","valType":"string"},"cheaterslope":{"description":"The shift applied to each successive row of data in creating a cheater plot. Only used if `x` is been omitted.","dflt":1,"editType":"calc","valType":"number"},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"da":{"description":"Sets the a coordinate step. See `a0` for more info.","dflt":1,"editType":"calc","valType":"number"},"db":{"description":"Sets the b coordinate step. See `b0` for more info.","dflt":1,"editType":"calc","valType":"number"},"font":{"color":{"dflt":"#444","editType":"calc","valType":"color"},"description":"The default font used for axis \u0026 tick labels on this carpet","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","dflt":"\"Open Sans\", verdana, arial, sans-serif","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"dflt":12,"editType":"calc","min":1,"valType":"number"}},"ids":{"anim":true,"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"type":"carpet","uid":{"anim":true,"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"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.","editType":"calc+clearAxisTypes","valType":"data_array"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"A two dimensional array of y coordinates at each carpet point.","editType":"calc+clearAxisTypes","valType":"data_array"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"}},"categories":["cartesian","svg","carpet","carpetAxis","notLegendIsolatable","noMultiCategory","noHover","noSortingByValue"],"meta":{"description":"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`."},"type":"carpet"},"choropleth":{"animatable":false,"attributes":{"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"y":{"description":"Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"featureidkey":{"description":"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*.","dflt":"id","editType":"calc","valType":"string"},"geo":{"description":"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.","dflt":"geo","editType":"calc","valType":"subplotid"},"geojson":{"description":"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*.","editType":"calc","valType":"any"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":["location","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legendgroup":{"description":"Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"locationmode":{"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","values":["ISO-3","USA-states","country names","geojson-id"]},"locations":{"description":"Sets the coordinates via location IDs or names. See `locationmode` for more info.","editType":"calc","valType":"data_array"},"locationssrc":{"description":"Sets the source reference on Chart Studio Cloud for `locations`.","editType":"none","valType":"string"},"marker":{"editType":"calc","line":{"color":{"arrayOk":true,"description":"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.","dflt":"#444","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","dflt":1,"editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the opacity of the locations.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"role":"object"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"selected":{"editType":"plot","marker":{"editType":"plot","opacity":{"description":"Sets the marker opacity of selected points.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object"},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"Sets the text elements associated with each location.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"choropleth","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"plot","marker":{"editType":"plot","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"z":{"description":"Sets the color values.","editType":"calc","valType":"data_array"},"zauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"zmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"zmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["geo","noOpacity","showLegend"],"meta":{"description":"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`."},"type":"choropleth"},"choroplethmapbox":{"animatable":false,"attributes":{"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"below":{"description":"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.","editType":"plot","valType":"string"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"y":{"description":"Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"featureidkey":{"description":"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*.","dflt":"id","editType":"calc","valType":"string"},"geojson":{"description":"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*.","editType":"calc","valType":"any"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":["location","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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. variable `properties` Anything contained in tag `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legendgroup":{"description":"Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"locations":{"description":"Sets which features found in *geojson* to plot using their feature `id` field.","editType":"calc","valType":"data_array"},"locationssrc":{"description":"Sets the source reference on Chart Studio Cloud for `locations`.","editType":"none","valType":"string"},"marker":{"editType":"calc","line":{"color":{"arrayOk":true,"description":"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.","dflt":"#444","editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","dflt":1,"editType":"plot","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the opacity of the locations.","dflt":1,"editType":"plot","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"role":"object"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"selected":{"editType":"plot","marker":{"editType":"plot","opacity":{"description":"Sets the marker opacity of selected points.","editType":"plot","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object"},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"subplot":{"description":"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.","dflt":"mapbox","editType":"calc","valType":"subplotid"},"text":{"arrayOk":true,"description":"Sets the text elements associated with each location.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"choroplethmapbox","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"plot","marker":{"editType":"plot","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"plot","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"z":{"description":"Sets the color values.","editType":"calc","valType":"data_array"},"zauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"zmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"zmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["mapbox","gl","noOpacity","showLegend"],"meta":{"description":"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`.","hr_name":"choropleth_mapbox"},"type":"choroplethmapbox"},"cone":{"animatable":false,"attributes":{"anchor":{"description":"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.","dflt":"cm","editType":"calc","valType":"enumerated","values":["tip","tail","cm","center"]},"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"y":{"description":"Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"x+y+z+norm+text+name","editType":"calc","extras":["all","none","skip"],"flags":["x","y","z","u","v","w","norm","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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. variable `norm` Anything contained in tag `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legendgroup":{"description":"Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"lighting":{"ambient":{"description":"Ambient light increases overall color visibility but can wash out the image.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"diffuse":{"description":"Represents the extent that incident rays are reflected in a range of angles.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"editType":"calc","facenormalsepsilon":{"description":"Epsilon for face normals calculation avoids math issues arising from degenerate geometry.","dflt":0.000001,"editType":"calc","max":1,"min":0,"valType":"number"},"fresnel":{"description":"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.","dflt":0.2,"editType":"calc","max":5,"min":0,"valType":"number"},"role":"object","roughness":{"description":"Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.","dflt":0.5,"editType":"calc","max":1,"min":0,"valType":"number"},"specular":{"description":"Represents the level that incident rays are reflected in a single direction, causing shine.","dflt":0.05,"editType":"calc","max":2,"min":0,"valType":"number"},"vertexnormalsepsilon":{"description":"Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.","dflt":1e-12,"editType":"calc","max":1,"min":0,"valType":"number"}},"lightposition":{"editType":"calc","role":"object","x":{"description":"Numeric vector, representing the X coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"y":{"description":"Numeric vector, representing the Y coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"z":{"description":"Numeric vector, representing the Z coordinate for each vertex.","dflt":0,"editType":"calc","max":100000,"min":-100000,"valType":"number"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"scene":{"description":"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.","dflt":"scene","editType":"calc+clearAxisTypes","valType":"subplotid"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"sizemode":{"description":"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).","dflt":"scaled","editType":"calc","valType":"enumerated","values":["scaled","absolute"]},"sizeref":{"description":"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 *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.","editType":"calc","min":0,"valType":"number"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"type":"cone","u":{"description":"Sets the x components of the vector field.","editType":"calc","valType":"data_array"},"uhoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"usrc":{"description":"Sets the source reference on Chart Studio Cloud for `u`.","editType":"none","valType":"string"},"v":{"description":"Sets the y components of the vector field.","editType":"calc","valType":"data_array"},"vhoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"vsrc":{"description":"Sets the source reference on Chart Studio Cloud for `v`.","editType":"none","valType":"string"},"w":{"description":"Sets the z components of the vector field.","editType":"calc","valType":"data_array"},"whoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"wsrc":{"description":"Sets the source reference on Chart Studio Cloud for `w`.","editType":"none","valType":"string"},"x":{"description":"Sets the x coordinates of the vector field and of the displayed cones.","editType":"calc+clearAxisTypes","valType":"data_array"},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y coordinates of the vector field and of the displayed cones.","editType":"calc+clearAxisTypes","valType":"data_array"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"Sets the z coordinates of the vector field and of the displayed cones.","editType":"calc+clearAxisTypes","valType":"data_array"},"zhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["gl3d","showLegend"],"meta":{"description":"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`."},"type":"cone"},"contour":{"animatable":false,"attributes":{"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":false,"editType":"calc","impliedEdits":{},"valType":"boolean"},"autocontour":{"description":"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`.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"y":{"description":"Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"connectgaps":{"description":"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.","editType":"calc","valType":"boolean"},"contours":{"coloring":{"description":"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.","dflt":"fill","editType":"calc","valType":"enumerated","values":["fill","heatmap","lines","none"]},"editType":"calc","end":{"description":"Sets the end contour level value. Must be more than `contours.start`","dflt":null,"editType":"plot","impliedEdits":{"^autocontour":false},"valType":"number"},"impliedEdits":{"autocontour":false,"role":"object"},"labelfont":{"color":{"editType":"style","valType":"color"},"description":"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`.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"labelformat":{"description":"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.","dflt":"","editType":"plot","valType":"string"},"operation":{"description":"Sets the constraint operation. *=* keeps regions equal to `value` *\u003c* and *\u003c=* keep regions less than `value` *\u003e* and *\u003e=* 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.","dflt":"=","editType":"calc","valType":"enumerated","values":["=","\u003c","\u003e=","\u003e","\u003c=","[]","()","[)","(]","][",")(","](",")["]},"role":"object","showlabels":{"description":"Determines whether to label the contour lines with their values.","dflt":false,"editType":"plot","valType":"boolean"},"showlines":{"description":"Determines whether or not the contour lines are drawn. Has an effect only if `contours.coloring` is set to *fill*.","dflt":true,"editType":"plot","valType":"boolean"},"size":{"description":"Sets the step between each contour level. Must be positive.","dflt":null,"editType":"plot","impliedEdits":{"^autocontour":false},"min":0,"valType":"number"},"start":{"description":"Sets the starting contour level value. Must be less than `contours.end`","dflt":null,"editType":"plot","impliedEdits":{"^autocontour":false},"valType":"number"},"type":{"description":"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.","dflt":"levels","editType":"calc","valType":"enumerated","values":["levels","constraint"]},"value":{"description":"Sets the value or values of the constraint boundary. When `operation` is set to one of the comparison values (=,\u003c,\u003e=,\u003e,\u003c=) *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.","dflt":0,"editType":"calc","valType":"any"}},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dx":{"description":"Sets the x coordinate step. See `x0` for more info.","dflt":1,"editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"number"},"dy":{"description":"Sets the y coordinate step. See `y0` for more info.","dflt":1,"editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"number"},"fillcolor":{"description":"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.","editType":"calc","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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.","dflt":true,"editType":"none","valType":"boolean"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"description":"Same as `text`.","editType":"calc","valType":"data_array"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legendgroup":{"description":"Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"color":{"description":"Sets the color of the contour level. Has no effect if `contours.coloring` is set to *lines*.","editType":"style+colorbars","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"plot","role":"object","smoothing":{"description":"Sets the amount of smoothing for the contour lines, where *0* corresponds to no smoothing.","dflt":1,"editType":"plot","max":1.3,"min":0,"valType":"number"},"width":{"description":"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*.","editType":"style+colorbars","min":0,"valType":"number"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"ncontours":{"description":"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.","dflt":15,"editType":"calc","min":1,"valType":"integer"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"Sets the text elements associated with each z value.","editType":"calc","valType":"data_array"},"textfont":{"color":{"dflt":"auto","editType":"style","valType":"color"},"description":"For this trace it only has an effect if `coloring` is set to *heatmap*. Sets the text font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"dflt":"auto","editType":"plot","min":1,"valType":"number"}},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"description":"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. variables `x`, `y`, `z` and `text`.","dflt":"","editType":"plot","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"transpose":{"description":"Transposes the z data.","dflt":false,"editType":"calc","valType":"boolean"},"type":"contour","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","impliedEdits":{"xtype":"array"},"valType":"data_array"},"x0":{"description":"Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.","dflt":0,"editType":"calc+clearAxisTypes","impliedEdits":{"xtype":"scaled"},"valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"any"},"xperiod0":{"description":"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.","editType":"calc","valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"xtype":{"description":"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).","editType":"calc+clearAxisTypes","valType":"enumerated","values":["array","scaled"]},"y":{"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","impliedEdits":{"ytype":"array"},"valType":"data_array"},"y0":{"description":"Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.","dflt":0,"editType":"calc+clearAxisTypes","impliedEdits":{"ytype":"scaled"},"valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"yperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the y axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"any"},"yperiod0":{"description":"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.","editType":"calc","valType":"any"},"yperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.","dflt":"middle","editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"enumerated","values":["start","middle","end"]},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"ytype":{"description":"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)","editType":"calc+clearAxisTypes","valType":"enumerated","values":["array","scaled"]},"z":{"description":"Sets the z data.","editType":"calc","valType":"data_array"},"zauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"zhoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"zmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"zmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["cartesian","svg","2dMap","contour","showLegend"],"meta":{"description":"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."},"type":"contour"},"contourcarpet":{"animatable":false,"attributes":{"a":{"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","impliedEdits":{"xtype":"array"},"valType":"data_array"},"a0":{"description":"Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.","dflt":0,"editType":"calc+clearAxisTypes","impliedEdits":{"xtype":"scaled"},"valType":"any"},"asrc":{"description":"Sets the source reference on Chart Studio Cloud for `a`.","editType":"none","valType":"string"},"atype":{"description":"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).","editType":"calc+clearAxisTypes","valType":"enumerated","values":["array","scaled"]},"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":false,"editType":"calc","impliedEdits":{},"valType":"boolean"},"autocontour":{"description":"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`.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"b":{"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","impliedEdits":{"ytype":"array"},"valType":"data_array"},"b0":{"description":"Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.","dflt":0,"editType":"calc+clearAxisTypes","impliedEdits":{"ytype":"scaled"},"valType":"any"},"bsrc":{"description":"Sets the source reference on Chart Studio Cloud for `b`.","editType":"none","valType":"string"},"btype":{"description":"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)","editType":"calc+clearAxisTypes","valType":"enumerated","values":["array","scaled"]},"carpet":{"description":"The `carpet` of the carpet axes on which this contour trace lies","editType":"calc","valType":"string"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"y":{"description":"Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"contours":{"coloring":{"description":"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.","dflt":"fill","editType":"calc","valType":"enumerated","values":["fill","lines","none"]},"editType":"calc","end":{"description":"Sets the end contour level value. Must be more than `contours.start`","dflt":null,"editType":"plot","impliedEdits":{"^autocontour":false},"valType":"number"},"impliedEdits":{"autocontour":false,"role":"object"},"labelfont":{"color":{"editType":"style","valType":"color"},"description":"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`.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"labelformat":{"description":"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.","dflt":"","editType":"plot","valType":"string"},"operation":{"description":"Sets the constraint operation. *=* keeps regions equal to `value` *\u003c* and *\u003c=* keep regions less than `value` *\u003e* and *\u003e=* 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.","dflt":"=","editType":"calc","valType":"enumerated","values":["=","\u003c","\u003e=","\u003e","\u003c=","[]","()","[)","(]","][",")(","](",")["]},"role":"object","showlabels":{"description":"Determines whether to label the contour lines with their values.","dflt":false,"editType":"plot","valType":"boolean"},"showlines":{"description":"Determines whether or not the contour lines are drawn. Has an effect only if `contours.coloring` is set to *fill*.","dflt":true,"editType":"plot","valType":"boolean"},"size":{"description":"Sets the step between each contour level. Must be positive.","dflt":null,"editType":"plot","impliedEdits":{"^autocontour":false},"min":0,"valType":"number"},"start":{"description":"Sets the starting contour level value. Must be less than `contours.end`","dflt":null,"editType":"plot","impliedEdits":{"^autocontour":false},"valType":"number"},"type":{"description":"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.","dflt":"levels","editType":"calc","valType":"enumerated","values":["levels","constraint"]},"value":{"description":"Sets the value or values of the constraint boundary. When `operation` is set to one of the comparison values (=,\u003c,\u003e=,\u003e,\u003c=) *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.","dflt":0,"editType":"calc","valType":"any"}},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"da":{"description":"Sets the x coordinate step. See `x0` for more info.","dflt":1,"editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"number"},"db":{"description":"Sets the y coordinate step. See `y0` for more info.","dflt":1,"editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"number"},"fillcolor":{"description":"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.","editType":"calc","valType":"color"},"hovertext":{"description":"Same as `text`.","editType":"calc","valType":"data_array"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legendgroup":{"description":"Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"color":{"description":"Sets the color of the contour level. Has no effect if `contours.coloring` is set to *lines*.","editType":"style+colorbars","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"plot","role":"object","smoothing":{"description":"Sets the amount of smoothing for the contour lines, where *0* corresponds to no smoothing.","dflt":1,"editType":"plot","max":1.3,"min":0,"valType":"number"},"width":{"description":"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*.","editType":"style+colorbars","min":0,"valType":"number"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"ncontours":{"description":"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.","dflt":15,"editType":"calc","min":1,"valType":"integer"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"Sets the text elements associated with each z value.","editType":"calc","valType":"data_array"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"transpose":{"description":"Transposes the z data.","dflt":false,"editType":"calc","valType":"boolean"},"type":"contourcarpet","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"z":{"description":"Sets the z data.","editType":"calc","valType":"data_array"},"zauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"zmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"zauto":false},"valType":"number"},"zmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"zmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"zauto":false},"valType":"number"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["cartesian","svg","carpet","contour","symbols","showLegend","hasLines","carpetDependent","noHover","noSortingByValue"],"meta":{"description":"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.","hrName":"contour_carpet"},"type":"contourcarpet"},"densitymapbox":{"animatable":false,"attributes":{"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"below":{"description":"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.","editType":"plot","valType":"string"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"y":{"description":"Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["lon","lat","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"lat":{"description":"Sets the latitude coordinates (in degrees North).","editType":"calc","valType":"data_array"},"latsrc":{"description":"Sets the source reference on Chart Studio Cloud for `lat`.","editType":"none","valType":"string"},"legendgroup":{"description":"Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"lon":{"description":"Sets the longitude coordinates (in degrees East).","editType":"calc","valType":"data_array"},"lonsrc":{"description":"Sets the source reference on Chart Studio Cloud for `lon`.","editType":"none","valType":"string"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"radius":{"arrayOk":true,"description":"Sets the radius of influence of one `lon` / `lat` point in pixels. Increasing the value makes the densitymapbox trace smoother, but less detailed.","dflt":30,"editType":"plot","min":1,"valType":"number"},"radiussrc":{"description":"Sets the source reference on Chart Studio Cloud for `radius`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"subplot":{"description":"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.","dflt":"mapbox","editType":"calc","valType":"subplotid"},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"densitymapbox","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"z":{"description":"Sets the points' weight. For example, a value of 10 would be equivalent to having 10 points of weight 1 in the same spot","editType":"calc","valType":"data_array"},"zauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"zmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"zmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["mapbox","gl","showLegend"],"meta":{"description":"Draws a bivariate kernel density estimation with a Gaussian kernel from `lon` and `lat` coordinates and optional `z` values using a colorscale.","hr_name":"density_mapbox"},"type":"densitymapbox"},"funnel":{"animatable":false,"attributes":{"alignmentgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"cliponaxis":{"description":"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*.","dflt":true,"editType":"plot","valType":"boolean"},"connector":{"editType":"plot","fillcolor":{"description":"Sets the fill color.","editType":"style","valType":"color"},"line":{"color":{"description":"Sets the line color.","dflt":"#444","editType":"style","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"style","role":"object","width":{"description":"Sets the line width (in px).","dflt":0,"editType":"plot","min":0,"valType":"number"}},"role":"object","visible":{"description":"Determines if connector regions and lines are drawn.","dflt":true,"editType":"plot","valType":"boolean"}},"constraintext":{"description":"Constrain the size of text inside or outside a bar to be no larger than the bar itself.","dflt":"both","editType":"calc","valType":"enumerated","values":["inside","outside","both","none"]},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dx":{"description":"Sets the x coordinate step. See `x0` for more info.","dflt":1,"editType":"calc","valType":"number"},"dy":{"description":"Sets the y coordinate step. See `y0` for more info.","dflt":1,"editType":"calc","valType":"number"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["name","x","y","text","percent initial","percent previous","percent total"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `percentInitial`, `percentPrevious` and `percentTotal`. Anything contained in tag `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"insidetextanchor":{"description":"Determines if texts are kept at center or start/end points in `textposition` *inside* mode.","dflt":"middle","editType":"plot","valType":"enumerated","values":["end","middle","start"]},"insidetextfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `text` lying inside the bar.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"legendgroup":{"description":"Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"marker":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"y":{"description":"Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","dflt":0,"editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the opacity of the bars.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"offset":{"arrayOk":false,"description":"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.","dflt":null,"editType":"calc","valType":"number"},"offsetgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"orientation":{"description":"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*.","editType":"calc+clearAxisTypes","valType":"enumerated","values":["v","h"]},"outsidetextfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `text` lying outside the bar.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textangle":{"description":"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.","dflt":0,"editType":"plot","valType":"angle"},"textfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `text`.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textinfo":{"arrayOk":false,"description":"Determines which trace information appear on the graph. In the case of having multiple funnels, percentages \u0026 totals are computed separately (per trace).","editType":"plot","extras":["none"],"flags":["label","text","percent initial","percent previous","percent total","value"],"valType":"flaglist"},"textposition":{"arrayOk":true,"description":"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.","dflt":"auto","editType":"calc","valType":"enumerated","values":["inside","outside","auto","none"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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. variables `percentInitial`, `percentPrevious`, `percentTotal`, `label` and `value`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"funnel","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"width":{"arrayOk":false,"description":"Sets the bar width (in position axis units).","dflt":null,"editType":"calc","min":0,"valType":"number"},"x":{"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"x0":{"description":"Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"xperiod0":{"description":"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.","editType":"calc","valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"y0":{"description":"Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"yperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the y axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"yperiod0":{"description":"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.","editType":"calc","valType":"any"},"yperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"}},"categories":["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],"layoutAttributes":{"funnelgap":{"description":"Sets the gap (in plot fraction) between bars of adjacent location coordinates.","editType":"calc","max":1,"min":0,"valType":"number"},"funnelgroupgap":{"description":"Sets the gap (in plot fraction) between bars of the same location coordinate.","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"funnelmode":{"description":"Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars.","dflt":"stack","editType":"calc","valType":"enumerated","values":["stack","group","overlay"]}},"meta":{"description":"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."},"type":"funnel"},"funnelarea":{"animatable":false,"attributes":{"aspectratio":{"description":"Sets the ratio between height and width","dflt":1,"editType":"plot","min":0,"valType":"number"},"baseratio":{"description":"Sets the ratio between bottom length and maximum top length.","dflt":0.333,"editType":"plot","max":1,"min":0,"valType":"number"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dlabel":{"description":"Sets the label step. See `label0` for more info.","dflt":1,"editType":"calc","valType":"number"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this funnelarea trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"editType":"calc","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this funnelarea trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this funnelarea trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this funnelarea trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["label","text","value","percent","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `label`, `color`, `value`, `text` and `percent`. Anything contained in tag `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"insidetextfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo` lying inside the sector.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"label0":{"description":"Alternate to `labels`. Builds a numeric set of labels. Use with `dlabel` where `label0` is the starting label and `dlabel` the step.","dflt":0,"editType":"calc","valType":"number"},"labels":{"description":"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.","editType":"calc","valType":"data_array"},"labelssrc":{"description":"Sets the source reference on Chart Studio Cloud for `labels`.","editType":"none","valType":"string"},"legendgroup":{"description":"Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"marker":{"colors":{"description":"Sets the color of each sector. If not specified, the default trace color set is used to pick the sector colors.","editType":"calc","valType":"data_array"},"colorssrc":{"description":"Sets the source reference on Chart Studio Cloud for `colors`.","editType":"none","valType":"string"},"editType":"calc","line":{"color":{"arrayOk":true,"description":"Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value.","dflt":null,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the line enclosing each sector.","dflt":1,"editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"role":"object"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"scalegroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"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.","editType":"plot","valType":"data_array"},"textfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo`.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textinfo":{"description":"Determines which trace information appear on the graph.","editType":"calc","extras":["none"],"flags":["label","text","value","percent"],"valType":"flaglist"},"textposition":{"arrayOk":true,"description":"Specifies the location of the `textinfo`.","dflt":"inside","editType":"plot","valType":"enumerated","values":["inside","none"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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. variables `label`, `color`, `value`, `text` and `percent`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"title":{"editType":"plot","font":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `title`. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"position":{"description":"Specifies the location of the `title`. Note that the title's position used to be set by the now deprecated `titleposition` attribute.","dflt":"top center","editType":"plot","valType":"enumerated","values":["top left","top center","top right"]},"role":"object","text":{"description":"Sets the title of the chart. If it is empty, no title is displayed. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","dflt":"","editType":"plot","valType":"string"}},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"funnelarea","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"values":{"description":"Sets the values of the sectors. If omitted, we count occurrences of each label.","editType":"calc","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["pie-like","funnelarea","showLegend"],"layoutAttributes":{"extendfunnelareacolors":{"description":"If `true`, the funnelarea slice colors (whether given by `funnelareacolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended.","dflt":true,"editType":"calc","valType":"boolean"},"funnelareacolorway":{"description":"Sets the default funnelarea slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendfunnelareacolors`.","editType":"calc","valType":"colorlist"},"hiddenlabels":{"description":"hiddenlabels is the funnelarea \u0026 pie chart analog of visible:'legendonly' but it can contain many labels, and can simultaneously hide slices from several pies/funnelarea charts","editType":"calc","valType":"data_array"},"hiddenlabelssrc":{"description":"Sets the source reference on Chart Studio Cloud for `hiddenlabels`.","editType":"none","valType":"string"}},"meta":{"description":"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."},"type":"funnelarea"},"heatmap":{"animatable":false,"attributes":{"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":false,"editType":"calc","impliedEdits":{},"valType":"boolean"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"y":{"description":"Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"connectgaps":{"description":"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.","editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dx":{"description":"Sets the x coordinate step. See `x0` for more info.","dflt":1,"editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"number"},"dy":{"description":"Sets the y coordinate step. See `y0` for more info.","dflt":1,"editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"number"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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.","dflt":true,"editType":"none","valType":"boolean"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"description":"Same as `text`.","editType":"calc","valType":"data_array"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legendgroup":{"description":"Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"Sets the text elements associated with each z value.","editType":"calc","valType":"data_array"},"textfont":{"color":{"dflt":"auto","editType":"style","valType":"color"},"description":"Sets the text font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"dflt":"auto","editType":"plot","min":1,"valType":"number"}},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"description":"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. variables `x`, `y`, `z` and `text`.","dflt":"","editType":"plot","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"transpose":{"description":"Transposes the z data.","dflt":false,"editType":"calc","valType":"boolean"},"type":"heatmap","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","impliedEdits":{"xtype":"array"},"valType":"data_array"},"x0":{"description":"Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.","dflt":0,"editType":"calc+clearAxisTypes","impliedEdits":{"xtype":"scaled"},"valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xgap":{"description":"Sets the horizontal gap (in pixels) between bricks.","dflt":0,"editType":"plot","min":0,"valType":"number"},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"any"},"xperiod0":{"description":"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.","editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"xtype":{"description":"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).","editType":"calc+clearAxisTypes","valType":"enumerated","values":["array","scaled"]},"y":{"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","impliedEdits":{"ytype":"array"},"valType":"data_array"},"y0":{"description":"Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.","dflt":0,"editType":"calc+clearAxisTypes","impliedEdits":{"ytype":"scaled"},"valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"ygap":{"description":"Sets the vertical gap (in pixels) between bricks.","dflt":0,"editType":"plot","min":0,"valType":"number"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"yperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the y axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"any"},"yperiod0":{"description":"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.","editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"any"},"yperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.","dflt":"middle","editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"enumerated","values":["start","middle","end"]},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"ytype":{"description":"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)","editType":"calc+clearAxisTypes","valType":"enumerated","values":["array","scaled"]},"z":{"description":"Sets the z data.","editType":"calc","valType":"data_array"},"zauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"zhoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"zmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"zauto":false},"valType":"number"},"zmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"zmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"zauto":false},"valType":"number"},"zsmooth":{"description":"Picks a smoothing algorithm use to smooth `z` data.","dflt":false,"editType":"calc","valType":"enumerated","values":["fast","best",false]},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["cartesian","svg","2dMap","showLegend"],"meta":{"description":"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."},"type":"heatmap"},"heatmapgl":{"animatable":false,"attributes":{"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":false,"editType":"calc","impliedEdits":{},"valType":"boolean"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*.","editType":"calc","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"y":{"description":"Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*.","editType":"calc","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dx":{"description":"Sets the x coordinate step. See `x0` for more info.","dflt":1,"editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"number"},"dy":{"description":"Sets the y coordinate step. See `y0` for more info.","dflt":1,"editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"number"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"Sets the text elements associated with each z value.","editType":"calc","valType":"data_array"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"transpose":{"description":"Transposes the z data.","dflt":false,"editType":"calc","valType":"boolean"},"type":"heatmapgl","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the x coordinates.","editType":"calc","impliedEdits":{"xtype":"array"},"valType":"data_array"},"x0":{"description":"Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.","dflt":0,"editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"xtype":{"description":"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).","editType":"calc","valType":"enumerated","values":["array","scaled"]},"y":{"description":"Sets the y coordinates.","editType":"calc","impliedEdits":{"ytype":"array"},"valType":"data_array"},"y0":{"description":"Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.","dflt":0,"editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"ytype":{"description":"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)","editType":"calc","valType":"enumerated","values":["array","scaled"]},"z":{"description":"Sets the z data.","editType":"calc","valType":"data_array"},"zauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"zmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"zmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zsmooth":{"description":"Picks a smoothing algorithm use to smooth `z` data.","dflt":"fast","editType":"calc","valType":"enumerated","values":["fast",false]},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["gl","gl2d","2dMap"],"meta":{"description":"*heatmapgl* trace is deprecated! Please consider switching to the *heatmap* or *image* trace types. Alternatively you could contribute/sponsor rewriting this trace type based on cartesian features and using regl framework. WebGL version of the heatmap trace type."},"type":"heatmapgl"},"histogram":{"animatable":false,"attributes":{"_deprecated":{"bardir":{"description":"Renamed to `orientation`.","editType":"calc","valType":"enumerated","values":["v","h"]}},"alignmentgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"autobinx":{"description":"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.","dflt":null,"editType":"calc","valType":"boolean"},"autobiny":{"description":"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.","dflt":null,"editType":"calc","valType":"boolean"},"bingroup":{"description":"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`","dflt":"","editType":"calc","valType":"string"},"cliponaxis":{"description":"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*.","dflt":true,"editType":"plot","valType":"boolean"},"constraintext":{"description":"Constrain the size of text inside or outside a bar to be no larger than the bar itself.","dflt":"both","editType":"calc","valType":"enumerated","values":["inside","outside","both","none"]},"cumulative":{"currentbin":{"description":"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.","dflt":"include","editType":"calc","valType":"enumerated","values":["include","exclude","half"]},"direction":{"description":"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.","dflt":"increasing","editType":"calc","valType":"enumerated","values":["increasing","decreasing"]},"editType":"calc","enabled":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"error_x":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"style","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"style","valType":"color"},"copy_ystyle":{"editType":"plot","valType":"boolean"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"style","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"plot","min":0,"valType":"number"}},"error_y":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"style","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"style","valType":"color"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"style","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"plot","min":0,"valType":"number"}},"histfunc":{"description":"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.","dflt":"count","editType":"calc","valType":"enumerated","values":["count","sum","avg","min","max"]},"histnorm":{"description":"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).","dflt":"","editType":"calc","valType":"enumerated","values":["","percent","probability","density","probability density"]},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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. variable `binNumber` Anything contained in tag `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"insidetextanchor":{"description":"Determines if texts are kept at center or start/end points in `textposition` *inside* mode.","dflt":"end","editType":"plot","valType":"enumerated","values":["end","middle","start"]},"insidetextfont":{"color":{"editType":"style","valType":"color"},"description":"Sets the font used for `text` lying inside the bar.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"legendgroup":{"description":"Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"marker":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"y":{"description":"Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","dflt":0,"editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the opacity of the bars.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"pattern":{"bgcolor":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"description":"Sets the pattern within the marker.","editType":"style","fgcolor":{"arrayOk":true,"description":"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`.","editType":"style","valType":"color"},"fgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `fgcolor`.","editType":"none","valType":"string"},"fgopacity":{"description":"Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.","editType":"style","max":1,"min":0,"valType":"number"},"fillmode":{"description":"Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.","dflt":"replace","editType":"style","valType":"enumerated","values":["replace","overlay"]},"role":"object","shape":{"arrayOk":true,"description":"Sets the shape of the pattern fill. By default, no pattern is used for filling the area.","dflt":"","editType":"style","valType":"enumerated","values":["","/","\\","x","-","|","+","."]},"shapesrc":{"description":"Sets the source reference on Chart Studio Cloud for `shape`.","editType":"none","valType":"string"},"size":{"arrayOk":true,"description":"Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.","dflt":8,"editType":"style","min":0,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"solidity":{"arrayOk":true,"description":"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.","dflt":0.3,"editType":"style","max":1,"min":0,"valType":"number"},"soliditysrc":{"description":"Sets the source reference on Chart Studio Cloud for `solidity`.","editType":"none","valType":"string"}},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"nbinsx":{"description":"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.","dflt":0,"editType":"calc","min":0,"valType":"integer"},"nbinsy":{"description":"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.","dflt":0,"editType":"calc","min":0,"valType":"integer"},"offsetgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"orientation":{"description":"Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal).","editType":"calc+clearAxisTypes","valType":"enumerated","values":["v","h"]},"outsidetextfont":{"color":{"editType":"style","valType":"color"},"description":"Sets the font used for `text` lying outside the bar.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textangle":{"description":"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.","dflt":"auto","editType":"plot","valType":"angle"},"textfont":{"color":{"editType":"style","valType":"color"},"description":"Sets the text font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"textposition":{"arrayOk":false,"description":"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.","dflt":"auto","editType":"calc","valType":"enumerated","values":["inside","outside","auto","none"]},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"description":"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. variables `label` and `value`.","dflt":"","editType":"plot","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"histogram","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the sample data to be binned on the x axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xbins":{"editType":"calc","end":{"description":"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.","editType":"calc","valType":"any"},"role":"object","size":{"description":"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\u003cn\u003e* 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.","editType":"calc","valType":"any"},"start":{"description":"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.","editType":"calc","valType":"any"}},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the sample data to be binned on the y axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ybins":{"editType":"calc","end":{"description":"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.","editType":"calc","valType":"any"},"role":"object","size":{"description":"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\u003cn\u003e* 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.","editType":"calc","valType":"any"},"start":{"description":"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.","editType":"calc","valType":"any"}},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"}},"categories":["bar-like","cartesian","svg","bar","histogram","oriented","errorBarsOK","showLegend"],"layoutAttributes":{"bargap":{"description":"Sets the gap (in plot fraction) between bars of adjacent location coordinates.","editType":"calc","max":1,"min":0,"valType":"number"},"bargroupgap":{"description":"Sets the gap (in plot fraction) between bars of the same location coordinate.","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"barmode":{"description":"Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *relative*, the bars are stacked on top of one another, with negative values below the axis, positive values above With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars.","dflt":"group","editType":"calc","valType":"enumerated","values":["stack","group","overlay","relative"]},"barnorm":{"description":"Sets the normalization for bar traces on the graph. With *fraction*, the value of each bar is divided by the sum of all values at that location coordinate. *percent* is the same but multiplied by 100 to show percentages.","dflt":"","editType":"calc","valType":"enumerated","values":["","fraction","percent"]}},"meta":{"description":"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."},"type":"histogram"},"histogram2d":{"animatable":false,"attributes":{"autobinx":{"description":"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.","dflt":null,"editType":"calc","valType":"boolean"},"autobiny":{"description":"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.","dflt":null,"editType":"calc","valType":"boolean"},"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":false,"editType":"calc","impliedEdits":{},"valType":"boolean"},"bingroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"y":{"description":"Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"histfunc":{"description":"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.","dflt":"count","editType":"calc","valType":"enumerated","values":["count","sum","avg","min","max"]},"histnorm":{"description":"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).","dflt":"","editType":"calc","valType":"enumerated","values":["","percent","probability","density","probability density"]},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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. variable `z` Anything contained in tag `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legendgroup":{"description":"Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"marker":{"color":{"description":"Sets the aggregation data.","editType":"calc","valType":"data_array"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"nbinsx":{"description":"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.","dflt":0,"editType":"calc","min":0,"valType":"integer"},"nbinsy":{"description":"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.","dflt":0,"editType":"calc","min":0,"valType":"integer"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"textfont":{"color":{"dflt":"auto","editType":"style","valType":"color"},"description":"Sets the text font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"dflt":"auto","editType":"plot","min":1,"valType":"number"}},"texttemplate":{"description":"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. variable `z`","dflt":"","editType":"plot","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"histogram2d","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the sample data to be binned on the x axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xbingroup":{"description":"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`","dflt":"","editType":"calc","valType":"string"},"xbins":{"editType":"calc","end":{"description":"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.","editType":"calc","valType":"any"},"role":"object","size":{"description":"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\u003cn\u003e* for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). ","editType":"calc","valType":"any"},"start":{"description":"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. ","editType":"calc","valType":"any"}},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xgap":{"description":"Sets the horizontal gap (in pixels) between bricks.","dflt":0,"editType":"plot","min":0,"valType":"number"},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the sample data to be binned on the y axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ybingroup":{"description":"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`","dflt":"","editType":"calc","valType":"string"},"ybins":{"editType":"calc","end":{"description":"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.","editType":"calc","valType":"any"},"role":"object","size":{"description":"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\u003cn\u003e* for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). ","editType":"calc","valType":"any"},"start":{"description":"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. ","editType":"calc","valType":"any"}},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"ygap":{"description":"Sets the vertical gap (in pixels) between bricks.","dflt":0,"editType":"plot","min":0,"valType":"number"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"Sets the aggregation data.","editType":"calc","valType":"data_array"},"zauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"zhoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"zmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"zauto":false},"valType":"number"},"zmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"zmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"zauto":false},"valType":"number"},"zsmooth":{"description":"Picks a smoothing algorithm use to smooth `z` data.","dflt":false,"editType":"calc","valType":"enumerated","values":["fast","best",false]},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["cartesian","svg","2dMap","histogram","showLegend"],"meta":{"description":"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.","hrName":"histogram_2d"},"type":"histogram2d"},"histogram2dcontour":{"animatable":false,"attributes":{"autobinx":{"description":"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.","dflt":null,"editType":"calc","valType":"boolean"},"autobiny":{"description":"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.","dflt":null,"editType":"calc","valType":"boolean"},"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"autocontour":{"description":"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`.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"bingroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"y":{"description":"Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"contours":{"coloring":{"description":"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.","dflt":"fill","editType":"calc","valType":"enumerated","values":["fill","heatmap","lines","none"]},"editType":"calc","end":{"description":"Sets the end contour level value. Must be more than `contours.start`","dflt":null,"editType":"plot","impliedEdits":{"^autocontour":false},"valType":"number"},"impliedEdits":{"autocontour":false,"role":"object"},"labelfont":{"color":{"editType":"style","valType":"color"},"description":"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`.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"labelformat":{"description":"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.","dflt":"","editType":"plot","valType":"string"},"operation":{"description":"Sets the constraint operation. *=* keeps regions equal to `value` *\u003c* and *\u003c=* keep regions less than `value` *\u003e* and *\u003e=* 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.","dflt":"=","editType":"calc","valType":"enumerated","values":["=","\u003c","\u003e=","\u003e","\u003c=","[]","()","[)","(]","][",")(","](",")["]},"role":"object","showlabels":{"description":"Determines whether to label the contour lines with their values.","dflt":false,"editType":"plot","valType":"boolean"},"showlines":{"description":"Determines whether or not the contour lines are drawn. Has an effect only if `contours.coloring` is set to *fill*.","dflt":true,"editType":"plot","valType":"boolean"},"size":{"description":"Sets the step between each contour level. Must be positive.","dflt":null,"editType":"plot","impliedEdits":{"^autocontour":false},"min":0,"valType":"number"},"start":{"description":"Sets the starting contour level value. Must be less than `contours.end`","dflt":null,"editType":"plot","impliedEdits":{"^autocontour":false},"valType":"number"},"type":{"description":"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.","dflt":"levels","editType":"calc","valType":"enumerated","values":["levels","constraint"]},"value":{"description":"Sets the value or values of the constraint boundary. When `operation` is set to one of the comparison values (=,\u003c,\u003e=,\u003e,\u003c=) *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.","dflt":0,"editType":"calc","valType":"any"}},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"histfunc":{"description":"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.","dflt":"count","editType":"calc","valType":"enumerated","values":["count","sum","avg","min","max"]},"histnorm":{"description":"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).","dflt":"","editType":"calc","valType":"enumerated","values":["","percent","probability","density","probability density"]},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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. variable `z` Anything contained in tag `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legendgroup":{"description":"Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"color":{"description":"Sets the color of the contour level. Has no effect if `contours.coloring` is set to *lines*.","editType":"style+colorbars","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"plot","role":"object","smoothing":{"description":"Sets the amount of smoothing for the contour lines, where *0* corresponds to no smoothing.","dflt":1,"editType":"plot","max":1.3,"min":0,"valType":"number"},"width":{"description":"Sets the contour line width in (in px)","dflt":0.5,"editType":"style+colorbars","min":0,"valType":"number"}},"marker":{"color":{"description":"Sets the aggregation data.","editType":"calc","valType":"data_array"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"nbinsx":{"description":"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.","dflt":0,"editType":"calc","min":0,"valType":"integer"},"nbinsy":{"description":"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.","dflt":0,"editType":"calc","min":0,"valType":"integer"},"ncontours":{"description":"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.","dflt":15,"editType":"calc","min":1,"valType":"integer"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"textfont":{"color":{"dflt":"auto","editType":"style","valType":"color"},"description":"For this trace it only has an effect if `coloring` is set to *heatmap*. Sets the text font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"dflt":"auto","editType":"plot","min":1,"valType":"number"}},"texttemplate":{"description":"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. variables `x`, `y`, `z` and `text`.","dflt":"","editType":"plot","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"histogram2dcontour","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the sample data to be binned on the x axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xbingroup":{"description":"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`","dflt":"","editType":"calc","valType":"string"},"xbins":{"editType":"calc","end":{"description":"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.","editType":"calc","valType":"any"},"role":"object","size":{"description":"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\u003cn\u003e* for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). ","editType":"calc","valType":"any"},"start":{"description":"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. ","editType":"calc","valType":"any"}},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the sample data to be binned on the y axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ybingroup":{"description":"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`","dflt":"","editType":"calc","valType":"string"},"ybins":{"editType":"calc","end":{"description":"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.","editType":"calc","valType":"any"},"role":"object","size":{"description":"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\u003cn\u003e* for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). ","editType":"calc","valType":"any"},"start":{"description":"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. ","editType":"calc","valType":"any"}},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"Sets the aggregation data.","editType":"calc","valType":"data_array"},"zauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"zhoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"zmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"zmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["cartesian","svg","2dMap","contour","histogram","showLegend"],"meta":{"description":"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.","hrName":"histogram_2d_contour"},"type":"histogram2dcontour"},"icicle":{"animatable":true,"attributes":{"branchvalues":{"description":"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.","dflt":"remainder","editType":"calc","valType":"enumerated","values":["remainder","total"]},"count":{"description":"Determines default for `values` when it is not provided, by inferring a 1 for each of the *leaves* and/or *branches*, otherwise 0.","dflt":"leaves","editType":"calc","flags":["branches","leaves"],"valType":"flaglist"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this icicle trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"editType":"calc","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this icicle trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this icicle trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this icicle trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"label+text+value+name","editType":"none","extras":["all","none","skip"],"flags":["label","text","value","name","current path","percent root","percent entry","percent parent"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry` and `percentParent`. Anything contained in tag `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"ids":{"anim":true,"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"insidetextfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo` lying inside the sector.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"labels":{"description":"Sets the labels of each of the sectors.","editType":"calc","valType":"data_array"},"labelssrc":{"description":"Sets the source reference on Chart Studio Cloud for `labels`.","editType":"none","valType":"string"},"leaf":{"editType":"plot","opacity":{"description":"Sets the opacity of the leaves. With colorscale it is defaulted to 1; otherwise it is defaulted to 0.7","editType":"style","max":1,"min":0,"valType":"number"},"role":"object"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"level":{"anim":true,"description":"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`.","editType":"plot","valType":"any"},"marker":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"y":{"description":"Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"}},"colors":{"description":"Sets the color of each sector of this trace. If not specified, the default trace color set is used to pick the sector colors.","editType":"calc","valType":"data_array"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorssrc":{"description":"Sets the source reference on Chart Studio Cloud for `colors`.","editType":"none","valType":"string"},"editType":"calc","line":{"color":{"arrayOk":true,"description":"Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value.","dflt":null,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the line enclosing each sector.","dflt":1,"editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"Determines whether or not a colorbar is displayed for this trace. Has an effect only if colors is set to a numerical array.","dflt":false,"editType":"calc","valType":"boolean"}},"maxdepth":{"description":"Sets the number of rendered sectors from any given `level`. Set `maxdepth` to *-1* to render all the levels in the hierarchy.","dflt":-1,"editType":"plot","valType":"integer"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"outsidetextfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"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.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"parents":{"description":"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.","editType":"calc","valType":"data_array"},"parentssrc":{"description":"Sets the source reference on Chart Studio Cloud for `parents`.","editType":"none","valType":"string"},"pathbar":{"edgeshape":{"description":"Determines which shape is used for edges between `barpath` labels.","dflt":"\u003e","editType":"plot","valType":"enumerated","values":["\u003e","\u003c","|","/","\\"]},"editType":"calc","role":"object","side":{"description":"Determines on which side of the the treemap the `pathbar` should be presented.","dflt":"top","editType":"plot","valType":"enumerated","values":["top","bottom"]},"textfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used inside `pathbar`.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"thickness":{"description":"Sets the thickness of `pathbar` (in px). If not specified the `pathbar.textfont.size` is used with 3 pixles extra padding on each side.","editType":"plot","min":12,"valType":"number"},"visible":{"description":"Determines if the path bar is drawn i.e. outside the trace `domain` and with one pixel gap.","dflt":true,"editType":"plot","valType":"boolean"}},"root":{"color":{"description":"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.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"editType":"calc","role":"object"},"sort":{"description":"Determines whether or not the sectors are reordered from largest to smallest.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"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.","editType":"plot","valType":"data_array"},"textfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo`.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textinfo":{"description":"Determines which trace information appear on the graph.","editType":"plot","extras":["none"],"flags":["label","text","value","current path","percent root","percent entry","percent parent"],"valType":"flaglist"},"textposition":{"description":"Sets the positions of the `text` elements.","dflt":"top left","editType":"plot","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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. variables `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry`, `percentParent`, `label` and `value`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"tiling":{"editType":"calc","flip":{"description":"Determines if the positions obtained from solver are flipped on each axis.","dflt":"","editType":"plot","flags":["x","y"],"valType":"flaglist"},"orientation":{"description":"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.","dflt":"h","editType":"plot","valType":"enumerated","values":["v","h"]},"pad":{"description":"Sets the inner padding (in px).","dflt":0,"editType":"plot","min":0,"valType":"number"},"role":"object"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"icicle","uid":{"anim":true,"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"values":{"description":"Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed.","editType":"calc","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":[],"layoutAttributes":{"extendiciclecolors":{"description":"If `true`, the icicle slice colors (whether given by `iciclecolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended.","dflt":true,"editType":"calc","valType":"boolean"},"iciclecolorway":{"description":"Sets the default icicle slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendiciclecolors`.","editType":"calc","valType":"colorlist"}},"meta":{"description":"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*."},"type":"icicle"},"image":{"animatable":false,"attributes":{"colormodel":{"description":"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`.","editType":"calc","valType":"enumerated","values":["rgb","rgba","rgba256","hsl","hsla"]},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dx":{"description":"Set the pixel's horizontal size.","dflt":1,"editType":"calc","valType":"number"},"dy":{"description":"Set the pixel's vertical size","dflt":1,"editType":"calc","valType":"number"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"x+y+z+text+name","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","color","name","text"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `z`, `color` and `colormodel`. Anything contained in tag `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"description":"Same as `text`.","editType":"plot","valType":"data_array"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"source":{"description":"Specifies the data URI of the image to be visualized. The URI consists of \"data:image/[\u003cmedia subtype\u003e][;base64],\u003cdata\u003e\"","editType":"calc","valType":"string"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"Sets the text elements associated with each z value.","editType":"plot","valType":"data_array"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"type":"image","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x0":{"description":"Set the image's x position.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"y0":{"description":"Set the image's y position.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"z":{"description":"A 2-dimensional array in which each element is an array of 3 or 4 numbers representing a color.","editType":"calc","valType":"data_array"},"zmax":{"description":"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].","editType":"calc","items":[{"editType":"calc","valType":"number"},{"editType":"calc","valType":"number"},{"editType":"calc","valType":"number"},{"editType":"calc","valType":"number"}],"valType":"info_array"},"zmin":{"description":"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].","editType":"calc","items":[{"editType":"calc","valType":"number"},{"editType":"calc","valType":"number"},{"editType":"calc","valType":"number"},{"editType":"calc","valType":"number"}],"valType":"info_array"},"zsmooth":{"description":"Picks a smoothing algorithm used to smooth `z` data. This only applies for image traces that use the `source` attribute.","dflt":false,"editType":"plot","valType":"enumerated","values":["fast",false]},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["cartesian","svg","2dMap","noSortingByValue"],"meta":{"description":"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."},"type":"image"},"indicator":{"animatable":true,"attributes":{"align":{"description":"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","editType":"plot","valType":"enumerated","values":["left","center","right"]},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"delta":{"decreasing":{"color":{"description":"Sets the color for increasing value.","dflt":"#FF4136","editType":"plot","valType":"color"},"editType":"plot","role":"object","symbol":{"description":"Sets the symbol to display for increasing value","dflt":"â–¼","editType":"plot","valType":"string"}},"editType":"calc","font":{"color":{"editType":"plot","valType":"color"},"description":"Set the font used to display the delta","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"increasing":{"color":{"description":"Sets the color for increasing value.","dflt":"#3D9970","editType":"plot","valType":"color"},"editType":"plot","role":"object","symbol":{"description":"Sets the symbol to display for increasing value","dflt":"â–²","editType":"plot","valType":"string"}},"position":{"description":"Sets the position of delta with respect to the number.","dflt":"bottom","editType":"plot","valType":"enumerated","values":["top","bottom","left","right"]},"prefix":{"description":"Sets a prefix appearing before the delta.","dflt":"","editType":"plot","valType":"string"},"reference":{"description":"Sets the reference value to compute the delta. By default, it is set to the current value.","editType":"calc","valType":"number"},"relative":{"description":"Show relative change","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","suffix":{"description":"Sets a suffix appearing next to the delta.","dflt":"","editType":"plot","valType":"string"},"valueformat":{"description":"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.","editType":"plot","valType":"string"}},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this indicator trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"editType":"calc","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this indicator trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this indicator trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this indicator trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"gauge":{"axis":{"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"plot","exponentformat":{"description":"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.","dflt":"B","editType":"plot","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"plot","valType":"any"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"plot","min":0,"valType":"number"},"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,"editType":"plot","min":0,"valType":"integer"},"range":{"description":"Sets the range of this axis.","editType":"plot","items":[{"editType":"plot","valType":"number"},{"editType":"plot","valType":"number"}],"valType":"info_array"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"plot","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"plot","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the color bar's tick label font","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"editType":"plot","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"plot","valType":"string"}}},"role":"object"},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"plot","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","dflt":"outside","editType":"plot","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"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","dflt":true,"editType":"plot","valType":"boolean"}},"bar":{"color":{"description":"Sets the background color of the arc.","dflt":"green","editType":"plot","valType":"color"},"description":"Set the appearance of the gauge's value","editType":"calc","line":{"color":{"description":"Sets the color of the line enclosing each sector.","dflt":"#444","editType":"plot","valType":"color"},"editType":"calc","role":"object","width":{"description":"Sets the width (in px) of the line enclosing each sector.","dflt":0,"editType":"plot","min":0,"valType":"number"}},"role":"object","thickness":{"description":"Sets the thickness of the bar as a fraction of the total thickness of the gauge.","dflt":1,"editType":"plot","max":1,"min":0,"valType":"number"}},"bgcolor":{"description":"Sets the gauge background color.","editType":"plot","valType":"color"},"bordercolor":{"description":"Sets the color of the border enclosing the gauge.","dflt":"#444","editType":"plot","valType":"color"},"borderwidth":{"description":"Sets the width (in px) of the border enclosing the gauge.","dflt":1,"editType":"plot","min":0,"valType":"number"},"description":"The gauge of the Indicator plot.","editType":"plot","role":"object","shape":{"description":"Set the shape of the gauge","dflt":"angular","editType":"plot","valType":"enumerated","values":["angular","bullet"]},"steps":{"items":{"step":{"color":{"description":"Sets the background color of the arc.","editType":"plot","valType":"color"},"editType":"calc","line":{"color":{"description":"Sets the color of the line enclosing each sector.","dflt":"#444","editType":"plot","valType":"color"},"editType":"calc","role":"object","width":{"description":"Sets the width (in px) of the line enclosing each sector.","dflt":0,"editType":"plot","min":0,"valType":"number"}},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"range":{"description":"Sets the range of this axis.","editType":"plot","items":[{"editType":"plot","valType":"number"},{"editType":"plot","valType":"number"}],"valType":"info_array"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"thickness":{"description":"Sets the thickness of the bar as a fraction of the total thickness of the gauge.","dflt":1,"editType":"plot","max":1,"min":0,"valType":"number"}}},"role":"object"},"threshold":{"editType":"plot","line":{"color":{"description":"Sets the color of the threshold line.","dflt":"#444","editType":"plot","valType":"color"},"editType":"plot","role":"object","width":{"description":"Sets the width (in px) of the threshold line.","dflt":1,"editType":"plot","min":0,"valType":"number"}},"role":"object","thickness":{"description":"Sets the thickness of the threshold line as a fraction of the thickness of the gauge.","dflt":0.85,"editType":"plot","max":1,"min":0,"valType":"number"},"value":{"description":"Sets a treshold value drawn as a line.","dflt":false,"editType":"calc","valType":"number"}}},"ids":{"anim":true,"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"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.","dflt":"number","editType":"calc","flags":["number","delta","gauge"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"number":{"editType":"plot","font":{"color":{"editType":"plot","valType":"color"},"description":"Set the font used to display main number","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"prefix":{"description":"Sets a prefix appearing before the number.","dflt":"","editType":"plot","valType":"string"},"role":"object","suffix":{"description":"Sets a suffix appearing next to the number.","dflt":"","editType":"plot","valType":"string"},"valueformat":{"description":"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.","dflt":"","editType":"plot","valType":"string"}},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"title":{"align":{"description":"Sets the horizontal alignment of the title. It defaults to `center` except for bullet charts for which it defaults to right.","editType":"plot","valType":"enumerated","values":["left","center","right"]},"editType":"plot","font":{"color":{"editType":"plot","valType":"color"},"description":"Set the font used to display the title","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of this indicator.","editType":"plot","valType":"string"}},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"indicator","uid":{"anim":true,"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"value":{"anim":true,"description":"Sets the number to be displayed.","editType":"calc","valType":"number"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["svg","noOpacity","noHover"],"meta":{"description":"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."},"type":"indicator"},"isosurface":{"animatable":false,"attributes":{"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"caps":{"editType":"calc","role":"object","x":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","show":{"description":"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.","dflt":true,"editType":"calc","valType":"boolean"}},"y":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","show":{"description":"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.","dflt":true,"editType":"calc","valType":"boolean"}},"z":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","show":{"description":"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.","dflt":true,"editType":"calc","valType":"boolean"}}},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*.","editType":"calc","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"y":{"description":"Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*.","editType":"calc","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"contour":{"color":{"description":"Sets the color of the contour lines.","dflt":"#444","editType":"calc","valType":"color"},"editType":"calc","role":"object","show":{"description":"Sets whether or not dynamic contours are shown on hover","dflt":false,"editType":"calc","valType":"boolean"},"width":{"description":"Sets the width of the contour lines.","dflt":2,"editType":"calc","max":16,"min":1,"valType":"number"}},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"flatshading":{"description":"Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low-poly look via flat reflections.","dflt":true,"editType":"calc","valType":"boolean"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"isomax":{"description":"Sets the maximum boundary for iso-surface plot.","editType":"calc","valType":"number"},"isomin":{"description":"Sets the minimum boundary for iso-surface plot.","editType":"calc","valType":"number"},"legendgroup":{"description":"Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"lighting":{"ambient":{"description":"Ambient light increases overall color visibility but can wash out the image.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"diffuse":{"description":"Represents the extent that incident rays are reflected in a range of angles.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"editType":"calc","facenormalsepsilon":{"description":"Epsilon for face normals calculation avoids math issues arising from degenerate geometry.","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"fresnel":{"description":"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.","dflt":0.2,"editType":"calc","max":5,"min":0,"valType":"number"},"role":"object","roughness":{"description":"Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.","dflt":0.5,"editType":"calc","max":1,"min":0,"valType":"number"},"specular":{"description":"Represents the level that incident rays are reflected in a single direction, causing shine.","dflt":0.05,"editType":"calc","max":2,"min":0,"valType":"number"},"vertexnormalsepsilon":{"description":"Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.","dflt":1e-12,"editType":"calc","max":1,"min":0,"valType":"number"}},"lightposition":{"editType":"calc","role":"object","x":{"description":"Numeric vector, representing the X coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"y":{"description":"Numeric vector, representing the Y coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"z":{"description":"Numeric vector, representing the Z coordinate for each vertex.","dflt":0,"editType":"calc","max":100000,"min":-100000,"valType":"number"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"scene":{"description":"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.","dflt":"scene","editType":"calc+clearAxisTypes","valType":"subplotid"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"calc","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"slices":{"editType":"calc","role":"object","x":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"locations":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"locationssrc":{"description":"Sets the source reference on Chart Studio Cloud for `locations`.","editType":"none","valType":"string"},"role":"object","show":{"description":"Determines whether or not slice planes about the x dimension are drawn.","dflt":false,"editType":"calc","valType":"boolean"}},"y":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"locations":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"locationssrc":{"description":"Sets the source reference on Chart Studio Cloud for `locations`.","editType":"none","valType":"string"},"role":"object","show":{"description":"Determines whether or not slice planes about the y dimension are drawn.","dflt":false,"editType":"calc","valType":"boolean"}},"z":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"locations":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"locationssrc":{"description":"Sets the source reference on Chart Studio Cloud for `locations`.","editType":"none","valType":"string"},"role":"object","show":{"description":"Determines whether or not slice planes about the z dimension are drawn.","dflt":false,"editType":"calc","valType":"boolean"}}},"spaceframe":{"editType":"calc","fill":{"description":"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).","dflt":0.15,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","show":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"surface":{"count":{"description":"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.","dflt":2,"editType":"calc","min":1,"valType":"integer"},"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"pattern":{"description":"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.","dflt":"all","editType":"calc","extras":["all","odd","even"],"flags":["A","B","C","D","E"],"valType":"flaglist"},"role":"object","show":{"description":"Hides/displays surfaces between minimum and maximum iso-values.","dflt":true,"editType":"calc","valType":"boolean"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"type":"isosurface","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"value":{"description":"Sets the 4th dimension (value) of the vertices.","editType":"calc+clearAxisTypes","valType":"data_array"},"valuehoverformat":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"valuesrc":{"description":"Sets the source reference on Chart Studio Cloud for `value`.","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the X coordinates of the vertices on X axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"xhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the Y coordinates of the vertices on Y axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"yhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"Sets the Z coordinates of the vertices on Z axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"zhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["gl3d","showLegend"],"meta":{"description":"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."},"type":"isosurface"},"mesh3d":{"animatable":false,"attributes":{"alphahull":{"description":"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 *\u003e0*, 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.","dflt":-1,"editType":"calc","valType":"number"},"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"description":"Sets the color of the whole mesh","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"y":{"description":"Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"contour":{"color":{"description":"Sets the color of the contour lines.","dflt":"#444","editType":"calc","valType":"color"},"editType":"calc","role":"object","show":{"description":"Sets whether or not dynamic contours are shown on hover","dflt":false,"editType":"calc","valType":"boolean"},"width":{"description":"Sets the width of the contour lines.","dflt":2,"editType":"calc","max":16,"min":1,"valType":"number"}},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"delaunayaxis":{"description":"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.","dflt":"z","editType":"calc","valType":"enumerated","values":["x","y","z"]},"facecolor":{"description":"Sets the color of each face Overrides *color* and *vertexcolor*.","editType":"calc","valType":"data_array"},"facecolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `facecolor`.","editType":"none","valType":"string"},"flatshading":{"description":"Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low-poly look via flat reflections.","dflt":false,"editType":"calc","valType":"boolean"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"i":{"description":"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.","editType":"calc","valType":"data_array"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"intensity":{"description":"Sets the intensity values for vertices or cells as defined by `intensitymode`. It can be used for plotting fields on meshes.","editType":"calc","valType":"data_array"},"intensitymode":{"description":"Determines the source of `intensity` values.","dflt":"vertex","editType":"calc","valType":"enumerated","values":["vertex","cell"]},"intensitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `intensity`.","editType":"none","valType":"string"},"isrc":{"description":"Sets the source reference on Chart Studio Cloud for `i`.","editType":"none","valType":"string"},"j":{"description":"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.","editType":"calc","valType":"data_array"},"jsrc":{"description":"Sets the source reference on Chart Studio Cloud for `j`.","editType":"none","valType":"string"},"k":{"description":"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.","editType":"calc","valType":"data_array"},"ksrc":{"description":"Sets the source reference on Chart Studio Cloud for `k`.","editType":"none","valType":"string"},"legendgroup":{"description":"Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"lighting":{"ambient":{"description":"Ambient light increases overall color visibility but can wash out the image.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"diffuse":{"description":"Represents the extent that incident rays are reflected in a range of angles.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"editType":"calc","facenormalsepsilon":{"description":"Epsilon for face normals calculation avoids math issues arising from degenerate geometry.","dflt":0.000001,"editType":"calc","max":1,"min":0,"valType":"number"},"fresnel":{"description":"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.","dflt":0.2,"editType":"calc","max":5,"min":0,"valType":"number"},"role":"object","roughness":{"description":"Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.","dflt":0.5,"editType":"calc","max":1,"min":0,"valType":"number"},"specular":{"description":"Represents the level that incident rays are reflected in a single direction, causing shine.","dflt":0.05,"editType":"calc","max":2,"min":0,"valType":"number"},"vertexnormalsepsilon":{"description":"Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.","dflt":1e-12,"editType":"calc","max":1,"min":0,"valType":"number"}},"lightposition":{"editType":"calc","role":"object","x":{"description":"Numeric vector, representing the X coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"y":{"description":"Numeric vector, representing the Y coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"z":{"description":"Numeric vector, representing the Z coordinate for each vertex.","dflt":0,"editType":"calc","max":100000,"min":-100000,"valType":"number"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"scene":{"description":"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.","dflt":"scene","editType":"calc+clearAxisTypes","valType":"subplotid"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"type":"mesh3d","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"vertexcolor":{"description":"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.","editType":"calc","valType":"data_array"},"vertexcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `vertexcolor`.","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"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.","editType":"calc+clearAxisTypes","valType":"data_array"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"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.","editType":"calc+clearAxisTypes","valType":"data_array"},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"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.","editType":"calc+clearAxisTypes","valType":"data_array"},"zcalendar":{"description":"Sets the calendar system to use with `z` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"zhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["gl3d","showLegend"],"meta":{"description":"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"},"type":"mesh3d"},"ohlc":{"animatable":false,"attributes":{"close":{"description":"Sets the close values.","editType":"calc","valType":"data_array"},"closesrc":{"description":"Sets the source reference on Chart Studio Cloud for `close`.","editType":"none","valType":"string"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"decreasing":{"editType":"style","line":{"color":{"description":"Sets the line color.","dflt":"#FF4136","editType":"style","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"style","role":"object","width":{"description":"Sets the line width (in px).","dflt":2,"editType":"style","min":0,"valType":"number"}},"role":"object"},"high":{"description":"Sets the high values.","editType":"calc","valType":"data_array"},"highsrc":{"description":"Sets the source reference on Chart Studio Cloud for `high`.","editType":"none","valType":"string"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object","split":{"description":"Show hover information (open, close, high, low) in separate labels.","dflt":false,"editType":"style","valType":"boolean"}},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"increasing":{"editType":"style","line":{"color":{"description":"Sets the line color.","dflt":"#3D9970","editType":"style","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"style","role":"object","width":{"description":"Sets the line width (in px).","dflt":2,"editType":"style","min":0,"valType":"number"}},"role":"object"},"legendgroup":{"description":"Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"dash":{"description":"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`.","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"style","role":"object","width":{"description":"[object Object] Note that this style setting can also be set per direction via `increasing.line.width` and `decreasing.line.width`.","dflt":2,"editType":"style","min":0,"valType":"number"}},"low":{"description":"Sets the low values.","editType":"calc","valType":"data_array"},"lowsrc":{"description":"Sets the source reference on Chart Studio Cloud for `low`.","editType":"none","valType":"string"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"open":{"description":"Sets the open values.","editType":"calc","valType":"data_array"},"opensrc":{"description":"Sets the source reference on Chart Studio Cloud for `open`.","editType":"none","valType":"string"},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the width of the open/close tick marks relative to the *x* minimal interval.","dflt":0.3,"editType":"calc","max":0.5,"min":0,"valType":"number"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"ohlc","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the x coordinates. If absent, linear coordinate will be generated.","editType":"calc+clearAxisTypes","valType":"data_array"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"xperiod0":{"description":"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.","editType":"calc","valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"}},"categories":["cartesian","svg","showLegend"],"meta":{"description":"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."},"type":"ohlc"},"parcats":{"animatable":false,"attributes":{"arrangement":{"description":"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.","dflt":"perpendicular","editType":"plot","valType":"enumerated","values":["perpendicular","freeform","fixed"]},"bundlecolors":{"description":"Sort paths so that like colors are bundled together within each category.","dflt":true,"editType":"plot","valType":"boolean"},"counts":{"arrayOk":true,"description":"The number of observations represented by each state. Defaults to 1 so that each state represents one observation","dflt":1,"editType":"calc","min":0,"valType":"number"},"countssrc":{"description":"Sets the source reference on Chart Studio Cloud for `counts`.","editType":"none","valType":"string"},"dimensions":{"items":{"dimension":{"categoryarray":{"description":"Sets the order in which categories in this dimension appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"calc","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`.","dflt":"trace","editType":"calc","valType":"enumerated","values":["trace","category ascending","category descending","array"]},"description":"The dimensions (variables) of the parallel categories diagram.","displayindex":{"description":"The display index of dimension, from left to right, zero indexed, defaults to dimension index.","editType":"calc","valType":"integer"},"editType":"calc","label":{"description":"The shown name of the dimension.","editType":"calc","valType":"string"},"role":"object","ticktext":{"description":"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`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"values":{"description":"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).","dflt":[],"editType":"calc","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"},"visible":{"description":"Shows the dimension when set to `true` (the default). Hides the dimension for `false`.","dflt":true,"editType":"calc","valType":"boolean"}}},"role":"object"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this parcats trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"editType":"calc","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this parcats trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this parcats trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this parcats trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"hoverinfo":{"arrayOk":false,"description":"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.","dflt":"all","editType":"plot","extras":["all","none","skip"],"flags":["count","probability"],"valType":"flaglist"},"hoveron":{"description":"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.","dflt":"category","editType":"plot","valType":"enumerated","values":["category","color","dimension"]},"hovertemplate":{"description":"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 `count`, `probability`, `category`, `categorycount`, `colorcount` and `bandcolorcount`. Anything contained in tag `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"plot","valType":"string"},"labelfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the font for the `dimension` labels.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"y":{"description":"Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","hovertemplate":{"description":"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 `count` and `probability`. Anything contained in tag `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"plot","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","shape":{"description":"Sets the shape of the paths. If `linear`, paths are composed of straight lines. If `hspline`, paths are composed of horizontal curved splines","dflt":"linear","editType":"plot","valType":"enumerated","values":["linear","hspline"]},"showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"sortpaths":{"description":"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.","dflt":"forward","editType":"plot","valType":"enumerated","values":["forward","backward"]},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the font for the `category` labels.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"parcats","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["noOpacity"],"meta":{"description":"Parallel categories diagram for multidimensional categorical data."},"type":"parcats"},"parcoords":{"animatable":false,"attributes":{"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dimensions":{"items":{"dimension":{"constraintrange":{"description":"The domain range to which the filter on the dimension is constrained. Must be an array of `[fromValue, toValue]` with `fromValue \u003c= toValue`, or if `multiselect` is not disabled, you may give an array of arrays, where each inner array is `[fromValue, toValue]`.","dimensions":"1-2","editType":"plot","freeLength":true,"items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"description":"The dimensions (variables) of the parallel coordinates chart. 2..60 dimensions are supported.","editType":"calc","label":{"description":"The shown name of the dimension.","editType":"plot","valType":"string"},"multiselect":{"description":"Do we allow multiple selection ranges or just a single range?","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"range":{"description":"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.","editType":"plot","items":[{"editType":"plot","valType":"number"},{"editType":"plot","valType":"number"}],"valType":"info_array"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"values":{"description":"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.","editType":"calc","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"},"visible":{"description":"Shows the dimension when set to `true` (the default). Hides the dimension for `false`.","dflt":true,"editType":"plot","valType":"boolean"}}},"role":"object"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this parcoords trace .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"editType":"plot","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this parcoords trace .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this parcoords trace (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this parcoords trace (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"labelangle":{"description":"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*.","dflt":0,"editType":"plot","valType":"angle"},"labelfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the font for the `dimension` labels.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"labelside":{"description":"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*.","dflt":"top","editType":"plot","valType":"enumerated","values":["top","bottom"]},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"autocolorscale":{"description":"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.","dflt":false,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"y":{"description":"Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"}},"colorscale":{"description":"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.","dflt":[[0,"#440154"],[0.06274509803921569,"#48186a"],[0.12549019607843137,"#472d7b"],[0.18823529411764706,"#424086"],[0.25098039215686274,"#3b528b"],[0.3137254901960784,"#33638d"],[0.3764705882352941,"#2c728e"],[0.4392156862745098,"#26828e"],[0.5019607843137255,"#21918c"],[0.5647058823529412,"#1fa088"],[0.6274509803921569,"#28ae80"],[0.6901960784313725,"#3fbc73"],[0.7529411764705882,"#5ec962"],[0.8156862745098039,"#84d44b"],[0.8784313725490196,"#addc30"],[0.9411764705882353,"#d8e219"],[1,"#fde725"]],"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"rangefont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the font for the `dimension` range values.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the font for the `dimension` tick values.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"parcoords","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"plot","line":{"color":{"description":"Sets the base color of unselected lines. in connection with `unselected.line.opacity`.","dflt":"#7f7f7f","editType":"plot","valType":"color"},"editType":"plot","opacity":{"description":"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`.","dflt":"auto","editType":"plot","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["gl","regl","noOpacity","noHover"],"meta":{"description":"Parallel coordinates for multidimensional exploratory data analysis. The samples are specified in `dimensions`. The colors are set in `line.color`."},"type":"parcoords"},"pie":{"animatable":false,"attributes":{"_deprecated":{"title":{"description":"Deprecated in favor of `title.text`. Note that value of `title` is no longer a simple *string* but a set of sub-attributes.","dflt":"","editType":"calc","valType":"string"},"titlefont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"description":"Deprecated in favor of `title.font`.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"}},"titleposition":{"description":"Deprecated in favor of `title.position`.","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle center","bottom left","bottom center","bottom right"]}},"automargin":{"description":"Determines whether outside text labels can push the margins.","dflt":false,"editType":"plot","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"direction":{"description":"Specifies the direction at which succeeding sectors follow one another.","dflt":"counterclockwise","editType":"calc","valType":"enumerated","values":["clockwise","counterclockwise"]},"dlabel":{"description":"Sets the label step. See `label0` for more info.","dflt":1,"editType":"calc","valType":"number"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this pie trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"editType":"calc","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this pie trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this pie trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this pie trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"hole":{"description":"Sets the fraction of the radius to cut out of the pie. Use this to make a donut chart.","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["label","text","value","percent","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `label`, `color`, `value`, `percent` and `text`. Anything contained in tag `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"insidetextfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo` lying inside the sector.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"insidetextorientation":{"description":"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.","dflt":"auto","editType":"plot","valType":"enumerated","values":["horizontal","radial","tangential","auto"]},"label0":{"description":"Alternate to `labels`. Builds a numeric set of labels. Use with `dlabel` where `label0` is the starting label and `dlabel` the step.","dflt":0,"editType":"calc","valType":"number"},"labels":{"description":"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.","editType":"calc","valType":"data_array"},"labelssrc":{"description":"Sets the source reference on Chart Studio Cloud for `labels`.","editType":"none","valType":"string"},"legendgroup":{"description":"Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"marker":{"colors":{"description":"Sets the color of each sector. If not specified, the default trace color set is used to pick the sector colors.","editType":"calc","valType":"data_array"},"colorssrc":{"description":"Sets the source reference on Chart Studio Cloud for `colors`.","editType":"none","valType":"string"},"editType":"calc","line":{"color":{"arrayOk":true,"description":"Sets the color of the line enclosing each sector.","dflt":"#444","editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the line enclosing each sector.","dflt":0,"editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"role":"object"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"outsidetextfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo` lying outside the sector.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"pull":{"arrayOk":true,"description":"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.","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"pullsrc":{"description":"Sets the source reference on Chart Studio Cloud for `pull`.","editType":"none","valType":"string"},"rotation":{"description":"Instead of the first slice starting at 12 o'clock, rotate to some other angle.","dflt":0,"editType":"calc","valType":"angle"},"scalegroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"sort":{"description":"Determines whether or not the sectors are reordered from largest to smallest.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"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.","editType":"plot","valType":"data_array"},"textfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo`.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textinfo":{"description":"Determines which trace information appear on the graph.","editType":"calc","extras":["none"],"flags":["label","text","value","percent"],"valType":"flaglist"},"textposition":{"arrayOk":true,"description":"Specifies the location of the `textinfo`.","dflt":"auto","editType":"plot","valType":"enumerated","values":["inside","outside","auto","none"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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. variables `label`, `color`, `value`, `percent` and `text`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"title":{"editType":"plot","font":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `title`. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"position":{"description":"Specifies the location of the `title`. Note that the title's position used to be set by the now deprecated `titleposition` attribute.","editType":"plot","valType":"enumerated","values":["top left","top center","top right","middle center","bottom left","bottom center","bottom right"]},"role":"object","text":{"description":"Sets the title of the chart. If it is empty, no title is displayed. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","dflt":"","editType":"plot","valType":"string"}},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"pie","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"values":{"description":"Sets the values of the sectors. If omitted, we count occurrences of each label.","editType":"calc","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["pie-like","pie","showLegend"],"layoutAttributes":{"extendpiecolors":{"description":"If `true`, the pie slice colors (whether given by `piecolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended.","dflt":true,"editType":"calc","valType":"boolean"},"hiddenlabels":{"description":"hiddenlabels is the funnelarea \u0026 pie chart analog of visible:'legendonly' but it can contain many labels, and can simultaneously hide slices from several pies/funnelarea charts","editType":"calc","valType":"data_array"},"hiddenlabelssrc":{"description":"Sets the source reference on Chart Studio Cloud for `hiddenlabels`.","editType":"none","valType":"string"},"piecolorway":{"description":"Sets the default pie slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendpiecolors`.","editType":"calc","valType":"colorlist"}},"meta":{"description":"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`"},"type":"pie"},"pointcloud":{"animatable":false,"attributes":{"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"indices":{"description":"A sequential value, 0..n, supply it to avoid creating this array inside plotting. If specified, it must be a typed `Int32Array` array. Its length must be equal to or greater than the number of points. For the best performance and memory use, create one large `indices` typed array that is guaranteed to be at least as long as the largest number of points during use, and reuse it on each `Plotly.restyle()` call.","editType":"calc","valType":"data_array"},"indicessrc":{"description":"Sets the source reference on Chart Studio Cloud for `indices`.","editType":"none","valType":"string"},"legendgroup":{"description":"Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"marker":{"blend":{"description":"Determines if colors are blended together for a translucency effect in case `opacity` is specified as a value less then `1`. Setting `blend` to `true` reduces zoom/pan speed if used with large numbers of points.","dflt":null,"editType":"calc","valType":"boolean"},"border":{"arearatio":{"description":"Specifies what fraction of the marker area is covered with the border.","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"color":{"arrayOk":false,"description":"Sets the stroke color. It accepts a specific color. If the color is not fully opaque and there are hundreds of thousands of points, it may cause slower zooming and panning.","editType":"calc","valType":"color"},"editType":"calc","role":"object"},"color":{"arrayOk":false,"description":"Sets the marker fill color. It accepts a specific color. If the color is not fully opaque and there are hundreds of thousands of points, it may cause slower zooming and panning.","editType":"calc","valType":"color"},"editType":"calc","opacity":{"arrayOk":false,"description":"Sets the marker opacity. The default value is `1` (fully opaque). If the markers are not fully opaque and there are hundreds of thousands of points, it may cause slower zooming and panning. Opacity fades the color even if `blend` is left on `false` even if there is no translucency effect in that case.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","sizemax":{"description":"Sets the maximum size (in px) of the rendered marker points. Effective when the `pointcloud` shows only few points.","dflt":20,"editType":"calc","min":0.1,"valType":"number"},"sizemin":{"description":"Sets the minimum size (in px) of the rendered marker points, effective when the `pointcloud` shows a million or more points.","dflt":0.5,"editType":"calc","max":2,"min":0.1,"valType":"number"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"type":"pointcloud","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xbounds":{"description":"Specify `xbounds` in the shape of `[xMin, xMax] to avoid looping through the `xy` typed array. Use it in conjunction with `xy` and `ybounds` for the performance benefits.","editType":"calc","valType":"data_array"},"xboundssrc":{"description":"Sets the source reference on Chart Studio Cloud for `xbounds`.","editType":"none","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"xy":{"description":"Faster alternative to specifying `x` and `y` separately. If supplied, it must be a typed `Float32Array` array that represents points such that `xy[i * 2] = x[i]` and `xy[i * 2 + 1] = y[i]`","editType":"calc","valType":"data_array"},"xysrc":{"description":"Sets the source reference on Chart Studio Cloud for `xy`.","editType":"none","valType":"string"},"y":{"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ybounds":{"description":"Specify `ybounds` in the shape of `[yMin, yMax] to avoid looping through the `xy` typed array. Use it in conjunction with `xy` and `xbounds` for the performance benefits.","editType":"calc","valType":"data_array"},"yboundssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ybounds`.","editType":"none","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"}},"categories":["gl","gl2d","showLegend"],"meta":{"description":"*pointcloud* trace is deprecated! Please consider switching to the *scattergl* trace type. The data visualized as a point cloud set in `x` and `y` using the WebGl plotting engine."},"type":"pointcloud"},"sankey":{"animatable":false,"attributes":{"arrangement":{"description":"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.","dflt":"snap","editType":"calc","valType":"enumerated","values":["snap","perpendicular","freeform","fixed"]},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this sankey trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"editType":"calc","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this sankey trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this sankey trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this sankey trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"hoverinfo":{"arrayOk":false,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":[],"valType":"flaglist"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"calc","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"calc","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"calc","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"calc","font":{"color":{"arrayOk":true,"editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"calc","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"link":{"arrowlen":{"description":"Sets the length (in px) of the links arrow, if 0 no arrow will be drawn.","dflt":0,"editType":"calc","min":0,"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"colorscales":{"items":{"concentrationscales":{"cmax":{"description":"Sets the upper bound of the color domain.","dflt":1,"editType":"calc","valType":"number"},"cmin":{"description":"Sets the lower bound of the color domain.","dflt":0,"editType":"calc","valType":"number"},"colorscale":{"description":"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.","dflt":[[0,"white"],[1,"black"]],"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"editType":"calc","label":{"description":"The label of the links to color based on their concentration within a flow.","dflt":"","editType":"calc","valType":"string"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"}}},"role":"object"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"customdata":{"description":"Assigns extra data to each link.","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"description":"The links of the Sankey plot.","editType":"calc","hoverinfo":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","none","skip"]},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"calc","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"calc","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"calc","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"calc","font":{"color":{"arrayOk":true,"editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"calc","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `value` and `label`. Anything contained in tag `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"label":{"description":"The shown name of the link.","dflt":[],"editType":"calc","valType":"data_array"},"labelsrc":{"description":"Sets the source reference on Chart Studio Cloud for `label`.","editType":"none","valType":"string"},"line":{"color":{"arrayOk":true,"description":"Sets the color of the `line` around each `link`.","dflt":"#444","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the `line` around each `link`.","dflt":0,"editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"role":"object","source":{"description":"An integer number `[0..nodes.length - 1]` that represents the source node.","dflt":[],"editType":"calc","valType":"data_array"},"sourcesrc":{"description":"Sets the source reference on Chart Studio Cloud for `source`.","editType":"none","valType":"string"},"target":{"description":"An integer number `[0..nodes.length - 1]` that represents the target node.","dflt":[],"editType":"calc","valType":"data_array"},"targetsrc":{"description":"Sets the source reference on Chart Studio Cloud for `target`.","editType":"none","valType":"string"},"value":{"description":"A numeric value representing the flow volume value.","dflt":[],"editType":"calc","valType":"data_array"},"valuesrc":{"description":"Sets the source reference on Chart Studio Cloud for `value`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"node":{"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"customdata":{"description":"Assigns extra data to each node.","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"description":"The nodes of the Sankey plot.","editType":"calc","groups":{"description":"Groups of nodes. Each group is defined by an array with the indices of the nodes it contains. Multiple groups can be specified.","dflt":[],"dimensions":2,"editType":"calc","freeLength":true,"impliedEdits":{"x":[],"y":[]},"items":{"editType":"calc","valType":"number"},"valType":"info_array"},"hoverinfo":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","none","skip"]},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"calc","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"calc","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"calc","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"calc","font":{"color":{"arrayOk":true,"editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"calc","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `value` and `label`. Anything contained in tag `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"label":{"description":"The shown name of the node.","dflt":[],"editType":"calc","valType":"data_array"},"labelsrc":{"description":"Sets the source reference on Chart Studio Cloud for `label`.","editType":"none","valType":"string"},"line":{"color":{"arrayOk":true,"description":"Sets the color of the `line` around each `node`.","dflt":"#444","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the `line` around each `node`.","dflt":0.5,"editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"pad":{"arrayOk":false,"description":"Sets the padding (in px) between the `nodes`.","dflt":20,"editType":"calc","min":0,"valType":"number"},"role":"object","thickness":{"arrayOk":false,"description":"Sets the thickness (in px) of the `nodes`.","dflt":20,"editType":"calc","min":1,"valType":"number"},"x":{"description":"The normalized horizontal position of the node.","dflt":[],"editType":"calc","valType":"data_array"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"The normalized vertical position of the node.","dflt":[],"editType":"calc","valType":"data_array"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"}},"orientation":{"description":"Sets the orientation of the Sankey diagram.","dflt":"h","editType":"calc","valType":"enumerated","values":["v","h"]},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"textfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the font for node labels","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"type":"sankey","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"valueformat":{"description":"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.","dflt":".3s","editType":"calc","valType":"string"},"valuesuffix":{"description":"Adds a unit to follow the value in the hover tooltip. Add a space if a separation is necessary from the value.","dflt":"","editType":"calc","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["noOpacity"],"meta":{"description":"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."},"type":"sankey"},"scatter":{"animatable":true,"attributes":{"alignmentgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"cliponaxis":{"description":"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*.","dflt":true,"editType":"plot","valType":"boolean"},"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dx":{"anim":true,"description":"Sets the x coordinate step. See `x0` for more info.","dflt":1,"editType":"calc","valType":"number"},"dy":{"anim":true,"description":"Sets the y coordinate step. See `y0` for more info.","dflt":1,"editType":"calc","valType":"number"},"error_x":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"style","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"style","valType":"color"},"copy_ystyle":{"editType":"plot","valType":"boolean"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"style","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"plot","min":0,"valType":"number"}},"error_y":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"style","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"style","valType":"color"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"style","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"plot","min":0,"valType":"number"}},"fill":{"description":"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.","editType":"calc","valType":"enumerated","values":["none","tozeroy","tozerox","tonexty","tonextx","toself","tonext"]},"fillcolor":{"anim":true,"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"style","valType":"color"},"fillpattern":{"bgcolor":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"description":"Sets the pattern within the marker.","editType":"style","fgcolor":{"arrayOk":true,"description":"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`.","editType":"style","valType":"color"},"fgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `fgcolor`.","editType":"none","valType":"string"},"fgopacity":{"description":"Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.","editType":"style","max":1,"min":0,"valType":"number"},"fillmode":{"description":"Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.","dflt":"replace","editType":"style","valType":"enumerated","values":["replace","overlay"]},"role":"object","shape":{"arrayOk":true,"description":"Sets the shape of the pattern fill. By default, no pattern is used for filling the area.","dflt":"","editType":"style","valType":"enumerated","values":["","/","\\","x","-","|","+","."]},"shapesrc":{"description":"Sets the source reference on Chart Studio Cloud for `shape`.","editType":"none","valType":"string"},"size":{"arrayOk":true,"description":"Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.","dflt":8,"editType":"style","min":0,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"solidity":{"arrayOk":true,"description":"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.","dflt":0.3,"editType":"style","max":1,"min":0,"valType":"number"},"soliditysrc":{"description":"Sets the source reference on Chart Studio Cloud for `solidity`.","editType":"none","valType":"string"}},"groupnorm":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["","fraction","percent"]},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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*.","editType":"style","flags":["points","fills"],"valType":"flaglist"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"ids":{"anim":true,"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legendgroup":{"description":"Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"backoff":{"arrayOk":true,"description":"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*.","dflt":"auto","editType":"plot","min":0,"valType":"number"},"backoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `backoff`.","editType":"none","valType":"string"},"color":{"anim":true,"description":"Sets the line color.","editType":"style","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"plot","role":"object","shape":{"description":"Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.","dflt":"linear","editType":"plot","valType":"enumerated","values":["linear","spline","hv","vh","hvh","vhv"]},"simplify":{"description":"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.","dflt":true,"editType":"plot","valType":"boolean"},"smoothing":{"description":"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).","dflt":1,"editType":"plot","max":1.3,"min":0,"valType":"number"},"width":{"anim":true,"description":"Sets the line width (in px).","dflt":2,"editType":"style","min":0,"valType":"number"}},"marker":{"angle":{"anim":false,"arrayOk":true,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"plot","valType":"angle"},"angleref":{"anim":false,"description":"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.","dflt":"up","editType":"plot","valType":"enumerated","values":["previous","up"]},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"anim":true,"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"y":{"description":"Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","gradient":{"color":{"arrayOk":true,"description":"Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","type":{"arrayOk":true,"description":"Sets the type of gradient used to fill the markers","dflt":"none","editType":"calc","valType":"enumerated","values":["radial","horizontal","vertical","none"]},"typesrc":{"description":"Sets the source reference on Chart Studio Cloud for `type`.","editType":"none","valType":"string"}},"line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"anim":true,"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"anim":true,"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"maxdisplayed":{"description":"Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit.","dflt":0,"editType":"plot","min":0,"valType":"number"},"opacity":{"anim":true,"arrayOk":true,"description":"Sets the marker opacity.","editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"anim":true,"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"standoff":{"anim":true,"arrayOk":true,"description":"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.","dflt":0,"editType":"plot","min":0,"valType":"number"},"standoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `standoff`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"style","valType":"enumerated","values":[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"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"offsetgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"orientation":{"description":"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`.","editType":"calc","valType":"enumerated","values":["v","h"]},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stackgaps":{"description":"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.","dflt":"infer zero","editType":"calc","valType":"enumerated","values":["infer zero","interpolate"]},"stackgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the text font.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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. ","dflt":"","editType":"calc","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scatter","uid":{"anim":true,"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"anim":true,"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"x0":{"anim":true,"description":"Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"xperiod0":{"description":"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.","editType":"calc","valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"anim":true,"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"y0":{"anim":true,"description":"Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"yperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the y axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"yperiod0":{"description":"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.","editType":"calc","valType":"any"},"yperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"}},"categories":["cartesian","svg","symbols","errorBarsOK","showLegend","scatter-like","zoomScale"],"layoutAttributes":{"scattergap":{"description":"Sets the gap (in plot fraction) between scatter points of adjacent location coordinates. Defaults to `bargap`.","editType":"calc","max":1,"min":0,"valType":"number"},"scattermode":{"description":"Determines how scatter points at the same location coordinate are displayed on the graph. With *group*, the scatter points are plotted next to one another centered around the shared location. With *overlay*, the scatter points are plotted over one another, you might need to reduce *opacity* to see multiple scatter points.","dflt":"overlay","editType":"calc","valType":"enumerated","values":["group","overlay"]}},"meta":{"description":"The scatter trace type encompasses line charts, scatter charts, text charts, and bubble charts. The data visualized as scatter point or lines is set in `x` and `y`. Text (appearing either on the chart or on hover only) is via `text`. Bubble charts are achieved by setting `marker.size` and/or `marker.color` to numerical arrays."},"type":"scatter"},"scatter3d":{"animatable":false,"attributes":{"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"error_x":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"calc","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"calc","valType":"color"},"copy_zstyle":{"editType":"calc","valType":"boolean"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"calc","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"calc","min":0,"valType":"number"}},"error_y":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"calc","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"calc","valType":"color"},"copy_zstyle":{"editType":"calc","valType":"boolean"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"calc","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"calc","min":0,"valType":"number"}},"error_z":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"calc","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"calc","valType":"color"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"calc","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"calc","min":0,"valType":"number"}},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legendgroup":{"description":"Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*.","editType":"calc","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"y":{"description":"Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*.","editType":"calc","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"dash":{"description":"Sets the dash style of the lines.","dflt":"solid","editType":"calc","valType":"enumerated","values":["dash","dashdot","dot","longdash","longdashdot","solid"]},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"width":{"description":"Sets the line width (in px).","dflt":2,"editType":"calc","min":0,"valType":"number"}},"marker":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*.","editType":"calc","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"y":{"description":"Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*.","editType":"calc","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","width":{"arrayOk":false,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"calc","min":0,"valType":"number"}},"opacity":{"arrayOk":false,"description":"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.","editType":"calc","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":8,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"Sets the marker symbol type.","dflt":"circle","editType":"calc","valType":"enumerated","values":["circle","circle-open","cross","diamond","diamond-open","square","square-open","x"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.","dflt":"lines+markers","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"projection":{"editType":"calc","role":"object","x":{"editType":"calc","opacity":{"description":"Sets the projection color.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","scale":{"description":"Sets the scale factor determining the size of the projection marker points.","dflt":0.6666666666666666,"editType":"calc","max":10,"min":0,"valType":"number"},"show":{"description":"Sets whether or not projections are shown along the x axis.","dflt":false,"editType":"calc","valType":"boolean"}},"y":{"editType":"calc","opacity":{"description":"Sets the projection color.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","scale":{"description":"Sets the scale factor determining the size of the projection marker points.","dflt":0.6666666666666666,"editType":"calc","max":10,"min":0,"valType":"number"},"show":{"description":"Sets whether or not projections are shown along the y axis.","dflt":false,"editType":"calc","valType":"boolean"}},"z":{"editType":"calc","opacity":{"description":"Sets the projection color.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","scale":{"description":"Sets the scale factor determining the size of the projection marker points.","dflt":0.6666666666666666,"editType":"calc","max":10,"min":0,"valType":"number"},"show":{"description":"Sets whether or not projections are shown along the z axis.","dflt":false,"editType":"calc","valType":"boolean"}}},"scene":{"description":"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.","dflt":"scene","editType":"calc+clearAxisTypes","valType":"subplotid"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"surfaceaxis":{"description":"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.","dflt":-1,"editType":"calc","valType":"enumerated","values":[-1,0,1,2]},"surfacecolor":{"description":"Sets the surface fill color.","editType":"calc","valType":"color"},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"arrayOk":true,"editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","family":{"arrayOk":false,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"top center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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. ","dflt":"","editType":"calc","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scatter3d","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"Sets the z coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"zcalendar":{"description":"Sets the calendar system to use with `z` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"zhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["gl3d","symbols","showLegend","scatter-like"],"meta":{"description":"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`.","hrName":"scatter_3d"},"type":"scatter3d"},"scattercarpet":{"animatable":false,"attributes":{"a":{"description":"Sets the a-axis coordinates.","editType":"calc","valType":"data_array"},"asrc":{"description":"Sets the source reference on Chart Studio Cloud for `a`.","editType":"none","valType":"string"},"b":{"description":"Sets the b-axis coordinates.","editType":"calc","valType":"data_array"},"bsrc":{"description":"Sets the source reference on Chart Studio Cloud for `b`.","editType":"none","valType":"string"},"carpet":{"description":"An identifier for this carpet, so that `scattercarpet` and `contourcarpet` traces can specify a carpet plot on which they lie","editType":"calc","valType":"string"},"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"fill":{"description":"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.","dflt":"none","editType":"calc","valType":"enumerated","values":["none","toself","tonext"]},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"style","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["a","b","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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*.","editType":"style","flags":["points","fills"],"valType":"flaglist"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legendgroup":{"description":"Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"backoff":{"arrayOk":true,"description":"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*.","dflt":"auto","editType":"plot","min":0,"valType":"number"},"backoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `backoff`.","editType":"none","valType":"string"},"color":{"description":"Sets the line color.","editType":"style","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"calc","role":"object","shape":{"description":"Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.","dflt":"linear","editType":"plot","valType":"enumerated","values":["linear","spline"]},"smoothing":{"description":"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).","dflt":1,"editType":"plot","max":1.3,"min":0,"valType":"number"},"width":{"description":"Sets the line width (in px).","dflt":2,"editType":"style","min":0,"valType":"number"}},"marker":{"angle":{"arrayOk":true,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"plot","valType":"angle"},"angleref":{"description":"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.","dflt":"up","editType":"plot","valType":"enumerated","values":["previous","up"]},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"y":{"description":"Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","gradient":{"color":{"arrayOk":true,"description":"Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","type":{"arrayOk":true,"description":"Sets the type of gradient used to fill the markers","dflt":"none","editType":"calc","valType":"enumerated","values":["radial","horizontal","vertical","none"]},"typesrc":{"description":"Sets the source reference on Chart Studio Cloud for `type`.","editType":"none","valType":"string"}},"line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"maxdisplayed":{"description":"Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit.","dflt":0,"editType":"plot","min":0,"valType":"number"},"opacity":{"arrayOk":true,"description":"Sets the marker opacity.","editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"standoff":{"arrayOk":true,"description":"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.","dflt":0,"editType":"plot","min":0,"valType":"number"},"standoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `standoff`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"style","valType":"enumerated","values":[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"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.","dflt":"markers","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the text font.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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. variables `a`, `b` and `text`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scattercarpet","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"}},"categories":["svg","carpet","symbols","showLegend","carpetDependent","zoomScale"],"meta":{"description":"Plots a scatter trace on either the first carpet axis or the carpet axis with a matching `carpet` attribute.","hrName":"scatter_carpet"},"type":"scattercarpet"},"scattergeo":{"animatable":false,"attributes":{"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"featureidkey":{"description":"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*.","dflt":"id","editType":"calc","valType":"string"},"fill":{"description":"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.","dflt":"none","editType":"calc","valType":"enumerated","values":["none","toself"]},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"calc","valType":"color"},"geo":{"description":"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.","dflt":"geo","editType":"calc","valType":"subplotid"},"geojson":{"description":"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*.","editType":"calc","valType":"any"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":["lon","lat","location","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"lat":{"description":"Sets the latitude coordinates (in degrees North).","editType":"calc","valType":"data_array"},"latsrc":{"description":"Sets the source reference on Chart Studio Cloud for `lat`.","editType":"none","valType":"string"},"legendgroup":{"description":"Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"color":{"description":"Sets the line color.","editType":"calc","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"calc","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"calc","role":"object","width":{"description":"Sets the line width (in px).","dflt":2,"editType":"calc","min":0,"valType":"number"}},"locationmode":{"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","values":["ISO-3","USA-states","country names","geojson-id"]},"locations":{"description":"Sets the coordinates via location IDs or names. Coordinates correspond to the centroid of each location given. See `locationmode` for more info.","editType":"calc","valType":"data_array"},"locationssrc":{"description":"Sets the source reference on Chart Studio Cloud for `locations`.","editType":"none","valType":"string"},"lon":{"description":"Sets the longitude coordinates (in degrees East).","editType":"calc","valType":"data_array"},"lonsrc":{"description":"Sets the source reference on Chart Studio Cloud for `lon`.","editType":"none","valType":"string"},"marker":{"angle":{"arrayOk":true,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"calc","valType":"angle"},"angleref":{"description":"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.","dflt":"up","editType":"calc","valType":"enumerated","values":["previous","up","north"]},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*.","editType":"calc","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"y":{"description":"Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*.","editType":"calc","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","gradient":{"color":{"arrayOk":true,"description":"Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","type":{"arrayOk":true,"description":"Sets the type of gradient used to fill the markers","dflt":"none","editType":"calc","valType":"enumerated","values":["radial","horizontal","vertical","none"]},"typesrc":{"description":"Sets the source reference on Chart Studio Cloud for `type`.","editType":"none","valType":"string"}},"line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the marker opacity.","editType":"calc","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"standoff":{"arrayOk":true,"description":"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.","dflt":0,"editType":"calc","min":0,"valType":"number"},"standoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `standoff`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"calc","valType":"enumerated","values":[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"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.","dflt":"markers","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"selected":{"editType":"calc","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"calc","valType":"color"},"editType":"calc","opacity":{"description":"Sets the marker opacity of selected points.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"calc","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"calc","valType":"color"},"editType":"calc","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"arrayOk":true,"editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the text font.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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. variables `lat`, `lon`, `location` and `text`.","dflt":"","editType":"calc","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scattergeo","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"calc","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"calc","valType":"color"},"editType":"calc","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"calc","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"calc","valType":"color"},"editType":"calc","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["geo","symbols","showLegend","scatter-like"],"meta":{"description":"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`.","hrName":"scatter_geo"},"type":"scattergeo"},"scattergl":{"animatable":false,"attributes":{"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dx":{"description":"Sets the x coordinate step. See `x0` for more info.","dflt":1,"editType":"calc","valType":"number"},"dy":{"description":"Sets the y coordinate step. See `y0` for more info.","dflt":1,"editType":"calc","valType":"number"},"error_x":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"calc","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"calc","valType":"color"},"copy_ystyle":{"editType":"calc","valType":"boolean"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"calc","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"calc","min":0,"valType":"number"}},"error_y":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"calc","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"calc","valType":"color"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"calc","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"calc","min":0,"valType":"number"}},"fill":{"description":"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.","dflt":"none","editType":"calc","valType":"enumerated","values":["none","tozeroy","tozerox","tonexty","tonextx","toself","tonext"]},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"calc","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legendgroup":{"description":"Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"color":{"description":"Sets the line color.","editType":"calc","valType":"color"},"dash":{"description":"Sets the style of the lines.","dflt":"solid","editType":"calc","valType":"enumerated","values":["dash","dashdot","dot","longdash","longdashdot","solid"]},"editType":"calc","role":"object","shape":{"description":"Determines the line shape. The values correspond to step-wise line shapes.","dflt":"linear","editType":"calc","valType":"enumerated","values":["linear","hv","vh","hvh","vhv"]},"width":{"description":"Sets the line width (in px).","dflt":2,"editType":"calc","min":0,"valType":"number"}},"marker":{"angle":{"arrayOk":true,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"calc","valType":"angle"},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*.","editType":"calc","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"y":{"description":"Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*.","editType":"calc","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the marker opacity.","editType":"calc","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"calc","valType":"enumerated","values":[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"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace.","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"selected":{"editType":"calc","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"calc","valType":"color"},"editType":"calc","opacity":{"description":"Sets the marker opacity of selected points.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"calc","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"calc","valType":"color"},"editType":"calc","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"arrayOk":true,"editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the text font.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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. ","dflt":"","editType":"calc","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scattergl","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"calc","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"calc","valType":"color"},"editType":"calc","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"calc","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"calc","valType":"color"},"editType":"calc","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"x0":{"description":"Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"xperiod0":{"description":"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.","editType":"calc","valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"y0":{"description":"Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"yperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the y axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"yperiod0":{"description":"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.","editType":"calc","valType":"any"},"yperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"}},"categories":["gl","regl","cartesian","symbols","errorBarsOK","showLegend","scatter-like"],"meta":{"description":"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.","hrName":"scatter_gl"},"type":"scattergl"},"scattermapbox":{"animatable":false,"attributes":{"below":{"description":"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 *''*.","editType":"calc","valType":"string"},"cluster":{"color":{"arrayOk":true,"description":"Sets the color for each cluster step.","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","enabled":{"description":"Determines whether clustering is enabled or disabled.","editType":"calc","valType":"boolean"},"maxzoom":{"description":"Sets the maximum zoom level. At zoom levels equal to or greater than this, points will never be clustered.","dflt":24,"editType":"calc","max":24,"min":0,"valType":"number"},"opacity":{"arrayOk":true,"description":"Sets the marker opacity.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"description":"Sets the size for each cluster step.","dflt":20,"editType":"calc","min":0,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"step":{"arrayOk":true,"description":"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.","dflt":-1,"editType":"calc","min":-1,"valType":"number"},"stepsrc":{"description":"Sets the source reference on Chart Studio Cloud for `step`.","editType":"none","valType":"string"}},"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"fill":{"description":"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.","dflt":"none","editType":"calc","valType":"enumerated","values":["none","toself"]},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"calc","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":["lon","lat","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"lat":{"description":"Sets the latitude coordinates (in degrees North).","editType":"calc","valType":"data_array"},"latsrc":{"description":"Sets the source reference on Chart Studio Cloud for `lat`.","editType":"none","valType":"string"},"legendgroup":{"description":"Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"color":{"description":"Sets the line color.","editType":"calc","valType":"color"},"editType":"calc","role":"object","width":{"description":"Sets the line width (in px).","dflt":2,"editType":"calc","min":0,"valType":"number"}},"lon":{"description":"Sets the longitude coordinates (in degrees East).","editType":"calc","valType":"data_array"},"lonsrc":{"description":"Sets the source reference on Chart Studio Cloud for `lon`.","editType":"none","valType":"string"},"marker":{"allowoverlap":{"description":"Flag to draw all symbols, even if they overlap.","dflt":false,"editType":"calc","valType":"boolean"},"angle":{"arrayOk":true,"description":"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.","dflt":"auto","editType":"calc","valType":"number"},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*.","editType":"calc","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"y":{"description":"Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*.","editType":"calc","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","opacity":{"arrayOk":true,"description":"Sets the marker opacity.","editType":"calc","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"calc","valType":"string"},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover.","dflt":"markers","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"selected":{"editType":"calc","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"calc","valType":"color"},"editType":"calc","opacity":{"description":"Sets the marker opacity of selected points.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"calc","min":0,"valType":"number"}},"role":"object"},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"subplot":{"description":"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.","dflt":"mapbox","editType":"calc","valType":"subplotid"},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"editType":"calc","valType":"color"},"description":"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*.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","dflt":"Open Sans Regular, Arial Unicode MS Regular","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"textposition":{"arrayOk":false,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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. variables `lat`, `lon` and `text`.","dflt":"","editType":"calc","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scattermapbox","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"calc","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"calc","valType":"color"},"editType":"calc","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"calc","min":0,"valType":"number"}},"role":"object"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["mapbox","gl","symbols","showLegend","scatter-like"],"meta":{"description":"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`.","hrName":"scatter_mapbox"},"type":"scattermapbox"},"scatterpolar":{"animatable":false,"attributes":{"cliponaxis":{"description":"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*.","dflt":false,"editType":"plot","valType":"boolean"},"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dr":{"description":"Sets the r coordinate step.","dflt":1,"editType":"calc","valType":"number"},"dtheta":{"description":"Sets the theta coordinate step. By default, the `dtheta` step equals the subplot's period divided by the length of the `r` coordinates.","editType":"calc","valType":"number"},"fill":{"description":"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.","dflt":"none","editType":"calc","valType":"enumerated","values":["none","toself","tonext"]},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"style","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["r","theta","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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*.","editType":"style","flags":["points","fills"],"valType":"flaglist"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legendgroup":{"description":"Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"backoff":{"arrayOk":true,"description":"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*.","dflt":"auto","editType":"plot","min":0,"valType":"number"},"backoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `backoff`.","editType":"none","valType":"string"},"color":{"description":"Sets the line color.","editType":"style","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"calc","role":"object","shape":{"description":"Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.","dflt":"linear","editType":"plot","valType":"enumerated","values":["linear","spline"]},"smoothing":{"description":"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).","dflt":1,"editType":"plot","max":1.3,"min":0,"valType":"number"},"width":{"description":"Sets the line width (in px).","dflt":2,"editType":"style","min":0,"valType":"number"}},"marker":{"angle":{"arrayOk":true,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"plot","valType":"angle"},"angleref":{"description":"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.","dflt":"up","editType":"plot","valType":"enumerated","values":["previous","up"]},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"y":{"description":"Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","gradient":{"color":{"arrayOk":true,"description":"Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","type":{"arrayOk":true,"description":"Sets the type of gradient used to fill the markers","dflt":"none","editType":"calc","valType":"enumerated","values":["radial","horizontal","vertical","none"]},"typesrc":{"description":"Sets the source reference on Chart Studio Cloud for `type`.","editType":"none","valType":"string"}},"line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"maxdisplayed":{"description":"Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit.","dflt":0,"editType":"plot","min":0,"valType":"number"},"opacity":{"arrayOk":true,"description":"Sets the marker opacity.","editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"standoff":{"arrayOk":true,"description":"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.","dflt":0,"editType":"plot","min":0,"valType":"number"},"standoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `standoff`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"style","valType":"enumerated","values":[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"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"r":{"description":"Sets the radial coordinates","editType":"calc+clearAxisTypes","valType":"data_array"},"r0":{"description":"Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"rsrc":{"description":"Sets the source reference on Chart Studio Cloud for `r`.","editType":"none","valType":"string"},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"subplot":{"description":"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.","dflt":"polar","editType":"calc","valType":"subplotid"},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the text font.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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. variables `r`, `theta` and `text`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"theta":{"description":"Sets the angular coordinates","editType":"calc+clearAxisTypes","valType":"data_array"},"theta0":{"description":"Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"thetasrc":{"description":"Sets the source reference on Chart Studio Cloud for `theta`.","editType":"none","valType":"string"},"thetaunit":{"description":"Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes.","dflt":"degrees","editType":"calc+clearAxisTypes","valType":"enumerated","values":["radians","degrees","gradians"]},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scatterpolar","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["polar","symbols","showLegend","scatter-like"],"meta":{"description":"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.","hrName":"scatter_polar"},"type":"scatterpolar"},"scatterpolargl":{"animatable":false,"attributes":{"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dr":{"description":"Sets the r coordinate step.","dflt":1,"editType":"calc","valType":"number"},"dtheta":{"description":"Sets the theta coordinate step. By default, the `dtheta` step equals the subplot's period divided by the length of the `r` coordinates.","editType":"calc","valType":"number"},"fill":{"description":"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.","dflt":"none","editType":"calc","valType":"enumerated","values":["none","tozeroy","tozerox","tonexty","tonextx","toself","tonext"]},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"calc","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["r","theta","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legendgroup":{"description":"Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"color":{"description":"Sets the line color.","editType":"calc","valType":"color"},"dash":{"description":"Sets the style of the lines.","dflt":"solid","editType":"calc","valType":"enumerated","values":["dash","dashdot","dot","longdash","longdashdot","solid"]},"editType":"calc","role":"object","shape":{"description":"Determines the line shape. The values correspond to step-wise line shapes.","dflt":"linear","editType":"calc","valType":"enumerated","values":["linear","hv","vh","hvh","vhv"]},"width":{"description":"Sets the line width (in px).","dflt":2,"editType":"calc","min":0,"valType":"number"}},"marker":{"angle":{"arrayOk":true,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"calc","valType":"angle"},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*.","editType":"calc","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"y":{"description":"Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*.","editType":"calc","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the marker opacity.","editType":"calc","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"calc","valType":"enumerated","values":[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"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"r":{"description":"Sets the radial coordinates","editType":"calc+clearAxisTypes","valType":"data_array"},"r0":{"description":"Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"rsrc":{"description":"Sets the source reference on Chart Studio Cloud for `r`.","editType":"none","valType":"string"},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"subplot":{"description":"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.","dflt":"polar","editType":"calc","valType":"subplotid"},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"arrayOk":true,"editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the text font.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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. variables `r`, `theta` and `text`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"theta":{"description":"Sets the angular coordinates","editType":"calc+clearAxisTypes","valType":"data_array"},"theta0":{"description":"Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"thetasrc":{"description":"Sets the source reference on Chart Studio Cloud for `theta`.","editType":"none","valType":"string"},"thetaunit":{"description":"Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes.","dflt":"degrees","editType":"calc+clearAxisTypes","valType":"enumerated","values":["radians","degrees","gradians"]},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scatterpolargl","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["gl","regl","polar","symbols","showLegend","scatter-like"],"meta":{"description":"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.","hrName":"scatter_polar_gl"},"type":"scatterpolargl"},"scattersmith":{"animatable":false,"attributes":{"cliponaxis":{"description":"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*.","dflt":false,"editType":"plot","valType":"boolean"},"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"fill":{"description":"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.","dflt":"none","editType":"calc","valType":"enumerated","values":["none","toself","tonext"]},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"style","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["real","imag","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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*.","editType":"style","flags":["points","fills"],"valType":"flaglist"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"imag":{"description":"Sets the imaginary component of the data, in units of normalized impedance such that real=1, imag=0 is the center of the chart.","editType":"calc+clearAxisTypes","valType":"data_array"},"imagsrc":{"description":"Sets the source reference on Chart Studio Cloud for `imag`.","editType":"none","valType":"string"},"legendgroup":{"description":"Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"backoff":{"arrayOk":true,"description":"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*.","dflt":"auto","editType":"plot","min":0,"valType":"number"},"backoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `backoff`.","editType":"none","valType":"string"},"color":{"description":"Sets the line color.","editType":"style","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"calc","role":"object","shape":{"description":"Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.","dflt":"linear","editType":"plot","valType":"enumerated","values":["linear","spline"]},"smoothing":{"description":"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).","dflt":1,"editType":"plot","max":1.3,"min":0,"valType":"number"},"width":{"description":"Sets the line width (in px).","dflt":2,"editType":"style","min":0,"valType":"number"}},"marker":{"angle":{"arrayOk":true,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"plot","valType":"angle"},"angleref":{"description":"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.","dflt":"up","editType":"plot","valType":"enumerated","values":["previous","up"]},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"y":{"description":"Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","gradient":{"color":{"arrayOk":true,"description":"Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","type":{"arrayOk":true,"description":"Sets the type of gradient used to fill the markers","dflt":"none","editType":"calc","valType":"enumerated","values":["radial","horizontal","vertical","none"]},"typesrc":{"description":"Sets the source reference on Chart Studio Cloud for `type`.","editType":"none","valType":"string"}},"line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"maxdisplayed":{"description":"Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit.","dflt":0,"editType":"plot","min":0,"valType":"number"},"opacity":{"arrayOk":true,"description":"Sets the marker opacity.","editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"standoff":{"arrayOk":true,"description":"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.","dflt":0,"editType":"plot","min":0,"valType":"number"},"standoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `standoff`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"style","valType":"enumerated","values":[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"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"real":{"description":"Sets the real component of the data, in units of normalized impedance such that real=1, imag=0 is the center of the chart.","editType":"calc+clearAxisTypes","valType":"data_array"},"realsrc":{"description":"Sets the source reference on Chart Studio Cloud for `real`.","editType":"none","valType":"string"},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"subplot":{"description":"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.","dflt":"smith","editType":"calc","valType":"subplotid"},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the text font.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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. variables `real`, `imag` and `text`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scattersmith","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["smith","symbols","showLegend","scatter-like"],"meta":{"description":"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.","hrName":"scatter_smith"},"type":"scattersmith"},"scatterternary":{"animatable":false,"attributes":{"a":{"description":"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\u003ci\u003e.sum`.","editType":"calc","valType":"data_array"},"asrc":{"description":"Sets the source reference on Chart Studio Cloud for `a`.","editType":"none","valType":"string"},"b":{"description":"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\u003ci\u003e.sum`.","editType":"calc","valType":"data_array"},"bsrc":{"description":"Sets the source reference on Chart Studio Cloud for `b`.","editType":"none","valType":"string"},"c":{"description":"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\u003ci\u003e.sum`.","editType":"calc","valType":"data_array"},"cliponaxis":{"description":"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*.","dflt":true,"editType":"plot","valType":"boolean"},"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"csrc":{"description":"Sets the source reference on Chart Studio Cloud for `c`.","editType":"none","valType":"string"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"fill":{"description":"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.","dflt":"none","editType":"calc","valType":"enumerated","values":["none","toself","tonext"]},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"style","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["a","b","c","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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*.","editType":"style","flags":["points","fills"],"valType":"flaglist"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legendgroup":{"description":"Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"backoff":{"arrayOk":true,"description":"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*.","dflt":"auto","editType":"plot","min":0,"valType":"number"},"backoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `backoff`.","editType":"none","valType":"string"},"color":{"description":"Sets the line color.","editType":"style","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"calc","role":"object","shape":{"description":"Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.","dflt":"linear","editType":"plot","valType":"enumerated","values":["linear","spline"]},"smoothing":{"description":"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).","dflt":1,"editType":"plot","max":1.3,"min":0,"valType":"number"},"width":{"description":"Sets the line width (in px).","dflt":2,"editType":"style","min":0,"valType":"number"}},"marker":{"angle":{"arrayOk":true,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"plot","valType":"angle"},"angleref":{"description":"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.","dflt":"up","editType":"plot","valType":"enumerated","values":["previous","up"]},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"y":{"description":"Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","gradient":{"color":{"arrayOk":true,"description":"Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","type":{"arrayOk":true,"description":"Sets the type of gradient used to fill the markers","dflt":"none","editType":"calc","valType":"enumerated","values":["radial","horizontal","vertical","none"]},"typesrc":{"description":"Sets the source reference on Chart Studio Cloud for `type`.","editType":"none","valType":"string"}},"line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"maxdisplayed":{"description":"Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit.","dflt":0,"editType":"plot","min":0,"valType":"number"},"opacity":{"arrayOk":true,"description":"Sets the marker opacity.","editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"standoff":{"arrayOk":true,"description":"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.","dflt":0,"editType":"plot","min":0,"valType":"number"},"standoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `standoff`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"style","valType":"enumerated","values":[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"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.","dflt":"markers","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"subplot":{"description":"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.","dflt":"ternary","editType":"calc","valType":"subplotid"},"sum":{"description":"The number each triplet should sum to, if only two of `a`, `b`, and `c` are provided. This overrides `ternary\u003ci\u003e.sum` to normalize this specific trace, but does not affect the values displayed on the axes. 0 (or missing) means to use ternary\u003ci\u003e.sum","dflt":0,"editType":"calc","min":0,"valType":"number"},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the text font.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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. variables `a`, `b`, `c` and `text`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scatterternary","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["ternary","symbols","showLegend","scatter-like"],"meta":{"description":"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.","hrName":"scatter_ternary"},"type":"scatterternary"},"splom":{"animatable":false,"attributes":{"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"diagonal":{"editType":"calc","role":"object","visible":{"description":"Determines whether or not subplots on the diagonal are displayed.","dflt":true,"editType":"calc","valType":"boolean"}},"dimensions":{"items":{"dimension":{"axis":{"editType":"calc+clearAxisTypes","matches":{"description":"Determines whether or not the x \u0026 y axes generated by this dimension match. Equivalent to setting the `matches` axis attribute in the layout with the correct axis id.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","type":{"description":"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.","editType":"calc+clearAxisTypes","valType":"enumerated","values":["linear","log","date","category"]}},"editType":"calc+clearAxisTypes","label":{"description":"Sets the label corresponding to this splom dimension.","editType":"calc","valType":"string"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"values":{"description":"Sets the dimension values to be plotted.","editType":"calc+clearAxisTypes","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"},"visible":{"description":"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.","dflt":true,"editType":"calc","valType":"boolean"}}},"role":"object"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legendgroup":{"description":"Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"marker":{"angle":{"arrayOk":true,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"plot","valType":"angle"},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"style","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"style","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"y":{"description":"Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the marker opacity.","editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"markerSize","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"style","valType":"enumerated","values":[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"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"selected":{"editType":"calc","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"calc","valType":"color"},"editType":"calc","opacity":{"description":"Sets the marker opacity of selected points.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"calc","min":0,"valType":"number"}},"role":"object"},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"showlowerhalf":{"description":"Determines whether or not subplots on the lower half from the diagonal are displayed.","dflt":true,"editType":"calc","valType":"boolean"},"showupperhalf":{"description":"Determines whether or not subplots on the upper half from the diagonal are displayed.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"splom","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"calc","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"calc","valType":"color"},"editType":"calc","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"calc","min":0,"valType":"number"}},"role":"object"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"xaxes":{"description":"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.","editType":"calc","freeLength":true,"items":{"editType":"plot","regex":"/^x([2-9]|[1-9][0-9]+)?( domain)?$/","valType":"subplotid"},"valType":"info_array"},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"yaxes":{"description":"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.","editType":"calc","freeLength":true,"items":{"editType":"plot","regex":"/^y([2-9]|[1-9][0-9]+)?( domain)?$/","valType":"subplotid"},"valType":"info_array"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"}},"categories":["gl","regl","cartesian","symbols","showLegend","scatter-like"],"meta":{"description":"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. "},"type":"splom"},"streamtube":{"animatable":false,"attributes":{"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"y":{"description":"Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"x+y+z+norm+text+name","editType":"calc","extras":["all","none","skip"],"flags":["x","y","z","u","v","w","norm","divergence","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `tubex`, `tubey`, `tubez`, `tubeu`, `tubev`, `tubew`, `norm` and `divergence`. Anything contained in tag `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legendgroup":{"description":"Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"lighting":{"ambient":{"description":"Ambient light increases overall color visibility but can wash out the image.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"diffuse":{"description":"Represents the extent that incident rays are reflected in a range of angles.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"editType":"calc","facenormalsepsilon":{"description":"Epsilon for face normals calculation avoids math issues arising from degenerate geometry.","dflt":0.000001,"editType":"calc","max":1,"min":0,"valType":"number"},"fresnel":{"description":"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.","dflt":0.2,"editType":"calc","max":5,"min":0,"valType":"number"},"role":"object","roughness":{"description":"Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.","dflt":0.5,"editType":"calc","max":1,"min":0,"valType":"number"},"specular":{"description":"Represents the level that incident rays are reflected in a single direction, causing shine.","dflt":0.05,"editType":"calc","max":2,"min":0,"valType":"number"},"vertexnormalsepsilon":{"description":"Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.","dflt":1e-12,"editType":"calc","max":1,"min":0,"valType":"number"}},"lightposition":{"editType":"calc","role":"object","x":{"description":"Numeric vector, representing the X coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"y":{"description":"Numeric vector, representing the Y coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"z":{"description":"Numeric vector, representing the Z coordinate for each vertex.","dflt":0,"editType":"calc","max":100000,"min":-100000,"valType":"number"}},"maxdisplayed":{"description":"The maximum number of displayed segments in a streamtube.","dflt":1000,"editType":"calc","min":0,"valType":"integer"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"scene":{"description":"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.","dflt":"scene","editType":"calc+clearAxisTypes","valType":"subplotid"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"sizeref":{"description":"The scaling factor for the streamtubes. The default is 1, which avoids two max divergence tubes from touching at adjacent starting positions.","dflt":1,"editType":"calc","min":0,"valType":"number"},"starts":{"editType":"calc","role":"object","x":{"description":"Sets the x components of the starting position of the streamtubes","editType":"calc","valType":"data_array"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y components of the starting position of the streamtubes","editType":"calc","valType":"data_array"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"Sets the z components of the starting position of the streamtubes","editType":"calc","valType":"data_array"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"type":"streamtube","u":{"description":"Sets the x components of the vector field.","editType":"calc","valType":"data_array"},"uhoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"usrc":{"description":"Sets the source reference on Chart Studio Cloud for `u`.","editType":"none","valType":"string"},"v":{"description":"Sets the y components of the vector field.","editType":"calc","valType":"data_array"},"vhoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"vsrc":{"description":"Sets the source reference on Chart Studio Cloud for `v`.","editType":"none","valType":"string"},"w":{"description":"Sets the z components of the vector field.","editType":"calc","valType":"data_array"},"whoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"wsrc":{"description":"Sets the source reference on Chart Studio Cloud for `w`.","editType":"none","valType":"string"},"x":{"description":"Sets the x coordinates of the vector field.","editType":"calc+clearAxisTypes","valType":"data_array"},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y coordinates of the vector field.","editType":"calc+clearAxisTypes","valType":"data_array"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"Sets the z coordinates of the vector field.","editType":"calc+clearAxisTypes","valType":"data_array"},"zhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["gl3d","showLegend"],"meta":{"description":"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)."},"type":"streamtube"},"sunburst":{"animatable":true,"attributes":{"branchvalues":{"description":"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.","dflt":"remainder","editType":"calc","valType":"enumerated","values":["remainder","total"]},"count":{"description":"Determines default for `values` when it is not provided, by inferring a 1 for each of the *leaves* and/or *branches*, otherwise 0.","dflt":"leaves","editType":"calc","flags":["branches","leaves"],"valType":"flaglist"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this sunburst trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"editType":"calc","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this sunburst trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this sunburst trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this sunburst trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"label+text+value+name","editType":"none","extras":["all","none","skip"],"flags":["label","text","value","name","current path","percent root","percent entry","percent parent"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry` and `percentParent`. Anything contained in tag `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"ids":{"anim":true,"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"insidetextfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo` lying inside the sector.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"insidetextorientation":{"description":"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.","dflt":"auto","editType":"plot","valType":"enumerated","values":["horizontal","radial","tangential","auto"]},"labels":{"description":"Sets the labels of each of the sectors.","editType":"calc","valType":"data_array"},"labelssrc":{"description":"Sets the source reference on Chart Studio Cloud for `labels`.","editType":"none","valType":"string"},"leaf":{"editType":"plot","opacity":{"description":"Sets the opacity of the leaves. With colorscale it is defaulted to 1; otherwise it is defaulted to 0.7","editType":"style","max":1,"min":0,"valType":"number"},"role":"object"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"level":{"anim":true,"description":"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`.","editType":"plot","valType":"any"},"marker":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"y":{"description":"Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"}},"colors":{"description":"Sets the color of each sector of this trace. If not specified, the default trace color set is used to pick the sector colors.","editType":"calc","valType":"data_array"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorssrc":{"description":"Sets the source reference on Chart Studio Cloud for `colors`.","editType":"none","valType":"string"},"editType":"calc","line":{"color":{"arrayOk":true,"description":"Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value.","dflt":null,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the line enclosing each sector.","dflt":1,"editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"Determines whether or not a colorbar is displayed for this trace. Has an effect only if colors is set to a numerical array.","dflt":false,"editType":"calc","valType":"boolean"}},"maxdepth":{"description":"Sets the number of rendered sectors from any given `level`. Set `maxdepth` to *-1* to render all the levels in the hierarchy.","dflt":-1,"editType":"plot","valType":"integer"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"outsidetextfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"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.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"parents":{"description":"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.","editType":"calc","valType":"data_array"},"parentssrc":{"description":"Sets the source reference on Chart Studio Cloud for `parents`.","editType":"none","valType":"string"},"root":{"color":{"description":"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.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"editType":"calc","role":"object"},"rotation":{"description":"Rotates the whole diagram counterclockwise by some angle. By default the first slice starts at 3 o'clock.","dflt":0,"editType":"plot","valType":"angle"},"sort":{"description":"Determines whether or not the sectors are reordered from largest to smallest.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"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.","editType":"plot","valType":"data_array"},"textfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo`.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textinfo":{"description":"Determines which trace information appear on the graph.","editType":"plot","extras":["none"],"flags":["label","text","value","current path","percent root","percent entry","percent parent"],"valType":"flaglist"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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. variables `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry`, `percentParent`, `label` and `value`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"sunburst","uid":{"anim":true,"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"values":{"description":"Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed.","editType":"calc","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":[],"layoutAttributes":{"extendsunburstcolors":{"description":"If `true`, the sunburst slice colors (whether given by `sunburstcolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended.","dflt":true,"editType":"calc","valType":"boolean"},"sunburstcolorway":{"description":"Sets the default sunburst slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendsunburstcolors`.","editType":"calc","valType":"colorlist"}},"meta":{"description":"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*."},"type":"sunburst"},"surface":{"animatable":false,"attributes":{"_deprecated":{"zauto":{"description":"Obsolete. Use `cauto` instead.","editType":"calc"},"zmax":{"description":"Obsolete. Use `cmax` instead.","editType":"calc"},"zmin":{"description":"Obsolete. Use `cmin` instead.","editType":"calc"}},"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":false,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*.","editType":"calc","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"y":{"description":"Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*.","editType":"calc","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data are filled in.","dflt":false,"editType":"calc","valType":"boolean"},"contours":{"editType":"calc","role":"object","x":{"color":{"description":"Sets the color of the contour lines.","dflt":"#444","editType":"calc","valType":"color"},"editType":"calc","end":{"description":"Sets the end contour level value. Must be more than `contours.start`","dflt":null,"editType":"calc","valType":"number"},"highlight":{"description":"Determines whether or not contour lines about the x dimension are highlighted on hover.","dflt":true,"editType":"calc","valType":"boolean"},"highlightcolor":{"description":"Sets the color of the highlighted contour lines.","dflt":"#444","editType":"calc","valType":"color"},"highlightwidth":{"description":"Sets the width of the highlighted contour lines.","dflt":2,"editType":"calc","max":16,"min":1,"valType":"number"},"project":{"editType":"calc","role":"object","x":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"y":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"z":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"role":"object","show":{"description":"Determines whether or not contour lines about the x dimension are drawn.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"description":"Sets the step between each contour level. Must be positive.","dflt":null,"editType":"calc","min":0,"valType":"number"},"start":{"description":"Sets the starting contour level value. Must be less than `contours.end`","dflt":null,"editType":"calc","valType":"number"},"usecolormap":{"description":"An alternate to *color*. Determines whether or not the contour lines are colored using the trace *colorscale*.","dflt":false,"editType":"calc","valType":"boolean"},"width":{"description":"Sets the width of the contour lines.","dflt":2,"editType":"calc","max":16,"min":1,"valType":"number"}},"y":{"color":{"description":"Sets the color of the contour lines.","dflt":"#444","editType":"calc","valType":"color"},"editType":"calc","end":{"description":"Sets the end contour level value. Must be more than `contours.start`","dflt":null,"editType":"calc","valType":"number"},"highlight":{"description":"Determines whether or not contour lines about the y dimension are highlighted on hover.","dflt":true,"editType":"calc","valType":"boolean"},"highlightcolor":{"description":"Sets the color of the highlighted contour lines.","dflt":"#444","editType":"calc","valType":"color"},"highlightwidth":{"description":"Sets the width of the highlighted contour lines.","dflt":2,"editType":"calc","max":16,"min":1,"valType":"number"},"project":{"editType":"calc","role":"object","x":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"y":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"z":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"role":"object","show":{"description":"Determines whether or not contour lines about the y dimension are drawn.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"description":"Sets the step between each contour level. Must be positive.","dflt":null,"editType":"calc","min":0,"valType":"number"},"start":{"description":"Sets the starting contour level value. Must be less than `contours.end`","dflt":null,"editType":"calc","valType":"number"},"usecolormap":{"description":"An alternate to *color*. Determines whether or not the contour lines are colored using the trace *colorscale*.","dflt":false,"editType":"calc","valType":"boolean"},"width":{"description":"Sets the width of the contour lines.","dflt":2,"editType":"calc","max":16,"min":1,"valType":"number"}},"z":{"color":{"description":"Sets the color of the contour lines.","dflt":"#444","editType":"calc","valType":"color"},"editType":"calc","end":{"description":"Sets the end contour level value. Must be more than `contours.start`","dflt":null,"editType":"calc","valType":"number"},"highlight":{"description":"Determines whether or not contour lines about the z dimension are highlighted on hover.","dflt":true,"editType":"calc","valType":"boolean"},"highlightcolor":{"description":"Sets the color of the highlighted contour lines.","dflt":"#444","editType":"calc","valType":"color"},"highlightwidth":{"description":"Sets the width of the highlighted contour lines.","dflt":2,"editType":"calc","max":16,"min":1,"valType":"number"},"project":{"editType":"calc","role":"object","x":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"y":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"z":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"role":"object","show":{"description":"Determines whether or not contour lines about the z dimension are drawn.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"description":"Sets the step between each contour level. Must be positive.","dflt":null,"editType":"calc","min":0,"valType":"number"},"start":{"description":"Sets the starting contour level value. Must be less than `contours.end`","dflt":null,"editType":"calc","valType":"number"},"usecolormap":{"description":"An alternate to *color*. Determines whether or not the contour lines are colored using the trace *colorscale*.","dflt":false,"editType":"calc","valType":"boolean"},"width":{"description":"Sets the width of the contour lines.","dflt":2,"editType":"calc","max":16,"min":1,"valType":"number"}}},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"hidesurface":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legendgroup":{"description":"Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"lighting":{"ambient":{"description":"Ambient light increases overall color visibility but can wash out the image.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"diffuse":{"description":"Represents the extent that incident rays are reflected in a range of angles.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"editType":"calc","fresnel":{"description":"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.","dflt":0.2,"editType":"calc","max":5,"min":0,"valType":"number"},"role":"object","roughness":{"description":"Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.","dflt":0.5,"editType":"calc","max":1,"min":0,"valType":"number"},"specular":{"description":"Represents the level that incident rays are reflected in a single direction, causing shine.","dflt":0.05,"editType":"calc","max":2,"min":0,"valType":"number"}},"lightposition":{"editType":"calc","role":"object","x":{"description":"Numeric vector, representing the X coordinate for each vertex.","dflt":10,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"y":{"description":"Numeric vector, representing the Y coordinate for each vertex.","dflt":10000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"z":{"description":"Numeric vector, representing the Z coordinate for each vertex.","dflt":0,"editType":"calc","max":100000,"min":-100000,"valType":"number"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"opacityscale":{"description":"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'.","editType":"calc","valType":"any"},"reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"scene":{"description":"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.","dflt":"scene","editType":"calc+clearAxisTypes","valType":"subplotid"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"calc","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"surfacecolor":{"description":"Sets the surface color values, used for setting a color scale independent of `z`.","editType":"calc","valType":"data_array"},"surfacecolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `surfacecolor`.","editType":"none","valType":"string"},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"type":"surface","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"Sets the z coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"zcalendar":{"description":"Sets the calendar system to use with `z` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"zhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["gl3d","2dMap","showLegend"],"meta":{"description":"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`."},"type":"surface"},"table":{"animatable":false,"attributes":{"cells":{"align":{"arrayOk":true,"description":"Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more \u003cbr\u003e HTML tags) or if an explicit width is set to override the text width.","dflt":"center","editType":"calc","valType":"enumerated","values":["left","center","right"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"editType":"calc","fill":{"color":{"arrayOk":true,"description":"Sets the cell fill color. It accepts either a specific color or an array of colors or a 2D array of colors.","dflt":"white","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object"},"font":{"color":{"arrayOk":true,"editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"format":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"formatsrc":{"description":"Sets the source reference on Chart Studio Cloud for `format`.","editType":"none","valType":"string"},"height":{"description":"The height of cells.","dflt":20,"editType":"calc","valType":"number"},"line":{"color":{"arrayOk":true,"dflt":"grey","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"dflt":1,"editType":"calc","valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"prefix":{"arrayOk":true,"description":"Prefix for cell values.","dflt":null,"editType":"calc","valType":"string"},"prefixsrc":{"description":"Sets the source reference on Chart Studio Cloud for `prefix`.","editType":"none","valType":"string"},"role":"object","suffix":{"arrayOk":true,"description":"Suffix for cell values.","dflt":null,"editType":"calc","valType":"string"},"suffixsrc":{"description":"Sets the source reference on Chart Studio Cloud for `suffix`.","editType":"none","valType":"string"},"values":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"}},"columnorder":{"description":"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.","editType":"calc","valType":"data_array"},"columnordersrc":{"description":"Sets the source reference on Chart Studio Cloud for `columnorder`.","editType":"none","valType":"string"},"columnwidth":{"arrayOk":true,"description":"The width of columns expressed as a ratio. Columns fill the available width in proportion of their specified column widths.","dflt":null,"editType":"calc","valType":"number"},"columnwidthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `columnwidth`.","editType":"none","valType":"string"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this table trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"editType":"calc","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this table trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this table trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this table trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"editType":"calc","header":{"align":{"arrayOk":true,"description":"Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more \u003cbr\u003e HTML tags) or if an explicit width is set to override the text width.","dflt":"center","editType":"calc","valType":"enumerated","values":["left","center","right"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"editType":"calc","fill":{"color":{"arrayOk":true,"description":"Sets the cell fill color. It accepts either a specific color or an array of colors or a 2D array of colors.","dflt":"white","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object"},"font":{"color":{"arrayOk":true,"editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"format":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"formatsrc":{"description":"Sets the source reference on Chart Studio Cloud for `format`.","editType":"none","valType":"string"},"height":{"description":"The height of cells.","dflt":28,"editType":"calc","valType":"number"},"line":{"color":{"arrayOk":true,"dflt":"grey","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"dflt":1,"editType":"calc","valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"prefix":{"arrayOk":true,"description":"Prefix for cell values.","dflt":null,"editType":"calc","valType":"string"},"prefixsrc":{"description":"Sets the source reference on Chart Studio Cloud for `prefix`.","editType":"none","valType":"string"},"role":"object","suffix":{"arrayOk":true,"description":"Suffix for cell values.","dflt":null,"editType":"calc","valType":"string"},"suffixsrc":{"description":"Sets the source reference on Chart Studio Cloud for `suffix`.","editType":"none","valType":"string"},"values":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"}},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"type":"table","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["noOpacity"],"meta":{"description":"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."},"type":"table"},"treemap":{"animatable":true,"attributes":{"branchvalues":{"description":"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.","dflt":"remainder","editType":"calc","valType":"enumerated","values":["remainder","total"]},"count":{"description":"Determines default for `values` when it is not provided, by inferring a 1 for each of the *leaves* and/or *branches*, otherwise 0.","dflt":"leaves","editType":"calc","flags":["branches","leaves"],"valType":"flaglist"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this treemap trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"editType":"calc","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this treemap trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this treemap trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this treemap trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"label+text+value+name","editType":"none","extras":["all","none","skip"],"flags":["label","text","value","name","current path","percent root","percent entry","percent parent"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry` and `percentParent`. Anything contained in tag `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"ids":{"anim":true,"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"insidetextfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo` lying inside the sector.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"labels":{"description":"Sets the labels of each of the sectors.","editType":"calc","valType":"data_array"},"labelssrc":{"description":"Sets the source reference on Chart Studio Cloud for `labels`.","editType":"none","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"level":{"anim":true,"description":"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`.","editType":"plot","valType":"any"},"marker":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"y":{"description":"Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*.","editType":"colorbars","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"}},"colors":{"description":"Sets the color of each sector of this trace. If not specified, the default trace color set is used to pick the sector colors.","editType":"calc","valType":"data_array"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorssrc":{"description":"Sets the source reference on Chart Studio Cloud for `colors`.","editType":"none","valType":"string"},"cornerradius":{"description":"Sets the maximum rounding of corners (in px).","dflt":0,"editType":"plot","min":0,"valType":"number"},"depthfade":{"description":"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.","editType":"style","valType":"enumerated","values":[true,false,"reversed"]},"editType":"calc","line":{"color":{"arrayOk":true,"description":"Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value.","dflt":null,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the line enclosing each sector.","dflt":1,"editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"pad":{"b":{"description":"Sets the padding form the bottom (in px).","editType":"plot","min":0,"valType":"number"},"editType":"calc","l":{"description":"Sets the padding form the left (in px).","editType":"plot","min":0,"valType":"number"},"r":{"description":"Sets the padding form the right (in px).","editType":"plot","min":0,"valType":"number"},"role":"object","t":{"description":"Sets the padding form the top (in px).","editType":"plot","min":0,"valType":"number"}},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"Determines whether or not a colorbar is displayed for this trace. Has an effect only if colors is set to a numerical array.","dflt":false,"editType":"calc","valType":"boolean"}},"maxdepth":{"description":"Sets the number of rendered sectors from any given `level`. Set `maxdepth` to *-1* to render all the levels in the hierarchy.","dflt":-1,"editType":"plot","valType":"integer"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"outsidetextfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"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.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"parents":{"description":"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.","editType":"calc","valType":"data_array"},"parentssrc":{"description":"Sets the source reference on Chart Studio Cloud for `parents`.","editType":"none","valType":"string"},"pathbar":{"edgeshape":{"description":"Determines which shape is used for edges between `barpath` labels.","dflt":"\u003e","editType":"plot","valType":"enumerated","values":["\u003e","\u003c","|","/","\\"]},"editType":"calc","role":"object","side":{"description":"Determines on which side of the the treemap the `pathbar` should be presented.","dflt":"top","editType":"plot","valType":"enumerated","values":["top","bottom"]},"textfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used inside `pathbar`.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"thickness":{"description":"Sets the thickness of `pathbar` (in px). If not specified the `pathbar.textfont.size` is used with 3 pixles extra padding on each side.","editType":"plot","min":12,"valType":"number"},"visible":{"description":"Determines if the path bar is drawn i.e. outside the trace `domain` and with one pixel gap.","dflt":true,"editType":"plot","valType":"boolean"}},"root":{"color":{"description":"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.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"editType":"calc","role":"object"},"sort":{"description":"Determines whether or not the sectors are reordered from largest to smallest.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"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.","editType":"plot","valType":"data_array"},"textfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo`.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textinfo":{"description":"Determines which trace information appear on the graph.","editType":"plot","extras":["none"],"flags":["label","text","value","current path","percent root","percent entry","percent parent"],"valType":"flaglist"},"textposition":{"description":"Sets the positions of the `text` elements.","dflt":"top left","editType":"plot","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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. variables `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry`, `percentParent`, `label` and `value`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"tiling":{"editType":"calc","flip":{"description":"Determines if the positions obtained from solver are flipped on each axis.","dflt":"","editType":"plot","flags":["x","y"],"valType":"flaglist"},"packing":{"description":"Determines d3 treemap solver. For more info please refer to https://github.com/d3/d3-hierarchy#treemap-tiling","dflt":"squarify","editType":"plot","valType":"enumerated","values":["squarify","binary","dice","slice","slice-dice","dice-slice"]},"pad":{"description":"Sets the inner padding (in px).","dflt":3,"editType":"plot","min":0,"valType":"number"},"role":"object","squarifyratio":{"description":"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.","dflt":1,"editType":"plot","min":1,"valType":"number"}},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"treemap","uid":{"anim":true,"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"values":{"description":"Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed.","editType":"calc","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":[],"layoutAttributes":{"extendtreemapcolors":{"description":"If `true`, the treemap slice colors (whether given by `treemapcolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended.","dflt":true,"editType":"calc","valType":"boolean"},"treemapcolorway":{"description":"Sets the default treemap slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendtreemapcolors`.","editType":"calc","valType":"colorlist"}},"meta":{"description":"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*."},"type":"treemap"},"violin":{"animatable":false,"attributes":{"alignmentgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"bandwidth":{"description":"Sets the bandwidth used to compute the kernel density estimate. By default, the bandwidth is determined by Silverman's rule of thumb.","editType":"calc","min":0,"valType":"number"},"box":{"editType":"plot","fillcolor":{"description":"Sets the inner box plot fill color.","editType":"style","valType":"color"},"line":{"color":{"description":"Sets the inner box plot bounding line color.","editType":"style","valType":"color"},"editType":"style","role":"object","width":{"description":"Sets the inner box plot bounding line width.","editType":"style","min":0,"valType":"number"}},"role":"object","visible":{"description":"Determines if an miniature box plot is drawn inside the violins. ","dflt":false,"editType":"plot","valType":"boolean"},"width":{"description":"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.","dflt":0.25,"editType":"plot","max":1,"min":0,"valType":"number"}},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"style","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hoveron":{"description":"Do the hover effects highlight individual violins or sample points or the kernel density estimate or any combination of them?","dflt":"violins+points+kde","editType":"style","extras":["all"],"flags":["violins","points","kde"],"valType":"flaglist"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"jitter":{"description":"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.","editType":"calc","max":1,"min":0,"valType":"number"},"legendgroup":{"description":"Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"color":{"description":"Sets the color of line bounding the violin(s).","editType":"style","valType":"color"},"editType":"plot","role":"object","width":{"description":"Sets the width (in px) of line bounding the violin(s).","dflt":2,"editType":"style","min":0,"valType":"number"}},"marker":{"angle":{"arrayOk":false,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"calc","valType":"angle"},"color":{"arrayOk":false,"description":"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.","editType":"style","valType":"color"},"editType":"plot","line":{"color":{"arrayOk":false,"description":"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.","dflt":"#444","editType":"style","valType":"color"},"editType":"style","outliercolor":{"description":"Sets the border line color of the outlier sample points. Defaults to marker.color","editType":"style","valType":"color"},"outlierwidth":{"description":"Sets the border line width (in px) of the outlier sample points.","dflt":1,"editType":"style","min":0,"valType":"number"},"role":"object","width":{"arrayOk":false,"description":"Sets the width (in px) of the lines bounding the marker points.","dflt":0,"editType":"style","min":0,"valType":"number"}},"opacity":{"arrayOk":false,"description":"Sets the marker opacity.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"outliercolor":{"description":"Sets the color of the outlier sample points.","dflt":"rgba(0, 0, 0, 0)","editType":"style","valType":"color"},"role":"object","size":{"arrayOk":false,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"symbol":{"arrayOk":false,"description":"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.","dflt":"circle","editType":"plot","valType":"enumerated","values":[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"]}},"meanline":{"color":{"description":"Sets the mean line color.","editType":"style","valType":"color"},"editType":"plot","role":"object","visible":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"width":{"description":"Sets the mean line width.","editType":"style","min":0,"valType":"number"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appear 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).","editType":"calc+clearAxisTypes","valType":"string"},"offsetgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"orientation":{"description":"Sets the orientation of the violin(s). If *v* (*h*), the distribution is visualized along the vertical (horizontal).","editType":"calc+clearAxisTypes","valType":"enumerated","values":["v","h"]},"pointpos":{"description":"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.","editType":"calc","max":2,"min":-2,"valType":"number"},"points":{"description":"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*.","editType":"calc","valType":"enumerated","values":["all","outliers","suspectedoutliers",false]},"quartilemethod":{"description":"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.","dflt":"linear","editType":"calc","valType":"enumerated","values":["linear","exclusive","inclusive"]},"scalegroup":{"description":"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","dflt":"","editType":"calc","valType":"string"},"scalemode":{"description":"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.","dflt":"width","editType":"calc","valType":"enumerated","values":["width","count"]},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"style","min":0,"valType":"number"}},"role":"object"},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"side":{"description":"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*.","dflt":"both","editType":"calc","valType":"enumerated","values":["both","positive","negative"]},"span":{"description":"Sets the span in data space for which the density function will be computed. Has an effect only when `spanmode` is set to *manual*.","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"spanmode":{"description":"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.","dflt":"soft","editType":"calc","valType":"enumerated","values":["soft","hard","manual"]},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"violin","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"style","min":0,"valType":"number"}},"role":"object"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"width":{"description":"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.","dflt":0,"editType":"calc","min":0,"valType":"number"},"x":{"description":"Sets the x sample data or coordinates. See overview for more info.","editType":"calc+clearAxisTypes","valType":"data_array"},"x0":{"description":"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.","editType":"calc+clearAxisTypes","valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y sample data or coordinates. See overview for more info.","editType":"calc+clearAxisTypes","valType":"data_array"},"y0":{"description":"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.","editType":"calc+clearAxisTypes","valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"}},"categories":["cartesian","svg","symbols","oriented","box-violin","showLegend","violinLayout","zoomScale"],"layoutAttributes":{"violingap":{"description":"Sets the gap (in plot fraction) between violins of adjacent location coordinates. Has no effect on traces that have *width* set.","dflt":0.3,"editType":"calc","max":1,"min":0,"valType":"number"},"violingroupgap":{"description":"Sets the gap (in plot fraction) between violins of the same location coordinate. Has no effect on traces that have *width* set.","dflt":0.3,"editType":"calc","max":1,"min":0,"valType":"number"},"violinmode":{"description":"Determines how violins at the same location coordinate are displayed on the graph. If *group*, the violins are plotted next to one another centered around the shared location. If *overlay*, the violins are plotted over one another, you might need to set *opacity* to see them multiple violins. Has no effect on traces that have *width* set.","dflt":"overlay","editType":"calc","valType":"enumerated","values":["group","overlay"]}},"meta":{"description":"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."},"type":"violin"},"volume":{"animatable":false,"attributes":{"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"caps":{"editType":"calc","role":"object","x":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","show":{"description":"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.","dflt":true,"editType":"calc","valType":"boolean"}},"y":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","show":{"description":"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.","dflt":true,"editType":"calc","valType":"boolean"}},"z":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","show":{"description":"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.","dflt":true,"editType":"calc","valType":"boolean"}}},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*.","editType":"calc","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"y":{"description":"Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*.","editType":"calc","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"contour":{"color":{"description":"Sets the color of the contour lines.","dflt":"#444","editType":"calc","valType":"color"},"editType":"calc","role":"object","show":{"description":"Sets whether or not dynamic contours are shown on hover","dflt":false,"editType":"calc","valType":"boolean"},"width":{"description":"Sets the width of the contour lines.","dflt":2,"editType":"calc","max":16,"min":1,"valType":"number"}},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"flatshading":{"description":"Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low-poly look via flat reflections.","dflt":true,"editType":"calc","valType":"boolean"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"isomax":{"description":"Sets the maximum boundary for iso-surface plot.","editType":"calc","valType":"number"},"isomin":{"description":"Sets the minimum boundary for iso-surface plot.","editType":"calc","valType":"number"},"legendgroup":{"description":"Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"lighting":{"ambient":{"description":"Ambient light increases overall color visibility but can wash out the image.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"diffuse":{"description":"Represents the extent that incident rays are reflected in a range of angles.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"editType":"calc","facenormalsepsilon":{"description":"Epsilon for face normals calculation avoids math issues arising from degenerate geometry.","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"fresnel":{"description":"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.","dflt":0.2,"editType":"calc","max":5,"min":0,"valType":"number"},"role":"object","roughness":{"description":"Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.","dflt":0.5,"editType":"calc","max":1,"min":0,"valType":"number"},"specular":{"description":"Represents the level that incident rays are reflected in a single direction, causing shine.","dflt":0.05,"editType":"calc","max":2,"min":0,"valType":"number"},"vertexnormalsepsilon":{"description":"Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.","dflt":1e-12,"editType":"calc","max":1,"min":0,"valType":"number"}},"lightposition":{"editType":"calc","role":"object","x":{"description":"Numeric vector, representing the X coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"y":{"description":"Numeric vector, representing the Y coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"z":{"description":"Numeric vector, representing the Z coordinate for each vertex.","dflt":0,"editType":"calc","max":100000,"min":-100000,"valType":"number"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"opacityscale":{"description":"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'.","editType":"calc","valType":"any"},"reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"scene":{"description":"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.","dflt":"scene","editType":"calc+clearAxisTypes","valType":"subplotid"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"calc","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"slices":{"editType":"calc","role":"object","x":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"locations":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"locationssrc":{"description":"Sets the source reference on Chart Studio Cloud for `locations`.","editType":"none","valType":"string"},"role":"object","show":{"description":"Determines whether or not slice planes about the x dimension are drawn.","dflt":false,"editType":"calc","valType":"boolean"}},"y":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"locations":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"locationssrc":{"description":"Sets the source reference on Chart Studio Cloud for `locations`.","editType":"none","valType":"string"},"role":"object","show":{"description":"Determines whether or not slice planes about the y dimension are drawn.","dflt":false,"editType":"calc","valType":"boolean"}},"z":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"locations":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"locationssrc":{"description":"Sets the source reference on Chart Studio Cloud for `locations`.","editType":"none","valType":"string"},"role":"object","show":{"description":"Determines whether or not slice planes about the z dimension are drawn.","dflt":false,"editType":"calc","valType":"boolean"}}},"spaceframe":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","show":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"surface":{"count":{"description":"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.","dflt":2,"editType":"calc","min":1,"valType":"integer"},"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"pattern":{"description":"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.","dflt":"all","editType":"calc","extras":["all","odd","even"],"flags":["A","B","C","D","E"],"valType":"flaglist"},"role":"object","show":{"description":"Hides/displays surfaces between minimum and maximum iso-values.","dflt":true,"editType":"calc","valType":"boolean"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"type":"volume","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"value":{"description":"Sets the 4th dimension (value) of the vertices.","editType":"calc+clearAxisTypes","valType":"data_array"},"valuehoverformat":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"valuesrc":{"description":"Sets the source reference on Chart Studio Cloud for `value`.","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the X coordinates of the vertices on X axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"xhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the Y coordinates of the vertices on Y axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"yhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"Sets the Z coordinates of the vertices on Z axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"zhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["gl3d","showLegend"],"meta":{"description":"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."},"type":"volume"},"waterfall":{"animatable":false,"attributes":{"alignmentgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"base":{"arrayOk":false,"description":"Sets where the bar base is drawn (in position axis units).","dflt":null,"editType":"calc","valType":"number"},"cliponaxis":{"description":"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*.","dflt":true,"editType":"plot","valType":"boolean"},"connector":{"editType":"plot","line":{"color":{"description":"Sets the line color.","dflt":"#444","editType":"style","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"plot","role":"object","width":{"description":"Sets the line width (in px).","dflt":2,"editType":"plot","min":0,"valType":"number"}},"mode":{"description":"Sets the shape of connector lines.","dflt":"between","editType":"plot","valType":"enumerated","values":["spanning","between"]},"role":"object","visible":{"description":"Determines if connector lines are drawn. ","dflt":true,"editType":"plot","valType":"boolean"}},"constraintext":{"description":"Constrain the size of text inside or outside a bar to be no larger than the bar itself.","dflt":"both","editType":"calc","valType":"enumerated","values":["inside","outside","both","none"]},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"decreasing":{"editType":"style","marker":{"color":{"arrayOk":false,"description":"Sets the marker color of all decreasing values.","editType":"style","valType":"color"},"editType":"style","line":{"color":{"arrayOk":false,"description":"Sets the line color of all decreasing values.","editType":"style","valType":"color"},"editType":"style","role":"object","width":{"arrayOk":false,"description":"Sets the line width of all decreasing values.","dflt":0,"editType":"style","min":0,"valType":"number"}},"role":"object"},"role":"object"},"dx":{"description":"Sets the x coordinate step. See `x0` for more info.","dflt":1,"editType":"calc","valType":"number"},"dy":{"description":"Sets the y coordinate step. See `y0` for more info.","dflt":1,"editType":"calc","valType":"number"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["name","x","y","text","initial","delta","final"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `initial`, `delta` and `final`. Anything contained in tag `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"increasing":{"editType":"style","marker":{"color":{"arrayOk":false,"description":"Sets the marker color of all increasing values.","editType":"style","valType":"color"},"editType":"style","line":{"color":{"arrayOk":false,"description":"Sets the line color of all increasing values.","editType":"style","valType":"color"},"editType":"style","role":"object","width":{"arrayOk":false,"description":"Sets the line width of all increasing values.","dflt":0,"editType":"style","min":0,"valType":"number"}},"role":"object"},"role":"object"},"insidetextanchor":{"description":"Determines if texts are kept at center or start/end points in `textposition` *inside* mode.","dflt":"end","editType":"plot","valType":"enumerated","values":["end","middle","start"]},"insidetextfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `text` lying inside the bar.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"legendgroup":{"description":"Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"measure":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"measuresrc":{"description":"Sets the source reference on Chart Studio Cloud for `measure`.","editType":"none","valType":"string"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appear as the legend item and on hover.","editType":"style","valType":"string"},"offset":{"arrayOk":true,"description":"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.","dflt":null,"editType":"calc","valType":"number"},"offsetgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"offsetsrc":{"description":"Sets the source reference on Chart Studio Cloud for `offset`.","editType":"none","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"orientation":{"description":"Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal).","editType":"calc+clearAxisTypes","valType":"enumerated","values":["v","h"]},"outsidetextfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `text` lying outside the bar.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textangle":{"description":"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.","dflt":"auto","editType":"plot","valType":"angle"},"textfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `text`.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textinfo":{"arrayOk":false,"description":"Determines which trace information appear on the graph. In the case of having multiple waterfalls, totals are computed separately (per trace).","editType":"plot","extras":["none"],"flags":["label","text","initial","delta","final"],"valType":"flaglist"},"textposition":{"arrayOk":true,"description":"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.","dflt":"auto","editType":"calc","valType":"enumerated","values":["inside","outside","auto","none"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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. variables `initial`, `delta`, `final` and `label`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"totals":{"editType":"style","marker":{"color":{"arrayOk":false,"description":"Sets the marker color of all intermediate sums and total values.","editType":"style","valType":"color"},"editType":"style","line":{"color":{"arrayOk":false,"description":"Sets the line color of all intermediate sums and total values.","editType":"style","valType":"color"},"editType":"style","role":"object","width":{"arrayOk":false,"description":"Sets the line width of all intermediate sums and total values.","dflt":0,"editType":"style","min":0,"valType":"number"}},"role":"object"},"role":"object"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"waterfall","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"width":{"arrayOk":true,"description":"Sets the bar width (in position axis units).","dflt":null,"editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"},"x":{"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"x0":{"description":"Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"xperiod0":{"description":"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.","editType":"calc","valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"y0":{"description":"Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"yperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the y axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"yperiod0":{"description":"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.","editType":"calc","valType":"any"},"yperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"}},"categories":["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],"layoutAttributes":{"waterfallgap":{"description":"Sets the gap (in plot fraction) between bars of adjacent location coordinates.","editType":"calc","max":1,"min":0,"valType":"number"},"waterfallgroupgap":{"description":"Sets the gap (in plot fraction) between bars of the same location coordinate.","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"waterfallmode":{"description":"Determines how bars at the same location coordinate are displayed on the graph. With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars.","dflt":"group","editType":"calc","valType":"enumerated","values":["group","overlay"]}},"meta":{"description":"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 th *v* (the default) and the labels are set in `x`. By setting `orientation` to *h*, the roles are interchanged."},"type":"waterfall"}},"transforms":{"aggregate":{"attributes":{"aggregations":{"items":{"aggregation":{"editType":"calc","enabled":{"description":"Determines whether this aggregation function is enabled or disabled.","dflt":true,"editType":"calc","valType":"boolean"},"func":{"description":"Sets the aggregation function. All values from the linked `target`, corresponding to the same value in the `groups` array, are collected and reduced by this function. *count* is simply the number of values in the `groups` array, so does not even require the linked array to exist. *first* (*last*) is just the first (last) linked value. Invalid values are ignored, so for example in *avg* they do not contribute to either the numerator or the denominator. Any data type (numeric, date, category) may be aggregated with any function, even though in certain cases it is unlikely to make sense, for example a sum of dates or average of categories. *median* will return the average of the two central values if there is an even count. *mode* will return the first value to reach the maximum count, in case of a tie. *change* will return the difference between the first and last linked values. *range* will return the difference between the min and max linked values.","dflt":"first","editType":"calc","valType":"enumerated","values":["count","sum","avg","median","mode","rms","stddev","min","max","first","last","change","range"]},"funcmode":{"description":"*stddev* supports two formula variants: *sample* (normalize by N-1) and *population* (normalize by N).","dflt":"sample","editType":"calc","valType":"enumerated","values":["sample","population"]},"role":"object","target":{"description":"A reference to the data array in the parent trace to aggregate. To aggregate by nested variables, use *.* to access them. For example, set `groups` to *marker.color* to aggregate over the marker color array. The referenced array must already exist, unless `func` is *count*, and each array may only be referenced once.","editType":"calc","valType":"string"}}},"role":"object"},"editType":"calc","enabled":{"description":"Determines whether this aggregate transform is enabled or disabled.","dflt":true,"editType":"calc","valType":"boolean"},"groups":{"arrayOk":true,"description":"Sets the grouping target to which the aggregation is applied. Data points with matching group values will be coalesced into one point, using the supplied aggregation functions to reduce data in other data arrays. If a string, `groups` is assumed to be a reference to a data array in the parent trace object. To aggregate by nested variables, use *.* to access them. For example, set `groups` to *marker.color* to aggregate about the marker color array. If an array, `groups` is itself the data array by which we aggregate.","dflt":"x","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"groupssrc":{"description":"Sets the source reference on Chart Studio Cloud for `groups`.","editType":"none","valType":"string"}}},"filter":{"attributes":{"editType":"calc","enabled":{"description":"Determines whether this filter transform is enabled or disabled.","dflt":true,"editType":"calc","valType":"boolean"},"operation":{"description":"Sets the filter operation. *=* keeps items equal to `value` *!=* keeps items not equal to `value` *\u003c* keeps items less than `value` *\u003c=* keeps items less than or equal to `value` *\u003e* keeps items greater than `value` *\u003e=* keeps items greater than or equal to `value` *[]* keeps items inside `value[0]` to `value[1]` including both bounds *()* keeps items inside `value[0]` to `value[1]` excluding both bounds *[)* keeps items inside `value[0]` to `value[1]` including `value[0]` but excluding `value[1] *(]* keeps items inside `value[0]` to `value[1]` excluding `value[0]` but including `value[1] *][* keeps items outside `value[0]` to `value[1]` and equal to both bounds *)(* keeps items outside `value[0]` to `value[1]` *](* keeps items outside `value[0]` to `value[1]` and equal to `value[0]` *)[* keeps items outside `value[0]` to `value[1]` and equal to `value[1]` *{}* keeps items present in a set of values *}{* keeps items not present in a set of values","dflt":"=","editType":"calc","valType":"enumerated","values":["=","!=","\u003c","\u003e=","\u003e","\u003c=","[]","()","[)","(]","][",")(","](",")[","{}","}{"]},"preservegaps":{"description":"Determines whether or not gaps in data arrays produced by the filter operation are preserved. Setting this to *true* might be useful when plotting a line chart with `connectgaps` set to *false*.","dflt":false,"editType":"calc","valType":"boolean"},"target":{"arrayOk":true,"description":"Sets the filter target by which the filter is applied. If a string, `target` is assumed to be a reference to a data array in the parent trace object. To filter about nested variables, use *.* to access them. For example, set `target` to *marker.color* to filter about the marker color array. If an array, `target` is then the data array by which the filter is applied.","dflt":"x","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"targetcalendar":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. Sets the calendar system to use for `target`, if it is an array of dates. If `target` is a string (eg *x*) we use the corresponding trace attribute (eg `xcalendar`) if it exists, even if `targetcalendar` is provided.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"targetsrc":{"description":"Sets the source reference on Chart Studio Cloud for `target`.","editType":"none","valType":"string"},"value":{"description":"Sets the value or values by which to filter. Values are expected to be in the same type as the data linked to `target`. When `operation` is set to one of the comparison values (=,!=,\u003c,\u003e=,\u003e,\u003c=) `value` is expected to be a number or a string. When `operation` is set to one of the interval values ([],(),[),(],][,)(,](,)[) `value` is expected to be 2-item array where the first item is the lower bound and the second item is the upper bound. When `operation`, is set to one of the set values ({},}{) `value` is expected to be an array with as many items as the desired set elements.","dflt":0,"editType":"calc","valType":"any"},"valuecalendar":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. Sets the calendar system to use for `value`, if it is a date.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]}}},"groupby":{"attributes":{"editType":"calc","enabled":{"description":"Determines whether this group-by transform is enabled or disabled.","dflt":true,"editType":"calc","valType":"boolean"},"groups":{"description":"Sets the groups in which the trace data will be split. For example, with `x` set to *[1, 2, 3, 4]* and `groups` set to *['a', 'b', 'a', 'b']*, the groupby transform with split in one trace with `x` [1, 3] and one trace with `x` [2, 4].","dflt":[],"editType":"calc","valType":"data_array"},"groupssrc":{"description":"Sets the source reference on Chart Studio Cloud for `groups`.","editType":"none","valType":"string"},"nameformat":{"description":"Pattern by which grouped traces are named. If only one trace is present, defaults to the group name (`\"%{group}\"`), otherwise defaults to the group name with trace name (`\"%{group} (%{trace})\"`). Available escape sequences are `%{group}`, which inserts the group name, and `%{trace}`, which inserts the trace name. If grouping GDP data by country when more than one trace is present, for example, the default \"%{group} (%{trace})\" would return \"Monaco (GDP per capita)\".","editType":"calc","valType":"string"},"styles":{"items":{"style":{"editType":"calc","role":"object","target":{"description":"The group value which receives these styles.","editType":"calc","valType":"string"},"value":{"_compareAsJSON":true,"description":"Sets each group styles. For example, with `groups` set to *['a', 'b', 'a', 'b']* and `styles` set to *[{target: 'a', value: { marker: { color: 'red' } }}] marker points in group *'a'* will be drawn in red.","dflt":{},"editType":"calc","valType":"any"}}},"role":"object"}}},"sort":{"attributes":{"editType":"calc","enabled":{"description":"Determines whether this sort transform is enabled or disabled.","dflt":true,"editType":"calc","valType":"boolean"},"order":{"description":"Sets the sort transform order.","dflt":"ascending","editType":"calc","valType":"enumerated","values":["ascending","descending"]},"target":{"arrayOk":true,"description":"Sets the target by which the sort transform is applied. If a string, *target* is assumed to be a reference to a data array in the parent trace object. To sort about nested variables, use *.* to access them. For example, set `target` to *marker.size* to sort about the marker size array. If an array, *target* is then the data array by which the sort transform is applied.","dflt":"x","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"targetsrc":{"description":"Sets the source reference on Chart Studio Cloud for `target`.","editType":"none","valType":"string"}}}}}} \ No newline at end of file diff --git a/schemas/v2.29.1/plot-schema.json b/schemas/v2.29.1/plot-schema.json new file mode 100644 index 0000000..731353e --- /dev/null +++ b/schemas/v2.29.1/plot-schema.json @@ -0,0 +1 @@ +{"sha1":"11b662302a42aa0698df091a9974ac8f6e1a2292","modified":true,"schema":{"animation":{"direction":{"description":"The direction in which to play the frames triggered by the animation call","dflt":"forward","valType":"enumerated","values":["forward","reverse"]},"frame":{"duration":{"description":"The duration in milliseconds of each frame. If greater than the frame duration, it will be limited to the frame duration.","dflt":500,"min":0,"valType":"number"},"redraw":{"description":"Redraw the plot at completion of the transition. This is desirable for transitions that include properties that cannot be transitioned, but may significantly slow down updates that do not require a full redraw of the plot","dflt":true,"valType":"boolean"},"role":"object"},"fromcurrent":{"description":"Play frames starting at the current frame instead of the beginning.","dflt":false,"valType":"boolean"},"mode":{"description":"Describes how a new animate call interacts with currently-running animations. If `immediate`, current animations are interrupted and the new animation is started. If `next`, the current frame is allowed to complete, after which the new animation is started. If `afterall` all existing frames are animated to completion before the new animation is started.","dflt":"afterall","valType":"enumerated","values":["immediate","next","afterall"]},"transition":{"duration":{"description":"The duration of the transition, in milliseconds. If equal to zero, updates are synchronous.","dflt":500,"editType":"none","min":0,"valType":"number"},"easing":{"description":"The easing function used for the transition","dflt":"cubic-in-out","editType":"none","valType":"enumerated","values":["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"]},"ordering":{"description":"Determines whether the figure's layout or traces smoothly transitions during updates that make both traces and layout change.","dflt":"layout first","editType":"none","valType":"enumerated","values":["layout first","traces first"]},"role":"object"}},"config":{"autosizable":{"description":"Determines whether the graphs are plotted with respect to layout.autosize:true and infer its container size.","dflt":false,"valType":"boolean"},"displayModeBar":{"description":"Determines the mode bar display mode. If *true*, the mode bar is always visible. If *false*, the mode bar is always hidden. If *hover*, the mode bar is visible while the mouse cursor is on the graph container.","dflt":"hover","valType":"enumerated","values":["hover",true,false]},"displaylogo":{"description":"Determines whether or not the plotly logo is displayed on the end of the mode bar.","dflt":true,"valType":"boolean"},"doubleClick":{"description":"Sets the double click interaction mode. Has an effect only in cartesian plots. If *false*, double click is disable. If *reset*, double click resets the axis ranges to their initial values. If *autosize*, double click set the axis ranges to their autorange values. If *reset+autosize*, the odd double clicks resets the axis ranges to their initial values and even double clicks set the axis ranges to their autorange values.","dflt":"reset+autosize","valType":"enumerated","values":[false,"reset","autosize","reset+autosize"]},"doubleClickDelay":{"description":"Sets the delay for registering a double-click in ms. This is the time interval (in ms) between first mousedown and 2nd mouseup to constitute a double-click. This setting propagates to all on-subplot double clicks (except for geo and mapbox) and on-legend double clicks.","dflt":300,"min":0,"valType":"number"},"editSelection":{"description":"Enables moving selections.","dflt":true,"valType":"boolean"},"editable":{"description":"Determines whether the graph is editable or not. Sets all pieces of `edits` unless a separate `edits` config item overrides individual parts.","dflt":false,"valType":"boolean"},"edits":{"annotationPosition":{"description":"Determines if the main anchor of the annotation is editable. The main anchor corresponds to the text (if no arrow) or the arrow (which drags the whole thing leaving the arrow length \u0026 direction unchanged).","dflt":false,"valType":"boolean"},"annotationTail":{"description":"Has only an effect for annotations with arrows. Enables changing the length and direction of the arrow.","dflt":false,"valType":"boolean"},"annotationText":{"description":"Enables editing annotation text.","dflt":false,"valType":"boolean"},"axisTitleText":{"description":"Enables editing axis title text.","dflt":false,"valType":"boolean"},"colorbarPosition":{"description":"Enables moving colorbars.","dflt":false,"valType":"boolean"},"colorbarTitleText":{"description":"Enables editing colorbar title text.","dflt":false,"valType":"boolean"},"legendPosition":{"description":"Enables moving the legend.","dflt":false,"valType":"boolean"},"legendText":{"description":"Enables editing the trace name fields from the legend","dflt":false,"valType":"boolean"},"role":"object","shapePosition":{"description":"Enables moving shapes.","dflt":false,"valType":"boolean"},"titleText":{"description":"Enables editing the global layout title.","dflt":false,"valType":"boolean"}},"fillFrame":{"description":"When `layout.autosize` is turned on, determines whether the graph fills the container (the default) or the screen (if set to *true*).","dflt":false,"valType":"boolean"},"frameMargins":{"description":"When `layout.autosize` is turned on, set the frame margins in fraction of the graph size.","dflt":0,"max":0.5,"min":0,"valType":"number"},"globalTransforms":{"description":"Set global transform to be applied to all traces with no specification needed","dflt":[],"valType":"any"},"linkText":{"description":"Sets the text appearing in the `showLink` link.","dflt":"Edit chart","noBlank":true,"valType":"string"},"locale":{"description":"Which localization should we use? Should be a string like 'en' or 'en-US'.","dflt":"en-US","valType":"string"},"locales":{"description":"Localization definitions Locales can be provided either here (specific to one chart) or globally by registering them as modules. Should be an object of objects {locale: {dictionary: {...}, format: {...}}} { da: { dictionary: {'Reset axes': 'Nulstil aksler', ...}, format: {months: [...], shortMonths: [...]} }, ... } All parts are optional. When looking for translation or format fields, we look first for an exact match in a config locale, then in a registered module. If those fail, we strip off any regionalization ('en-US' -\u003e 'en') and try each (config, registry) again. The final fallback for translation is untranslated (which is US English) and for formats is the base English (the only consequence being the last fallback date format %x is DD/MM/YYYY instead of MM/DD/YYYY). Currently `grouping` and `currency` are ignored for our automatic number formatting, but can be used in custom formats.","dflt":{},"valType":"any"},"logging":{"description":"Turn all console logging on or off (errors will be thrown) This should ONLY be set via Plotly.setPlotConfig Available levels: 0: no logs 1: warnings and errors, but not informational messages 2: verbose logs","dflt":1,"max":2,"min":0,"valType":"integer"},"mapboxAccessToken":{"description":"Mapbox access token (required to plot mapbox trace types) If using an Mapbox Atlas server, set this option to '' so that plotly.js won't attempt to authenticate to the public Mapbox server.","dflt":null,"valType":"string"},"modeBarButtons":{"description":"Define fully custom mode bar buttons as nested array, where the outer arrays represents button groups, and the inner arrays have buttons config objects or names of default buttons See ./components/modebar/buttons.js for more info.","dflt":false,"valType":"any"},"modeBarButtonsToAdd":{"description":"Add mode bar button using config objects See ./components/modebar/buttons.js for list of arguments. To enable predefined modebar buttons e.g. shape drawing, hover and spikelines, simply provide their string name(s). This could include: *v1hovermode*, *hoverclosest*, *hovercompare*, *togglehover*, *togglespikelines*, *drawline*, *drawopenpath*, *drawclosedpath*, *drawcircle*, *drawrect* and *eraseshape*. Please note that these predefined buttons will only be shown if they are compatible with all trace types used in a graph.","dflt":[],"valType":"any"},"modeBarButtonsToRemove":{"description":"Remove mode bar buttons by name. See ./components/modebar/buttons.js for the list of names.","dflt":[],"valType":"any"},"notifyOnLogging":{"description":"Set on-graph logging (notifier) level This should ONLY be set via Plotly.setPlotConfig Available levels: 0: no on-graph logs 1: warnings and errors, but not informational messages 2: verbose logs","dflt":0,"max":2,"min":0,"valType":"integer"},"plotGlPixelRatio":{"description":"Set the pixel ratio during WebGL image export. This config option was formerly named `plot3dPixelRatio` which is now deprecated.","dflt":2,"max":4,"min":1,"valType":"number"},"plotlyServerURL":{"description":"When set it determines base URL for the 'Edit in Chart Studio' `showEditInChartStudio`/`showSendToCloud` mode bar button and the showLink/sendData on-graph link. To enable sending your data to Chart Studio Cloud, you need to set both `plotlyServerURL` to 'https://chart-studio.plotly.com' and also set `showSendToCloud` to true.","dflt":"","valType":"string"},"queueLength":{"description":"Sets the length of the undo/redo queue.","dflt":0,"min":0,"valType":"integer"},"responsive":{"description":"Determines whether to change the layout size when window is resized. In v3, this option will be removed and will always be true.","dflt":false,"valType":"boolean"},"scrollZoom":{"description":"Determines whether mouse wheel or two-finger scroll zooms is enable. Turned on by default for gl3d, geo and mapbox subplots (as these subplot types do not have zoombox via pan), but turned off by default for cartesian subplots. Set `scrollZoom` to *false* to disable scrolling for all subplots.","dflt":"gl3d+geo+mapbox","extras":[true,false],"flags":["cartesian","gl3d","geo","mapbox"],"valType":"flaglist"},"sendData":{"description":"If *showLink* is true, does it contain data just link to a Chart Studio Cloud file?","dflt":true,"valType":"boolean"},"setBackground":{"description":"Set function to add the background color (i.e. `layout.paper_color`) to a different container. This function take the graph div as first argument and the current background color as second argument. Alternatively, set to string *opaque* to ensure there is white behind it.","dflt":"transparent","valType":"any"},"showAxisDragHandles":{"description":"Set to *false* to omit cartesian axis pan/zoom drag handles.","dflt":true,"valType":"boolean"},"showAxisRangeEntryBoxes":{"description":"Set to *false* to omit direct range entry at the pan/zoom drag points, note that `showAxisDragHandles` must be enabled to have an effect.","dflt":true,"valType":"boolean"},"showEditInChartStudio":{"description":"Same as `showSendToCloud`, but use a pencil icon instead of a floppy-disk. Note that if both `showSendToCloud` and `showEditInChartStudio` are turned, only `showEditInChartStudio` will be honored.","dflt":false,"valType":"boolean"},"showLink":{"description":"Determines whether a link to Chart Studio Cloud is displayed at the bottom right corner of resulting graphs. Use with `sendData` and `linkText`.","dflt":false,"valType":"boolean"},"showSendToCloud":{"description":"Should we include a ModeBar button, labeled \"Edit in Chart Studio\", that sends this chart to chart-studio.plotly.com (formerly plot.ly) or another plotly server as specified by `plotlyServerURL` for editing, export, etc? Prior to version 1.43.0 this button was included by default, now it is opt-in using this flag. Note that this button can (depending on `plotlyServerURL` being set) send your data to an external server. However that server does not persist your data until you arrive at the Chart Studio and explicitly click \"Save\".","dflt":false,"valType":"boolean"},"showSources":{"description":"Adds a source-displaying function to show sources on the resulting graphs.","dflt":false,"valType":"any"},"showTips":{"description":"Determines whether or not tips are shown while interacting with the resulting graphs.","dflt":true,"valType":"boolean"},"staticPlot":{"description":"Determines whether the graphs are interactive or not. If *false*, no interactivity, for export or image generation.","dflt":false,"valType":"boolean"},"toImageButtonOptions":{"description":"Statically override options for toImage modebar button allowed keys are format, filename, width, height, scale see ../components/modebar/buttons.js","dflt":{},"valType":"any"},"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: \u003cpath-to-plotly.js\u003e/dist/topojson/ to render geographical feature using the topojson files that ship with the plotly.js module.","dflt":"https://cdn.plot.ly/","noBlank":true,"valType":"string"},"typesetMath":{"description":"Determines whether math should be typeset or not, when MathJax (either v2 or v3) is present on the page.","dflt":true,"valType":"boolean"},"watermark":{"description":"watermark the images with the company's logo","dflt":false,"valType":"boolean"}},"defs":{"editType":{"layout":{"description":"layout attributes should include an `editType` string matching this flaglist. *calc* is the most extensive: a full (re)plot starting by clearing `gd.calcdata` to force it to be regenerated *plot* (re)plots but without first clearing `gd.calcdata`. *legend* only redraws the legend. *ticks* only redraws axis ticks, labels, and gridlines. *axrange* minimal sequence when updating axis ranges. *layoutstyle* reapplies global and SVG cartesian axis styles. *modebar* just updates the modebar. *camera* just updates the camera settings for gl3d scenes. *arraydraw* allows component arrays to invoke the redraw routines just for the component(s) that changed. *colorbars* only redraws colorbars.","extras":["none"],"flags":["calc","plot","legend","ticks","axrange","layoutstyle","modebar","camera","arraydraw","colorbars"],"valType":"flaglist"},"traces":{"description":"trace attributes should include an `editType` string matching this flaglist. *calc* is the most extensive: a full (re)plot starting by clearing `gd.calcdata` to force it to be regenerated *clearAxisTypes* resets the types of the axes this trace is on, because new data could cause the automatic axis type detection to change. Log type will not be cleared, as that is never automatically chosen so must have been user-specified. *plot* (re)plots but without first clearing `gd.calcdata`. *style* only calls `module.style` (or module.editStyle) for all trace modules and redraws the legend. *markerSize* is like *style*, but propagate axis-range changes due to scatter `marker.size` *colorbars* only redraws colorbars.","extras":["none"],"flags":["calc","clearAxisTypes","plot","style","markerSize","colorbars"],"valType":"flaglist"}},"impliedEdits":{"description":"Sometimes when an attribute is changed, other attributes must be altered as well in order to achieve the intended result. For example, when `range` is specified, it is important to set `autorange` to `false` or the new `range` value would be lost in the redraw. `impliedEdits` is the mechanism to do this: `impliedEdits: {autorange: false}`. Each key is a relative paths to the attribute string to change, using *^* to ascend into the parent container, for example `range[0]` has `impliedEdits: {*^autorange*: false}`. A value of `undefined` means that the attribute will not be changed, but its previous value should be recorded in case we want to reverse this change later. For example, `autorange` has `impliedEdits: {*range[0]*: undefined, *range[1]*:undefined} because the range will likely be changed by redraw."},"metaKeys":["_isSubplotObj","_isLinkedToArray","_arrayAttrRegexps","_deprecated","description","role","editType","impliedEdits"],"valObjects":{"angle":{"description":"A number (in degree) between -180 and 180.","otherOpts":["dflt","arrayOk"],"requiredOpts":[]},"any":{"description":"Any type.","otherOpts":["dflt","values","arrayOk"],"requiredOpts":[]},"boolean":{"description":"A boolean (true/false) value.","otherOpts":["dflt"],"requiredOpts":[]},"color":{"description":"A string describing color. Supported formats: - hex (e.g. '#d3d3d3') - rgb (e.g. 'rgb(255, 0, 0)') - rgba (e.g. 'rgb(255, 0, 0, 0.5)') - hsl (e.g. 'hsl(0, 100%, 50%)') - hsv (e.g. 'hsv(0, 100%, 100%)') - named colors (full list: http://www.w3.org/TR/css3-color/#svg-color)","otherOpts":["dflt","arrayOk"],"requiredOpts":[]},"colorlist":{"description":"A list of colors. Must be an {array} containing valid colors.","otherOpts":["dflt"],"requiredOpts":[]},"colorscale":{"description":"A Plotly colorscale either picked by a name: (any of Greys, YlGnBu, Greens, YlOrRd, Bluered, RdBu, Reds, Blues, Picnic, Rainbow, Portland, Jet, Hot, Blackbody, Earth, Electric, Viridis, Cividis ) customized as an {array} of 2-element {arrays} where the first element is the normalized color level value (starting at *0* and ending at *1*), and the second item is a valid color string.","otherOpts":["dflt"],"requiredOpts":[]},"data_array":{"description":"An {array} of data. The value must represent an {array} or it will be ignored, but this array can be provided in several forms: (1) a regular {array} object (2) a typed array (e.g. Float32Array) (3) an object with keys dtype, bdata, and optionally shape. In this 3rd form, dtype is one of *f8*, *f4*. *i4*, *u4*, *i2*, *u2*, *i1*, *u1* or *u1c* for Uint8ClampedArray. In addition to shorthand `dtype` above one could also use the following forms: *float64*, *float32*, *int32*, *uint32*, *int16*, *uint16*, *int8*, *uint8* or *uint8c* for Uint8ClampedArray. `bdata` is either a base64-encoded string or the ArrayBuffer of an integer or float typed array. For either multi-dimensional arrays you must also provide its dimensions separated by comma via `shape`. For example using `dtype`: *f4* and `shape`: *5,100* you can declare a 2-D array that has 5 rows and 100 columns containing float32 values i.e. 4 bits per value. `shape` is optional for one dimensional arrays.","otherOpts":["dflt"],"requiredOpts":[]},"enumerated":{"description":"Enumerated value type. The available values are listed in `values`.","otherOpts":["dflt","coerceNumber","arrayOk"],"requiredOpts":["values"]},"flaglist":{"description":"A string representing a combination of flags (order does not matter here). Combine any of the available `flags` with *+*. (e.g. ('lines+markers')). Values in `extras` cannot be combined.","otherOpts":["dflt","extras","arrayOk"],"requiredOpts":["flags"]},"info_array":{"description":"An {array} of plot information.","otherOpts":["dflt","freeLength","dimensions"],"requiredOpts":["items"]},"integer":{"description":"An integer or an integer inside a string. When applicable, values greater (less) than `max` (`min`) are coerced to the `dflt`.","otherOpts":["dflt","min","max","arrayOk"],"requiredOpts":[]},"number":{"description":"A number or a numeric value (e.g. a number inside a string). When applicable, values greater (less) than `max` (`min`) are coerced to the `dflt`.","otherOpts":["dflt","min","max","arrayOk"],"requiredOpts":[]},"string":{"description":"A string value. Numbers are converted to strings except for attributes with `strict` set to true.","otherOpts":["dflt","noBlank","strict","arrayOk","values"],"requiredOpts":[]},"subplotid":{"description":"An id string of a subplot type (given by dflt), optionally followed by an integer \u003e1. e.g. if dflt='geo', we can have 'geo', 'geo2', 'geo3', ...","otherOpts":["regex"],"requiredOpts":["dflt"]}}},"frames":{"items":{"frames_entry":{"baseframe":{"description":"The name of the frame into which this frame's properties are merged before applying. This is used to unify properties and avoid needing to specify the same values for the same properties in multiple frames.","valType":"string"},"data":{"description":"A list of traces this frame modifies. The format is identical to the normal trace definition.","valType":"any"},"group":{"description":"An identifier that specifies the group to which the frame belongs, used by animate to select a subset of frames.","valType":"string"},"layout":{"description":"Layout properties which this frame modifies. The format is identical to the normal layout definition.","valType":"any"},"name":{"description":"A label by which to identify the frame","valType":"string"},"role":"object","traces":{"description":"A list of trace indices that identify the respective traces in the data attribute","valType":"any"}}},"role":"object"},"layout":{"layoutAttributes":{"_deprecated":{"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the contents of the title, please use `title.text` now.","editType":"layoutstyle","valType":"string"},"titlefont":{"color":{"editType":"layoutstyle","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"layoutstyle","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"layoutstyle","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"layoutstyle","min":1,"valType":"number"}}},"activeselection":{"editType":"none","fillcolor":{"description":"Sets the color filling the active selection' interior.","dflt":"rgba(0,0,0,0)","editType":"none","valType":"color"},"opacity":{"description":"Sets the opacity of the active selection.","dflt":0.5,"editType":"none","max":1,"min":0,"valType":"number"},"role":"object"},"activeshape":{"editType":"none","fillcolor":{"description":"Sets the color filling the active shape' interior.","dflt":"rgb(255,0,255)","editType":"none","valType":"color"},"opacity":{"description":"Sets the opacity of the active shape.","dflt":0.5,"editType":"none","max":1,"min":0,"valType":"number"},"role":"object"},"annotations":{"items":{"annotation":{"_deprecated":{"ref":{"description":"Obsolete. Set `xref` and `yref` separately instead.","editType":"calc","valType":"string"}},"align":{"description":"Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more \u003cbr\u003e HTML tags) or if an explicit width is set to override the text width.","dflt":"center","editType":"arraydraw","valType":"enumerated","values":["left","center","right"]},"arrowcolor":{"description":"Sets the color of the annotation arrow.","editType":"arraydraw","valType":"color"},"arrowhead":{"description":"Sets the end annotation arrow head style.","dflt":1,"editType":"arraydraw","max":8,"min":0,"valType":"integer"},"arrowside":{"description":"Sets the annotation arrow head position.","dflt":"end","editType":"arraydraw","extras":["none"],"flags":["end","start"],"valType":"flaglist"},"arrowsize":{"description":"Sets the size of the end annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.","dflt":1,"editType":"calc+arraydraw","min":0.3,"valType":"number"},"arrowwidth":{"description":"Sets the width (in px) of annotation arrow line.","editType":"calc+arraydraw","min":0.1,"valType":"number"},"ax":{"description":"Sets the x component of the arrow tail about the arrow head. If `axref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from right to left (left to right). If `axref` is not `pixel` and is exactly the same as `xref`, this is an absolute value on that axis, like `x`, specified in the same coordinates as `xref`.","editType":"calc+arraydraw","valType":"any"},"axref":{"description":"Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. In order for absolute positioning of the arrow to work, *axref* must be exactly the same as *xref*, otherwise *axref* will revert to *pixel* (explained next). For relative positioning, *axref* can be set to *pixel*, in which case the *ax* value is specified in pixels relative to *x*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.","dflt":"pixel","editType":"calc","valType":"enumerated","values":["pixel","/^x([2-9]|[1-9][0-9]+)?( domain)?$/"]},"ay":{"description":"Sets the y component of the arrow tail about the arrow head. If `ayref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from bottom to top (top to bottom). If `ayref` is not `pixel` and is exactly the same as `yref`, this is an absolute value on that axis, like `y`, specified in the same coordinates as `yref`.","editType":"calc+arraydraw","valType":"any"},"ayref":{"description":"Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. In order for absolute positioning of the arrow to work, *ayref* must be exactly the same as *yref*, otherwise *ayref* will revert to *pixel* (explained next). For relative positioning, *ayref* can be set to *pixel*, in which case the *ay* value is specified in pixels relative to *y*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.","dflt":"pixel","editType":"calc","valType":"enumerated","values":["pixel","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]},"bgcolor":{"description":"Sets the background color of the annotation.","dflt":"rgba(0,0,0,0)","editType":"arraydraw","valType":"color"},"bordercolor":{"description":"Sets the color of the border enclosing the annotation `text`.","dflt":"rgba(0,0,0,0)","editType":"arraydraw","valType":"color"},"borderpad":{"description":"Sets the padding (in px) between the `text` and the enclosing border.","dflt":1,"editType":"calc+arraydraw","min":0,"valType":"number"},"borderwidth":{"description":"Sets the width (in px) of the border enclosing the annotation `text`.","dflt":1,"editType":"calc+arraydraw","min":0,"valType":"number"},"captureevents":{"description":"Determines whether the annotation text box captures mouse move and click events, or allows those events to pass through to data points in the plot that may be behind the annotation. By default `captureevents` is *false* unless `hovertext` is provided. If you use the event `plotly_clickannotation` without `hovertext` you must explicitly enable `captureevents`.","editType":"arraydraw","valType":"boolean"},"clicktoshow":{"description":"Makes this annotation respond to clicks on the plot. If you click a data point that exactly matches the `x` and `y` values of this annotation, and it is hidden (visible: false), it will appear. In *onoff* mode, you must click the same point again to make it disappear, so if you click multiple points, you can show multiple annotations. In *onout* mode, a click anywhere else in the plot (on another data point or not) will hide this annotation. If you need to show/hide this annotation in response to different `x` or `y` values, you can set `xclick` and/or `yclick`. This is useful for example to label the side of a bar. To label markers though, `standoff` is preferred over `xclick` and `yclick`.","dflt":false,"editType":"arraydraw","valType":"enumerated","values":[false,"onoff","onout"]},"editType":"calc","font":{"color":{"editType":"arraydraw","valType":"color"},"description":"Sets the annotation text font.","editType":"calc+arraydraw","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc+arraydraw","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc+arraydraw","min":1,"valType":"number"}},"height":{"description":"Sets an explicit height for the text box. null (default) lets the text set the box height. Taller text will be clipped.","dflt":null,"editType":"calc+arraydraw","min":1,"valType":"number"},"hoverlabel":{"bgcolor":{"description":"Sets the background color of the hover label. By default uses the annotation's `bgcolor` made opaque, or white if it was transparent.","editType":"arraydraw","valType":"color"},"bordercolor":{"description":"Sets the border color of the hover label. By default uses either dark grey or white, for maximum contrast with `hoverlabel.bgcolor`.","editType":"arraydraw","valType":"color"},"editType":"arraydraw","font":{"color":{"editType":"arraydraw","valType":"color"},"description":"Sets the hover label text font. By default uses the global hover font and size, with color from `hoverlabel.bordercolor`.","editType":"arraydraw","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"arraydraw","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"arraydraw","min":1,"valType":"number"}},"role":"object"},"hovertext":{"description":"Sets text to appear when hovering over this annotation. If omitted or blank, no hover label will appear.","editType":"arraydraw","valType":"string"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"opacity":{"description":"Sets the opacity of the annotation (text + arrow).","dflt":1,"editType":"arraydraw","max":1,"min":0,"valType":"number"},"role":"object","showarrow":{"description":"Determines whether or not the annotation is drawn with an arrow. If *true*, `text` is placed near the arrow's tail. If *false*, `text` lines up with the `x` and `y` provided.","dflt":true,"editType":"calc+arraydraw","valType":"boolean"},"standoff":{"description":"Sets a distance, in pixels, to move the end arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.","dflt":0,"editType":"calc+arraydraw","min":0,"valType":"number"},"startarrowhead":{"description":"Sets the start annotation arrow head style.","dflt":1,"editType":"arraydraw","max":8,"min":0,"valType":"integer"},"startarrowsize":{"description":"Sets the size of the start annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.","dflt":1,"editType":"calc+arraydraw","min":0.3,"valType":"number"},"startstandoff":{"description":"Sets a distance, in pixels, to move the start arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.","dflt":0,"editType":"calc+arraydraw","min":0,"valType":"number"},"templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"text":{"description":"Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (\u003cbr\u003e), bold (\u003cb\u003e\u003c/b\u003e), italics (\u003ci\u003e\u003c/i\u003e), hyperlinks (\u003ca href='...'\u003e\u003c/a\u003e). Tags \u003cem\u003e, \u003csup\u003e, \u003csub\u003e \u003cspan\u003e are also supported.","editType":"calc+arraydraw","valType":"string"},"textangle":{"description":"Sets the angle at which the `text` is drawn with respect to the horizontal.","dflt":0,"editType":"calc+arraydraw","valType":"angle"},"valign":{"description":"Sets the vertical alignment of the `text` within the box. Has an effect only if an explicit height is set to override the text height.","dflt":"middle","editType":"arraydraw","valType":"enumerated","values":["top","middle","bottom"]},"visible":{"description":"Determines whether or not this annotation is visible.","dflt":true,"editType":"calc+arraydraw","valType":"boolean"},"width":{"description":"Sets an explicit width for the text box. null (default) lets the text set the box width. Wider text will be clipped. There is no automatic wrapping; use \u003cbr\u003e to start a new line.","dflt":null,"editType":"calc+arraydraw","min":1,"valType":"number"},"x":{"description":"Sets the annotation's x position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.","editType":"calc+arraydraw","valType":"any"},"xanchor":{"description":"Sets the text box's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the annotation. For example, if `x` is set to 1, `xref` to *paper* and `xanchor` to *right* then the right-most portion of the annotation lines up with the right-most edge of the plotting area. If *auto*, the anchor is equivalent to *center* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.","dflt":"auto","editType":"calc+arraydraw","valType":"enumerated","values":["auto","left","center","right"]},"xclick":{"description":"Toggle this annotation when clicking a data point whose `x` value is `xclick` rather than the annotation's `x` value.","editType":"arraydraw","valType":"any"},"xref":{"description":"Sets the annotation's x coordinate axis. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis.","editType":"calc","valType":"enumerated","values":["paper","/^x([2-9]|[1-9][0-9]+)?( domain)?$/"]},"xshift":{"description":"Shifts the position of the whole annotation and arrow to the right (positive) or left (negative) by this many pixels.","dflt":0,"editType":"calc+arraydraw","valType":"number"},"y":{"description":"Sets the annotation's y position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.","editType":"calc+arraydraw","valType":"any"},"yanchor":{"description":"Sets the text box's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the annotation. For example, if `y` is set to 1, `yref` to *paper* and `yanchor` to *top* then the top-most portion of the annotation lines up with the top-most edge of the plotting area. If *auto*, the anchor is equivalent to *middle* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.","dflt":"auto","editType":"calc+arraydraw","valType":"enumerated","values":["auto","top","middle","bottom"]},"yclick":{"description":"Toggle this annotation when clicking a data point whose `y` value is `yclick` rather than the annotation's `y` value.","editType":"arraydraw","valType":"any"},"yref":{"description":"Sets the annotation's y coordinate axis. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis.","editType":"calc","valType":"enumerated","values":["paper","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]},"yshift":{"description":"Shifts the position of the whole annotation and arrow up (positive) or down (negative) by this many pixels.","dflt":0,"editType":"calc+arraydraw","valType":"number"}}},"role":"object"},"autosize":{"description":"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.","dflt":false,"editType":"none","valType":"boolean"},"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"calc","valType":"enumerated","values":["convert types","strict"]},"calendar":{"description":"Sets the default calendar system to use for interpreting and displaying dates throughout the plot.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"clickmode":{"description":"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.","dflt":"event","editType":"plot","extras":["none"],"flags":["event","select"],"valType":"flaglist"},"coloraxis":{"_isSubplotObj":true,"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"Determines whether or not the color domain is computed with respect to the input data (here corresponding trace color array(s)) or the bounds set in `cmin` and `cmax` Defaults to `false` when `cmin` and `cmax` are set by the user.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"Sets the upper bound of the color domain. Value should have the same units as corresponding trace color array(s) and if set, `cmin` must be set as well.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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 corresponding trace color array(s). Has no effect when `cauto` is `false`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"Sets the lower bound of the color domain. Value should have the same units as corresponding trace color array(s) and if set, `cmax` must be set as well.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"description":"","editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"}},"colorscale":{"diverging":{"description":"Sets the default diverging colorscale. Note that `autocolorscale` must be true for this attribute to work.","dflt":[[0,"rgb(5,10,172)"],[0.35,"rgb(106,137,247)"],[0.5,"rgb(190,190,190)"],[0.6,"rgb(220,170,132)"],[0.7,"rgb(230,145,90)"],[1,"rgb(178,10,28)"]],"editType":"calc","valType":"colorscale"},"editType":"calc","role":"object","sequential":{"description":"Sets the default sequential colorscale for positive values. Note that `autocolorscale` must be true for this attribute to work.","dflt":[[0,"rgb(220,220,220)"],[0.2,"rgb(245,195,157)"],[0.4,"rgb(245,160,105)"],[1,"rgb(178,10,28)"]],"editType":"calc","valType":"colorscale"},"sequentialminus":{"description":"Sets the default sequential colorscale for negative values. Note that `autocolorscale` must be true for this attribute to work.","dflt":[[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)"]],"editType":"calc","valType":"colorscale"}},"colorway":{"description":"Sets the default trace colors.","dflt":["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],"editType":"calc","valType":"colorlist"},"computed":{"description":"Placeholder for exporting automargin-impacting values namely `margin.t`, `margin.b`, `margin.l` and `margin.r` in *full-json* mode.","editType":"none","valType":"any"},"datarevision":{"description":"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.","editType":"calc","valType":"any"},"dragmode":{"description":"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.","dflt":"zoom","editType":"modebar","valType":"enumerated","values":["zoom","pan","select","lasso","drawclosedpath","drawopenpath","drawline","drawrect","drawcircle","orbit","turntable",false]},"editType":"calc","editrevision":{"description":"Controls persistence of user-driven changes in `editable: true` configuration, other than trace names and axis titles. Defaults to `layout.uirevision`.","editType":"none","valType":"any"},"font":{"color":{"dflt":"#444","editType":"calc","valType":"color"},"description":"Sets the global font. Note that fonts used in traces and other layout components inherit from the global font.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","dflt":"\"Open Sans\", verdana, arial, sans-serif","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"dflt":12,"editType":"calc","min":1,"valType":"number"}},"geo":{"_isSubplotObj":true,"bgcolor":{"description":"Set the background color of the map","dflt":"#fff","editType":"plot","valType":"color"},"center":{"editType":"plot","lat":{"description":"Sets the latitude of the map's center. For all projection types, the map's latitude center lies at the middle of the latitude range by default.","editType":"plot","valType":"number"},"lon":{"description":"Sets the longitude of the map's center. By default, the map's longitude center lies at the middle of the longitude range for scoped projection and above `projection.rotation.lon` otherwise.","editType":"plot","valType":"number"},"role":"object"},"coastlinecolor":{"description":"Sets the coastline color.","dflt":"#444","editType":"plot","valType":"color"},"coastlinewidth":{"description":"Sets the coastline stroke width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"countrycolor":{"description":"Sets line color of the country boundaries.","dflt":"#444","editType":"plot","valType":"color"},"countrywidth":{"description":"Sets line width (in px) of the country boundaries.","dflt":1,"editType":"plot","min":0,"valType":"number"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this geo subplot . Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both.","dflt":0,"editType":"plot","min":0,"valType":"integer"},"editType":"plot","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this geo subplot . Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both.","dflt":0,"editType":"plot","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this geo subplot (in plot fraction). Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both.","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this geo subplot (in plot fraction). Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both.","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"editType":"plot","fitbounds":{"description":"Determines if this subplot's view settings are auto-computed to fit trace data. On scoped maps, setting `fitbounds` leads to `center.lon` and `center.lat` getting auto-filled. On maps with a non-clipped projection, setting `fitbounds` leads to `center.lon`, `center.lat`, and `projection.rotation.lon` getting auto-filled. On maps with a clipped projection, setting `fitbounds` leads to `center.lon`, `center.lat`, `projection.rotation.lon`, `projection.rotation.lat`, `lonaxis.range` and `lonaxis.range` getting auto-filled. If *locations*, only the trace's visible locations are considered in the `fitbounds` computations. If *geojson*, the entire trace input `geojson` (if provided) is considered in the `fitbounds` computations, Defaults to *false*.","dflt":false,"editType":"plot","valType":"enumerated","values":[false,"locations","geojson"]},"framecolor":{"description":"Sets the color the frame.","dflt":"#444","editType":"plot","valType":"color"},"framewidth":{"description":"Sets the stroke width (in px) of the frame.","dflt":1,"editType":"plot","min":0,"valType":"number"},"lakecolor":{"description":"Sets the color of the lakes.","dflt":"#3399FF","editType":"plot","valType":"color"},"landcolor":{"description":"Sets the land mass color.","dflt":"#F0DC82","editType":"plot","valType":"color"},"lataxis":{"dtick":{"description":"Sets the graticule's longitude/latitude tick step.","editType":"plot","valType":"number"},"editType":"plot","gridcolor":{"description":"Sets the graticule's stroke color.","dflt":"#eee","editType":"plot","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"plot","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the graticule's stroke width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"range":{"description":"Sets the range of this axis (in degrees), sets the map's clipped coordinates.","editType":"plot","items":[{"editType":"plot","valType":"number"},{"editType":"plot","valType":"number"}],"valType":"info_array"},"role":"object","showgrid":{"description":"Sets whether or not graticule are shown on the map.","dflt":false,"editType":"plot","valType":"boolean"},"tick0":{"description":"Sets the graticule's starting tick longitude/latitude.","dflt":0,"editType":"plot","valType":"number"}},"lonaxis":{"dtick":{"description":"Sets the graticule's longitude/latitude tick step.","editType":"plot","valType":"number"},"editType":"plot","gridcolor":{"description":"Sets the graticule's stroke color.","dflt":"#eee","editType":"plot","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"plot","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the graticule's stroke width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"range":{"description":"Sets the range of this axis (in degrees), sets the map's clipped coordinates.","editType":"plot","items":[{"editType":"plot","valType":"number"},{"editType":"plot","valType":"number"}],"valType":"info_array"},"role":"object","showgrid":{"description":"Sets whether or not graticule are shown on the map.","dflt":false,"editType":"plot","valType":"boolean"},"tick0":{"description":"Sets the graticule's starting tick longitude/latitude.","dflt":0,"editType":"plot","valType":"number"}},"oceancolor":{"description":"Sets the ocean color","dflt":"#3399FF","editType":"plot","valType":"color"},"projection":{"distance":{"description":"For satellite projection type only. Sets the distance from the center of the sphere to the point of view as a proportion of the sphere’s radius.","dflt":2,"editType":"plot","min":1.001,"valType":"number"},"editType":"plot","parallels":{"description":"For conic projection types only. Sets the parallels (tangent, secant) where the cone intersects the sphere.","editType":"plot","items":[{"editType":"plot","valType":"number"},{"editType":"plot","valType":"number"}],"valType":"info_array"},"role":"object","rotation":{"editType":"plot","lat":{"description":"Rotates the map along meridians (in degrees North).","editType":"plot","valType":"number"},"lon":{"description":"Rotates the map along parallels (in degrees East). Defaults to the center of the `lonaxis.range` values.","editType":"plot","valType":"number"},"role":"object","roll":{"description":"Roll the map (in degrees) For example, a roll of *180* makes the map appear upside down.","editType":"plot","valType":"number"}},"scale":{"description":"Zooms in or out on the map view. A scale of *1* corresponds to the largest zoom level that fits the map's lon and lat ranges. ","dflt":1,"editType":"plot","min":0,"valType":"number"},"tilt":{"description":"For satellite projection type only. Sets the tilt angle of perspective projection.","dflt":0,"editType":"plot","valType":"number"},"type":{"description":"Sets the projection type.","editType":"plot","valType":"enumerated","values":["airy","aitoff","albers","albers usa","august","azimuthal equal area","azimuthal equidistant","baker","bertin1953","boggs","bonne","bottomley","bromley","collignon","conic conformal","conic equal area","conic equidistant","craig","craster","cylindrical equal area","cylindrical stereographic","eckert1","eckert2","eckert3","eckert4","eckert5","eckert6","eisenlohr","equal earth","equirectangular","fahey","foucaut","foucaut sinusoidal","ginzburg4","ginzburg5","ginzburg6","ginzburg8","ginzburg9","gnomonic","gringorten","gringorten quincuncial","guyou","hammer","hill","homolosine","hufnagel","hyperelliptical","kavrayskiy7","lagrange","larrivee","laskowski","loximuthal","mercator","miller","mollweide","mt flat polar parabolic","mt flat polar quartic","mt flat polar sinusoidal","natural earth","natural earth1","natural earth2","nell hammer","nicolosi","orthographic","patterson","peirce quincuncial","polyconic","rectangular polyconic","robinson","satellite","sinu mollweide","sinusoidal","stereographic","times","transverse mercator","van der grinten","van der grinten2","van der grinten3","van der grinten4","wagner4","wagner6","wiechel","winkel tripel","winkel3"]}},"resolution":{"coerceNumber":true,"description":"Sets the resolution of the base layers. The values have units of km/mm e.g. 110 corresponds to a scale ratio of 1:110,000,000.","dflt":110,"editType":"plot","valType":"enumerated","values":[110,50]},"rivercolor":{"description":"Sets color of the rivers.","dflt":"#3399FF","editType":"plot","valType":"color"},"riverwidth":{"description":"Sets the stroke width (in px) of the rivers.","dflt":1,"editType":"plot","min":0,"valType":"number"},"role":"object","scope":{"description":"Set the scope of the map.","dflt":"world","editType":"plot","valType":"enumerated","values":["africa","asia","europe","north america","south america","usa","world"]},"showcoastlines":{"description":"Sets whether or not the coastlines are drawn.","editType":"plot","valType":"boolean"},"showcountries":{"description":"Sets whether or not country boundaries are drawn.","editType":"plot","valType":"boolean"},"showframe":{"description":"Sets whether or not a frame is drawn around the map.","editType":"plot","valType":"boolean"},"showlakes":{"description":"Sets whether or not lakes are drawn.","dflt":false,"editType":"plot","valType":"boolean"},"showland":{"description":"Sets whether or not land masses are filled in color.","dflt":false,"editType":"plot","valType":"boolean"},"showocean":{"description":"Sets whether or not oceans are filled in color.","dflt":false,"editType":"plot","valType":"boolean"},"showrivers":{"description":"Sets whether or not rivers are drawn.","dflt":false,"editType":"plot","valType":"boolean"},"showsubunits":{"description":"Sets whether or not boundaries of subunits within countries (e.g. states, provinces) are drawn.","editType":"plot","valType":"boolean"},"subunitcolor":{"description":"Sets the color of the subunits boundaries.","dflt":"#444","editType":"plot","valType":"color"},"subunitwidth":{"description":"Sets the stroke width (in px) of the subunits boundaries.","dflt":1,"editType":"plot","min":0,"valType":"number"},"uirevision":{"description":"Controls persistence of user-driven changes in the view (projection and center). Defaults to `layout.uirevision`.","editType":"none","valType":"any"},"visible":{"description":"Sets the default visibility of the base layers.","dflt":true,"editType":"plot","valType":"boolean"}},"grid":{"columns":{"description":"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.","editType":"plot","min":1,"valType":"integer"},"domain":{"editType":"plot","role":"object","x":{"description":"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.","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"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.","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"editType":"plot","pattern":{"description":"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`.","dflt":"coupled","editType":"plot","valType":"enumerated","values":["independent","coupled"]},"role":"object","roworder":{"description":"Is the first row the top or the bottom? Note that columns are always enumerated from left to right.","dflt":"top to bottom","editType":"plot","valType":"enumerated","values":["top to bottom","bottom to top"]},"rows":{"description":"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.","editType":"plot","min":1,"valType":"integer"},"subplots":{"description":"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.","dimensions":2,"editType":"plot","freeLength":true,"items":{"editType":"plot","valType":"enumerated","values":["/^x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?$/",""]},"valType":"info_array"},"xaxes":{"description":"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.","editType":"plot","freeLength":true,"items":{"editType":"plot","valType":"enumerated","values":["/^x([2-9]|[1-9][0-9]+)?( domain)?$/",""]},"valType":"info_array"},"xgap":{"description":"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.","editType":"plot","max":1,"min":0,"valType":"number"},"xside":{"description":"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.","dflt":"bottom plot","editType":"plot","valType":"enumerated","values":["bottom","bottom plot","top plot","top"]},"yaxes":{"description":"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.","editType":"plot","freeLength":true,"items":{"editType":"plot","valType":"enumerated","values":["/^y([2-9]|[1-9][0-9]+)?( domain)?$/",""]},"valType":"info_array"},"ygap":{"description":"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.","editType":"plot","max":1,"min":0,"valType":"number"},"yside":{"description":"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.","dflt":"left plot","editType":"plot","valType":"enumerated","values":["left","left plot","right plot","right"]}},"height":{"description":"Sets the plot's height (in px).","dflt":450,"editType":"plot","min":10,"valType":"number"},"hidesources":{"description":"Determines whether or not a text link citing the data source is placed at the bottom-right cored of the figure. Has only an effect only on graphs that have been generated via forked graphs from the Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise).","dflt":false,"editType":"plot","valType":"boolean"},"hoverdistance":{"description":"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.","dflt":20,"editType":"none","min":-1,"valType":"integer"},"hoverlabel":{"align":{"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"bgcolor":{"description":"Sets the background color of all hover labels on graph","editType":"none","valType":"color"},"bordercolor":{"description":"Sets the border color of all hover labels on graph.","editType":"none","valType":"color"},"editType":"none","font":{"color":{"editType":"none","valType":"color"},"description":"Sets the default hover label font used by all traces on the graph.","editType":"none","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","dflt":"Arial, sans-serif","editType":"none","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"dflt":13,"editType":"none","min":1,"valType":"number"}},"grouptitlefont":{"color":{"editType":"none","valType":"color"},"description":"Sets the font for group titles in hover (unified modes). Defaults to `hoverlabel.font`.","editType":"none","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"none","min":1,"valType":"number"}},"namelength":{"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"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.","dflt":"closest","editType":"modebar","valType":"enumerated","values":["x","y","closest",false,"x unified","y unified"]},"images":{"items":{"image":{"editType":"arraydraw","layer":{"description":"Specifies whether images are drawn below or above traces. When `xref` and `yref` are both set to `paper`, image is drawn below the entire plot area.","dflt":"above","editType":"arraydraw","valType":"enumerated","values":["below","above"]},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"opacity":{"description":"Sets the opacity of the image.","dflt":1,"editType":"arraydraw","max":1,"min":0,"valType":"number"},"role":"object","sizex":{"description":"Sets the image container size horizontally. The image will be sized based on the `position` value. When `xref` is set to `paper`, units are sized relative to the plot width. When `xref` ends with ` domain`, units are sized relative to the axis width.","dflt":0,"editType":"arraydraw","valType":"number"},"sizey":{"description":"Sets the image container size vertically. The image will be sized based on the `position` value. When `yref` is set to `paper`, units are sized relative to the plot height. When `yref` ends with ` domain`, units are sized relative to the axis height.","dflt":0,"editType":"arraydraw","valType":"number"},"sizing":{"description":"Specifies which dimension of the image to constrain.","dflt":"contain","editType":"arraydraw","valType":"enumerated","values":["fill","contain","stretch"]},"source":{"description":"Specifies the URL of the image to be used. The URL must be accessible from the domain where the plot code is run, and can be either relative or absolute.","editType":"arraydraw","valType":"string"},"templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"visible":{"description":"Determines whether or not this image is visible.","dflt":true,"editType":"arraydraw","valType":"boolean"},"x":{"description":"Sets the image's x position. When `xref` is set to `paper`, units are sized relative to the plot height. See `xref` for more info","dflt":0,"editType":"arraydraw","valType":"any"},"xanchor":{"description":"Sets the anchor for the x position","dflt":"left","editType":"arraydraw","valType":"enumerated","values":["left","center","right"]},"xref":{"description":"Sets the images'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.","dflt":"paper","editType":"arraydraw","valType":"enumerated","values":["paper","/^x([2-9]|[1-9][0-9]+)?( domain)?$/"]},"y":{"description":"Sets the image's y position. When `yref` is set to `paper`, units are sized relative to the plot height. See `yref` for more info","dflt":0,"editType":"arraydraw","valType":"any"},"yanchor":{"description":"Sets the anchor for the y position.","dflt":"top","editType":"arraydraw","valType":"enumerated","values":["top","middle","bottom"]},"yref":{"description":"Sets the images's y coordinate axis. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis.","dflt":"paper","editType":"arraydraw","valType":"enumerated","values":["paper","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]}}},"role":"object"},"legend":{"_isSubplotObj":true,"bgcolor":{"description":"Sets the legend background color. Defaults to `layout.paper_bgcolor`.","editType":"legend","valType":"color"},"bordercolor":{"description":"Sets the color of the border enclosing the legend.","dflt":"#444","editType":"legend","valType":"color"},"borderwidth":{"description":"Sets the width (in px) of the border enclosing the legend.","dflt":0,"editType":"legend","min":0,"valType":"number"},"editType":"legend","entrywidth":{"description":"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*.","editType":"legend","min":0,"valType":"number"},"entrywidthmode":{"description":"Determines what entrywidth means.","dflt":"pixels","editType":"legend","valType":"enumerated","values":["fraction","pixels"]},"font":{"color":{"editType":"legend","valType":"color"},"description":"Sets the font used to text the legend items.","editType":"legend","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"legend","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"legend","min":1,"valType":"number"}},"groupclick":{"description":"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.","dflt":"togglegroup","editType":"legend","valType":"enumerated","values":["toggleitem","togglegroup"]},"grouptitlefont":{"color":{"editType":"legend","valType":"color"},"description":"Sets the font for group titles in legend. Defaults to `legend.font` with its size increased about 10%.","editType":"legend","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"legend","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"legend","min":1,"valType":"number"}},"itemclick":{"description":"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.","dflt":"toggle","editType":"legend","valType":"enumerated","values":["toggle","toggleothers",false]},"itemdoubleclick":{"description":"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.","dflt":"toggleothers","editType":"legend","valType":"enumerated","values":["toggle","toggleothers",false]},"itemsizing":{"description":"Determines if the legend items symbols scale with their corresponding *trace* attributes or remain *constant* independent of the symbol size on the graph.","dflt":"trace","editType":"legend","valType":"enumerated","values":["trace","constant"]},"itemwidth":{"description":"Sets the width (in px) of the legend item symbols (the part other than the title.text).","dflt":30,"editType":"legend","min":30,"valType":"number"},"orientation":{"description":"Sets the orientation of the legend.","dflt":"v","editType":"legend","valType":"enumerated","values":["v","h"]},"role":"object","title":{"editType":"legend","font":{"color":{"editType":"legend","valType":"color"},"description":"Sets this legend's title font. Defaults to `legend.font` with its size increased about 20%.","editType":"legend","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"legend","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"legend","min":1,"valType":"number"}},"role":"object","side":{"description":"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.","editType":"legend","valType":"enumerated","values":["top","left","top left","top center","top right"]},"text":{"description":"Sets the title of the legend.","dflt":"","editType":"legend","valType":"string"}},"tracegroupgap":{"description":"Sets the amount of vertical space (in px) between legend groups.","dflt":10,"editType":"legend","min":0,"valType":"number"},"traceorder":{"description":"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*.","editType":"legend","extras":["normal"],"flags":["reversed","grouped"],"valType":"flaglist"},"uirevision":{"description":"Controls persistence of legend-driven changes in trace and pie label visibility. Defaults to `layout.uirevision`.","editType":"none","valType":"any"},"valign":{"description":"Sets the vertical alignment of the symbols with respect to their associated text.","dflt":"middle","editType":"legend","valType":"enumerated","values":["top","middle","bottom"]},"visible":{"description":"Determines whether or not this legend is visible.","dflt":true,"editType":"legend","valType":"boolean"},"x":{"description":"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*.","editType":"legend","valType":"number"},"xanchor":{"description":"Sets the legend's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the legend. 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.","dflt":"left","editType":"legend","valType":"enumerated","values":["auto","left","center","right"]},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"layoutstyle","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"legend","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.","editType":"legend","valType":"enumerated","values":["auto","top","middle","bottom"]},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"layoutstyle","valType":"enumerated","values":["container","paper"]}},"mapbox":{"_arrayAttrRegexps":[{}],"_isSubplotObj":true,"accesstoken":{"description":"Sets the mapbox access token to be used for this mapbox map. Alternatively, the mapbox access token can be set in the configuration options under `mapboxAccessToken`. Note that accessToken are only required when `style` (e.g with values : basic, streets, outdoors, light, dark, satellite, satellite-streets ) and/or a layout layer references the Mapbox server.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"bearing":{"description":"Sets the bearing angle of the map in degrees counter-clockwise from North (mapbox.bearing).","dflt":0,"editType":"plot","valType":"number"},"bounds":{"east":{"description":"Sets the maximum longitude of the map (in degrees East) if `west`, `south` and `north` are declared.","editType":"plot","valType":"number"},"editType":"plot","north":{"description":"Sets the maximum latitude of the map (in degrees North) if `east`, `west` and `south` are declared.","editType":"plot","valType":"number"},"role":"object","south":{"description":"Sets the minimum latitude of the map (in degrees North) if `east`, `west` and `north` are declared.","editType":"plot","valType":"number"},"west":{"description":"Sets the minimum longitude of the map (in degrees East) if `east`, `south` and `north` are declared.","editType":"plot","valType":"number"}},"center":{"editType":"plot","lat":{"description":"Sets the latitude of the center of the map (in degrees North).","dflt":0,"editType":"plot","valType":"number"},"lon":{"description":"Sets the longitude of the center of the map (in degrees East).","dflt":0,"editType":"plot","valType":"number"},"role":"object"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this mapbox subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"editType":"plot","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this mapbox subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this mapbox subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this mapbox subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"editType":"plot","layers":{"items":{"layer":{"below":{"description":"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.","editType":"plot","valType":"string"},"circle":{"editType":"plot","radius":{"description":"Sets the circle radius (mapbox.layer.paint.circle-radius). Has an effect only when `type` is set to *circle*.","dflt":15,"editType":"plot","valType":"number"},"role":"object"},"color":{"description":"Sets the primary layer color. If `type` is *circle*, color corresponds to the circle color (mapbox.layer.paint.circle-color) If `type` is *line*, color corresponds to the line color (mapbox.layer.paint.line-color) If `type` is *fill*, color corresponds to the fill color (mapbox.layer.paint.fill-color) If `type` is *symbol*, color corresponds to the icon color (mapbox.layer.paint.icon-color)","dflt":"#444","editType":"plot","valType":"color"},"coordinates":{"description":"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`.","editType":"plot","valType":"any"},"editType":"plot","fill":{"editType":"plot","outlinecolor":{"description":"Sets the fill outline color (mapbox.layer.paint.fill-outline-color). Has an effect only when `type` is set to *fill*.","dflt":"#444","editType":"plot","valType":"color"},"role":"object"},"line":{"dash":{"description":"Sets the length of dashes and gaps (mapbox.layer.paint.line-dasharray). Has an effect only when `type` is set to *line*.","editType":"plot","valType":"data_array"},"dashsrc":{"description":"Sets the source reference on Chart Studio Cloud for `dash`.","editType":"none","valType":"string"},"editType":"plot","role":"object","width":{"description":"Sets the line width (mapbox.layer.paint.line-width). Has an effect only when `type` is set to *line*.","dflt":2,"editType":"plot","valType":"number"}},"maxzoom":{"description":"Sets the maximum zoom level (mapbox.layer.maxzoom). At zoom levels equal to or greater than the maxzoom, the layer will be hidden.","dflt":24,"editType":"plot","max":24,"min":0,"valType":"number"},"minzoom":{"description":"Sets the minimum zoom level (mapbox.layer.minzoom). At zoom levels less than the minzoom, the layer will be hidden.","dflt":0,"editType":"plot","max":24,"min":0,"valType":"number"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"opacity":{"description":"Sets the opacity of the layer. If `type` is *circle*, opacity corresponds to the circle opacity (mapbox.layer.paint.circle-opacity) If `type` is *line*, opacity corresponds to the line opacity (mapbox.layer.paint.line-opacity) If `type` is *fill*, opacity corresponds to the fill opacity (mapbox.layer.paint.fill-opacity) If `type` is *symbol*, opacity corresponds to the icon/text opacity (mapbox.layer.paint.text-opacity)","dflt":1,"editType":"plot","max":1,"min":0,"valType":"number"},"role":"object","source":{"description":"Sets the source data for this layer (mapbox.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.","editType":"plot","valType":"any"},"sourceattribution":{"description":"Sets the attribution for this source.","editType":"plot","valType":"string"},"sourcelayer":{"description":"Specifies the layer to use from a vector tile source (mapbox.layer.source-layer). Required for *vector* source type that supports multiple layers.","dflt":"","editType":"plot","valType":"string"},"sourcetype":{"description":"Sets the source type for this layer, that is the type of the layer data.","dflt":"geojson","editType":"plot","valType":"enumerated","values":["geojson","vector","raster","image"]},"symbol":{"editType":"plot","icon":{"description":"Sets the symbol icon image (mapbox.layer.layout.icon-image). Full list: https://www.mapbox.com/maki-icons/","dflt":"marker","editType":"plot","valType":"string"},"iconsize":{"description":"Sets the symbol icon size (mapbox.layer.layout.icon-size). Has an effect only when `type` is set to *symbol*.","dflt":10,"editType":"plot","valType":"number"},"placement":{"description":"Sets the symbol and/or text placement (mapbox.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","dflt":"point","editType":"plot","valType":"enumerated","values":["point","line","line-center"]},"role":"object","text":{"description":"Sets the symbol text (mapbox.layer.layout.text-field).","dflt":"","editType":"plot","valType":"string"},"textfont":{"color":{"editType":"plot","valType":"color"},"description":"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*.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","dflt":"Open Sans Regular, Arial Unicode MS Regular","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"textposition":{"arrayOk":false,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"plot","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]}},"templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"type":{"description":"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.","dflt":"circle","editType":"plot","valType":"enumerated","values":["circle","line","fill","symbol","raster"]},"visible":{"description":"Determines whether this layer is displayed","dflt":true,"editType":"plot","valType":"boolean"}}},"role":"object"},"pitch":{"description":"Sets the pitch angle of the map (in degrees, where *0* means perpendicular to the surface of the map) (mapbox.pitch).","dflt":0,"editType":"plot","valType":"number"},"role":"object","style":{"description":"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.mapbox.layers`. These layers can be defined either explicitly as a Mapbox 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 which do not require any access tokens, or by using a default Mapbox style or custom Mapbox style URL, both of which require a Mapbox access token Note that Mapbox access token can be set in the `accesstoken` attribute or in the `mapboxAccessToken` config option. Mapbox Style objects are of the form described in the Mapbox GL JS documentation available at https://docs.mapbox.com/mapbox-gl-js/style-spec The built-in plotly.js styles objects are: carto-darkmatter, carto-positron, open-street-map, stamen-terrain, stamen-toner, stamen-watercolor, white-bg The built-in Mapbox styles are: basic, streets, outdoors, light, dark, satellite, satellite-streets Mapbox style URLs are of the form: mapbox://mapbox.mapbox-\u003cname\u003e-\u003cversion\u003e","dflt":"basic","editType":"plot","valType":"any","values":["basic","streets","outdoors","light","dark","satellite","satellite-streets","carto-darkmatter","carto-positron","open-street-map","stamen-terrain","stamen-toner","stamen-watercolor","white-bg"]},"uirevision":{"description":"Controls persistence of user-driven changes in the view: `center`, `zoom`, `bearing`, `pitch`. Defaults to `layout.uirevision`.","editType":"none","valType":"any"},"zoom":{"description":"Sets the zoom level of the map (mapbox.zoom).","dflt":1,"editType":"plot","valType":"number"}},"margin":{"autoexpand":{"description":"Turns on/off margin expansion computations. Legends, colorbars, updatemenus, sliders, axis rangeselector and rangeslider are allowed to push the margins by defaults.","dflt":true,"editType":"plot","valType":"boolean"},"b":{"description":"Sets the bottom margin (in px).","dflt":80,"editType":"plot","min":0,"valType":"number"},"editType":"plot","l":{"description":"Sets the left margin (in px).","dflt":80,"editType":"plot","min":0,"valType":"number"},"pad":{"description":"Sets the amount of padding (in px) between the plotting area and the axis lines","dflt":0,"editType":"plot","min":0,"valType":"number"},"r":{"description":"Sets the right margin (in px).","dflt":80,"editType":"plot","min":0,"valType":"number"},"role":"object","t":{"description":"Sets the top margin (in px).","dflt":100,"editType":"plot","min":0,"valType":"number"}},"meta":{"arrayOk":true,"description":"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]}.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"minreducedheight":{"description":"Minimum height of the plot with margin.automargin applied (in px)","dflt":64,"editType":"plot","min":2,"valType":"number"},"minreducedwidth":{"description":"Minimum width of the plot with margin.automargin applied (in px)","dflt":64,"editType":"plot","min":2,"valType":"number"},"modebar":{"activecolor":{"description":"Sets the color of the active or hovered on icons in the modebar.","editType":"modebar","valType":"color"},"add":{"arrayOk":true,"description":"Determines which predefined modebar buttons to add. Please note that these buttons will only be shown if they are compatible with all trace types used in a graph. Similar to `config.modeBarButtonsToAdd` option. This may include *v1hovermode*, *hoverclosest*, *hovercompare*, *togglehover*, *togglespikelines*, *drawline*, *drawopenpath*, *drawclosedpath*, *drawcircle*, *drawrect*, *eraseshape*.","dflt":"","editType":"modebar","valType":"string"},"addsrc":{"description":"Sets the source reference on Chart Studio Cloud for `add`.","editType":"none","valType":"string"},"bgcolor":{"description":"Sets the background color of the modebar.","editType":"modebar","valType":"color"},"color":{"description":"Sets the color of the icons in the modebar.","editType":"modebar","valType":"color"},"editType":"modebar","orientation":{"description":"Sets the orientation of the modebar.","dflt":"h","editType":"modebar","valType":"enumerated","values":["v","h"]},"remove":{"arrayOk":true,"description":"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*, *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*, *zoomInMapbox*, *zoomOut2d*, *zoomOutGeo*, *zoomOutMapbox*, *zoomin*, *zoomout*.","dflt":"","editType":"modebar","valType":"string"},"removesrc":{"description":"Sets the source reference on Chart Studio Cloud for `remove`.","editType":"none","valType":"string"},"role":"object","uirevision":{"description":"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`.","editType":"none","valType":"any"}},"newselection":{"editType":"none","line":{"color":{"description":"Sets the line color. By default uses either dark grey or white to increase contrast with background color.","editType":"none","valType":"color"},"dash":{"description":"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*).","dflt":"dot","editType":"none","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"none","role":"object","width":{"description":"Sets the line width (in px).","dflt":1,"editType":"none","min":1,"valType":"number"}},"mode":{"description":"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.","dflt":"immediate","editType":"none","valType":"enumerated","values":["immediate","gradual"]},"role":"object"},"newshape":{"drawdirection":{"description":"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.","dflt":"diagonal","editType":"none","valType":"enumerated","values":["ortho","horizontal","vertical","diagonal"]},"editType":"none","fillcolor":{"description":"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.","dflt":"rgba(0,0,0,0)","editType":"none","valType":"color"},"fillrule":{"description":"Determines the path's interior. For more info please visit https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule","dflt":"evenodd","editType":"none","valType":"enumerated","values":["evenodd","nonzero"]},"label":{"editType":"none","font":{"color":{"editType":"none","valType":"color"},"description":"Sets the new shape label text font.","editType":"none","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"none","min":1,"valType":"number"}},"padding":{"description":"Sets padding (in px) between edge of label and edge of new shape.","dflt":3,"editType":"none","min":0,"valType":"number"},"role":"object","text":{"description":"Sets the text to display with the new shape. It is also used for legend item if `name` is not provided.","dflt":"","editType":"none","valType":"string"},"textangle":{"description":"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.","dflt":"auto","editType":"none","valType":"angle"},"textposition":{"description":"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.","editType":"none","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right","start","middle","end"]},"texttemplate":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xanchor":{"description":"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.","dflt":"auto","editType":"none","valType":"enumerated","values":["auto","left","center","right"]},"yanchor":{"description":"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.","editType":"none","valType":"enumerated","values":["top","middle","bottom"]}},"layer":{"description":"Specifies whether new shapes are drawn below or above traces.","dflt":"above","editType":"none","valType":"enumerated","values":["below","above"]},"legend":{"description":"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.","dflt":"legend","editType":"none","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"none","valType":"string"},"legendgrouptitle":{"editType":"none","font":{"color":{"editType":"none","valType":"color"},"description":"Sets this legend group's title font.","editType":"none","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"none","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"none","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"none","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for new shape.","editType":"none","min":0,"valType":"number"},"line":{"color":{"description":"Sets the line color. By default uses either dark grey or white to increase contrast with background color.","editType":"none","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"none","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"none","role":"object","width":{"description":"Sets the line width (in px).","dflt":4,"editType":"none","min":0,"valType":"number"}},"name":{"description":"Sets new shape name. The name appears as the legend item.","editType":"none","valType":"string"},"opacity":{"description":"Sets the opacity of new shapes.","dflt":1,"editType":"none","max":1,"min":0,"valType":"number"},"role":"object","showlegend":{"description":"Determines whether or not new shape is shown in the legend.","dflt":false,"editType":"none","valType":"boolean"},"visible":{"description":"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).","dflt":true,"editType":"none","valType":"enumerated","values":[true,false,"legendonly"]}},"paper_bgcolor":{"description":"Sets the background color of the paper where the graph is drawn.","dflt":"#fff","editType":"plot","valType":"color"},"plot_bgcolor":{"description":"Sets the background color of the plotting area in-between x and y axes.","dflt":"#fff","editType":"layoutstyle","valType":"color"},"polar":{"_isSubplotObj":true,"angularaxis":{"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"calc","valType":"enumerated","values":["convert types","strict"]},"categoryarray":{"description":"Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"calc","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.","dflt":"trace","editType":"calc","valType":"enumerated","values":["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","median ascending","median descending"]},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"direction":{"description":"Sets the direction corresponding to positive angles.","dflt":"counterclockwise","editType":"calc","valType":"enumerated","values":["counterclockwise","clockwise"]},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"plot","exponentformat":{"description":"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.","dflt":"B","editType":"plot","valType":"enumerated","values":["none","e","E","power","SI","B"]},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"plot","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"plot","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"none","valType":"string"},"labelalias":{"description":"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.","dflt":false,"editType":"plot","valType":"any"},"layer":{"description":"Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.","dflt":"above traces","editType":"plot","valType":"enumerated","values":["above traces","below traces"]},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"plot","min":0,"valType":"number"},"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,"editType":"plot","min":0,"valType":"integer"},"period":{"description":"Set the angular period. Has an effect only when `angularaxis.type` is *category*.","editType":"calc","min":0,"valType":"number"},"role":"object","rotation":{"description":"Sets that start position (in degrees) of the angular axis By default, polar subplots with `direction` set to *counterclockwise* get a `rotation` of *0* which corresponds to due East (like what mathematicians prefer). In turn, polar with `direction` set to *clockwise* get a rotation of *90* which corresponds to due North (like on a compass),","editType":"calc","valType":"angle"},"separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"plot","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","dflt":true,"editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"thetaunit":{"description":"Sets the format unit of the formatted *theta* values. Has an effect only when `angularaxis.type` is *linear*.","dflt":"degrees","editType":"calc","valType":"enumerated","values":["radians","degrees"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"plot","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"editType":"plot","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"plot","valType":"string"}}},"role":"object"},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"plot","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","editType":"plot","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"type":{"_noTemplating":true,"description":"Sets the angular axis type. If *linear*, set `thetaunit` to determine the unit in which axis value are shown. If *category, use `period` to set the number of integer coordinates around polar axis.","dflt":"-","editType":"calc","valType":"enumerated","values":["-","linear","category"]},"uirevision":{"description":"Controls persistence of user-driven changes in axis `rotation`. Defaults to `polar\u003cN\u003e.uirevision`.","editType":"none","valType":"any"},"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","dflt":true,"editType":"plot","valType":"boolean"}},"bgcolor":{"description":"Set the background color of the subplot","dflt":"#fff","editType":"plot","valType":"color"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this polar subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"editType":"plot","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this polar subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this polar subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this polar subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"editType":"calc","gridshape":{"description":"Determines if the radial axis grid lines and angular axis line are drawn as *circular* sectors or as *linear* (polygon) sectors. Has an effect only when the angular axis has `type` *category*. Note that `radialaxis.angle` is snapped to the angle of the closest vertex when `gridshape` is *circular* (so that radial axis scale is the same as the data scale).","dflt":"circular","editType":"plot","valType":"enumerated","values":["circular","linear"]},"hole":{"description":"Sets the fraction of the radius to cut out of the polar subplot.","dflt":0,"editType":"plot","max":1,"min":0,"valType":"number"},"radialaxis":{"_deprecated":{"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.","editType":"ticks","valType":"string"},"titlefont":{"color":{"editType":"ticks","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"ticks","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"ticks","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"ticks","min":1,"valType":"number"}}},"angle":{"description":"Sets the angle (in degrees) from which the radial axis is drawn. Note that by default, radial axis line on the theta=0 line corresponds to a line pointing right (like what mathematicians prefer). Defaults to the first `polar.sector` angle.","editType":"plot","valType":"angle"},"autorange":{"description":"Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction.","dflt":true,"editType":"plot","impliedEdits":{},"valType":"enumerated","values":[true,false,"reversed","min reversed","max reversed","min","max"]},"autorangeoptions":{"clipmax":{"description":"Clip autorange maximum if it goes beyond this value. Has no effect when `autorangeoptions.maxallowed` is provided.","editType":"plot","impliedEdits":{},"valType":"any"},"clipmin":{"description":"Clip autorange minimum if it goes beyond this value. Has no effect when `autorangeoptions.minallowed` is provided.","editType":"plot","impliedEdits":{},"valType":"any"},"editType":"plot","include":{"arrayOk":true,"description":"Ensure this value is included in autorange.","editType":"plot","impliedEdits":{},"valType":"any"},"includesrc":{"description":"Sets the source reference on Chart Studio Cloud for `include`.","editType":"none","valType":"string"},"maxallowed":{"description":"Use this value exactly as autorange maximum.","editType":"plot","impliedEdits":{},"valType":"any"},"minallowed":{"description":"Use this value exactly as autorange minimum.","editType":"plot","impliedEdits":{},"valType":"any"},"role":"object"},"autotickangles":{"description":"When `tickangle` is set to *auto*, it will be set to the first angle in this array that is large enough to prevent label overlap.","dflt":[0,30,90],"editType":"ticks","freeLength":true,"items":{"valType":"angle"},"valType":"info_array"},"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"calc","valType":"enumerated","values":["convert types","strict"]},"calendar":{"description":"Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"categoryarray":{"description":"Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"calc","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.","dflt":"trace","editType":"calc","valType":"enumerated","values":["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","median ascending","median descending"]},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"plot","exponentformat":{"description":"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.","dflt":"B","editType":"plot","valType":"enumerated","values":["none","e","E","power","SI","B"]},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"plot","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"plot","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"none","valType":"string"},"labelalias":{"description":"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.","dflt":false,"editType":"plot","valType":"any"},"layer":{"description":"Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.","dflt":"above traces","editType":"plot","valType":"enumerated","values":["above traces","below traces"]},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"maxallowed":{"description":"Determines the maximum range of this axis.","editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},"minallowed":{"description":"Determines the minimum range of this axis.","editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"plot","min":0,"valType":"number"},"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,"editType":"plot","min":0,"valType":"integer"},"range":{"anim":true,"description":"Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, 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. Leaving either or both elements `null` impacts the default `autorange`.","editType":"plot","impliedEdits":{"autorange":false},"items":[{"editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},{"editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"}],"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).","dflt":"tozero","editType":"calc","valType":"enumerated","values":["tozero","nonnegative","normal"]},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"plot","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","dflt":true,"editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"side":{"description":"Determines on which side of radial axis line the tick and tick labels appear.","dflt":"clockwise","editType":"plot","valType":"enumerated","values":["clockwise","counterclockwise"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"plot","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"editType":"plot","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"plot","valType":"string"}}},"role":"object"},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"plot","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","editType":"plot","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"title":{"editType":"plot","font":{"color":{"editType":"ticks","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"ticks","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"ticks","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","dflt":"","editType":"plot","valType":"string"}},"type":{"_noTemplating":true,"description":"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.","dflt":"-","editType":"calc","valType":"enumerated","values":["-","linear","log","date","category"]},"uirevision":{"description":"Controls persistence of user-driven changes in axis `range`, `autorange`, `angle`, and `title` if in `editable: true` configuration. Defaults to `polar\u003cN\u003e.uirevision`.","editType":"none","valType":"any"},"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","dflt":true,"editType":"plot","valType":"boolean"}},"role":"object","sector":{"description":"Sets angular span of this polar subplot with two angles (in degrees). Sector are assumed to be spanned in the counterclockwise direction with *0* corresponding to rightmost limit of the polar subplot.","dflt":[0,360],"editType":"plot","items":[{"editType":"plot","valType":"number"},{"editType":"plot","valType":"number"}],"valType":"info_array"},"uirevision":{"description":"Controls persistence of user-driven changes in axis attributes, if not overridden in the individual axes. Defaults to `layout.uirevision`.","editType":"none","valType":"any"}},"scene":{"_arrayAttrRegexps":[{}],"_deprecated":{"cameraposition":{"description":"Obsolete. Use `camera` instead.","editType":"camera","valType":"info_array"}},"_isSubplotObj":true,"annotations":{"items":{"annotation":{"align":{"description":"Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more \u003cbr\u003e HTML tags) or if an explicit width is set to override the text width.","dflt":"center","editType":"calc","valType":"enumerated","values":["left","center","right"]},"arrowcolor":{"description":"Sets the color of the annotation arrow.","editType":"calc","valType":"color"},"arrowhead":{"description":"Sets the end annotation arrow head style.","dflt":1,"editType":"calc","max":8,"min":0,"valType":"integer"},"arrowside":{"description":"Sets the annotation arrow head position.","dflt":"end","editType":"calc","extras":["none"],"flags":["end","start"],"valType":"flaglist"},"arrowsize":{"description":"Sets the size of the end annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.","dflt":1,"editType":"calc","min":0.3,"valType":"number"},"arrowwidth":{"description":"Sets the width (in px) of annotation arrow line.","editType":"calc","min":0.1,"valType":"number"},"ax":{"description":"Sets the x component of the arrow tail about the arrow head (in pixels).","editType":"calc","valType":"number"},"ay":{"description":"Sets the y component of the arrow tail about the arrow head (in pixels).","editType":"calc","valType":"number"},"bgcolor":{"description":"Sets the background color of the annotation.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the color of the border enclosing the annotation `text`.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"borderpad":{"description":"Sets the padding (in px) between the `text` and the enclosing border.","dflt":1,"editType":"calc","min":0,"valType":"number"},"borderwidth":{"description":"Sets the width (in px) of the border enclosing the annotation `text`.","dflt":1,"editType":"calc","min":0,"valType":"number"},"captureevents":{"description":"Determines whether the annotation text box captures mouse move and click events, or allows those events to pass through to data points in the plot that may be behind the annotation. By default `captureevents` is *false* unless `hovertext` is provided. If you use the event `plotly_clickannotation` without `hovertext` you must explicitly enable `captureevents`.","editType":"calc","valType":"boolean"},"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets the annotation text font.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"height":{"description":"Sets an explicit height for the text box. null (default) lets the text set the box height. Taller text will be clipped.","dflt":null,"editType":"calc","min":1,"valType":"number"},"hoverlabel":{"bgcolor":{"description":"Sets the background color of the hover label. By default uses the annotation's `bgcolor` made opaque, or white if it was transparent.","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the border color of the hover label. By default uses either dark grey or white, for maximum contrast with `hoverlabel.bgcolor`.","editType":"calc","valType":"color"},"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets the hover label text font. By default uses the global hover font and size, with color from `hoverlabel.bordercolor`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object"},"hovertext":{"description":"Sets text to appear when hovering over this annotation. If omitted or blank, no hover label will appear.","editType":"calc","valType":"string"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"opacity":{"description":"Sets the opacity of the annotation (text + arrow).","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","showarrow":{"description":"Determines whether or not the annotation is drawn with an arrow. If *true*, `text` is placed near the arrow's tail. If *false*, `text` lines up with the `x` and `y` provided.","dflt":true,"editType":"calc","valType":"boolean"},"standoff":{"description":"Sets a distance, in pixels, to move the end arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.","dflt":0,"editType":"calc","min":0,"valType":"number"},"startarrowhead":{"description":"Sets the start annotation arrow head style.","dflt":1,"editType":"calc","max":8,"min":0,"valType":"integer"},"startarrowsize":{"description":"Sets the size of the start annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.","dflt":1,"editType":"calc","min":0.3,"valType":"number"},"startstandoff":{"description":"Sets a distance, in pixels, to move the start arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.","dflt":0,"editType":"calc","min":0,"valType":"number"},"templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"text":{"description":"Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (\u003cbr\u003e), bold (\u003cb\u003e\u003c/b\u003e), italics (\u003ci\u003e\u003c/i\u003e), hyperlinks (\u003ca href='...'\u003e\u003c/a\u003e). Tags \u003cem\u003e, \u003csup\u003e, \u003csub\u003e \u003cspan\u003e are also supported.","editType":"calc","valType":"string"},"textangle":{"description":"Sets the angle at which the `text` is drawn with respect to the horizontal.","dflt":0,"editType":"calc","valType":"angle"},"valign":{"description":"Sets the vertical alignment of the `text` within the box. Has an effect only if an explicit height is set to override the text height.","dflt":"middle","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"visible":{"description":"Determines whether or not this annotation is visible.","dflt":true,"editType":"calc","valType":"boolean"},"width":{"description":"Sets an explicit width for the text box. null (default) lets the text set the box width. Wider text will be clipped. There is no automatic wrapping; use \u003cbr\u003e to start a new line.","dflt":null,"editType":"calc","min":1,"valType":"number"},"x":{"description":"Sets the annotation's x position.","editType":"calc","valType":"any"},"xanchor":{"description":"Sets the text box's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the annotation. For example, if `x` is set to 1, `xref` to *paper* and `xanchor` to *right* then the right-most portion of the annotation lines up with the right-most edge of the plotting area. If *auto*, the anchor is equivalent to *center* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.","dflt":"auto","editType":"calc","valType":"enumerated","values":["auto","left","center","right"]},"xshift":{"description":"Shifts the position of the whole annotation and arrow to the right (positive) or left (negative) by this many pixels.","dflt":0,"editType":"calc","valType":"number"},"y":{"description":"Sets the annotation's y position.","editType":"calc","valType":"any"},"yanchor":{"description":"Sets the text box's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the annotation. For example, if `y` is set to 1, `yref` to *paper* and `yanchor` to *top* then the top-most portion of the annotation lines up with the top-most edge of the plotting area. If *auto*, the anchor is equivalent to *middle* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.","dflt":"auto","editType":"calc","valType":"enumerated","values":["auto","top","middle","bottom"]},"yshift":{"description":"Shifts the position of the whole annotation and arrow up (positive) or down (negative) by this many pixels.","dflt":0,"editType":"calc","valType":"number"},"z":{"description":"Sets the annotation's z position.","editType":"calc","valType":"any"}}},"role":"object"},"aspectmode":{"description":"If *cube*, this scene's axes are drawn as a cube, regardless of the axes' ranges. If *data*, this scene's axes are drawn in proportion with the axes' ranges. If *manual*, this scene's axes are drawn in proportion with the input of *aspectratio* (the default behavior if *aspectratio* is provided). If *auto*, this scene's axes are drawn using the results of *data* except when one axis is more than four times the size of the two others, where in that case the results of *cube* are used.","dflt":"auto","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","cube","data","manual"]},"aspectratio":{"description":"Sets this scene's axis aspectratio.","editType":"plot","impliedEdits":{"aspectmode":"manual","role":"object"},"role":"object","x":{"editType":"plot","impliedEdits":{"^aspectmode":"manual"},"min":0,"valType":"number"},"y":{"editType":"plot","impliedEdits":{"^aspectmode":"manual"},"min":0,"valType":"number"},"z":{"editType":"plot","impliedEdits":{"^aspectmode":"manual"},"min":0,"valType":"number"}},"bgcolor":{"dflt":"rgba(0,0,0,0)","editType":"plot","valType":"color"},"camera":{"center":{"description":"Sets the (x,y,z) components of the 'center' camera vector This vector determines the translation (x,y,z) space about the center of this scene. By default, there is no such translation.","editType":"camera","role":"object","x":{"dflt":0,"editType":"camera","valType":"number"},"y":{"dflt":0,"editType":"camera","valType":"number"},"z":{"dflt":0,"editType":"camera","valType":"number"}},"editType":"camera","eye":{"description":"Sets the (x,y,z) components of the 'eye' camera vector. This vector determines the view point about the origin of this scene.","editType":"camera","role":"object","x":{"dflt":1.25,"editType":"camera","valType":"number"},"y":{"dflt":1.25,"editType":"camera","valType":"number"},"z":{"dflt":1.25,"editType":"camera","valType":"number"}},"projection":{"editType":"calc","role":"object","type":{"description":"Sets the projection type. The projection type could be either *perspective* or *orthographic*. The default is *perspective*.","dflt":"perspective","editType":"calc","valType":"enumerated","values":["perspective","orthographic"]}},"role":"object","up":{"description":"Sets the (x,y,z) components of the 'up' camera vector. This vector determines the up direction of this scene with respect to the page. The default is *{x: 0, y: 0, z: 1}* which means that the z axis points up.","editType":"camera","role":"object","x":{"dflt":0,"editType":"camera","valType":"number"},"y":{"dflt":0,"editType":"camera","valType":"number"},"z":{"dflt":1,"editType":"camera","valType":"number"}}},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this scene subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"editType":"plot","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this scene subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this scene subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this scene subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"dragmode":{"description":"Determines the mode of drag interactions for this scene.","editType":"plot","valType":"enumerated","values":["orbit","turntable","zoom","pan",false]},"editType":"plot","hovermode":{"description":"Determines the mode of hover interactions for this scene.","dflt":"closest","editType":"modebar","valType":"enumerated","values":["closest",false]},"role":"object","uirevision":{"description":"Controls persistence of user-driven changes in camera attributes. Defaults to `layout.uirevision`.","editType":"none","valType":"any"},"xaxis":{"_deprecated":{"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.","editType":"plot","valType":"string"},"titlefont":{"color":{"editType":"plot","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"plot","min":1,"valType":"number"}}},"autorange":{"description":"Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction.","dflt":true,"editType":"plot","impliedEdits":{},"valType":"enumerated","values":[true,false,"reversed","min reversed","max reversed","min","max"]},"autorangeoptions":{"clipmax":{"description":"Clip autorange maximum if it goes beyond this value. Has no effect when `autorangeoptions.maxallowed` is provided.","editType":"plot","impliedEdits":{},"valType":"any"},"clipmin":{"description":"Clip autorange minimum if it goes beyond this value. Has no effect when `autorangeoptions.minallowed` is provided.","editType":"plot","impliedEdits":{},"valType":"any"},"editType":"plot","include":{"arrayOk":true,"description":"Ensure this value is included in autorange.","editType":"plot","impliedEdits":{},"valType":"any"},"includesrc":{"description":"Sets the source reference on Chart Studio Cloud for `include`.","editType":"none","valType":"string"},"maxallowed":{"description":"Use this value exactly as autorange maximum.","editType":"plot","impliedEdits":{},"valType":"any"},"minallowed":{"description":"Use this value exactly as autorange minimum.","editType":"plot","impliedEdits":{},"valType":"any"},"role":"object"},"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"plot","valType":"enumerated","values":["convert types","strict"]},"backgroundcolor":{"description":"Sets the background color of this axis' wall.","dflt":"rgba(204, 204, 204, 0.5)","editType":"plot","valType":"color"},"calendar":{"description":"Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"categoryarray":{"description":"Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"plot","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.","dflt":"trace","editType":"plot","valType":"enumerated","values":["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","median ascending","median descending"]},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"plot","exponentformat":{"description":"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.","dflt":"B","editType":"plot","valType":"enumerated","values":["none","e","E","power","SI","B"]},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"rgb(204, 204, 204)","editType":"plot","valType":"color"},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"plot","valType":"string"},"labelalias":{"description":"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.","dflt":false,"editType":"plot","valType":"any"},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"maxallowed":{"description":"Determines the maximum range of this axis.","editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},"minallowed":{"description":"Determines the minimum range of this axis.","editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"plot","min":0,"valType":"number"},"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,"editType":"plot","valType":"enumerated","values":[true,"ticks",false,"all","allticks"]},"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,"editType":"plot","min":0,"valType":"integer"},"range":{"anim":false,"description":"Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, 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. Leaving either or both elements `null` impacts the default `autorange`.","editType":"plot","impliedEdits":{"autorange":false},"items":[{"editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},{"editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"}],"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.","dflt":"normal","editType":"plot","valType":"enumerated","values":["normal","tozero","nonnegative"]},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"plot","valType":"boolean"},"showaxeslabels":{"description":"Sets whether or not this axis is labeled","dflt":true,"editType":"plot","valType":"boolean"},"showbackground":{"description":"Sets whether or not this axis' wall has a background color.","dflt":false,"editType":"plot","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":false,"editType":"plot","valType":"boolean"},"showspikes":{"description":"Sets whether or not spikes starting from data points to this axis' wall are shown on hover.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"spikecolor":{"description":"Sets the color of the spikes.","dflt":"#444","editType":"plot","valType":"color"},"spikesides":{"description":"Sets whether or not spikes extending from the projection data points to this axis' wall boundaries are shown on hover.","dflt":true,"editType":"plot","valType":"boolean"},"spikethickness":{"description":"Sets the thickness (in px) of the spikes.","dflt":2,"editType":"plot","min":0,"valType":"number"},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"plot","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"editType":"plot","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"plot","valType":"string"}}},"role":"object"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","editType":"plot","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"title":{"editType":"plot","font":{"color":{"editType":"plot","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"plot","valType":"string"}},"type":{"_noTemplating":true,"description":"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.","dflt":"-","editType":"plot","valType":"enumerated","values":["-","linear","log","date","category"]},"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","valType":"boolean"},"zeroline":{"description":"Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines.","editType":"plot","valType":"boolean"},"zerolinecolor":{"description":"Sets the line color of the zero line.","dflt":"#444","editType":"plot","valType":"color"},"zerolinewidth":{"description":"Sets the width (in px) of the zero line.","dflt":1,"editType":"plot","valType":"number"}},"yaxis":{"_deprecated":{"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.","editType":"plot","valType":"string"},"titlefont":{"color":{"editType":"plot","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"plot","min":1,"valType":"number"}}},"autorange":{"description":"Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction.","dflt":true,"editType":"plot","impliedEdits":{},"valType":"enumerated","values":[true,false,"reversed","min reversed","max reversed","min","max"]},"autorangeoptions":{"clipmax":{"description":"Clip autorange maximum if it goes beyond this value. Has no effect when `autorangeoptions.maxallowed` is provided.","editType":"plot","impliedEdits":{},"valType":"any"},"clipmin":{"description":"Clip autorange minimum if it goes beyond this value. Has no effect when `autorangeoptions.minallowed` is provided.","editType":"plot","impliedEdits":{},"valType":"any"},"editType":"plot","include":{"arrayOk":true,"description":"Ensure this value is included in autorange.","editType":"plot","impliedEdits":{},"valType":"any"},"includesrc":{"description":"Sets the source reference on Chart Studio Cloud for `include`.","editType":"none","valType":"string"},"maxallowed":{"description":"Use this value exactly as autorange maximum.","editType":"plot","impliedEdits":{},"valType":"any"},"minallowed":{"description":"Use this value exactly as autorange minimum.","editType":"plot","impliedEdits":{},"valType":"any"},"role":"object"},"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"plot","valType":"enumerated","values":["convert types","strict"]},"backgroundcolor":{"description":"Sets the background color of this axis' wall.","dflt":"rgba(204, 204, 204, 0.5)","editType":"plot","valType":"color"},"calendar":{"description":"Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"categoryarray":{"description":"Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"plot","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.","dflt":"trace","editType":"plot","valType":"enumerated","values":["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","median ascending","median descending"]},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"plot","exponentformat":{"description":"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.","dflt":"B","editType":"plot","valType":"enumerated","values":["none","e","E","power","SI","B"]},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"rgb(204, 204, 204)","editType":"plot","valType":"color"},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"plot","valType":"string"},"labelalias":{"description":"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.","dflt":false,"editType":"plot","valType":"any"},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"maxallowed":{"description":"Determines the maximum range of this axis.","editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},"minallowed":{"description":"Determines the minimum range of this axis.","editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"plot","min":0,"valType":"number"},"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,"editType":"plot","valType":"enumerated","values":[true,"ticks",false,"all","allticks"]},"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,"editType":"plot","min":0,"valType":"integer"},"range":{"anim":false,"description":"Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, 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. Leaving either or both elements `null` impacts the default `autorange`.","editType":"plot","impliedEdits":{"autorange":false},"items":[{"editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},{"editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"}],"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.","dflt":"normal","editType":"plot","valType":"enumerated","values":["normal","tozero","nonnegative"]},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"plot","valType":"boolean"},"showaxeslabels":{"description":"Sets whether or not this axis is labeled","dflt":true,"editType":"plot","valType":"boolean"},"showbackground":{"description":"Sets whether or not this axis' wall has a background color.","dflt":false,"editType":"plot","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":false,"editType":"plot","valType":"boolean"},"showspikes":{"description":"Sets whether or not spikes starting from data points to this axis' wall are shown on hover.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"spikecolor":{"description":"Sets the color of the spikes.","dflt":"#444","editType":"plot","valType":"color"},"spikesides":{"description":"Sets whether or not spikes extending from the projection data points to this axis' wall boundaries are shown on hover.","dflt":true,"editType":"plot","valType":"boolean"},"spikethickness":{"description":"Sets the thickness (in px) of the spikes.","dflt":2,"editType":"plot","min":0,"valType":"number"},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"plot","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"editType":"plot","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"plot","valType":"string"}}},"role":"object"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","editType":"plot","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"title":{"editType":"plot","font":{"color":{"editType":"plot","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"plot","valType":"string"}},"type":{"_noTemplating":true,"description":"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.","dflt":"-","editType":"plot","valType":"enumerated","values":["-","linear","log","date","category"]},"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","valType":"boolean"},"zeroline":{"description":"Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines.","editType":"plot","valType":"boolean"},"zerolinecolor":{"description":"Sets the line color of the zero line.","dflt":"#444","editType":"plot","valType":"color"},"zerolinewidth":{"description":"Sets the width (in px) of the zero line.","dflt":1,"editType":"plot","valType":"number"}},"zaxis":{"_deprecated":{"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.","editType":"plot","valType":"string"},"titlefont":{"color":{"editType":"plot","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"plot","min":1,"valType":"number"}}},"autorange":{"description":"Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction.","dflt":true,"editType":"plot","impliedEdits":{},"valType":"enumerated","values":[true,false,"reversed","min reversed","max reversed","min","max"]},"autorangeoptions":{"clipmax":{"description":"Clip autorange maximum if it goes beyond this value. Has no effect when `autorangeoptions.maxallowed` is provided.","editType":"plot","impliedEdits":{},"valType":"any"},"clipmin":{"description":"Clip autorange minimum if it goes beyond this value. Has no effect when `autorangeoptions.minallowed` is provided.","editType":"plot","impliedEdits":{},"valType":"any"},"editType":"plot","include":{"arrayOk":true,"description":"Ensure this value is included in autorange.","editType":"plot","impliedEdits":{},"valType":"any"},"includesrc":{"description":"Sets the source reference on Chart Studio Cloud for `include`.","editType":"none","valType":"string"},"maxallowed":{"description":"Use this value exactly as autorange maximum.","editType":"plot","impliedEdits":{},"valType":"any"},"minallowed":{"description":"Use this value exactly as autorange minimum.","editType":"plot","impliedEdits":{},"valType":"any"},"role":"object"},"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"plot","valType":"enumerated","values":["convert types","strict"]},"backgroundcolor":{"description":"Sets the background color of this axis' wall.","dflt":"rgba(204, 204, 204, 0.5)","editType":"plot","valType":"color"},"calendar":{"description":"Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"categoryarray":{"description":"Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"plot","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.","dflt":"trace","editType":"plot","valType":"enumerated","values":["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","median ascending","median descending"]},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"plot","exponentformat":{"description":"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.","dflt":"B","editType":"plot","valType":"enumerated","values":["none","e","E","power","SI","B"]},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"rgb(204, 204, 204)","editType":"plot","valType":"color"},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"plot","valType":"string"},"labelalias":{"description":"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.","dflt":false,"editType":"plot","valType":"any"},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"maxallowed":{"description":"Determines the maximum range of this axis.","editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},"minallowed":{"description":"Determines the minimum range of this axis.","editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"plot","min":0,"valType":"number"},"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,"editType":"plot","valType":"enumerated","values":[true,"ticks",false,"all","allticks"]},"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,"editType":"plot","min":0,"valType":"integer"},"range":{"anim":false,"description":"Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, 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. Leaving either or both elements `null` impacts the default `autorange`.","editType":"plot","impliedEdits":{"autorange":false},"items":[{"editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},{"editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"}],"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.","dflt":"normal","editType":"plot","valType":"enumerated","values":["normal","tozero","nonnegative"]},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"plot","valType":"boolean"},"showaxeslabels":{"description":"Sets whether or not this axis is labeled","dflt":true,"editType":"plot","valType":"boolean"},"showbackground":{"description":"Sets whether or not this axis' wall has a background color.","dflt":false,"editType":"plot","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":false,"editType":"plot","valType":"boolean"},"showspikes":{"description":"Sets whether or not spikes starting from data points to this axis' wall are shown on hover.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"spikecolor":{"description":"Sets the color of the spikes.","dflt":"#444","editType":"plot","valType":"color"},"spikesides":{"description":"Sets whether or not spikes extending from the projection data points to this axis' wall boundaries are shown on hover.","dflt":true,"editType":"plot","valType":"boolean"},"spikethickness":{"description":"Sets the thickness (in px) of the spikes.","dflt":2,"editType":"plot","min":0,"valType":"number"},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"plot","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"editType":"plot","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"plot","valType":"string"}}},"role":"object"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","editType":"plot","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"title":{"editType":"plot","font":{"color":{"editType":"plot","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"plot","valType":"string"}},"type":{"_noTemplating":true,"description":"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.","dflt":"-","editType":"plot","valType":"enumerated","values":["-","linear","log","date","category"]},"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","valType":"boolean"},"zeroline":{"description":"Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines.","editType":"plot","valType":"boolean"},"zerolinecolor":{"description":"Sets the line color of the zero line.","dflt":"#444","editType":"plot","valType":"color"},"zerolinewidth":{"description":"Sets the width (in px) of the zero line.","dflt":1,"editType":"plot","valType":"number"}}},"selectdirection":{"description":"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.","dflt":"any","editType":"none","valType":"enumerated","values":["h","v","d","any"]},"selectionrevision":{"description":"Controls persistence of user-driven changes in selected points from all traces.","editType":"none","valType":"any"},"selections":{"items":{"selection":{"editType":"arraydraw","line":{"color":{"anim":true,"description":"Sets the line color.","editType":"arraydraw","valType":"color"},"dash":{"description":"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*).","dflt":"dot","editType":"arraydraw","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"arraydraw","role":"object","width":{"anim":true,"description":"Sets the line width (in px).","dflt":1,"editType":"arraydraw","min":1,"valType":"number"}},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"arraydraw","valType":"string"},"opacity":{"description":"Sets the opacity of the selection.","dflt":0.7,"editType":"arraydraw","max":1,"min":0,"valType":"number"},"path":{"description":"For `type` *path* - a valid SVG path similar to `shapes.path` in data coordinates. Allowed segments are: M, L and Z.","editType":"arraydraw","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"arraydraw","valType":"string"},"type":{"description":"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`.","editType":"arraydraw","valType":"enumerated","values":["rect","path"]},"x0":{"description":"Sets the selection's starting x position.","editType":"arraydraw","valType":"any"},"x1":{"description":"Sets the selection's end x position.","editType":"arraydraw","valType":"any"},"xref":{"description":"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.","editType":"arraydraw","valType":"enumerated","values":["paper","/^x([2-9]|[1-9][0-9]+)?( domain)?$/"]},"y0":{"description":"Sets the selection's starting y position.","editType":"arraydraw","valType":"any"},"y1":{"description":"Sets the selection's end y position.","editType":"arraydraw","valType":"any"},"yref":{"description":"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.","editType":"arraydraw","valType":"enumerated","values":["paper","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]}}},"role":"object"},"separators":{"description":"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.","editType":"plot","valType":"string"},"shapes":{"items":{"shape":{"editType":"arraydraw","editable":{"description":"Determines whether the shape could be activated for edit or not. Has no effect when the older editable shapes mode is enabled via `config.editable` or `config.edits.shapePosition`.","dflt":false,"editType":"calc+arraydraw","valType":"boolean"},"fillcolor":{"description":"Sets the color filling the shape's interior. Only applies to closed shapes.","dflt":"rgba(0,0,0,0)","editType":"arraydraw","valType":"color"},"fillrule":{"description":"Determines which regions of complex paths constitute the interior. For more info please visit https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule","dflt":"evenodd","editType":"arraydraw","valType":"enumerated","values":["evenodd","nonzero"]},"label":{"editType":"arraydraw","font":{"color":{"editType":"arraydraw","valType":"color"},"description":"Sets the shape label text font.","editType":"calc+arraydraw","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc+arraydraw","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc+arraydraw","min":1,"valType":"number"}},"padding":{"description":"Sets padding (in px) between edge of label and edge of shape.","dflt":3,"editType":"arraydraw","min":0,"valType":"number"},"role":"object","text":{"description":"Sets the text to display with shape. It is also used for legend item if `name` is not provided.","dflt":"","editType":"arraydraw","valType":"string"},"textangle":{"description":"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.","dflt":"auto","editType":"calc+arraydraw","valType":"angle"},"textposition":{"description":"Sets the position of the label text relative to the 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.","editType":"arraydraw","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right","start","middle","end"]},"texttemplate":{"description":"Template string used for rendering the 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`.","dflt":"","editType":"arraydraw","valType":"string"},"xanchor":{"description":"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 shape.","dflt":"auto","editType":"calc+arraydraw","valType":"enumerated","values":["auto","left","center","right"]},"yanchor":{"description":"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 shape.","editType":"calc+arraydraw","valType":"enumerated","values":["top","middle","bottom"]}},"layer":{"description":"Specifies whether shapes are drawn below or above traces.","dflt":"above","editType":"arraydraw","valType":"enumerated","values":["below","above"]},"legend":{"description":"Sets the reference to a legend to show this 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.","dflt":"legend","editType":"calc+arraydraw","valType":"subplotid"},"legendgroup":{"description":"Sets the legend group for this shape. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"calc+arraydraw","valType":"string"},"legendgrouptitle":{"editType":"calc+arraydraw","font":{"color":{"editType":"calc+arraydraw","valType":"color"},"description":"Sets this legend group's title font.","editType":"calc+arraydraw","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc+arraydraw","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc+arraydraw","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"calc+arraydraw","valType":"string"}},"legendrank":{"description":"Sets the legend rank for this 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. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.","dflt":1000,"editType":"calc+arraydraw","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this shape.","editType":"calc+arraydraw","min":0,"valType":"number"},"line":{"color":{"anim":true,"description":"Sets the line color.","editType":"arraydraw","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"arraydraw","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"calc+arraydraw","role":"object","width":{"anim":true,"description":"Sets the line width (in px).","dflt":2,"editType":"calc+arraydraw","min":0,"valType":"number"}},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"opacity":{"description":"Sets the opacity of the shape.","dflt":1,"editType":"arraydraw","max":1,"min":0,"valType":"number"},"path":{"description":"For `type` *path* - a valid SVG path with the pixel values replaced by data values in `xsizemode`/`ysizemode` being *scaled* and taken unmodified as pixels relative to `xanchor` and `yanchor` in case of *pixel* size mode. There are a few restrictions / quirks only absolute instructions, not relative. So the allowed segments are: M, L, H, V, Q, C, T, S, and Z arcs (A) are not allowed because radius rx and ry are relative. In the future we could consider supporting relative commands, but we would have to decide on how to handle date and log axes. Note that even as is, Q and C Bezier paths that are smooth on linear axes may not be smooth on log, and vice versa. no chained \"polybezier\" commands - specify the segment type for each one. On category axes, values are numbers scaled to the serial numbers of categories because using the categories themselves there would be no way to describe fractional positions On data axes: because space and T are both normal components of path strings, we can't use either to separate date from time parts. Therefore we'll use underscore for this purpose: 2015-02-21_13:45:56.789","editType":"calc+arraydraw","valType":"string"},"role":"object","showlegend":{"description":"Determines whether or not this shape is shown in the legend.","dflt":false,"editType":"calc+arraydraw","valType":"boolean"},"templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"type":{"description":"Specifies the shape type to be drawn. If *line*, a line is drawn from (`x0`,`y0`) to (`x1`,`y1`) with respect to the axes' sizing mode. If *circle*, a circle is drawn from ((`x0`+`x1`)/2, (`y0`+`y1`)/2)) with radius (|(`x0`+`x1`)/2 - `x0`|, |(`y0`+`y1`)/2 -`y0`)|) with respect to the axes' sizing mode. If *rect*, a rectangle is drawn linking (`x0`,`y0`), (`x1`,`y0`), (`x1`,`y1`), (`x0`,`y1`), (`x0`,`y0`) with respect to the axes' sizing mode. If *path*, draw a custom SVG path using `path`. with respect to the axes' sizing mode.","editType":"calc+arraydraw","valType":"enumerated","values":["circle","rect","path","line"]},"visible":{"description":"Determines whether or not this shape is visible. If *legendonly*, the shape is not drawn, but can appear as a legend item (provided that the legend itself is visible).","dflt":true,"editType":"calc+arraydraw","valType":"enumerated","values":[true,false,"legendonly"]},"x0":{"description":"Sets the shape's starting x position. See `type` and `xsizemode` for more info.","editType":"calc+arraydraw","valType":"any"},"x1":{"description":"Sets the shape's end x position. See `type` and `xsizemode` for more info.","editType":"calc+arraydraw","valType":"any"},"xanchor":{"description":"Only relevant in conjunction with `xsizemode` set to *pixel*. Specifies the anchor point on the x axis to which `x0`, `x1` and x coordinates within `path` are relative to. E.g. useful to attach a pixel sized shape to a certain data value. No effect when `xsizemode` not set to *pixel*.","editType":"calc+arraydraw","valType":"any"},"xref":{"description":"Sets the shape's x coordinate axis. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis.","editType":"calc","valType":"enumerated","values":["paper","/^x([2-9]|[1-9][0-9]+)?( domain)?$/"]},"xsizemode":{"description":"Sets the shapes's sizing mode along the x axis. If set to *scaled*, `x0`, `x1` and x coordinates within `path` refer to data values on the x axis or a fraction of the plot area's width (`xref` set to *paper*). If set to *pixel*, `xanchor` specifies the x position in terms of data or plot fraction but `x0`, `x1` and x coordinates within `path` are pixels relative to `xanchor`. This way, the shape can have a fixed width while maintaining a position relative to data or plot fraction.","dflt":"scaled","editType":"calc+arraydraw","valType":"enumerated","values":["scaled","pixel"]},"y0":{"description":"Sets the shape's starting y position. See `type` and `ysizemode` for more info.","editType":"calc+arraydraw","valType":"any"},"y1":{"description":"Sets the shape's end y position. See `type` and `ysizemode` for more info.","editType":"calc+arraydraw","valType":"any"},"yanchor":{"description":"Only relevant in conjunction with `ysizemode` set to *pixel*. Specifies the anchor point on the y axis to which `y0`, `y1` and y coordinates within `path` are relative to. E.g. useful to attach a pixel sized shape to a certain data value. No effect when `ysizemode` not set to *pixel*.","editType":"calc+arraydraw","valType":"any"},"yref":{"description":"Sets the shape's y coordinate axis. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis.","editType":"calc","valType":"enumerated","values":["paper","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]},"ysizemode":{"description":"Sets the shapes's sizing mode along the y axis. If set to *scaled*, `y0`, `y1` and y coordinates within `path` refer to data values on the y axis or a fraction of the plot area's height (`yref` set to *paper*). If set to *pixel*, `yanchor` specifies the y position in terms of data or plot fraction but `y0`, `y1` and y coordinates within `path` are pixels relative to `yanchor`. This way, the shape can have a fixed height while maintaining a position relative to data or plot fraction.","dflt":"scaled","editType":"calc+arraydraw","valType":"enumerated","values":["scaled","pixel"]}}},"role":"object"},"showlegend":{"description":"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`.","editType":"legend","valType":"boolean"},"sliders":{"items":{"slider":{"active":{"description":"Determines which button (by index starting from 0) is considered active.","dflt":0,"editType":"arraydraw","min":0,"valType":"number"},"activebgcolor":{"description":"Sets the background color of the slider grip while dragging.","dflt":"#dbdde0","editType":"arraydraw","valType":"color"},"bgcolor":{"description":"Sets the background color of the slider.","dflt":"#f8fafc","editType":"arraydraw","valType":"color"},"bordercolor":{"description":"Sets the color of the border enclosing the slider.","dflt":"#bec8d9","editType":"arraydraw","valType":"color"},"borderwidth":{"description":"Sets the width (in px) of the border enclosing the slider.","dflt":1,"editType":"arraydraw","min":0,"valType":"number"},"currentvalue":{"editType":"arraydraw","font":{"color":{"editType":"arraydraw","valType":"color"},"description":"Sets the font of the current value label text.","editType":"arraydraw","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"arraydraw","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"arraydraw","min":1,"valType":"number"}},"offset":{"description":"The amount of space, in pixels, between the current value label and the slider.","dflt":10,"editType":"arraydraw","valType":"number"},"prefix":{"description":"When currentvalue.visible is true, this sets the prefix of the label.","editType":"arraydraw","valType":"string"},"role":"object","suffix":{"description":"When currentvalue.visible is true, this sets the suffix of the label.","editType":"arraydraw","valType":"string"},"visible":{"description":"Shows the currently-selected value above the slider.","dflt":true,"editType":"arraydraw","valType":"boolean"},"xanchor":{"description":"The alignment of the value readout relative to the length of the slider.","dflt":"left","editType":"arraydraw","valType":"enumerated","values":["left","center","right"]}},"editType":"arraydraw","font":{"color":{"editType":"arraydraw","valType":"color"},"description":"Sets the font of the slider step labels.","editType":"arraydraw","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"arraydraw","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"arraydraw","min":1,"valType":"number"}},"len":{"description":"Sets the length of the slider This measure excludes the padding of both ends. That is, the slider's length is this length minus the padding on both ends.","dflt":1,"editType":"arraydraw","min":0,"valType":"number"},"lenmode":{"description":"Determines whether this slider length is set in units of plot *fraction* or in *pixels. Use `len` to set the value.","dflt":"fraction","editType":"arraydraw","valType":"enumerated","values":["fraction","pixels"]},"minorticklen":{"description":"Sets the length in pixels of minor step tick marks","dflt":4,"editType":"arraydraw","min":0,"valType":"number"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"arraydraw","valType":"string"},"pad":{"b":{"description":"The amount of padding (in px) along the bottom of the component.","dflt":0,"editType":"arraydraw","valType":"number"},"description":"Set the padding of the slider component along each side.","editType":"arraydraw","l":{"description":"The amount of padding (in px) on the left side of the component.","dflt":0,"editType":"arraydraw","valType":"number"},"r":{"description":"The amount of padding (in px) on the right side of the component.","dflt":0,"editType":"arraydraw","valType":"number"},"role":"object","t":{"description":"The amount of padding (in px) along the top of the component.","dflt":20,"editType":"arraydraw","valType":"number"}},"role":"object","steps":{"items":{"step":{"args":{"description":"Sets the arguments values to be passed to the Plotly method set in `method` on slide.","editType":"arraydraw","freeLength":true,"items":[{"editType":"arraydraw","valType":"any"},{"editType":"arraydraw","valType":"any"},{"editType":"arraydraw","valType":"any"}],"valType":"info_array"},"editType":"arraydraw","execute":{"description":"When true, the API method is executed. When false, all other behaviors are the same and command execution is skipped. This may be useful when hooking into, for example, the `plotly_sliderchange` method and executing the API command manually without losing the benefit of the slider automatically binding to the state of the plot through the specification of `method` and `args`.","dflt":true,"editType":"arraydraw","valType":"boolean"},"label":{"description":"Sets the text label to appear on the slider","editType":"arraydraw","valType":"string"},"method":{"description":"Sets the Plotly method to be called when the slider value is changed. If the `skip` method is used, the API slider will function as normal but will perform no API calls and will not bind automatically to state updates. This may be used to create a component interface and attach to slider events manually via JavaScript.","dflt":"restyle","editType":"arraydraw","valType":"enumerated","values":["restyle","relayout","animate","update","skip"]},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"arraydraw","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"arraydraw","valType":"string"},"value":{"description":"Sets the value of the slider step, used to refer to the step programatically. Defaults to the slider label if not provided.","editType":"arraydraw","valType":"string"},"visible":{"description":"Determines whether or not this step is included in the slider.","dflt":true,"editType":"arraydraw","valType":"boolean"}}},"role":"object"},"templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"arraydraw","valType":"string"},"tickcolor":{"description":"Sets the color of the border enclosing the slider.","dflt":"#333","editType":"arraydraw","valType":"color"},"ticklen":{"description":"Sets the length in pixels of step tick marks","dflt":7,"editType":"arraydraw","min":0,"valType":"number"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"arraydraw","min":0,"valType":"number"},"transition":{"duration":{"description":"Sets the duration of the slider transition","dflt":150,"editType":"arraydraw","min":0,"valType":"number"},"easing":{"description":"Sets the easing function of the slider transition","dflt":"cubic-in-out","editType":"arraydraw","valType":"enumerated","values":["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"]},"editType":"arraydraw","role":"object"},"visible":{"description":"Determines whether or not the slider is visible.","dflt":true,"editType":"arraydraw","valType":"boolean"},"x":{"description":"Sets the x position (in normalized coordinates) of the slider.","dflt":0,"editType":"arraydraw","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets the slider's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the range selector.","dflt":"left","editType":"arraydraw","valType":"enumerated","values":["auto","left","center","right"]},"y":{"description":"Sets the y position (in normalized coordinates) of the slider.","dflt":0,"editType":"arraydraw","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"Sets the slider's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the range selector.","dflt":"top","editType":"arraydraw","valType":"enumerated","values":["auto","top","middle","bottom"]}}},"role":"object"},"smith":{"_isSubplotObj":true,"bgcolor":{"description":"Set the background color of the subplot","dflt":"#fff","editType":"plot","valType":"color"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this smith subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"editType":"plot","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this smith subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this smith subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this smith subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"editType":"calc","imaginaryaxis":{"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"editType":"plot","gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"plot","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"plot","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"plot","valType":"string"},"labelalias":{"description":"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.","dflt":false,"editType":"plot","valType":"any"},"layer":{"description":"Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.","dflt":"above traces","editType":"plot","valType":"enumerated","values":["above traces","below traces"]},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"role":"object","showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","dflt":true,"editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","editType":"ticks","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Defaults to `realaxis.tickvals` plus the same as negatives and zero.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":2,"editType":"plot","min":0,"valType":"number"},"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","dflt":true,"editType":"plot","valType":"boolean"}},"realaxis":{"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"editType":"plot","gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"plot","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"plot","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"plot","valType":"string"},"labelalias":{"description":"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.","dflt":false,"editType":"plot","valType":"any"},"layer":{"description":"Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.","dflt":"above traces","editType":"plot","valType":"enumerated","values":["above traces","below traces"]},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"role":"object","showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","dflt":true,"editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"side":{"description":"Determines on which side of real axis line the tick and tick labels appear.","dflt":"top","editType":"plot","valType":"enumerated","values":["top","bottom"]},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":90,"editType":"ticks","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *top* (*bottom*), this axis' are drawn above (below) the axis line.","editType":"ticks","valType":"enumerated","values":["top","bottom",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear.","dflt":[0.2,0.5,1,2,5],"editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":2,"editType":"plot","min":0,"valType":"number"},"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","dflt":true,"editType":"plot","valType":"boolean"}},"role":"object"},"spikedistance":{"description":"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.","dflt":-1,"editType":"none","min":-1,"valType":"integer"},"template":{"description":"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`.","editType":"calc","valType":"any"},"ternary":{"_isSubplotObj":true,"aaxis":{"_deprecated":{"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.","editType":"plot","valType":"string"},"titlefont":{"color":{"editType":"plot","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"plot","min":1,"valType":"number"}}},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"plot","exponentformat":{"description":"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.","dflt":"B","editType":"plot","valType":"enumerated","values":["none","e","E","power","SI","B"]},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"plot","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"plot","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"plot","valType":"string"},"labelalias":{"description":"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.","dflt":false,"editType":"plot","valType":"any"},"layer":{"description":"Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.","dflt":"above traces","editType":"plot","valType":"enumerated","values":["above traces","below traces"]},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"min":{"description":"The minimum value visible on this axis. The maximum is determined by the sum minus the minimum values of the other two axes. The full view corresponds to all the minima set to zero.","dflt":0,"editType":"plot","min":0,"valType":"number"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"plot","min":0,"valType":"number"},"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":6,"editType":"plot","min":1,"valType":"integer"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"plot","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","dflt":true,"editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"plot","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"editType":"plot","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"plot","valType":"string"}}},"role":"object"},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"plot","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","editType":"plot","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"title":{"editType":"plot","font":{"color":{"editType":"plot","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"plot","valType":"string"}},"uirevision":{"description":"Controls persistence of user-driven changes in axis `min`, and `title` if in `editable: true` configuration. Defaults to `ternary\u003cN\u003e.uirevision`.","editType":"none","valType":"any"}},"baxis":{"_deprecated":{"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.","editType":"plot","valType":"string"},"titlefont":{"color":{"editType":"plot","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"plot","min":1,"valType":"number"}}},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"plot","exponentformat":{"description":"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.","dflt":"B","editType":"plot","valType":"enumerated","values":["none","e","E","power","SI","B"]},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"plot","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"plot","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"plot","valType":"string"},"labelalias":{"description":"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.","dflt":false,"editType":"plot","valType":"any"},"layer":{"description":"Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.","dflt":"above traces","editType":"plot","valType":"enumerated","values":["above traces","below traces"]},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"min":{"description":"The minimum value visible on this axis. The maximum is determined by the sum minus the minimum values of the other two axes. The full view corresponds to all the minima set to zero.","dflt":0,"editType":"plot","min":0,"valType":"number"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"plot","min":0,"valType":"number"},"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":6,"editType":"plot","min":1,"valType":"integer"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"plot","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","dflt":true,"editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"plot","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"editType":"plot","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"plot","valType":"string"}}},"role":"object"},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"plot","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","editType":"plot","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"title":{"editType":"plot","font":{"color":{"editType":"plot","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"plot","valType":"string"}},"uirevision":{"description":"Controls persistence of user-driven changes in axis `min`, and `title` if in `editable: true` configuration. Defaults to `ternary\u003cN\u003e.uirevision`.","editType":"none","valType":"any"}},"bgcolor":{"description":"Set the background color of the subplot","dflt":"#fff","editType":"plot","valType":"color"},"caxis":{"_deprecated":{"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.","editType":"plot","valType":"string"},"titlefont":{"color":{"editType":"plot","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"plot","min":1,"valType":"number"}}},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"plot","exponentformat":{"description":"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.","dflt":"B","editType":"plot","valType":"enumerated","values":["none","e","E","power","SI","B"]},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"plot","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"plot","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"plot","valType":"string"},"labelalias":{"description":"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.","dflt":false,"editType":"plot","valType":"any"},"layer":{"description":"Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.","dflt":"above traces","editType":"plot","valType":"enumerated","values":["above traces","below traces"]},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"min":{"description":"The minimum value visible on this axis. The maximum is determined by the sum minus the minimum values of the other two axes. The full view corresponds to all the minima set to zero.","dflt":0,"editType":"plot","min":0,"valType":"number"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"plot","min":0,"valType":"number"},"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":6,"editType":"plot","min":1,"valType":"integer"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"plot","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","dflt":true,"editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"plot","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"editType":"plot","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"plot","valType":"string"}}},"role":"object"},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"plot","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","editType":"plot","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"title":{"editType":"plot","font":{"color":{"editType":"plot","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"plot","valType":"string"}},"uirevision":{"description":"Controls persistence of user-driven changes in axis `min`, and `title` if in `editable: true` configuration. Defaults to `ternary\u003cN\u003e.uirevision`.","editType":"none","valType":"any"}},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this ternary subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"editType":"plot","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this ternary subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this ternary subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this ternary subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"editType":"plot","role":"object","sum":{"description":"The number each triplet should sum to, and the maximum range of each axis","dflt":1,"editType":"plot","min":0,"valType":"number"},"uirevision":{"description":"Controls persistence of user-driven changes in axis `min` and `title`, if not overridden in the individual axes. Defaults to `layout.uirevision`.","editType":"none","valType":"any"}},"title":{"automargin":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"editType":"layoutstyle","font":{"color":{"editType":"layoutstyle","valType":"color"},"description":"Sets the title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"layoutstyle","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"layoutstyle","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"layoutstyle","min":1,"valType":"number"}},"pad":{"b":{"description":"The amount of padding (in px) along the bottom of the component.","dflt":0,"editType":"layoutstyle","valType":"number"},"description":"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*.","editType":"layoutstyle","l":{"description":"The amount of padding (in px) on the left side of the component.","dflt":0,"editType":"layoutstyle","valType":"number"},"r":{"description":"The amount of padding (in px) on the right side of the component.","dflt":0,"editType":"layoutstyle","valType":"number"},"role":"object","t":{"description":"The amount of padding (in px) along the top of the component.","dflt":0,"editType":"layoutstyle","valType":"number"}},"role":"object","text":{"description":"Sets the plot's title. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"layoutstyle","valType":"string"},"x":{"description":"Sets the x position with respect to `xref` in normalized coordinates from *0* (left) to *1* (right).","dflt":0.5,"editType":"layoutstyle","max":1,"min":0,"valType":"number"},"xanchor":{"description":"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`.","dflt":"auto","editType":"layoutstyle","valType":"enumerated","values":["auto","left","center","right"]},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"container","editType":"layoutstyle","valType":"enumerated","values":["container","paper"]},"y":{"description":"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.","dflt":"auto","editType":"layoutstyle","max":1,"min":0,"valType":"number"},"yanchor":{"description":"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`.","dflt":"auto","editType":"layoutstyle","valType":"enumerated","values":["auto","top","middle","bottom"]},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"container","editType":"layoutstyle","valType":"enumerated","values":["container","paper"]}},"transition":{"description":"Sets transition options used during Plotly.react updates.","duration":{"description":"The duration of the transition, in milliseconds. If equal to zero, updates are synchronous.","dflt":500,"editType":"none","min":0,"valType":"number"},"easing":{"description":"The easing function used for the transition","dflt":"cubic-in-out","editType":"none","valType":"enumerated","values":["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"]},"editType":"none","ordering":{"description":"Determines whether the figure's layout or traces smoothly transitions during updates that make both traces and layout change.","dflt":"layout first","editType":"none","valType":"enumerated","values":["layout first","traces first"]},"role":"object"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"uniformtext":{"editType":"plot","minsize":{"description":"Sets the minimum text size between traces of the same type.","dflt":0,"editType":"plot","min":0,"valType":"number"},"mode":{"description":"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.","dflt":false,"editType":"plot","valType":"enumerated","values":[false,"hide","show"]},"role":"object"},"updatemenus":{"items":{"updatemenu":{"_arrayAttrRegexps":[{}],"active":{"description":"Determines which button (by index starting from 0) is considered active.","dflt":0,"editType":"arraydraw","min":-1,"valType":"integer"},"bgcolor":{"description":"Sets the background color of the update menu buttons.","editType":"arraydraw","valType":"color"},"bordercolor":{"description":"Sets the color of the border enclosing the update menu.","dflt":"#BEC8D9","editType":"arraydraw","valType":"color"},"borderwidth":{"description":"Sets the width (in px) of the border enclosing the update menu.","dflt":1,"editType":"arraydraw","min":0,"valType":"number"},"buttons":{"items":{"button":{"args":{"description":"Sets the arguments values to be passed to the Plotly method set in `method` on click.","editType":"arraydraw","freeLength":true,"items":[{"editType":"arraydraw","valType":"any"},{"editType":"arraydraw","valType":"any"},{"editType":"arraydraw","valType":"any"}],"valType":"info_array"},"args2":{"description":"Sets a 2nd set of `args`, these arguments values are passed to the Plotly method set in `method` when clicking this button while in the active state. Use this to create toggle buttons.","editType":"arraydraw","freeLength":true,"items":[{"editType":"arraydraw","valType":"any"},{"editType":"arraydraw","valType":"any"},{"editType":"arraydraw","valType":"any"}],"valType":"info_array"},"editType":"arraydraw","execute":{"description":"When true, the API method is executed. When false, all other behaviors are the same and command execution is skipped. This may be useful when hooking into, for example, the `plotly_buttonclicked` method and executing the API command manually without losing the benefit of the updatemenu automatically binding to the state of the plot through the specification of `method` and `args`.","dflt":true,"editType":"arraydraw","valType":"boolean"},"label":{"description":"Sets the text label to appear on the button.","dflt":"","editType":"arraydraw","valType":"string"},"method":{"description":"Sets the Plotly method to be called on click. If the `skip` method is used, the API updatemenu will function as normal but will perform no API calls and will not bind automatically to state updates. This may be used to create a component interface and attach to updatemenu events manually via JavaScript.","dflt":"restyle","editType":"arraydraw","valType":"enumerated","values":["restyle","relayout","animate","update","skip"]},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"arraydraw","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"arraydraw","valType":"string"},"visible":{"description":"Determines whether or not this button is visible.","editType":"arraydraw","valType":"boolean"}}},"role":"object"},"direction":{"description":"Determines the direction in which the buttons are laid out, whether in a dropdown menu or a row/column of buttons. For `left` and `up`, the buttons will still appear in left-to-right or top-to-bottom order respectively.","dflt":"down","editType":"arraydraw","valType":"enumerated","values":["left","right","up","down"]},"editType":"arraydraw","font":{"color":{"editType":"arraydraw","valType":"color"},"description":"Sets the font of the update menu button text.","editType":"arraydraw","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"arraydraw","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"arraydraw","min":1,"valType":"number"}},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"arraydraw","valType":"string"},"pad":{"b":{"description":"The amount of padding (in px) along the bottom of the component.","dflt":0,"editType":"arraydraw","valType":"number"},"description":"Sets the padding around the buttons or dropdown menu.","editType":"arraydraw","l":{"description":"The amount of padding (in px) on the left side of the component.","dflt":0,"editType":"arraydraw","valType":"number"},"r":{"description":"The amount of padding (in px) on the right side of the component.","dflt":0,"editType":"arraydraw","valType":"number"},"role":"object","t":{"description":"The amount of padding (in px) along the top of the component.","dflt":0,"editType":"arraydraw","valType":"number"}},"role":"object","showactive":{"description":"Highlights active dropdown item or active button if true.","dflt":true,"editType":"arraydraw","valType":"boolean"},"templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"arraydraw","valType":"string"},"type":{"description":"Determines whether the buttons are accessible via a dropdown menu or whether the buttons are stacked horizontally or vertically","dflt":"dropdown","editType":"arraydraw","valType":"enumerated","values":["dropdown","buttons"]},"visible":{"description":"Determines whether or not the update menu is visible.","editType":"arraydraw","valType":"boolean"},"x":{"description":"Sets the x position (in normalized coordinates) of the update menu.","dflt":-0.05,"editType":"arraydraw","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets the update menu's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the range selector.","dflt":"right","editType":"arraydraw","valType":"enumerated","values":["auto","left","center","right"]},"y":{"description":"Sets the y position (in normalized coordinates) of the update menu.","dflt":1,"editType":"arraydraw","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"Sets the update menu's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the range selector.","dflt":"top","editType":"arraydraw","valType":"enumerated","values":["auto","top","middle","bottom"]}}},"role":"object"},"width":{"description":"Sets the plot's width (in px).","dflt":700,"editType":"plot","min":10,"valType":"number"},"xaxis":{"_deprecated":{"autotick":{"description":"Obsolete. Set `tickmode` to *auto* for old `autotick` *true* behavior. Set `tickmode` to *linear* for `autotick` *false*.","editType":"ticks","valType":"boolean"},"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.","editType":"ticks","valType":"string"},"titlefont":{"color":{"editType":"ticks","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"ticks","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"ticks","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"ticks","min":1,"valType":"number"}}},"_isSubplotObj":true,"anchor":{"description":"If set to an opposite-letter axis id (e.g. `x2`, `y`), this axis is bound to the corresponding opposite-letter axis. If set to *free*, this axis' position is determined by `position`.","editType":"plot","valType":"enumerated","values":["free","/^x([2-9]|[1-9][0-9]+)?( domain)?$/","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]},"automargin":{"description":"Determines whether long tick labels automatically grow the figure margins.","dflt":false,"editType":"ticks","extras":[true,false],"flags":["height","width","left","right","top","bottom"],"valType":"flaglist"},"autorange":{"description":"Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction.","dflt":true,"editType":"axrange","impliedEdits":{},"valType":"enumerated","values":[true,false,"reversed","min reversed","max reversed","min","max"]},"autorangeoptions":{"clipmax":{"description":"Clip autorange maximum if it goes beyond this value. Has no effect when `autorangeoptions.maxallowed` is provided.","editType":"plot","impliedEdits":{},"valType":"any"},"clipmin":{"description":"Clip autorange minimum if it goes beyond this value. Has no effect when `autorangeoptions.minallowed` is provided.","editType":"plot","impliedEdits":{},"valType":"any"},"editType":"plot","include":{"arrayOk":true,"description":"Ensure this value is included in autorange.","editType":"plot","impliedEdits":{},"valType":"any"},"includesrc":{"description":"Sets the source reference on Chart Studio Cloud for `include`.","editType":"none","valType":"string"},"maxallowed":{"description":"Use this value exactly as autorange maximum.","editType":"plot","impliedEdits":{},"valType":"any"},"minallowed":{"description":"Use this value exactly as autorange minimum.","editType":"plot","impliedEdits":{},"valType":"any"},"role":"object"},"autotickangles":{"description":"When `tickangle` is set to *auto*, it will be set to the first angle in this array that is large enough to prevent label overlap.","dflt":[0,30,90],"editType":"ticks","freeLength":true,"items":{"valType":"angle"},"valType":"info_array"},"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"calc","valType":"enumerated","values":["convert types","strict"]},"calendar":{"description":"Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"categoryarray":{"description":"Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"calc","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.","dflt":"trace","editType":"calc","valType":"enumerated","values":["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","median ascending","median descending"]},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"ticks","valType":"color"},"constrain":{"description":"If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines how that happens: by increasing the *range*, or by decreasing the *domain*. Default is *domain* for axes containing image traces, *range* otherwise.","editType":"plot","valType":"enumerated","values":["range","domain"]},"constraintoward":{"description":"If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines which direction we push the originally specified plot area. Options are *left*, *center* (default), and *right* for x axes, and *top*, *middle* (default), and *bottom* for y axes.","editType":"plot","valType":"enumerated","values":["left","center","right","top","middle","bottom"]},"dividercolor":{"description":"Sets the color of the dividers Only has an effect on *multicategory* axes.","dflt":"#444","editType":"ticks","valType":"color"},"dividerwidth":{"description":"Sets the width (in px) of the dividers Only has an effect on *multicategory* axes.","dflt":1,"editType":"ticks","valType":"number"},"domain":{"description":"Sets the domain of this axis (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"ticks","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"ticks","valType":"enumerated","values":["none","e","E","power","SI","B"]},"fixedrange":{"description":"Determines whether or not this axis is zoom-able. If true, then zoom is disabled.","dflt":false,"editType":"calc","valType":"boolean"},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"ticks","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"ticks","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"ticks","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"none","valType":"string"},"insiderange":{"description":"Could be used to set the desired inside range of this axis (excluding the labels) when `ticklabelposition` of the anchored axis has *inside*. Not implemented for axes with `type` *log*. This would be ignored when `range` is provided.","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"labelalias":{"description":"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.","dflt":false,"editType":"ticks","valType":"any"},"layer":{"description":"Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.","dflt":"above traces","editType":"plot","valType":"enumerated","values":["above traces","below traces"]},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"layoutstyle","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"ticks+layoutstyle","min":0,"valType":"number"},"matches":{"description":"If set to another axis id (e.g. `x2`, `y`), the range of this axis will match the range of the corresponding axis in data-coordinates space. Moreover, matching axes share auto-range values, category lists and histogram auto-bins. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden. Moreover, note that matching axes must have the same `type`.","editType":"calc","valType":"enumerated","values":["/^x([2-9]|[1-9][0-9]+)?( domain)?$/","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]},"maxallowed":{"description":"Determines the maximum range of this axis.","editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},"minallowed":{"description":"Determines the minimum range of this axis.","editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"ticks","min":0,"valType":"number"},"minor":{"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"ticks","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"ticks","gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"ticks","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"ticks","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","editType":"ticks","min":0,"valType":"number"},"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":5,"editType":"ticks","min":0,"valType":"integer"},"role":"object","showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","editType":"ticks","valType":"boolean"},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"ticks","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"ticks","valType":"color"},"ticklen":{"description":"Sets the tick length (in px).","editType":"ticks","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"ticks","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"ticks":{"description":"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.","editType":"ticks","valType":"enumerated","values":["outside","inside",""]},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"ticks","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","editType":"ticks","min":0,"valType":"number"}},"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,"editType":"ticks+layoutstyle","valType":"enumerated","values":[true,"ticks",false,"all","allticks"]},"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,"editType":"ticks","min":0,"valType":"integer"},"overlaying":{"description":"If set a same-letter axis id, this axis is overlaid on top of the corresponding same-letter axis, with traces and axes visible for both axes. If *false*, this axis does not overlay any same-letter axes. In this case, for axes with overlapping domains only the highest-numbered axis will be visible.","editType":"plot","valType":"enumerated","values":["free","/^x([2-9]|[1-9][0-9]+)?( domain)?$/","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]},"position":{"description":"Sets the position of this axis in the plotting space (in normalized coordinates). Only has an effect if `anchor` is set to *free*.","dflt":0,"editType":"plot","max":1,"min":0,"valType":"number"},"range":{"anim":true,"description":"Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, 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. Leaving either or both elements `null` impacts the default `autorange`.","editType":"axrange","impliedEdits":{"autorange":false},"items":[{"anim":true,"editType":"axrange","impliedEdits":{"^autorange":false},"valType":"any"},{"anim":true,"editType":"axrange","impliedEdits":{"^autorange":false},"valType":"any"}],"valType":"info_array"},"rangebreaks":{"items":{"rangebreak":{"bounds":{"description":"Sets the lower and upper bounds of this axis rangebreak. Can be used with `pattern`.","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"dvalue":{"description":"Sets the size of each `values` item. The default is one day in milliseconds.","dflt":86400000,"editType":"calc","min":0,"valType":"number"},"editType":"calc","enabled":{"description":"Determines whether this axis rangebreak is enabled or disabled. Please note that `rangebreaks` only work for *date* axis type.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"pattern":{"description":"Determines a pattern on the time line that generates breaks. If *day of week* - days of the week in English e.g. 'Sunday' or `sun` (matching is case-insensitive and considers only the first three characters), as well as Sunday-based integers between 0 and 6. If *hour* - hour (24-hour clock) as decimal numbers between 0 and 24. for more info. Examples: - { pattern: 'day of week', bounds: [6, 1] } or simply { bounds: ['sat', 'mon'] } breaks from Saturday to Monday (i.e. skips the weekends). - { pattern: 'hour', bounds: [17, 8] } breaks from 5pm to 8am (i.e. skips non-work hours).","editType":"calc","valType":"enumerated","values":["day of week","hour",""]},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"values":{"description":"Sets the coordinate values corresponding to the rangebreaks. An alternative to `bounds`. Use `dvalue` to set the size of the values along the axis.","editType":"calc","freeLength":true,"items":{"editType":"calc","valType":"any"},"valType":"info_array"}}},"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.","dflt":"normal","editType":"plot","valType":"enumerated","values":["normal","tozero","nonnegative"]},"rangeselector":{"activecolor":{"description":"Sets the background color of the active range selector button.","editType":"plot","valType":"color"},"bgcolor":{"description":"Sets the background color of the range selector buttons.","dflt":"#eee","editType":"plot","valType":"color"},"bordercolor":{"description":"Sets the color of the border enclosing the range selector.","dflt":"#444","editType":"plot","valType":"color"},"borderwidth":{"description":"Sets the width (in px) of the border enclosing the range selector.","dflt":0,"editType":"plot","min":0,"valType":"number"},"buttons":{"items":{"button":{"count":{"description":"Sets the number of steps to take to update the range. Use with `step` to specify the update interval.","dflt":1,"editType":"plot","min":0,"valType":"number"},"description":"Sets the specifications for each buttons. By default, a range selector comes with no buttons.","editType":"plot","label":{"description":"Sets the text label to appear on the button.","editType":"plot","valType":"string"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"role":"object","step":{"description":"The unit of measurement that the `count` value will set the range by.","dflt":"month","editType":"plot","valType":"enumerated","values":["month","year","day","hour","minute","second","all"]},"stepmode":{"description":"Sets the range update mode. If *backward*, the range update shifts the start of range back *count* times *step* milliseconds. If *todate*, the range update shifts the start of range back to the first timestamp from *count* times *step* milliseconds back. For example, with `step` set to *year* and `count` set to *1* the range update shifts the start of the range back to January 01 of the current year. Month and year *todate* are currently available only for the built-in (Gregorian) calendar.","dflt":"backward","editType":"plot","valType":"enumerated","values":["backward","todate"]},"templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"visible":{"description":"Determines whether or not this button is visible.","dflt":true,"editType":"plot","valType":"boolean"}}},"role":"object"},"editType":"plot","font":{"color":{"editType":"plot","valType":"color"},"description":"Sets the font of the range selector button text.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"role":"object","visible":{"description":"Determines whether or not this range selector is visible. Note that range selectors are only available for x axes of `type` set to or auto-typed to *date*.","editType":"plot","valType":"boolean"},"x":{"description":"Sets the x position (in normalized coordinates) of the range selector.","editType":"plot","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets the range selector's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the range selector.","dflt":"left","editType":"plot","valType":"enumerated","values":["auto","left","center","right"]},"y":{"description":"Sets the y position (in normalized coordinates) of the range selector.","editType":"plot","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"Sets the range selector's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the range selector.","dflt":"bottom","editType":"plot","valType":"enumerated","values":["auto","top","middle","bottom"]}},"rangeslider":{"autorange":{"description":"Determines whether or not the range slider range is computed in relation to the input data. If `range` is provided, then `autorange` is set to *false*.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"bgcolor":{"description":"Sets the background color of the range slider.","dflt":"#fff","editType":"plot","valType":"color"},"bordercolor":{"description":"Sets the border color of the range slider.","dflt":"#444","editType":"plot","valType":"color"},"borderwidth":{"description":"Sets the border width of the range slider.","dflt":0,"editType":"plot","min":0,"valType":"integer"},"editType":"calc","range":{"description":"Sets the range of the range slider. If not set, defaults to the full xaxis range. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.","editType":"calc","impliedEdits":{"autorange":false},"items":[{"editType":"calc","impliedEdits":{"^autorange":false},"valType":"any"},{"editType":"calc","impliedEdits":{"^autorange":false},"valType":"any"}],"valType":"info_array"},"role":"object","thickness":{"description":"The height of the range slider as a fraction of the total plot area height.","dflt":0.15,"editType":"plot","max":1,"min":0,"valType":"number"},"visible":{"description":"Determines whether or not the range slider will be visible. If visible, perpendicular axes will be set to `fixedrange`","dflt":true,"editType":"calc","valType":"boolean"},"yaxis":{"_isSubplotObj":true,"editType":"calc","range":{"description":"Sets the range of this axis for the rangeslider.","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"rangemode":{"description":"Determines whether or not the range of this axis in the rangeslider use the same value than in the main plot when zooming in/out. If *auto*, the autorange will be used. If *fixed*, the `range` is used. If *match*, the current range of the corresponding y-axis on the main subplot is used.","dflt":"match","editType":"calc","valType":"enumerated","values":["auto","fixed","match"]},"role":"object"}},"role":"object","scaleanchor":{"description":"If set to another axis id (e.g. `x2`, `y`), the range of this axis changes together with the range of the corresponding axis such that the scale of pixels per unit is in a constant ratio. Both axes are still zoomable, but when you zoom one, the other will zoom the same amount, keeping a fixed midpoint. `constrain` and `constraintoward` determine how we enforce the constraint. You can chain these, ie `yaxis: {scaleanchor: *x*}, xaxis2: {scaleanchor: *y*}` but you can only link axes of the same `type`. The linked axis can have the opposite letter (to constrain the aspect ratio) or the same letter (to match scales across subplots). Loops (`yaxis: {scaleanchor: *x*}, xaxis: {scaleanchor: *y*}` or longer) are redundant and the last constraint encountered will be ignored to avoid possible inconsistent constraints via `scaleratio`. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden. Setting `false` allows to remove a default constraint (occasionally, you may need to prevent a default `scaleanchor` constraint from being applied, eg. when having an image trace `yaxis: {scaleanchor: \"x\"}` is set automatically in order for pixels to be rendered as squares, setting `yaxis: {scaleanchor: false}` allows to remove the constraint).","editType":"plot","valType":"enumerated","values":["/^x([2-9]|[1-9][0-9]+)?( domain)?$/","/^y([2-9]|[1-9][0-9]+)?( domain)?$/",false]},"scaleratio":{"description":"If this axis is linked to another by `scaleanchor`, this determines the pixel to unit scale ratio. For example, if this value is 10, then every unit on this axis spans 10 times the number of pixels as a unit on the linked axis. Use this for example to create an elevation profile where the vertical scale is exaggerated a fixed amount with respect to the horizontal.","dflt":1,"editType":"plot","min":0,"valType":"number"},"separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"ticks","valType":"boolean"},"showdividers":{"description":"Determines whether or not a dividers are drawn between the category levels of this axis. Only has an effect on *multicategory* axes.","dflt":true,"editType":"ticks","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"ticks","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","editType":"ticks","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":false,"editType":"ticks+layoutstyle","valType":"boolean"},"showspikes":{"description":"Determines whether or not spikes (aka droplines) are drawn for this axis. Note: This only takes affect when hovermode = closest","dflt":false,"editType":"modebar","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"ticks","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"ticks","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"ticks","valType":"enumerated","values":["all","first","last","none"]},"side":{"description":"Determines whether a x (y) axis is positioned at the *bottom* (*left*) or *top* (*right*) of the plotting area.","editType":"plot","valType":"enumerated","values":["top","bottom","left","right"]},"spikecolor":{"description":"Sets the spike color. If undefined, will use the series color","dflt":null,"editType":"none","valType":"color"},"spikedash":{"description":"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*).","dflt":"dash","editType":"none","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"spikemode":{"description":"Determines the drawing mode for the spike line If *toaxis*, the line is drawn from the data point to the axis the series is plotted on. If *across*, the line is drawn across the entire plot area, and supercedes *toaxis*. If *marker*, then a marker dot is drawn on the axis the series is plotted on","dflt":"toaxis","editType":"none","flags":["toaxis","across","marker"],"valType":"flaglist"},"spikesnap":{"description":"Determines whether spikelines are stuck to the cursor or to the closest datapoints.","dflt":"hovered data","editType":"none","valType":"enumerated","values":["data","cursor","hovered data"]},"spikethickness":{"description":"Sets the width (in px) of the zero line.","dflt":3,"editType":"none","valType":"number"},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"ticks","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"ticks","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"ticks","valType":"color"},"tickfont":{"color":{"editType":"ticks","valType":"color"},"description":"Sets the tick font.","editType":"ticks","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"ticks","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"ticks","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"ticks","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"ticks","items":[{"editType":"ticks","valType":"any"},{"editType":"ticks","valType":"any"}],"valType":"info_array"},"editType":"ticks","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"ticks","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"ticks","valType":"string"}}},"role":"object"},"ticklabelmode":{"description":"Determines where tick labels are drawn with respect to their corresponding ticks and grid lines. Only has an effect for axes of `type` *date* When set to *period*, tick labels are drawn in the middle of the period between ticks.","dflt":"instant","editType":"ticks","valType":"enumerated","values":["instant","period"]},"ticklabeloverflow":{"description":"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*. Otherwise on *category* and *multicategory* axes the default is *allow*. In other cases the default is *hide past div*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"Determines where tick labels are drawn with respect to the axis Please note that top or bottom has no effect on x axes or when `ticklabelmode` is set to *period*. Similarly left or right has no effect on y axes or when `ticklabelmode` is set to *period*. Has no effect on *multicategory* axes or when `tickson` is set to *boundaries*. When used on axes linked by `matches` or `scaleanchor`, no extra padding for inside labels would be added by autorange, so that the scales could match.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"ticks","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"ticks","min":0,"valType":"number"},"tickmode":{"description":"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). If *sync*, the number of ticks will sync with the overlayed axis set by `overlaying` property.","editType":"ticks","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array","sync"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"ticks","valType":"string"},"ticks":{"description":"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.","editType":"ticks","valType":"enumerated","values":["outside","inside",""]},"tickson":{"description":"Determines where ticks and grid lines are drawn with respect to their corresponding tick labels. Only has an effect for axes of `type` *category* or *multicategory*. When set to *boundaries*, ticks and grid lines are drawn half a category to the left/bottom of labels.","dflt":"labels","editType":"ticks","valType":"enumerated","values":["labels","boundaries"]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"ticks","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"ticks","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"ticks","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"ticks","min":0,"valType":"number"},"title":{"editType":"ticks","font":{"color":{"editType":"ticks","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"ticks","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"ticks","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"ticks","min":1,"valType":"number"}},"role":"object","standoff":{"description":"Sets the standoff distance (in px) between the axis labels and the title text The default value is a function of the axis tick labels, the title `font.size` and the axis `linewidth`. 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 on `automargin`, plotly.js will push the margins to fit the axis title at given standoff distance.","editType":"ticks","min":0,"valType":"number"},"text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"ticks","valType":"string"}},"type":{"_noTemplating":true,"description":"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.","dflt":"-","editType":"calc","valType":"enumerated","values":["-","linear","log","date","category","multicategory"]},"uirevision":{"description":"Controls persistence of user-driven changes in axis `range`, `autorange`, and `title` if in `editable: true` configuration. Defaults to `layout.uirevision`.","editType":"none","valType":"any"},"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","valType":"boolean"},"zeroline":{"description":"Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines.","editType":"ticks","valType":"boolean"},"zerolinecolor":{"description":"Sets the line color of the zero line.","dflt":"#444","editType":"ticks","valType":"color"},"zerolinewidth":{"description":"Sets the width (in px) of the zero line.","dflt":1,"editType":"ticks","valType":"number"}},"yaxis":{"_deprecated":{"autotick":{"description":"Obsolete. Set `tickmode` to *auto* for old `autotick` *true* behavior. Set `tickmode` to *linear* for `autotick` *false*.","editType":"ticks","valType":"boolean"},"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.","editType":"ticks","valType":"string"},"titlefont":{"color":{"editType":"ticks","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"ticks","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"ticks","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"ticks","min":1,"valType":"number"}}},"_isSubplotObj":true,"anchor":{"description":"If set to an opposite-letter axis id (e.g. `x2`, `y`), this axis is bound to the corresponding opposite-letter axis. If set to *free*, this axis' position is determined by `position`.","editType":"plot","valType":"enumerated","values":["free","/^x([2-9]|[1-9][0-9]+)?( domain)?$/","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]},"automargin":{"description":"Determines whether long tick labels automatically grow the figure margins.","dflt":false,"editType":"ticks","extras":[true,false],"flags":["height","width","left","right","top","bottom"],"valType":"flaglist"},"autorange":{"description":"Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction.","dflt":true,"editType":"axrange","impliedEdits":{},"valType":"enumerated","values":[true,false,"reversed","min reversed","max reversed","min","max"]},"autorangeoptions":{"clipmax":{"description":"Clip autorange maximum if it goes beyond this value. Has no effect when `autorangeoptions.maxallowed` is provided.","editType":"plot","impliedEdits":{},"valType":"any"},"clipmin":{"description":"Clip autorange minimum if it goes beyond this value. Has no effect when `autorangeoptions.minallowed` is provided.","editType":"plot","impliedEdits":{},"valType":"any"},"editType":"plot","include":{"arrayOk":true,"description":"Ensure this value is included in autorange.","editType":"plot","impliedEdits":{},"valType":"any"},"includesrc":{"description":"Sets the source reference on Chart Studio Cloud for `include`.","editType":"none","valType":"string"},"maxallowed":{"description":"Use this value exactly as autorange maximum.","editType":"plot","impliedEdits":{},"valType":"any"},"minallowed":{"description":"Use this value exactly as autorange minimum.","editType":"plot","impliedEdits":{},"valType":"any"},"role":"object"},"autoshift":{"description":"Automatically reposition the axis to avoid overlap with other axes with the same `overlaying` value. This repositioning will account for any `shift` amount applied to other axes on the same side with `autoshift` is set to true. Only has an effect if `anchor` is set to *free*.","dflt":false,"editType":"plot","valType":"boolean"},"autotickangles":{"description":"When `tickangle` is set to *auto*, it will be set to the first angle in this array that is large enough to prevent label overlap.","dflt":[0,30,90],"editType":"ticks","freeLength":true,"items":{"valType":"angle"},"valType":"info_array"},"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"calc","valType":"enumerated","values":["convert types","strict"]},"calendar":{"description":"Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"categoryarray":{"description":"Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"calc","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.","dflt":"trace","editType":"calc","valType":"enumerated","values":["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","median ascending","median descending"]},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"ticks","valType":"color"},"constrain":{"description":"If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines how that happens: by increasing the *range*, or by decreasing the *domain*. Default is *domain* for axes containing image traces, *range* otherwise.","editType":"plot","valType":"enumerated","values":["range","domain"]},"constraintoward":{"description":"If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines which direction we push the originally specified plot area. Options are *left*, *center* (default), and *right* for x axes, and *top*, *middle* (default), and *bottom* for y axes.","editType":"plot","valType":"enumerated","values":["left","center","right","top","middle","bottom"]},"dividercolor":{"description":"Sets the color of the dividers Only has an effect on *multicategory* axes.","dflt":"#444","editType":"ticks","valType":"color"},"dividerwidth":{"description":"Sets the width (in px) of the dividers Only has an effect on *multicategory* axes.","dflt":1,"editType":"ticks","valType":"number"},"domain":{"description":"Sets the domain of this axis (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"ticks","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"ticks","valType":"enumerated","values":["none","e","E","power","SI","B"]},"fixedrange":{"description":"Determines whether or not this axis is zoom-able. If true, then zoom is disabled.","dflt":false,"editType":"calc","valType":"boolean"},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"ticks","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"ticks","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"ticks","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"none","valType":"string"},"insiderange":{"description":"Could be used to set the desired inside range of this axis (excluding the labels) when `ticklabelposition` of the anchored axis has *inside*. Not implemented for axes with `type` *log*. This would be ignored when `range` is provided.","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"labelalias":{"description":"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.","dflt":false,"editType":"ticks","valType":"any"},"layer":{"description":"Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.","dflt":"above traces","editType":"plot","valType":"enumerated","values":["above traces","below traces"]},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"layoutstyle","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"ticks+layoutstyle","min":0,"valType":"number"},"matches":{"description":"If set to another axis id (e.g. `x2`, `y`), the range of this axis will match the range of the corresponding axis in data-coordinates space. Moreover, matching axes share auto-range values, category lists and histogram auto-bins. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden. Moreover, note that matching axes must have the same `type`.","editType":"calc","valType":"enumerated","values":["/^x([2-9]|[1-9][0-9]+)?( domain)?$/","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]},"maxallowed":{"description":"Determines the maximum range of this axis.","editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},"minallowed":{"description":"Determines the minimum range of this axis.","editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"ticks","min":0,"valType":"number"},"minor":{"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"ticks","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"ticks","gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"ticks","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"ticks","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","editType":"ticks","min":0,"valType":"number"},"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":5,"editType":"ticks","min":0,"valType":"integer"},"role":"object","showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","editType":"ticks","valType":"boolean"},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"ticks","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"ticks","valType":"color"},"ticklen":{"description":"Sets the tick length (in px).","editType":"ticks","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"ticks","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"ticks":{"description":"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.","editType":"ticks","valType":"enumerated","values":["outside","inside",""]},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"ticks","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","editType":"ticks","min":0,"valType":"number"}},"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,"editType":"ticks+layoutstyle","valType":"enumerated","values":[true,"ticks",false,"all","allticks"]},"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,"editType":"ticks","min":0,"valType":"integer"},"overlaying":{"description":"If set a same-letter axis id, this axis is overlaid on top of the corresponding same-letter axis, with traces and axes visible for both axes. If *false*, this axis does not overlay any same-letter axes. In this case, for axes with overlapping domains only the highest-numbered axis will be visible.","editType":"plot","valType":"enumerated","values":["free","/^x([2-9]|[1-9][0-9]+)?( domain)?$/","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]},"position":{"description":"Sets the position of this axis in the plotting space (in normalized coordinates). Only has an effect if `anchor` is set to *free*.","dflt":0,"editType":"plot","max":1,"min":0,"valType":"number"},"range":{"anim":true,"description":"Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, 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. Leaving either or both elements `null` impacts the default `autorange`.","editType":"axrange","impliedEdits":{"autorange":false},"items":[{"anim":true,"editType":"axrange","impliedEdits":{"^autorange":false},"valType":"any"},{"anim":true,"editType":"axrange","impliedEdits":{"^autorange":false},"valType":"any"}],"valType":"info_array"},"rangebreaks":{"items":{"rangebreak":{"bounds":{"description":"Sets the lower and upper bounds of this axis rangebreak. Can be used with `pattern`.","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"dvalue":{"description":"Sets the size of each `values` item. The default is one day in milliseconds.","dflt":86400000,"editType":"calc","min":0,"valType":"number"},"editType":"calc","enabled":{"description":"Determines whether this axis rangebreak is enabled or disabled. Please note that `rangebreaks` only work for *date* axis type.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"pattern":{"description":"Determines a pattern on the time line that generates breaks. If *day of week* - days of the week in English e.g. 'Sunday' or `sun` (matching is case-insensitive and considers only the first three characters), as well as Sunday-based integers between 0 and 6. If *hour* - hour (24-hour clock) as decimal numbers between 0 and 24. for more info. Examples: - { pattern: 'day of week', bounds: [6, 1] } or simply { bounds: ['sat', 'mon'] } breaks from Saturday to Monday (i.e. skips the weekends). - { pattern: 'hour', bounds: [17, 8] } breaks from 5pm to 8am (i.e. skips non-work hours).","editType":"calc","valType":"enumerated","values":["day of week","hour",""]},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"values":{"description":"Sets the coordinate values corresponding to the rangebreaks. An alternative to `bounds`. Use `dvalue` to set the size of the values along the axis.","editType":"calc","freeLength":true,"items":{"editType":"calc","valType":"any"},"valType":"info_array"}}},"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.","dflt":"normal","editType":"plot","valType":"enumerated","values":["normal","tozero","nonnegative"]},"role":"object","scaleanchor":{"description":"If set to another axis id (e.g. `x2`, `y`), the range of this axis changes together with the range of the corresponding axis such that the scale of pixels per unit is in a constant ratio. Both axes are still zoomable, but when you zoom one, the other will zoom the same amount, keeping a fixed midpoint. `constrain` and `constraintoward` determine how we enforce the constraint. You can chain these, ie `yaxis: {scaleanchor: *x*}, xaxis2: {scaleanchor: *y*}` but you can only link axes of the same `type`. The linked axis can have the opposite letter (to constrain the aspect ratio) or the same letter (to match scales across subplots). Loops (`yaxis: {scaleanchor: *x*}, xaxis: {scaleanchor: *y*}` or longer) are redundant and the last constraint encountered will be ignored to avoid possible inconsistent constraints via `scaleratio`. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden. Setting `false` allows to remove a default constraint (occasionally, you may need to prevent a default `scaleanchor` constraint from being applied, eg. when having an image trace `yaxis: {scaleanchor: \"x\"}` is set automatically in order for pixels to be rendered as squares, setting `yaxis: {scaleanchor: false}` allows to remove the constraint).","editType":"plot","valType":"enumerated","values":["/^x([2-9]|[1-9][0-9]+)?( domain)?$/","/^y([2-9]|[1-9][0-9]+)?( domain)?$/",false]},"scaleratio":{"description":"If this axis is linked to another by `scaleanchor`, this determines the pixel to unit scale ratio. For example, if this value is 10, then every unit on this axis spans 10 times the number of pixels as a unit on the linked axis. Use this for example to create an elevation profile where the vertical scale is exaggerated a fixed amount with respect to the horizontal.","dflt":1,"editType":"plot","min":0,"valType":"number"},"separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"ticks","valType":"boolean"},"shift":{"description":"Moves the axis a given number of pixels from where it would have been otherwise. Accepts both positive and negative values, which will shift the axis either right or left, respectively. If `autoshift` is set to true, then this defaults to a padding of -3 if `side` is set to *left*. and defaults to +3 if `side` is set to *right*. Defaults to 0 if `autoshift` is set to false. Only has an effect if `anchor` is set to *free*.","editType":"plot","valType":"number"},"showdividers":{"description":"Determines whether or not a dividers are drawn between the category levels of this axis. Only has an effect on *multicategory* axes.","dflt":true,"editType":"ticks","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"ticks","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","editType":"ticks","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":false,"editType":"ticks+layoutstyle","valType":"boolean"},"showspikes":{"description":"Determines whether or not spikes (aka droplines) are drawn for this axis. Note: This only takes affect when hovermode = closest","dflt":false,"editType":"modebar","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"ticks","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"ticks","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"ticks","valType":"enumerated","values":["all","first","last","none"]},"side":{"description":"Determines whether a x (y) axis is positioned at the *bottom* (*left*) or *top* (*right*) of the plotting area.","editType":"plot","valType":"enumerated","values":["top","bottom","left","right"]},"spikecolor":{"description":"Sets the spike color. If undefined, will use the series color","dflt":null,"editType":"none","valType":"color"},"spikedash":{"description":"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*).","dflt":"dash","editType":"none","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"spikemode":{"description":"Determines the drawing mode for the spike line If *toaxis*, the line is drawn from the data point to the axis the series is plotted on. If *across*, the line is drawn across the entire plot area, and supercedes *toaxis*. If *marker*, then a marker dot is drawn on the axis the series is plotted on","dflt":"toaxis","editType":"none","flags":["toaxis","across","marker"],"valType":"flaglist"},"spikesnap":{"description":"Determines whether spikelines are stuck to the cursor or to the closest datapoints.","dflt":"hovered data","editType":"none","valType":"enumerated","values":["data","cursor","hovered data"]},"spikethickness":{"description":"Sets the width (in px) of the zero line.","dflt":3,"editType":"none","valType":"number"},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"ticks","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"ticks","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"ticks","valType":"color"},"tickfont":{"color":{"editType":"ticks","valType":"color"},"description":"Sets the tick font.","editType":"ticks","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"ticks","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"ticks","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"ticks","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"ticks","items":[{"editType":"ticks","valType":"any"},{"editType":"ticks","valType":"any"}],"valType":"info_array"},"editType":"ticks","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"ticks","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"ticks","valType":"string"}}},"role":"object"},"ticklabelmode":{"description":"Determines where tick labels are drawn with respect to their corresponding ticks and grid lines. Only has an effect for axes of `type` *date* When set to *period*, tick labels are drawn in the middle of the period between ticks.","dflt":"instant","editType":"ticks","valType":"enumerated","values":["instant","period"]},"ticklabeloverflow":{"description":"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*. Otherwise on *category* and *multicategory* axes the default is *allow*. In other cases the default is *hide past div*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"Determines where tick labels are drawn with respect to the axis Please note that top or bottom has no effect on x axes or when `ticklabelmode` is set to *period*. Similarly left or right has no effect on y axes or when `ticklabelmode` is set to *period*. Has no effect on *multicategory* axes or when `tickson` is set to *boundaries*. When used on axes linked by `matches` or `scaleanchor`, no extra padding for inside labels would be added by autorange, so that the scales could match.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"ticks","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"ticks","min":0,"valType":"number"},"tickmode":{"description":"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). If *sync*, the number of ticks will sync with the overlayed axis set by `overlaying` property.","editType":"ticks","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array","sync"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"ticks","valType":"string"},"ticks":{"description":"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.","editType":"ticks","valType":"enumerated","values":["outside","inside",""]},"tickson":{"description":"Determines where ticks and grid lines are drawn with respect to their corresponding tick labels. Only has an effect for axes of `type` *category* or *multicategory*. When set to *boundaries*, ticks and grid lines are drawn half a category to the left/bottom of labels.","dflt":"labels","editType":"ticks","valType":"enumerated","values":["labels","boundaries"]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"ticks","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"ticks","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"ticks","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"ticks","min":0,"valType":"number"},"title":{"editType":"ticks","font":{"color":{"editType":"ticks","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"ticks","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"ticks","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"ticks","min":1,"valType":"number"}},"role":"object","standoff":{"description":"Sets the standoff distance (in px) between the axis labels and the title text The default value is a function of the axis tick labels, the title `font.size` and the axis `linewidth`. 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 on `automargin`, plotly.js will push the margins to fit the axis title at given standoff distance.","editType":"ticks","min":0,"valType":"number"},"text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"ticks","valType":"string"}},"type":{"_noTemplating":true,"description":"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.","dflt":"-","editType":"calc","valType":"enumerated","values":["-","linear","log","date","category","multicategory"]},"uirevision":{"description":"Controls persistence of user-driven changes in axis `range`, `autorange`, and `title` if in `editable: true` configuration. Defaults to `layout.uirevision`.","editType":"none","valType":"any"},"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","valType":"boolean"},"zeroline":{"description":"Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines.","editType":"ticks","valType":"boolean"},"zerolinecolor":{"description":"Sets the line color of the zero line.","dflt":"#444","editType":"ticks","valType":"color"},"zerolinewidth":{"description":"Sets the width (in px) of the zero line.","dflt":1,"editType":"ticks","valType":"number"}}}},"traces":{"bar":{"animatable":true,"attributes":{"_deprecated":{"bardir":{"description":"Renamed to `orientation`.","editType":"calc","valType":"enumerated","values":["v","h"]}},"alignmentgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"base":{"arrayOk":true,"description":"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.","dflt":null,"editType":"calc","valType":"any"},"basesrc":{"description":"Sets the source reference on Chart Studio Cloud for `base`.","editType":"none","valType":"string"},"cliponaxis":{"description":"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*.","dflt":true,"editType":"plot","valType":"boolean"},"constraintext":{"description":"Constrain the size of text inside or outside a bar to be no larger than the bar itself.","dflt":"both","editType":"calc","valType":"enumerated","values":["inside","outside","both","none"]},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dx":{"anim":true,"description":"Sets the x coordinate step. See `x0` for more info.","dflt":1,"editType":"calc","valType":"number"},"dy":{"anim":true,"description":"Sets the y coordinate step. See `y0` for more info.","dflt":1,"editType":"calc","valType":"number"},"error_x":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"style","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"style","valType":"color"},"copy_ystyle":{"editType":"plot","valType":"boolean"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"style","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"plot","min":0,"valType":"number"}},"error_y":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"style","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"style","valType":"color"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"style","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"plot","min":0,"valType":"number"}},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"ids":{"anim":true,"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"insidetextanchor":{"description":"Determines if texts are kept at center or start/end points in `textposition` *inside* mode.","dflt":"end","editType":"plot","valType":"enumerated","values":["end","middle","start"]},"insidetextfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `text` lying inside the bar.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"marker":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"cornerradius":{"description":"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.","editType":"calc","valType":"any"},"editType":"calc","line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"anim":true,"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","dflt":0,"editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the opacity of the bars.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"pattern":{"bgcolor":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"description":"Sets the pattern within the marker.","editType":"style","fgcolor":{"arrayOk":true,"description":"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`.","editType":"style","valType":"color"},"fgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `fgcolor`.","editType":"none","valType":"string"},"fgopacity":{"description":"Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.","editType":"style","max":1,"min":0,"valType":"number"},"fillmode":{"description":"Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.","dflt":"replace","editType":"style","valType":"enumerated","values":["replace","overlay"]},"role":"object","shape":{"arrayOk":true,"description":"Sets the shape of the pattern fill. By default, no pattern is used for filling the area.","dflt":"","editType":"style","valType":"enumerated","values":["","/","\\","x","-","|","+","."]},"shapesrc":{"description":"Sets the source reference on Chart Studio Cloud for `shape`.","editType":"none","valType":"string"},"size":{"arrayOk":true,"description":"Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.","dflt":8,"editType":"style","min":0,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"solidity":{"arrayOk":true,"description":"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.","dflt":0.3,"editType":"style","max":1,"min":0,"valType":"number"},"soliditysrc":{"description":"Sets the source reference on Chart Studio Cloud for `solidity`.","editType":"none","valType":"string"}},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"offset":{"arrayOk":true,"description":"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.","dflt":null,"editType":"calc","valType":"number"},"offsetgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"offsetsrc":{"description":"Sets the source reference on Chart Studio Cloud for `offset`.","editType":"none","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"orientation":{"description":"Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal).","editType":"calc+clearAxisTypes","valType":"enumerated","values":["v","h"]},"outsidetextfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `text` lying outside the bar.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textangle":{"description":"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.","dflt":"auto","editType":"plot","valType":"angle"},"textfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `text`.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"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.","dflt":"auto","editType":"calc","valType":"enumerated","values":["inside","outside","auto","none"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"bar","uid":{"anim":true,"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"width":{"arrayOk":true,"description":"Sets the bar width (in position axis units).","dflt":null,"editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"},"x":{"anim":true,"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"x0":{"anim":true,"description":"Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"xperiod0":{"description":"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.","editType":"calc","valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"anim":true,"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"y0":{"anim":true,"description":"Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"yperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the y axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"yperiod0":{"description":"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.","editType":"calc","valType":"any"},"yperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"}},"categories":["bar-like","cartesian","svg","bar","oriented","errorBarsOK","showLegend","zoomScale"],"layoutAttributes":{"barcornerradius":{"description":"Sets the rounding of bar corners. May be an integer number of pixels, or a percentage of bar width (as a string ending in %).","editType":"calc","valType":"any"},"bargap":{"description":"Sets the gap (in plot fraction) between bars of adjacent location coordinates.","editType":"calc","max":1,"min":0,"valType":"number"},"bargroupgap":{"description":"Sets the gap (in plot fraction) between bars of the same location coordinate.","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"barmode":{"description":"Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *relative*, the bars are stacked on top of one another, with negative values below the axis, positive values above With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars.","dflt":"group","editType":"calc","valType":"enumerated","values":["stack","group","overlay","relative"]},"barnorm":{"description":"Sets the normalization for bar traces on the graph. With *fraction*, the value of each bar is divided by the sum of all values at that location coordinate. *percent* is the same but multiplied by 100 to show percentages.","dflt":"","editType":"calc","valType":"enumerated","values":["","fraction","percent"]}},"meta":{"description":"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."},"type":"bar"},"barpolar":{"animatable":false,"attributes":{"base":{"arrayOk":true,"description":"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.","dflt":null,"editType":"calc","valType":"any"},"basesrc":{"description":"Sets the source reference on Chart Studio Cloud for `base`.","editType":"none","valType":"string"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dr":{"description":"Sets the r coordinate step.","dflt":1,"editType":"calc","valType":"number"},"dtheta":{"description":"Sets the theta coordinate step. By default, the `dtheta` step equals the subplot's period divided by the length of the `r` coordinates.","editType":"calc","valType":"number"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["r","theta","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"marker":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","dflt":0,"editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the opacity of the bars.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"pattern":{"bgcolor":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"description":"Sets the pattern within the marker.","editType":"style","fgcolor":{"arrayOk":true,"description":"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`.","editType":"style","valType":"color"},"fgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `fgcolor`.","editType":"none","valType":"string"},"fgopacity":{"description":"Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.","editType":"style","max":1,"min":0,"valType":"number"},"fillmode":{"description":"Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.","dflt":"replace","editType":"style","valType":"enumerated","values":["replace","overlay"]},"role":"object","shape":{"arrayOk":true,"description":"Sets the shape of the pattern fill. By default, no pattern is used for filling the area.","dflt":"","editType":"style","valType":"enumerated","values":["","/","\\","x","-","|","+","."]},"shapesrc":{"description":"Sets the source reference on Chart Studio Cloud for `shape`.","editType":"none","valType":"string"},"size":{"arrayOk":true,"description":"Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.","dflt":8,"editType":"style","min":0,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"solidity":{"arrayOk":true,"description":"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.","dflt":0.3,"editType":"style","max":1,"min":0,"valType":"number"},"soliditysrc":{"description":"Sets the source reference on Chart Studio Cloud for `solidity`.","editType":"none","valType":"string"}},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"offset":{"arrayOk":true,"description":"Shifts the angular position where the bar is drawn (in *thetatunit* units).","dflt":null,"editType":"calc","valType":"number"},"offsetsrc":{"description":"Sets the source reference on Chart Studio Cloud for `offset`.","editType":"none","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"r":{"description":"Sets the radial coordinates","editType":"calc+clearAxisTypes","valType":"data_array"},"r0":{"description":"Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"rsrc":{"description":"Sets the source reference on Chart Studio Cloud for `r`.","editType":"none","valType":"string"},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"subplot":{"description":"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.","dflt":"polar","editType":"calc","valType":"subplotid"},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"theta":{"description":"Sets the angular coordinates","editType":"calc+clearAxisTypes","valType":"data_array"},"theta0":{"description":"Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"thetasrc":{"description":"Sets the source reference on Chart Studio Cloud for `theta`.","editType":"none","valType":"string"},"thetaunit":{"description":"Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes.","dflt":"degrees","editType":"calc+clearAxisTypes","valType":"enumerated","values":["radians","degrees","gradians"]},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"barpolar","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"width":{"arrayOk":true,"description":"Sets the bar angular width (in *thetaunit* units).","dflt":null,"editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"categories":["polar","bar","showLegend"],"layoutAttributes":{"bargap":{"description":"Sets the gap between bars of adjacent location coordinates. Values are unitless, they represent fractions of the minimum difference in bar positions in the data.","dflt":0.1,"editType":"calc","max":1,"min":0,"valType":"number"},"barmode":{"description":"Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars.","dflt":"stack","editType":"calc","valType":"enumerated","values":["stack","overlay"]}},"meta":{"description":"The data visualized by the radial span of the bars is set in `r`","hrName":"bar_polar"},"type":"barpolar"},"box":{"animatable":false,"attributes":{"alignmentgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"boxmean":{"description":"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*.","editType":"calc","valType":"enumerated","values":[true,"sd",false]},"boxpoints":{"description":"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*.","editType":"calc","valType":"enumerated","values":["all","outliers","suspectedoutliers",false]},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dx":{"description":"Sets the x coordinate step for multi-box traces set using q1/median/q3.","editType":"calc","valType":"number"},"dy":{"description":"Sets the y coordinate step for multi-box traces set using q1/median/q3.","editType":"calc","valType":"number"},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"style","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hoveron":{"description":"Do the hover effects highlight individual boxes or sample points or both?","dflt":"boxes+points","editType":"style","flags":["boxes","points"],"valType":"flaglist"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"jitter":{"description":"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).","editType":"calc","max":1,"min":0,"valType":"number"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"color":{"description":"Sets the color of line bounding the box(es).","editType":"style","valType":"color"},"editType":"plot","role":"object","width":{"description":"Sets the width (in px) of line bounding the box(es).","dflt":2,"editType":"style","min":0,"valType":"number"}},"lowerfence":{"description":"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.","editType":"calc","valType":"data_array"},"lowerfencesrc":{"description":"Sets the source reference on Chart Studio Cloud for `lowerfence`.","editType":"none","valType":"string"},"marker":{"angle":{"arrayOk":false,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"calc","valType":"angle"},"color":{"arrayOk":false,"description":"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.","editType":"style","valType":"color"},"editType":"plot","line":{"color":{"arrayOk":false,"description":"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.","dflt":"#444","editType":"style","valType":"color"},"editType":"style","outliercolor":{"description":"Sets the border line color of the outlier sample points. Defaults to marker.color","editType":"style","valType":"color"},"outlierwidth":{"description":"Sets the border line width (in px) of the outlier sample points.","dflt":1,"editType":"style","min":0,"valType":"number"},"role":"object","width":{"arrayOk":false,"description":"Sets the width (in px) of the lines bounding the marker points.","dflt":0,"editType":"style","min":0,"valType":"number"}},"opacity":{"arrayOk":false,"description":"Sets the marker opacity.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"outliercolor":{"description":"Sets the color of the outlier sample points.","dflt":"rgba(0, 0, 0, 0)","editType":"style","valType":"color"},"role":"object","size":{"arrayOk":false,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"symbol":{"arrayOk":false,"description":"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.","dflt":"circle","editType":"plot","valType":"enumerated","values":[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"]}},"mean":{"description":"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.","editType":"calc","valType":"data_array"},"meansrc":{"description":"Sets the source reference on Chart Studio Cloud for `mean`.","editType":"none","valType":"string"},"median":{"description":"Sets the median values. There should be as many items as the number of boxes desired.","editType":"calc+clearAxisTypes","valType":"data_array"},"mediansrc":{"description":"Sets the source reference on Chart Studio Cloud for `median`.","editType":"none","valType":"string"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"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","editType":"calc+clearAxisTypes","valType":"string"},"notched":{"description":"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.","editType":"calc","valType":"boolean"},"notchspan":{"description":"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.","editType":"calc","valType":"data_array"},"notchspansrc":{"description":"Sets the source reference on Chart Studio Cloud for `notchspan`.","editType":"none","valType":"string"},"notchwidth":{"description":"Sets the width of the notches relative to the box' width. For example, with 0, the notches are as wide as the box(es).","dflt":0.25,"editType":"calc","max":0.5,"min":0,"valType":"number"},"offsetgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"orientation":{"description":"Sets the orientation of the box(es). If *v* (*h*), the distribution is visualized along the vertical (horizontal).","editType":"calc+clearAxisTypes","valType":"enumerated","values":["v","h"]},"pointpos":{"description":"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","editType":"calc","max":2,"min":-2,"valType":"number"},"q1":{"description":"Sets the Quartile 1 values. There should be as many items as the number of boxes desired.","editType":"calc+clearAxisTypes","valType":"data_array"},"q1src":{"description":"Sets the source reference on Chart Studio Cloud for `q1`.","editType":"none","valType":"string"},"q3":{"description":"Sets the Quartile 3 values. There should be as many items as the number of boxes desired.","editType":"calc+clearAxisTypes","valType":"data_array"},"q3src":{"description":"Sets the source reference on Chart Studio Cloud for `q3`.","editType":"none","valType":"string"},"quartilemethod":{"description":"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.","dflt":"linear","editType":"calc","valType":"enumerated","values":["linear","exclusive","inclusive"]},"sd":{"description":"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.","editType":"calc","valType":"data_array"},"sdmultiple":{"description":"Scales the box size when sizemode=sd Allowing boxes to be drawn across any stddev range For example 1-stddev, 3-stddev, 5-stddev","dflt":1,"editType":"calc","min":0,"valType":"number"},"sdsrc":{"description":"Sets the source reference on Chart Studio Cloud for `sd`.","editType":"none","valType":"string"},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"style","min":0,"valType":"number"}},"role":"object"},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"showwhiskers":{"description":"Determines whether or not whiskers are visible. Defaults to true for `sizemode` *quartiles*, false for *sd*.","editType":"calc","valType":"boolean"},"sizemode":{"description":"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","dflt":"quartiles","editType":"calc","valType":"enumerated","values":["quartiles","sd"]},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"box","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"style","min":0,"valType":"number"}},"role":"object"},"upperfence":{"description":"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.","editType":"calc","valType":"data_array"},"upperfencesrc":{"description":"Sets the source reference on Chart Studio Cloud for `upperfence`.","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"whiskerwidth":{"description":"Sets the width of the whiskers relative to the box' width. For example, with 1, the whiskers are as wide as the box(es).","dflt":0.5,"editType":"calc","max":1,"min":0,"valType":"number"},"width":{"description":"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.","dflt":0,"editType":"calc","min":0,"valType":"number"},"x":{"description":"Sets the x sample data or coordinates. See overview for more info.","editType":"calc+clearAxisTypes","valType":"data_array"},"x0":{"description":"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.","editType":"calc+clearAxisTypes","valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"xperiod0":{"description":"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.","editType":"calc","valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y sample data or coordinates. See overview for more info.","editType":"calc+clearAxisTypes","valType":"data_array"},"y0":{"description":"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.","editType":"calc+clearAxisTypes","valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"yperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the y axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"yperiod0":{"description":"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.","editType":"calc","valType":"any"},"yperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"}},"categories":["cartesian","svg","symbols","oriented","box-violin","showLegend","boxLayout","zoomScale"],"layoutAttributes":{"boxgap":{"description":"Sets the gap (in plot fraction) between boxes of adjacent location coordinates. Has no effect on traces that have *width* set.","dflt":0.3,"editType":"calc","max":1,"min":0,"valType":"number"},"boxgroupgap":{"description":"Sets the gap (in plot fraction) between boxes of the same location coordinate. Has no effect on traces that have *width* set.","dflt":0.3,"editType":"calc","max":1,"min":0,"valType":"number"},"boxmode":{"description":"Determines how boxes at the same location coordinate are displayed on the graph. If *group*, the boxes are plotted next to one another centered around the shared location. If *overlay*, the boxes are plotted over one another, you might need to set *opacity* to see them multiple boxes. Has no effect on traces that have *width* set.","dflt":"overlay","editType":"calc","valType":"enumerated","values":["group","overlay"]}},"meta":{"description":"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."},"type":"box"},"candlestick":{"animatable":false,"attributes":{"close":{"description":"Sets the close values.","editType":"calc","valType":"data_array"},"closesrc":{"description":"Sets the source reference on Chart Studio Cloud for `close`.","editType":"none","valType":"string"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"decreasing":{"editType":"style","fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"style","valType":"color"},"line":{"color":{"description":"Sets the color of line bounding the box(es).","dflt":"#FF4136","editType":"style","valType":"color"},"editType":"style","role":"object","width":{"description":"Sets the width (in px) of line bounding the box(es).","dflt":2,"editType":"style","min":0,"valType":"number"}},"role":"object"},"high":{"description":"Sets the high values.","editType":"calc","valType":"data_array"},"highsrc":{"description":"Sets the source reference on Chart Studio Cloud for `high`.","editType":"none","valType":"string"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object","split":{"description":"Show hover information (open, close, high, low) in separate labels.","dflt":false,"editType":"style","valType":"boolean"}},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"increasing":{"editType":"style","fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"style","valType":"color"},"line":{"color":{"description":"Sets the color of line bounding the box(es).","dflt":"#3D9970","editType":"style","valType":"color"},"editType":"style","role":"object","width":{"description":"Sets the width (in px) of line bounding the box(es).","dflt":2,"editType":"style","min":0,"valType":"number"}},"role":"object"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"editType":"style","role":"object","width":{"description":"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`.","dflt":2,"editType":"style","min":0,"valType":"number"}},"low":{"description":"Sets the low values.","editType":"calc","valType":"data_array"},"lowsrc":{"description":"Sets the source reference on Chart Studio Cloud for `low`.","editType":"none","valType":"string"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"open":{"description":"Sets the open values.","editType":"calc","valType":"data_array"},"opensrc":{"description":"Sets the source reference on Chart Studio Cloud for `open`.","editType":"none","valType":"string"},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"candlestick","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"whiskerwidth":{"description":"Sets the width of the whiskers relative to the box' width. For example, with 1, the whiskers are as wide as the box(es).","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"x":{"description":"Sets the x coordinates. If absent, linear coordinate will be generated.","editType":"calc+clearAxisTypes","valType":"data_array"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"xperiod0":{"description":"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.","editType":"calc","valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"}},"categories":["cartesian","svg","showLegend","candlestick","boxLayout"],"layoutAttributes":{"boxgap":{"description":"Sets the gap (in plot fraction) between boxes of adjacent location coordinates. Has no effect on traces that have *width* set.","dflt":0.3,"editType":"calc","max":1,"min":0,"valType":"number"},"boxgroupgap":{"description":"Sets the gap (in plot fraction) between boxes of the same location coordinate. Has no effect on traces that have *width* set.","dflt":0.3,"editType":"calc","max":1,"min":0,"valType":"number"},"boxmode":{"description":"Determines how boxes at the same location coordinate are displayed on the graph. If *group*, the boxes are plotted next to one another centered around the shared location. If *overlay*, the boxes are plotted over one another, you might need to set *opacity* to see them multiple boxes. Has no effect on traces that have *width* set.","dflt":"overlay","editType":"calc","valType":"enumerated","values":["group","overlay"]}},"meta":{"description":"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."},"type":"candlestick"},"carpet":{"animatable":true,"attributes":{"a":{"description":"An array containing values of the first parameter value","editType":"calc","valType":"data_array"},"a0":{"description":"Alternate to `a`. Builds a linear space of a coordinates. Use with `da` where `a0` is the starting coordinate and `da` the step.","dflt":0,"editType":"calc","valType":"number"},"aaxis":{"_deprecated":{"title":{"description":"Deprecated in favor of `title.text`. Note that value of `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleoffset":{"description":"Deprecated in favor of `title.offset`.","dflt":10,"editType":"calc","valType":"number"}},"arraydtick":{"description":"The stride between grid lines along the axis","dflt":1,"editType":"calc","min":1,"valType":"integer"},"arraytick0":{"description":"The starting index of grid lines along the axis","dflt":0,"editType":"calc","min":0,"valType":"integer"},"autorange":{"description":"Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided, then `autorange` is set to *false*.","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"reversed"]},"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"calc","valType":"enumerated","values":["convert types","strict"]},"categoryarray":{"description":"Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"calc","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`.","dflt":"trace","editType":"calc","valType":"enumerated","values":["trace","category ascending","category descending","array"]},"cheatertype":{"dflt":"value","editType":"calc","valType":"enumerated","values":["index","value"]},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","editType":"calc","valType":"color"},"dtick":{"description":"The stride between grid lines along the axis","dflt":1,"editType":"calc","min":0,"valType":"number"},"editType":"calc","endline":{"description":"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.","editType":"calc","valType":"boolean"},"endlinecolor":{"description":"Sets the line color of the end line.","editType":"calc","valType":"color"},"endlinewidth":{"description":"Sets the width (in px) of the end line.","dflt":1,"editType":"calc","valType":"number"},"exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"fixedrange":{"description":"Determines whether or not this axis is zoom-able. If true, then zoom is disabled.","dflt":false,"editType":"calc","valType":"boolean"},"gridcolor":{"description":"Sets the axis line color.","editType":"calc","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"calc","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"labelalias":{"description":"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.","dflt":false,"editType":"calc","valType":"any"},"labelpadding":{"description":"Extra padding between label and the axis","dflt":10,"editType":"calc","valType":"integer"},"labelprefix":{"description":"Sets a axis label prefix.","editType":"calc","valType":"string"},"labelsuffix":{"description":"Sets a axis label suffix.","dflt":"","editType":"calc","valType":"string"},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number","dflt":3,"editType":"calc","min":0,"valType":"number"},"minorgridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"calc","valType":"color"},"minorgridcount":{"description":"Sets the number of minor grid ticks per major grid tick","dflt":0,"editType":"calc","min":0,"valType":"integer"},"minorgriddash":{"description":"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*).","dflt":"solid","editType":"calc","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"minorgridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"range":{"description":"Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"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.","dflt":"normal","editType":"calc","valType":"enumerated","values":["normal","tozero","nonnegative"]},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","dflt":true,"editType":"calc","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":false,"editType":"calc","valType":"boolean"},"showticklabels":{"description":"Determines whether axis labels are drawn on the low side, the high side, both, or neither side of the axis.","dflt":"start","editType":"calc","valType":"enumerated","values":["start","end","both","none"]},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"smoothing":{"dflt":1,"editType":"calc","max":1.3,"min":0,"valType":"number"},"startline":{"description":"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.","editType":"calc","valType":"boolean"},"startlinecolor":{"description":"Sets the line color of the start line.","editType":"calc","valType":"color"},"startlinewidth":{"description":"Sets the width (in px) of the start line.","dflt":1,"editType":"calc","valType":"number"},"tick0":{"description":"The starting index of grid lines along the axis","dflt":0,"editType":"calc","min":0,"valType":"number"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the tick font.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"tickmode":{"dflt":"array","editType":"calc","valType":"enumerated","values":["linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"offset":{"description":"An additional amount by which to offset the title from the tick labels, given in pixels. Note that this used to be set by the now deprecated `titleoffset` attribute.","dflt":10,"editType":"calc","valType":"number"},"role":"object","text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","dflt":"","editType":"calc","valType":"string"}},"type":{"description":"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.","dflt":"-","editType":"calc","valType":"enumerated","values":["-","linear","date","category"]}},"asrc":{"description":"Sets the source reference on Chart Studio Cloud for `a`.","editType":"none","valType":"string"},"b":{"description":"A two dimensional array of y coordinates at each carpet point.","editType":"calc","valType":"data_array"},"b0":{"description":"Alternate to `b`. Builds a linear space of a coordinates. Use with `db` where `b0` is the starting coordinate and `db` the step.","dflt":0,"editType":"calc","valType":"number"},"baxis":{"_deprecated":{"title":{"description":"Deprecated in favor of `title.text`. Note that value of `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleoffset":{"description":"Deprecated in favor of `title.offset`.","dflt":10,"editType":"calc","valType":"number"}},"arraydtick":{"description":"The stride between grid lines along the axis","dflt":1,"editType":"calc","min":1,"valType":"integer"},"arraytick0":{"description":"The starting index of grid lines along the axis","dflt":0,"editType":"calc","min":0,"valType":"integer"},"autorange":{"description":"Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided, then `autorange` is set to *false*.","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"reversed"]},"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"calc","valType":"enumerated","values":["convert types","strict"]},"categoryarray":{"description":"Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"calc","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`.","dflt":"trace","editType":"calc","valType":"enumerated","values":["trace","category ascending","category descending","array"]},"cheatertype":{"dflt":"value","editType":"calc","valType":"enumerated","values":["index","value"]},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","editType":"calc","valType":"color"},"dtick":{"description":"The stride between grid lines along the axis","dflt":1,"editType":"calc","min":0,"valType":"number"},"editType":"calc","endline":{"description":"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.","editType":"calc","valType":"boolean"},"endlinecolor":{"description":"Sets the line color of the end line.","editType":"calc","valType":"color"},"endlinewidth":{"description":"Sets the width (in px) of the end line.","dflt":1,"editType":"calc","valType":"number"},"exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"fixedrange":{"description":"Determines whether or not this axis is zoom-able. If true, then zoom is disabled.","dflt":false,"editType":"calc","valType":"boolean"},"gridcolor":{"description":"Sets the axis line color.","editType":"calc","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"calc","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"labelalias":{"description":"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.","dflt":false,"editType":"calc","valType":"any"},"labelpadding":{"description":"Extra padding between label and the axis","dflt":10,"editType":"calc","valType":"integer"},"labelprefix":{"description":"Sets a axis label prefix.","editType":"calc","valType":"string"},"labelsuffix":{"description":"Sets a axis label suffix.","dflt":"","editType":"calc","valType":"string"},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number","dflt":3,"editType":"calc","min":0,"valType":"number"},"minorgridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"calc","valType":"color"},"minorgridcount":{"description":"Sets the number of minor grid ticks per major grid tick","dflt":0,"editType":"calc","min":0,"valType":"integer"},"minorgriddash":{"description":"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*).","dflt":"solid","editType":"calc","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"minorgridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"range":{"description":"Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"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.","dflt":"normal","editType":"calc","valType":"enumerated","values":["normal","tozero","nonnegative"]},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","dflt":true,"editType":"calc","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":false,"editType":"calc","valType":"boolean"},"showticklabels":{"description":"Determines whether axis labels are drawn on the low side, the high side, both, or neither side of the axis.","dflt":"start","editType":"calc","valType":"enumerated","values":["start","end","both","none"]},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"smoothing":{"dflt":1,"editType":"calc","max":1.3,"min":0,"valType":"number"},"startline":{"description":"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.","editType":"calc","valType":"boolean"},"startlinecolor":{"description":"Sets the line color of the start line.","editType":"calc","valType":"color"},"startlinewidth":{"description":"Sets the width (in px) of the start line.","dflt":1,"editType":"calc","valType":"number"},"tick0":{"description":"The starting index of grid lines along the axis","dflt":0,"editType":"calc","min":0,"valType":"number"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the tick font.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"tickmode":{"dflt":"array","editType":"calc","valType":"enumerated","values":["linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"offset":{"description":"An additional amount by which to offset the title from the tick labels, given in pixels. Note that this used to be set by the now deprecated `titleoffset` attribute.","dflt":10,"editType":"calc","valType":"number"},"role":"object","text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","dflt":"","editType":"calc","valType":"string"}},"type":{"description":"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.","dflt":"-","editType":"calc","valType":"enumerated","values":["-","linear","date","category"]}},"bsrc":{"description":"Sets the source reference on Chart Studio Cloud for `b`.","editType":"none","valType":"string"},"carpet":{"description":"An identifier for this carpet, so that `scattercarpet` and `contourcarpet` traces can specify a carpet plot on which they lie","editType":"calc","valType":"string"},"cheaterslope":{"description":"The shift applied to each successive row of data in creating a cheater plot. Only used if `x` is been omitted.","dflt":1,"editType":"calc","valType":"number"},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"da":{"description":"Sets the a coordinate step. See `a0` for more info.","dflt":1,"editType":"calc","valType":"number"},"db":{"description":"Sets the b coordinate step. See `b0` for more info.","dflt":1,"editType":"calc","valType":"number"},"font":{"color":{"dflt":"#444","editType":"calc","valType":"color"},"description":"The default font used for axis \u0026 tick labels on this carpet","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","dflt":"\"Open Sans\", verdana, arial, sans-serif","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"dflt":12,"editType":"calc","min":1,"valType":"number"}},"ids":{"anim":true,"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"type":"carpet","uid":{"anim":true,"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"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.","editType":"calc+clearAxisTypes","valType":"data_array"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"A two dimensional array of y coordinates at each carpet point.","editType":"calc+clearAxisTypes","valType":"data_array"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"}},"categories":["cartesian","svg","carpet","carpetAxis","notLegendIsolatable","noMultiCategory","noHover","noSortingByValue"],"meta":{"description":"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`."},"type":"carpet"},"choropleth":{"animatable":false,"attributes":{"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"featureidkey":{"description":"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*.","dflt":"id","editType":"calc","valType":"string"},"geo":{"description":"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.","dflt":"geo","editType":"calc","valType":"subplotid"},"geojson":{"description":"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*.","editType":"calc","valType":"any"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":["location","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"locationmode":{"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","values":["ISO-3","USA-states","country names","geojson-id"]},"locations":{"description":"Sets the coordinates via location IDs or names. See `locationmode` for more info.","editType":"calc","valType":"data_array"},"locationssrc":{"description":"Sets the source reference on Chart Studio Cloud for `locations`.","editType":"none","valType":"string"},"marker":{"editType":"calc","line":{"color":{"arrayOk":true,"description":"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.","dflt":"#444","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","dflt":1,"editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the opacity of the locations.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"role":"object"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"selected":{"editType":"plot","marker":{"editType":"plot","opacity":{"description":"Sets the marker opacity of selected points.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object"},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"Sets the text elements associated with each location.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"choropleth","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"plot","marker":{"editType":"plot","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"z":{"description":"Sets the color values.","editType":"calc","valType":"data_array"},"zauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"zmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"zmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["geo","noOpacity","showLegend"],"meta":{"description":"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`."},"type":"choropleth"},"choroplethmapbox":{"animatable":false,"attributes":{"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"below":{"description":"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.","editType":"plot","valType":"string"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"featureidkey":{"description":"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*.","dflt":"id","editType":"calc","valType":"string"},"geojson":{"description":"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*.","editType":"calc","valType":"any"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":["location","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"locations":{"description":"Sets which features found in *geojson* to plot using their feature `id` field.","editType":"calc","valType":"data_array"},"locationssrc":{"description":"Sets the source reference on Chart Studio Cloud for `locations`.","editType":"none","valType":"string"},"marker":{"editType":"calc","line":{"color":{"arrayOk":true,"description":"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.","dflt":"#444","editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","dflt":1,"editType":"plot","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the opacity of the locations.","dflt":1,"editType":"plot","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"role":"object"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"selected":{"editType":"plot","marker":{"editType":"plot","opacity":{"description":"Sets the marker opacity of selected points.","editType":"plot","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object"},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"subplot":{"description":"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.","dflt":"mapbox","editType":"calc","valType":"subplotid"},"text":{"arrayOk":true,"description":"Sets the text elements associated with each location.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"choroplethmapbox","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"plot","marker":{"editType":"plot","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"plot","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"z":{"description":"Sets the color values.","editType":"calc","valType":"data_array"},"zauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"zmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"zmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["mapbox","gl","noOpacity","showLegend"],"meta":{"description":"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`.","hr_name":"choropleth_mapbox"},"type":"choroplethmapbox"},"cone":{"animatable":false,"attributes":{"anchor":{"description":"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.","dflt":"cm","editType":"calc","valType":"enumerated","values":["tip","tail","cm","center"]},"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"x+y+z+norm+text+name","editType":"calc","extras":["all","none","skip"],"flags":["x","y","z","u","v","w","norm","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"lighting":{"ambient":{"description":"Ambient light increases overall color visibility but can wash out the image.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"diffuse":{"description":"Represents the extent that incident rays are reflected in a range of angles.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"editType":"calc","facenormalsepsilon":{"description":"Epsilon for face normals calculation avoids math issues arising from degenerate geometry.","dflt":0.000001,"editType":"calc","max":1,"min":0,"valType":"number"},"fresnel":{"description":"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.","dflt":0.2,"editType":"calc","max":5,"min":0,"valType":"number"},"role":"object","roughness":{"description":"Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.","dflt":0.5,"editType":"calc","max":1,"min":0,"valType":"number"},"specular":{"description":"Represents the level that incident rays are reflected in a single direction, causing shine.","dflt":0.05,"editType":"calc","max":2,"min":0,"valType":"number"},"vertexnormalsepsilon":{"description":"Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.","dflt":1e-12,"editType":"calc","max":1,"min":0,"valType":"number"}},"lightposition":{"editType":"calc","role":"object","x":{"description":"Numeric vector, representing the X coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"y":{"description":"Numeric vector, representing the Y coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"z":{"description":"Numeric vector, representing the Z coordinate for each vertex.","dflt":0,"editType":"calc","max":100000,"min":-100000,"valType":"number"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"scene":{"description":"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.","dflt":"scene","editType":"calc+clearAxisTypes","valType":"subplotid"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"sizemode":{"description":"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).","dflt":"scaled","editType":"calc","valType":"enumerated","values":["scaled","absolute"]},"sizeref":{"description":"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 *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.","editType":"calc","min":0,"valType":"number"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"type":"cone","u":{"description":"Sets the x components of the vector field.","editType":"calc","valType":"data_array"},"uhoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"usrc":{"description":"Sets the source reference on Chart Studio Cloud for `u`.","editType":"none","valType":"string"},"v":{"description":"Sets the y components of the vector field.","editType":"calc","valType":"data_array"},"vhoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"vsrc":{"description":"Sets the source reference on Chart Studio Cloud for `v`.","editType":"none","valType":"string"},"w":{"description":"Sets the z components of the vector field.","editType":"calc","valType":"data_array"},"whoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"wsrc":{"description":"Sets the source reference on Chart Studio Cloud for `w`.","editType":"none","valType":"string"},"x":{"description":"Sets the x coordinates of the vector field and of the displayed cones.","editType":"calc+clearAxisTypes","valType":"data_array"},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y coordinates of the vector field and of the displayed cones.","editType":"calc+clearAxisTypes","valType":"data_array"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"Sets the z coordinates of the vector field and of the displayed cones.","editType":"calc+clearAxisTypes","valType":"data_array"},"zhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["gl3d","showLegend"],"meta":{"description":"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`."},"type":"cone"},"contour":{"animatable":false,"attributes":{"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":false,"editType":"calc","impliedEdits":{},"valType":"boolean"},"autocontour":{"description":"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`.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"connectgaps":{"description":"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.","editType":"calc","valType":"boolean"},"contours":{"coloring":{"description":"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.","dflt":"fill","editType":"calc","valType":"enumerated","values":["fill","heatmap","lines","none"]},"editType":"calc","end":{"description":"Sets the end contour level value. Must be more than `contours.start`","dflt":null,"editType":"plot","impliedEdits":{"^autocontour":false},"valType":"number"},"impliedEdits":{"autocontour":false,"role":"object"},"labelfont":{"color":{"editType":"style","valType":"color"},"description":"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`.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"labelformat":{"description":"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.","dflt":"","editType":"plot","valType":"string"},"operation":{"description":"Sets the constraint operation. *=* keeps regions equal to `value` *\u003c* and *\u003c=* keep regions less than `value` *\u003e* and *\u003e=* 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.","dflt":"=","editType":"calc","valType":"enumerated","values":["=","\u003c","\u003e=","\u003e","\u003c=","[]","()","[)","(]","][",")(","](",")["]},"role":"object","showlabels":{"description":"Determines whether to label the contour lines with their values.","dflt":false,"editType":"plot","valType":"boolean"},"showlines":{"description":"Determines whether or not the contour lines are drawn. Has an effect only if `contours.coloring` is set to *fill*.","dflt":true,"editType":"plot","valType":"boolean"},"size":{"description":"Sets the step between each contour level. Must be positive.","dflt":null,"editType":"plot","impliedEdits":{"^autocontour":false},"min":0,"valType":"number"},"start":{"description":"Sets the starting contour level value. Must be less than `contours.end`","dflt":null,"editType":"plot","impliedEdits":{"^autocontour":false},"valType":"number"},"type":{"description":"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.","dflt":"levels","editType":"calc","valType":"enumerated","values":["levels","constraint"]},"value":{"description":"Sets the value or values of the constraint boundary. When `operation` is set to one of the comparison values (=,\u003c,\u003e=,\u003e,\u003c=) *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.","dflt":0,"editType":"calc","valType":"any"}},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dx":{"description":"Sets the x coordinate step. See `x0` for more info.","dflt":1,"editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"number"},"dy":{"description":"Sets the y coordinate step. See `y0` for more info.","dflt":1,"editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"number"},"fillcolor":{"description":"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.","editType":"calc","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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.","dflt":true,"editType":"none","valType":"boolean"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"description":"Same as `text`.","editType":"calc","valType":"data_array"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"color":{"description":"Sets the color of the contour level. Has no effect if `contours.coloring` is set to *lines*.","editType":"style+colorbars","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"plot","role":"object","smoothing":{"description":"Sets the amount of smoothing for the contour lines, where *0* corresponds to no smoothing.","dflt":1,"editType":"plot","max":1.3,"min":0,"valType":"number"},"width":{"description":"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*.","editType":"style+colorbars","min":0,"valType":"number"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"ncontours":{"description":"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.","dflt":15,"editType":"calc","min":1,"valType":"integer"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"Sets the text elements associated with each z value.","editType":"calc","valType":"data_array"},"textfont":{"color":{"dflt":"auto","editType":"style","valType":"color"},"description":"For this trace it only has an effect if `coloring` is set to *heatmap*. Sets the text font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"dflt":"auto","editType":"plot","min":1,"valType":"number"}},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"description":"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`.","dflt":"","editType":"plot","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"transpose":{"description":"Transposes the z data.","dflt":false,"editType":"calc","valType":"boolean"},"type":"contour","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","impliedEdits":{"xtype":"array"},"valType":"data_array"},"x0":{"description":"Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.","dflt":0,"editType":"calc+clearAxisTypes","impliedEdits":{"xtype":"scaled"},"valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"any"},"xperiod0":{"description":"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.","editType":"calc","valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"xtype":{"description":"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).","editType":"calc+clearAxisTypes","valType":"enumerated","values":["array","scaled"]},"y":{"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","impliedEdits":{"ytype":"array"},"valType":"data_array"},"y0":{"description":"Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.","dflt":0,"editType":"calc+clearAxisTypes","impliedEdits":{"ytype":"scaled"},"valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"yperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the y axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"any"},"yperiod0":{"description":"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.","editType":"calc","valType":"any"},"yperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.","dflt":"middle","editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"enumerated","values":["start","middle","end"]},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"ytype":{"description":"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)","editType":"calc+clearAxisTypes","valType":"enumerated","values":["array","scaled"]},"z":{"description":"Sets the z data.","editType":"calc","valType":"data_array"},"zauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"zhoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"zmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"zmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["cartesian","svg","2dMap","contour","showLegend"],"meta":{"description":"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."},"type":"contour"},"contourcarpet":{"animatable":false,"attributes":{"a":{"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","impliedEdits":{"xtype":"array"},"valType":"data_array"},"a0":{"description":"Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.","dflt":0,"editType":"calc+clearAxisTypes","impliedEdits":{"xtype":"scaled"},"valType":"any"},"asrc":{"description":"Sets the source reference on Chart Studio Cloud for `a`.","editType":"none","valType":"string"},"atype":{"description":"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).","editType":"calc+clearAxisTypes","valType":"enumerated","values":["array","scaled"]},"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":false,"editType":"calc","impliedEdits":{},"valType":"boolean"},"autocontour":{"description":"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`.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"b":{"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","impliedEdits":{"ytype":"array"},"valType":"data_array"},"b0":{"description":"Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.","dflt":0,"editType":"calc+clearAxisTypes","impliedEdits":{"ytype":"scaled"},"valType":"any"},"bsrc":{"description":"Sets the source reference on Chart Studio Cloud for `b`.","editType":"none","valType":"string"},"btype":{"description":"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)","editType":"calc+clearAxisTypes","valType":"enumerated","values":["array","scaled"]},"carpet":{"description":"The `carpet` of the carpet axes on which this contour trace lies","editType":"calc","valType":"string"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"contours":{"coloring":{"description":"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.","dflt":"fill","editType":"calc","valType":"enumerated","values":["fill","lines","none"]},"editType":"calc","end":{"description":"Sets the end contour level value. Must be more than `contours.start`","dflt":null,"editType":"plot","impliedEdits":{"^autocontour":false},"valType":"number"},"impliedEdits":{"autocontour":false,"role":"object"},"labelfont":{"color":{"editType":"style","valType":"color"},"description":"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`.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"labelformat":{"description":"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.","dflt":"","editType":"plot","valType":"string"},"operation":{"description":"Sets the constraint operation. *=* keeps regions equal to `value` *\u003c* and *\u003c=* keep regions less than `value` *\u003e* and *\u003e=* 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.","dflt":"=","editType":"calc","valType":"enumerated","values":["=","\u003c","\u003e=","\u003e","\u003c=","[]","()","[)","(]","][",")(","](",")["]},"role":"object","showlabels":{"description":"Determines whether to label the contour lines with their values.","dflt":false,"editType":"plot","valType":"boolean"},"showlines":{"description":"Determines whether or not the contour lines are drawn. Has an effect only if `contours.coloring` is set to *fill*.","dflt":true,"editType":"plot","valType":"boolean"},"size":{"description":"Sets the step between each contour level. Must be positive.","dflt":null,"editType":"plot","impliedEdits":{"^autocontour":false},"min":0,"valType":"number"},"start":{"description":"Sets the starting contour level value. Must be less than `contours.end`","dflt":null,"editType":"plot","impliedEdits":{"^autocontour":false},"valType":"number"},"type":{"description":"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.","dflt":"levels","editType":"calc","valType":"enumerated","values":["levels","constraint"]},"value":{"description":"Sets the value or values of the constraint boundary. When `operation` is set to one of the comparison values (=,\u003c,\u003e=,\u003e,\u003c=) *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.","dflt":0,"editType":"calc","valType":"any"}},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"da":{"description":"Sets the x coordinate step. See `x0` for more info.","dflt":1,"editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"number"},"db":{"description":"Sets the y coordinate step. See `y0` for more info.","dflt":1,"editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"number"},"fillcolor":{"description":"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.","editType":"calc","valType":"color"},"hovertext":{"description":"Same as `text`.","editType":"calc","valType":"data_array"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"color":{"description":"Sets the color of the contour level. Has no effect if `contours.coloring` is set to *lines*.","editType":"style+colorbars","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"plot","role":"object","smoothing":{"description":"Sets the amount of smoothing for the contour lines, where *0* corresponds to no smoothing.","dflt":1,"editType":"plot","max":1.3,"min":0,"valType":"number"},"width":{"description":"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*.","editType":"style+colorbars","min":0,"valType":"number"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"ncontours":{"description":"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.","dflt":15,"editType":"calc","min":1,"valType":"integer"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"Sets the text elements associated with each z value.","editType":"calc","valType":"data_array"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"transpose":{"description":"Transposes the z data.","dflt":false,"editType":"calc","valType":"boolean"},"type":"contourcarpet","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"z":{"description":"Sets the z data.","editType":"calc","valType":"data_array"},"zauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"zmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"zauto":false},"valType":"number"},"zmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"zmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"zauto":false},"valType":"number"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["cartesian","svg","carpet","contour","symbols","showLegend","hasLines","carpetDependent","noHover","noSortingByValue"],"meta":{"description":"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.","hrName":"contour_carpet"},"type":"contourcarpet"},"densitymapbox":{"animatable":false,"attributes":{"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"below":{"description":"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.","editType":"plot","valType":"string"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["lon","lat","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"lat":{"description":"Sets the latitude coordinates (in degrees North).","editType":"calc","valType":"data_array"},"latsrc":{"description":"Sets the source reference on Chart Studio Cloud for `lat`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"lon":{"description":"Sets the longitude coordinates (in degrees East).","editType":"calc","valType":"data_array"},"lonsrc":{"description":"Sets the source reference on Chart Studio Cloud for `lon`.","editType":"none","valType":"string"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"radius":{"arrayOk":true,"description":"Sets the radius of influence of one `lon` / `lat` point in pixels. Increasing the value makes the densitymapbox trace smoother, but less detailed.","dflt":30,"editType":"plot","min":1,"valType":"number"},"radiussrc":{"description":"Sets the source reference on Chart Studio Cloud for `radius`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"subplot":{"description":"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.","dflt":"mapbox","editType":"calc","valType":"subplotid"},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"densitymapbox","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"z":{"description":"Sets the points' weight. For example, a value of 10 would be equivalent to having 10 points of weight 1 in the same spot","editType":"calc","valType":"data_array"},"zauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"zmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"zmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["mapbox","gl","showLegend"],"meta":{"description":"Draws a bivariate kernel density estimation with a Gaussian kernel from `lon` and `lat` coordinates and optional `z` values using a colorscale.","hr_name":"density_mapbox"},"type":"densitymapbox"},"funnel":{"animatable":false,"attributes":{"alignmentgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"cliponaxis":{"description":"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*.","dflt":true,"editType":"plot","valType":"boolean"},"connector":{"editType":"plot","fillcolor":{"description":"Sets the fill color.","editType":"style","valType":"color"},"line":{"color":{"description":"Sets the line color.","dflt":"#444","editType":"style","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"style","role":"object","width":{"description":"Sets the line width (in px).","dflt":0,"editType":"plot","min":0,"valType":"number"}},"role":"object","visible":{"description":"Determines if connector regions and lines are drawn.","dflt":true,"editType":"plot","valType":"boolean"}},"constraintext":{"description":"Constrain the size of text inside or outside a bar to be no larger than the bar itself.","dflt":"both","editType":"calc","valType":"enumerated","values":["inside","outside","both","none"]},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dx":{"description":"Sets the x coordinate step. See `x0` for more info.","dflt":1,"editType":"calc","valType":"number"},"dy":{"description":"Sets the y coordinate step. See `y0` for more info.","dflt":1,"editType":"calc","valType":"number"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["name","x","y","text","percent initial","percent previous","percent total"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"insidetextanchor":{"description":"Determines if texts are kept at center or start/end points in `textposition` *inside* mode.","dflt":"middle","editType":"plot","valType":"enumerated","values":["end","middle","start"]},"insidetextfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `text` lying inside the bar.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"marker":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","dflt":0,"editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the opacity of the bars.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"offset":{"arrayOk":false,"description":"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.","dflt":null,"editType":"calc","valType":"number"},"offsetgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"orientation":{"description":"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*.","editType":"calc+clearAxisTypes","valType":"enumerated","values":["v","h"]},"outsidetextfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `text` lying outside the bar.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textangle":{"description":"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.","dflt":0,"editType":"plot","valType":"angle"},"textfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `text`.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textinfo":{"arrayOk":false,"description":"Determines which trace information appear on the graph. In the case of having multiple funnels, percentages \u0026 totals are computed separately (per trace).","editType":"plot","extras":["none"],"flags":["label","text","percent initial","percent previous","percent total","value"],"valType":"flaglist"},"textposition":{"arrayOk":true,"description":"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.","dflt":"auto","editType":"calc","valType":"enumerated","values":["inside","outside","auto","none"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"funnel","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"width":{"arrayOk":false,"description":"Sets the bar width (in position axis units).","dflt":null,"editType":"calc","min":0,"valType":"number"},"x":{"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"x0":{"description":"Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"xperiod0":{"description":"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.","editType":"calc","valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"y0":{"description":"Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"yperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the y axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"yperiod0":{"description":"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.","editType":"calc","valType":"any"},"yperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"}},"categories":["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],"layoutAttributes":{"funnelgap":{"description":"Sets the gap (in plot fraction) between bars of adjacent location coordinates.","editType":"calc","max":1,"min":0,"valType":"number"},"funnelgroupgap":{"description":"Sets the gap (in plot fraction) between bars of the same location coordinate.","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"funnelmode":{"description":"Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars.","dflt":"stack","editType":"calc","valType":"enumerated","values":["stack","group","overlay"]}},"meta":{"description":"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."},"type":"funnel"},"funnelarea":{"animatable":false,"attributes":{"aspectratio":{"description":"Sets the ratio between height and width","dflt":1,"editType":"plot","min":0,"valType":"number"},"baseratio":{"description":"Sets the ratio between bottom length and maximum top length.","dflt":0.333,"editType":"plot","max":1,"min":0,"valType":"number"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dlabel":{"description":"Sets the label step. See `label0` for more info.","dflt":1,"editType":"calc","valType":"number"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this funnelarea trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"editType":"calc","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this funnelarea trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this funnelarea trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this funnelarea trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["label","text","value","percent","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"insidetextfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo` lying inside the sector.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"label0":{"description":"Alternate to `labels`. Builds a numeric set of labels. Use with `dlabel` where `label0` is the starting label and `dlabel` the step.","dflt":0,"editType":"calc","valType":"number"},"labels":{"description":"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.","editType":"calc","valType":"data_array"},"labelssrc":{"description":"Sets the source reference on Chart Studio Cloud for `labels`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"marker":{"colors":{"description":"Sets the color of each sector. If not specified, the default trace color set is used to pick the sector colors.","editType":"calc","valType":"data_array"},"colorssrc":{"description":"Sets the source reference on Chart Studio Cloud for `colors`.","editType":"none","valType":"string"},"editType":"calc","line":{"color":{"arrayOk":true,"description":"Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value.","dflt":null,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the line enclosing each sector.","dflt":1,"editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"pattern":{"bgcolor":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"description":"Sets the pattern within the marker.","editType":"style","fgcolor":{"arrayOk":true,"description":"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`.","editType":"style","valType":"color"},"fgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `fgcolor`.","editType":"none","valType":"string"},"fgopacity":{"description":"Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.","editType":"style","max":1,"min":0,"valType":"number"},"fillmode":{"description":"Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.","dflt":"replace","editType":"style","valType":"enumerated","values":["replace","overlay"]},"role":"object","shape":{"arrayOk":true,"description":"Sets the shape of the pattern fill. By default, no pattern is used for filling the area.","dflt":"","editType":"style","valType":"enumerated","values":["","/","\\","x","-","|","+","."]},"shapesrc":{"description":"Sets the source reference on Chart Studio Cloud for `shape`.","editType":"none","valType":"string"},"size":{"arrayOk":true,"description":"Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.","dflt":8,"editType":"style","min":0,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"solidity":{"arrayOk":true,"description":"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.","dflt":0.3,"editType":"style","max":1,"min":0,"valType":"number"},"soliditysrc":{"description":"Sets the source reference on Chart Studio Cloud for `solidity`.","editType":"none","valType":"string"}},"role":"object"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"scalegroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"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.","editType":"plot","valType":"data_array"},"textfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo`.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textinfo":{"description":"Determines which trace information appear on the graph.","editType":"calc","extras":["none"],"flags":["label","text","value","percent"],"valType":"flaglist"},"textposition":{"arrayOk":true,"description":"Specifies the location of the `textinfo`.","dflt":"inside","editType":"plot","valType":"enumerated","values":["inside","none"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"title":{"editType":"plot","font":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `title`. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"position":{"description":"Specifies the location of the `title`. Note that the title's position used to be set by the now deprecated `titleposition` attribute.","dflt":"top center","editType":"plot","valType":"enumerated","values":["top left","top center","top right"]},"role":"object","text":{"description":"Sets the title of the chart. If it is empty, no title is displayed. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","dflt":"","editType":"plot","valType":"string"}},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"funnelarea","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"values":{"description":"Sets the values of the sectors. If omitted, we count occurrences of each label.","editType":"calc","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["pie-like","funnelarea","showLegend"],"layoutAttributes":{"extendfunnelareacolors":{"description":"If `true`, the funnelarea slice colors (whether given by `funnelareacolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended.","dflt":true,"editType":"calc","valType":"boolean"},"funnelareacolorway":{"description":"Sets the default funnelarea slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendfunnelareacolors`.","editType":"calc","valType":"colorlist"},"hiddenlabels":{"description":"hiddenlabels is the funnelarea \u0026 pie chart analog of visible:'legendonly' but it can contain many labels, and can simultaneously hide slices from several pies/funnelarea charts","editType":"calc","valType":"data_array"},"hiddenlabelssrc":{"description":"Sets the source reference on Chart Studio Cloud for `hiddenlabels`.","editType":"none","valType":"string"}},"meta":{"description":"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."},"type":"funnelarea"},"heatmap":{"animatable":false,"attributes":{"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":false,"editType":"calc","impliedEdits":{},"valType":"boolean"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"connectgaps":{"description":"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.","editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dx":{"description":"Sets the x coordinate step. See `x0` for more info.","dflt":1,"editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"number"},"dy":{"description":"Sets the y coordinate step. See `y0` for more info.","dflt":1,"editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"number"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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.","dflt":true,"editType":"none","valType":"boolean"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"description":"Same as `text`.","editType":"calc","valType":"data_array"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"Sets the text elements associated with each z value.","editType":"calc","valType":"data_array"},"textfont":{"color":{"dflt":"auto","editType":"style","valType":"color"},"description":"Sets the text font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"dflt":"auto","editType":"plot","min":1,"valType":"number"}},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"description":"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`.","dflt":"","editType":"plot","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"transpose":{"description":"Transposes the z data.","dflt":false,"editType":"calc","valType":"boolean"},"type":"heatmap","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","impliedEdits":{"xtype":"array"},"valType":"data_array"},"x0":{"description":"Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.","dflt":0,"editType":"calc+clearAxisTypes","impliedEdits":{"xtype":"scaled"},"valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xgap":{"description":"Sets the horizontal gap (in pixels) between bricks.","dflt":0,"editType":"plot","min":0,"valType":"number"},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"any"},"xperiod0":{"description":"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.","editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"xtype":{"description":"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).","editType":"calc+clearAxisTypes","valType":"enumerated","values":["array","scaled"]},"y":{"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","impliedEdits":{"ytype":"array"},"valType":"data_array"},"y0":{"description":"Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.","dflt":0,"editType":"calc+clearAxisTypes","impliedEdits":{"ytype":"scaled"},"valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"ygap":{"description":"Sets the vertical gap (in pixels) between bricks.","dflt":0,"editType":"plot","min":0,"valType":"number"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"yperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the y axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"any"},"yperiod0":{"description":"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.","editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"any"},"yperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.","dflt":"middle","editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"enumerated","values":["start","middle","end"]},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"ytype":{"description":"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)","editType":"calc+clearAxisTypes","valType":"enumerated","values":["array","scaled"]},"z":{"description":"Sets the z data.","editType":"calc","valType":"data_array"},"zauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"zhoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"zmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"zauto":false},"valType":"number"},"zmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"zmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"zauto":false},"valType":"number"},"zsmooth":{"description":"Picks a smoothing algorithm use to smooth `z` data.","dflt":false,"editType":"calc","valType":"enumerated","values":["fast","best",false]},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["cartesian","svg","2dMap","showLegend"],"meta":{"description":"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."},"type":"heatmap"},"heatmapgl":{"animatable":false,"attributes":{"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":false,"editType":"calc","impliedEdits":{},"valType":"boolean"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"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*.","editType":"calc","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"calc","valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dx":{"description":"Sets the x coordinate step. See `x0` for more info.","dflt":1,"editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"number"},"dy":{"description":"Sets the y coordinate step. See `y0` for more info.","dflt":1,"editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"number"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"Sets the text elements associated with each z value.","editType":"calc","valType":"data_array"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"transpose":{"description":"Transposes the z data.","dflt":false,"editType":"calc","valType":"boolean"},"type":"heatmapgl","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the x coordinates.","editType":"calc","impliedEdits":{"xtype":"array"},"valType":"data_array"},"x0":{"description":"Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.","dflt":0,"editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"xtype":{"description":"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).","editType":"calc","valType":"enumerated","values":["array","scaled"]},"y":{"description":"Sets the y coordinates.","editType":"calc","impliedEdits":{"ytype":"array"},"valType":"data_array"},"y0":{"description":"Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.","dflt":0,"editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"ytype":{"description":"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)","editType":"calc","valType":"enumerated","values":["array","scaled"]},"z":{"description":"Sets the z data.","editType":"calc","valType":"data_array"},"zauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"zmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"zmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zsmooth":{"description":"Picks a smoothing algorithm use to smooth `z` data.","dflt":"fast","editType":"calc","valType":"enumerated","values":["fast",false]},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["gl","gl2d","2dMap"],"meta":{"description":"*heatmapgl* trace is deprecated! Please consider switching to the *heatmap* or *image* trace types. Alternatively you could contribute/sponsor rewriting this trace type based on cartesian features and using regl framework. WebGL version of the heatmap trace type."},"type":"heatmapgl"},"histogram":{"animatable":false,"attributes":{"_deprecated":{"bardir":{"description":"Renamed to `orientation`.","editType":"calc","valType":"enumerated","values":["v","h"]}},"alignmentgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"autobinx":{"description":"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.","dflt":null,"editType":"calc","valType":"boolean"},"autobiny":{"description":"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.","dflt":null,"editType":"calc","valType":"boolean"},"bingroup":{"description":"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`","dflt":"","editType":"calc","valType":"string"},"cliponaxis":{"description":"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*.","dflt":true,"editType":"plot","valType":"boolean"},"constraintext":{"description":"Constrain the size of text inside or outside a bar to be no larger than the bar itself.","dflt":"both","editType":"calc","valType":"enumerated","values":["inside","outside","both","none"]},"cumulative":{"currentbin":{"description":"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.","dflt":"include","editType":"calc","valType":"enumerated","values":["include","exclude","half"]},"direction":{"description":"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.","dflt":"increasing","editType":"calc","valType":"enumerated","values":["increasing","decreasing"]},"editType":"calc","enabled":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"error_x":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"style","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"style","valType":"color"},"copy_ystyle":{"editType":"plot","valType":"boolean"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"style","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"plot","min":0,"valType":"number"}},"error_y":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"style","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"style","valType":"color"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"style","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"plot","min":0,"valType":"number"}},"histfunc":{"description":"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.","dflt":"count","editType":"calc","valType":"enumerated","values":["count","sum","avg","min","max"]},"histnorm":{"description":"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).","dflt":"","editType":"calc","valType":"enumerated","values":["","percent","probability","density","probability density"]},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"insidetextanchor":{"description":"Determines if texts are kept at center or start/end points in `textposition` *inside* mode.","dflt":"end","editType":"plot","valType":"enumerated","values":["end","middle","start"]},"insidetextfont":{"color":{"editType":"style","valType":"color"},"description":"Sets the font used for `text` lying inside the bar.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"marker":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"cornerradius":{"description":"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.","editType":"calc","valType":"any"},"editType":"calc","line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","dflt":0,"editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the opacity of the bars.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"pattern":{"bgcolor":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"description":"Sets the pattern within the marker.","editType":"style","fgcolor":{"arrayOk":true,"description":"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`.","editType":"style","valType":"color"},"fgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `fgcolor`.","editType":"none","valType":"string"},"fgopacity":{"description":"Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.","editType":"style","max":1,"min":0,"valType":"number"},"fillmode":{"description":"Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.","dflt":"replace","editType":"style","valType":"enumerated","values":["replace","overlay"]},"role":"object","shape":{"arrayOk":true,"description":"Sets the shape of the pattern fill. By default, no pattern is used for filling the area.","dflt":"","editType":"style","valType":"enumerated","values":["","/","\\","x","-","|","+","."]},"shapesrc":{"description":"Sets the source reference on Chart Studio Cloud for `shape`.","editType":"none","valType":"string"},"size":{"arrayOk":true,"description":"Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.","dflt":8,"editType":"style","min":0,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"solidity":{"arrayOk":true,"description":"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.","dflt":0.3,"editType":"style","max":1,"min":0,"valType":"number"},"soliditysrc":{"description":"Sets the source reference on Chart Studio Cloud for `solidity`.","editType":"none","valType":"string"}},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"nbinsx":{"description":"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.","dflt":0,"editType":"calc","min":0,"valType":"integer"},"nbinsy":{"description":"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.","dflt":0,"editType":"calc","min":0,"valType":"integer"},"offsetgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"orientation":{"description":"Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal).","editType":"calc+clearAxisTypes","valType":"enumerated","values":["v","h"]},"outsidetextfont":{"color":{"editType":"style","valType":"color"},"description":"Sets the font used for `text` lying outside the bar.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textangle":{"description":"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.","dflt":"auto","editType":"plot","valType":"angle"},"textfont":{"color":{"editType":"style","valType":"color"},"description":"Sets the text font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"textposition":{"arrayOk":false,"description":"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.","dflt":"auto","editType":"calc","valType":"enumerated","values":["inside","outside","auto","none"]},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"description":"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`.","dflt":"","editType":"plot","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"histogram","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the sample data to be binned on the x axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xbins":{"editType":"calc","end":{"description":"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.","editType":"calc","valType":"any"},"role":"object","size":{"description":"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\u003cn\u003e* 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.","editType":"calc","valType":"any"},"start":{"description":"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.","editType":"calc","valType":"any"}},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the sample data to be binned on the y axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ybins":{"editType":"calc","end":{"description":"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.","editType":"calc","valType":"any"},"role":"object","size":{"description":"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\u003cn\u003e* 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.","editType":"calc","valType":"any"},"start":{"description":"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.","editType":"calc","valType":"any"}},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"}},"categories":["bar-like","cartesian","svg","bar","histogram","oriented","errorBarsOK","showLegend"],"layoutAttributes":{"barcornerradius":{"description":"Sets the rounding of bar corners. May be an integer number of pixels, or a percentage of bar width (as a string ending in %).","editType":"calc","valType":"any"},"bargap":{"description":"Sets the gap (in plot fraction) between bars of adjacent location coordinates.","editType":"calc","max":1,"min":0,"valType":"number"},"bargroupgap":{"description":"Sets the gap (in plot fraction) between bars of the same location coordinate.","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"barmode":{"description":"Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *relative*, the bars are stacked on top of one another, with negative values below the axis, positive values above With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars.","dflt":"group","editType":"calc","valType":"enumerated","values":["stack","group","overlay","relative"]},"barnorm":{"description":"Sets the normalization for bar traces on the graph. With *fraction*, the value of each bar is divided by the sum of all values at that location coordinate. *percent* is the same but multiplied by 100 to show percentages.","dflt":"","editType":"calc","valType":"enumerated","values":["","fraction","percent"]}},"meta":{"description":"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."},"type":"histogram"},"histogram2d":{"animatable":false,"attributes":{"autobinx":{"description":"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.","dflt":null,"editType":"calc","valType":"boolean"},"autobiny":{"description":"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.","dflt":null,"editType":"calc","valType":"boolean"},"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":false,"editType":"calc","impliedEdits":{},"valType":"boolean"},"bingroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"histfunc":{"description":"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.","dflt":"count","editType":"calc","valType":"enumerated","values":["count","sum","avg","min","max"]},"histnorm":{"description":"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).","dflt":"","editType":"calc","valType":"enumerated","values":["","percent","probability","density","probability density"]},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"marker":{"color":{"description":"Sets the aggregation data.","editType":"calc","valType":"data_array"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"nbinsx":{"description":"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.","dflt":0,"editType":"calc","min":0,"valType":"integer"},"nbinsy":{"description":"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.","dflt":0,"editType":"calc","min":0,"valType":"integer"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"textfont":{"color":{"dflt":"auto","editType":"style","valType":"color"},"description":"Sets the text font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"dflt":"auto","editType":"plot","min":1,"valType":"number"}},"texttemplate":{"description":"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`","dflt":"","editType":"plot","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"histogram2d","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the sample data to be binned on the x axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xbingroup":{"description":"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`","dflt":"","editType":"calc","valType":"string"},"xbins":{"editType":"calc","end":{"description":"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.","editType":"calc","valType":"any"},"role":"object","size":{"description":"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\u003cn\u003e* for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). ","editType":"calc","valType":"any"},"start":{"description":"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. ","editType":"calc","valType":"any"}},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xgap":{"description":"Sets the horizontal gap (in pixels) between bricks.","dflt":0,"editType":"plot","min":0,"valType":"number"},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the sample data to be binned on the y axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ybingroup":{"description":"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`","dflt":"","editType":"calc","valType":"string"},"ybins":{"editType":"calc","end":{"description":"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.","editType":"calc","valType":"any"},"role":"object","size":{"description":"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\u003cn\u003e* for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). ","editType":"calc","valType":"any"},"start":{"description":"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. ","editType":"calc","valType":"any"}},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"ygap":{"description":"Sets the vertical gap (in pixels) between bricks.","dflt":0,"editType":"plot","min":0,"valType":"number"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"Sets the aggregation data.","editType":"calc","valType":"data_array"},"zauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"zhoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"zmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"zauto":false},"valType":"number"},"zmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"zmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"zauto":false},"valType":"number"},"zsmooth":{"description":"Picks a smoothing algorithm use to smooth `z` data.","dflt":false,"editType":"calc","valType":"enumerated","values":["fast","best",false]},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["cartesian","svg","2dMap","histogram","showLegend"],"meta":{"description":"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.","hrName":"histogram_2d"},"type":"histogram2d"},"histogram2dcontour":{"animatable":false,"attributes":{"autobinx":{"description":"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.","dflt":null,"editType":"calc","valType":"boolean"},"autobiny":{"description":"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.","dflt":null,"editType":"calc","valType":"boolean"},"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"autocontour":{"description":"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`.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"bingroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"contours":{"coloring":{"description":"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.","dflt":"fill","editType":"calc","valType":"enumerated","values":["fill","heatmap","lines","none"]},"editType":"calc","end":{"description":"Sets the end contour level value. Must be more than `contours.start`","dflt":null,"editType":"plot","impliedEdits":{"^autocontour":false},"valType":"number"},"impliedEdits":{"autocontour":false,"role":"object"},"labelfont":{"color":{"editType":"style","valType":"color"},"description":"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`.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"labelformat":{"description":"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.","dflt":"","editType":"plot","valType":"string"},"operation":{"description":"Sets the constraint operation. *=* keeps regions equal to `value` *\u003c* and *\u003c=* keep regions less than `value` *\u003e* and *\u003e=* 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.","dflt":"=","editType":"calc","valType":"enumerated","values":["=","\u003c","\u003e=","\u003e","\u003c=","[]","()","[)","(]","][",")(","](",")["]},"role":"object","showlabels":{"description":"Determines whether to label the contour lines with their values.","dflt":false,"editType":"plot","valType":"boolean"},"showlines":{"description":"Determines whether or not the contour lines are drawn. Has an effect only if `contours.coloring` is set to *fill*.","dflt":true,"editType":"plot","valType":"boolean"},"size":{"description":"Sets the step between each contour level. Must be positive.","dflt":null,"editType":"plot","impliedEdits":{"^autocontour":false},"min":0,"valType":"number"},"start":{"description":"Sets the starting contour level value. Must be less than `contours.end`","dflt":null,"editType":"plot","impliedEdits":{"^autocontour":false},"valType":"number"},"type":{"description":"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.","dflt":"levels","editType":"calc","valType":"enumerated","values":["levels","constraint"]},"value":{"description":"Sets the value or values of the constraint boundary. When `operation` is set to one of the comparison values (=,\u003c,\u003e=,\u003e,\u003c=) *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.","dflt":0,"editType":"calc","valType":"any"}},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"histfunc":{"description":"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.","dflt":"count","editType":"calc","valType":"enumerated","values":["count","sum","avg","min","max"]},"histnorm":{"description":"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).","dflt":"","editType":"calc","valType":"enumerated","values":["","percent","probability","density","probability density"]},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"color":{"description":"Sets the color of the contour level. Has no effect if `contours.coloring` is set to *lines*.","editType":"style+colorbars","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"plot","role":"object","smoothing":{"description":"Sets the amount of smoothing for the contour lines, where *0* corresponds to no smoothing.","dflt":1,"editType":"plot","max":1.3,"min":0,"valType":"number"},"width":{"description":"Sets the contour line width in (in px)","dflt":0.5,"editType":"style+colorbars","min":0,"valType":"number"}},"marker":{"color":{"description":"Sets the aggregation data.","editType":"calc","valType":"data_array"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"nbinsx":{"description":"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.","dflt":0,"editType":"calc","min":0,"valType":"integer"},"nbinsy":{"description":"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.","dflt":0,"editType":"calc","min":0,"valType":"integer"},"ncontours":{"description":"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.","dflt":15,"editType":"calc","min":1,"valType":"integer"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"textfont":{"color":{"dflt":"auto","editType":"style","valType":"color"},"description":"For this trace it only has an effect if `coloring` is set to *heatmap*. Sets the text font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"dflt":"auto","editType":"plot","min":1,"valType":"number"}},"texttemplate":{"description":"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`.","dflt":"","editType":"plot","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"histogram2dcontour","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the sample data to be binned on the x axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xbingroup":{"description":"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`","dflt":"","editType":"calc","valType":"string"},"xbins":{"editType":"calc","end":{"description":"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.","editType":"calc","valType":"any"},"role":"object","size":{"description":"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\u003cn\u003e* for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). ","editType":"calc","valType":"any"},"start":{"description":"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. ","editType":"calc","valType":"any"}},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the sample data to be binned on the y axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ybingroup":{"description":"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`","dflt":"","editType":"calc","valType":"string"},"ybins":{"editType":"calc","end":{"description":"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.","editType":"calc","valType":"any"},"role":"object","size":{"description":"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\u003cn\u003e* for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). ","editType":"calc","valType":"any"},"start":{"description":"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. ","editType":"calc","valType":"any"}},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"Sets the aggregation data.","editType":"calc","valType":"data_array"},"zauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"zhoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"zmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"zmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["cartesian","svg","2dMap","contour","histogram","showLegend"],"meta":{"description":"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.","hrName":"histogram_2d_contour"},"type":"histogram2dcontour"},"icicle":{"animatable":true,"attributes":{"branchvalues":{"description":"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.","dflt":"remainder","editType":"calc","valType":"enumerated","values":["remainder","total"]},"count":{"description":"Determines default for `values` when it is not provided, by inferring a 1 for each of the *leaves* and/or *branches*, otherwise 0.","dflt":"leaves","editType":"calc","flags":["branches","leaves"],"valType":"flaglist"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this icicle trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"editType":"calc","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this icicle trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this icicle trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this icicle trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"label+text+value+name","editType":"none","extras":["all","none","skip"],"flags":["label","text","value","name","current path","percent root","percent entry","percent parent"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"ids":{"anim":true,"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"insidetextfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo` lying inside the sector.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"labels":{"description":"Sets the labels of each of the sectors.","editType":"calc","valType":"data_array"},"labelssrc":{"description":"Sets the source reference on Chart Studio Cloud for `labels`.","editType":"none","valType":"string"},"leaf":{"editType":"plot","opacity":{"description":"Sets the opacity of the leaves. With colorscale it is defaulted to 1; otherwise it is defaulted to 0.7","editType":"style","max":1,"min":0,"valType":"number"},"role":"object"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"level":{"anim":true,"description":"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`.","editType":"plot","valType":"any"},"marker":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colors":{"description":"Sets the color of each sector of this trace. If not specified, the default trace color set is used to pick the sector colors.","editType":"calc","valType":"data_array"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorssrc":{"description":"Sets the source reference on Chart Studio Cloud for `colors`.","editType":"none","valType":"string"},"editType":"calc","line":{"color":{"arrayOk":true,"description":"Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value.","dflt":null,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the line enclosing each sector.","dflt":1,"editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"pattern":{"bgcolor":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"description":"Sets the pattern within the marker.","editType":"style","fgcolor":{"arrayOk":true,"description":"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`.","editType":"style","valType":"color"},"fgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `fgcolor`.","editType":"none","valType":"string"},"fgopacity":{"description":"Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.","editType":"style","max":1,"min":0,"valType":"number"},"fillmode":{"description":"Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.","dflt":"replace","editType":"style","valType":"enumerated","values":["replace","overlay"]},"role":"object","shape":{"arrayOk":true,"description":"Sets the shape of the pattern fill. By default, no pattern is used for filling the area.","dflt":"","editType":"style","valType":"enumerated","values":["","/","\\","x","-","|","+","."]},"shapesrc":{"description":"Sets the source reference on Chart Studio Cloud for `shape`.","editType":"none","valType":"string"},"size":{"arrayOk":true,"description":"Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.","dflt":8,"editType":"style","min":0,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"solidity":{"arrayOk":true,"description":"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.","dflt":0.3,"editType":"style","max":1,"min":0,"valType":"number"},"soliditysrc":{"description":"Sets the source reference on Chart Studio Cloud for `solidity`.","editType":"none","valType":"string"}},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"Determines whether or not a colorbar is displayed for this trace. Has an effect only if colors is set to a numerical array.","dflt":false,"editType":"calc","valType":"boolean"}},"maxdepth":{"description":"Sets the number of rendered sectors from any given `level`. Set `maxdepth` to *-1* to render all the levels in the hierarchy.","dflt":-1,"editType":"plot","valType":"integer"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"outsidetextfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"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.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"parents":{"description":"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.","editType":"calc","valType":"data_array"},"parentssrc":{"description":"Sets the source reference on Chart Studio Cloud for `parents`.","editType":"none","valType":"string"},"pathbar":{"edgeshape":{"description":"Determines which shape is used for edges between `barpath` labels.","dflt":"\u003e","editType":"plot","valType":"enumerated","values":["\u003e","\u003c","|","/","\\"]},"editType":"calc","role":"object","side":{"description":"Determines on which side of the the treemap the `pathbar` should be presented.","dflt":"top","editType":"plot","valType":"enumerated","values":["top","bottom"]},"textfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used inside `pathbar`.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"thickness":{"description":"Sets the thickness of `pathbar` (in px). If not specified the `pathbar.textfont.size` is used with 3 pixles extra padding on each side.","editType":"plot","min":12,"valType":"number"},"visible":{"description":"Determines if the path bar is drawn i.e. outside the trace `domain` and with one pixel gap.","dflt":true,"editType":"plot","valType":"boolean"}},"root":{"color":{"description":"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.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"editType":"calc","role":"object"},"sort":{"description":"Determines whether or not the sectors are reordered from largest to smallest.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"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.","editType":"plot","valType":"data_array"},"textfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo`.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textinfo":{"description":"Determines which trace information appear on the graph.","editType":"plot","extras":["none"],"flags":["label","text","value","current path","percent root","percent entry","percent parent"],"valType":"flaglist"},"textposition":{"description":"Sets the positions of the `text` elements.","dflt":"top left","editType":"plot","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"tiling":{"editType":"calc","flip":{"description":"Determines if the positions obtained from solver are flipped on each axis.","dflt":"","editType":"plot","flags":["x","y"],"valType":"flaglist"},"orientation":{"description":"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.","dflt":"h","editType":"plot","valType":"enumerated","values":["v","h"]},"pad":{"description":"Sets the inner padding (in px).","dflt":0,"editType":"plot","min":0,"valType":"number"},"role":"object"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"icicle","uid":{"anim":true,"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"values":{"description":"Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed.","editType":"calc","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":[],"layoutAttributes":{"extendiciclecolors":{"description":"If `true`, the icicle slice colors (whether given by `iciclecolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended.","dflt":true,"editType":"calc","valType":"boolean"},"iciclecolorway":{"description":"Sets the default icicle slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendiciclecolors`.","editType":"calc","valType":"colorlist"}},"meta":{"description":"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*."},"type":"icicle"},"image":{"animatable":false,"attributes":{"colormodel":{"description":"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`.","editType":"calc","valType":"enumerated","values":["rgb","rgba","rgba256","hsl","hsla"]},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dx":{"description":"Set the pixel's horizontal size.","dflt":1,"editType":"calc","valType":"number"},"dy":{"description":"Set the pixel's vertical size","dflt":1,"editType":"calc","valType":"number"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"x+y+z+text+name","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","color","name","text"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"description":"Same as `text`.","editType":"plot","valType":"data_array"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"source":{"description":"Specifies the data URI of the image to be visualized. The URI consists of \"data:image/[\u003cmedia subtype\u003e][;base64],\u003cdata\u003e\"","editType":"calc","valType":"string"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"Sets the text elements associated with each z value.","editType":"plot","valType":"data_array"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"type":"image","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x0":{"description":"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","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"y0":{"description":"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.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"z":{"description":"A 2-dimensional array in which each element is an array of 3 or 4 numbers representing a color.","editType":"calc","valType":"data_array"},"zmax":{"description":"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].","editType":"calc","items":[{"editType":"calc","valType":"number"},{"editType":"calc","valType":"number"},{"editType":"calc","valType":"number"},{"editType":"calc","valType":"number"}],"valType":"info_array"},"zmin":{"description":"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].","editType":"calc","items":[{"editType":"calc","valType":"number"},{"editType":"calc","valType":"number"},{"editType":"calc","valType":"number"},{"editType":"calc","valType":"number"}],"valType":"info_array"},"zsmooth":{"description":"Picks a smoothing algorithm used to smooth `z` data. This only applies for image traces that use the `source` attribute.","dflt":false,"editType":"plot","valType":"enumerated","values":["fast",false]},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["cartesian","svg","2dMap","noSortingByValue"],"meta":{"description":"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."},"type":"image"},"indicator":{"animatable":true,"attributes":{"align":{"description":"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","editType":"plot","valType":"enumerated","values":["left","center","right"]},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"delta":{"decreasing":{"color":{"description":"Sets the color for increasing value.","dflt":"#FF4136","editType":"plot","valType":"color"},"editType":"plot","role":"object","symbol":{"description":"Sets the symbol to display for increasing value","dflt":"▼","editType":"plot","valType":"string"}},"editType":"calc","font":{"color":{"editType":"plot","valType":"color"},"description":"Set the font used to display the delta","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"increasing":{"color":{"description":"Sets the color for increasing value.","dflt":"#3D9970","editType":"plot","valType":"color"},"editType":"plot","role":"object","symbol":{"description":"Sets the symbol to display for increasing value","dflt":"▲","editType":"plot","valType":"string"}},"position":{"description":"Sets the position of delta with respect to the number.","dflt":"bottom","editType":"plot","valType":"enumerated","values":["top","bottom","left","right"]},"prefix":{"description":"Sets a prefix appearing before the delta.","dflt":"","editType":"plot","valType":"string"},"reference":{"description":"Sets the reference value to compute the delta. By default, it is set to the current value.","editType":"calc","valType":"number"},"relative":{"description":"Show relative change","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","suffix":{"description":"Sets a suffix appearing next to the delta.","dflt":"","editType":"plot","valType":"string"},"valueformat":{"description":"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.","editType":"plot","valType":"string"}},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this indicator trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"editType":"calc","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this indicator trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this indicator trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this indicator trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"gauge":{"axis":{"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"plot","exponentformat":{"description":"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.","dflt":"B","editType":"plot","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"plot","valType":"any"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"plot","min":0,"valType":"number"},"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,"editType":"plot","min":0,"valType":"integer"},"range":{"description":"Sets the range of this axis.","editType":"plot","items":[{"editType":"plot","valType":"number"},{"editType":"plot","valType":"number"}],"valType":"info_array"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"plot","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"plot","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the color bar's tick label font","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"editType":"plot","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"plot","valType":"string"}}},"role":"object"},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"plot","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","dflt":"outside","editType":"plot","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"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","dflt":true,"editType":"plot","valType":"boolean"}},"bar":{"color":{"description":"Sets the background color of the arc.","dflt":"green","editType":"plot","valType":"color"},"description":"Set the appearance of the gauge's value","editType":"calc","line":{"color":{"description":"Sets the color of the line enclosing each sector.","dflt":"#444","editType":"plot","valType":"color"},"editType":"calc","role":"object","width":{"description":"Sets the width (in px) of the line enclosing each sector.","dflt":0,"editType":"plot","min":0,"valType":"number"}},"role":"object","thickness":{"description":"Sets the thickness of the bar as a fraction of the total thickness of the gauge.","dflt":1,"editType":"plot","max":1,"min":0,"valType":"number"}},"bgcolor":{"description":"Sets the gauge background color.","editType":"plot","valType":"color"},"bordercolor":{"description":"Sets the color of the border enclosing the gauge.","dflt":"#444","editType":"plot","valType":"color"},"borderwidth":{"description":"Sets the width (in px) of the border enclosing the gauge.","dflt":1,"editType":"plot","min":0,"valType":"number"},"description":"The gauge of the Indicator plot.","editType":"plot","role":"object","shape":{"description":"Set the shape of the gauge","dflt":"angular","editType":"plot","valType":"enumerated","values":["angular","bullet"]},"steps":{"items":{"step":{"color":{"description":"Sets the background color of the arc.","editType":"plot","valType":"color"},"editType":"calc","line":{"color":{"description":"Sets the color of the line enclosing each sector.","dflt":"#444","editType":"plot","valType":"color"},"editType":"calc","role":"object","width":{"description":"Sets the width (in px) of the line enclosing each sector.","dflt":0,"editType":"plot","min":0,"valType":"number"}},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"range":{"description":"Sets the range of this axis.","editType":"plot","items":[{"editType":"plot","valType":"number"},{"editType":"plot","valType":"number"}],"valType":"info_array"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"thickness":{"description":"Sets the thickness of the bar as a fraction of the total thickness of the gauge.","dflt":1,"editType":"plot","max":1,"min":0,"valType":"number"}}},"role":"object"},"threshold":{"editType":"plot","line":{"color":{"description":"Sets the color of the threshold line.","dflt":"#444","editType":"plot","valType":"color"},"editType":"plot","role":"object","width":{"description":"Sets the width (in px) of the threshold line.","dflt":1,"editType":"plot","min":0,"valType":"number"}},"role":"object","thickness":{"description":"Sets the thickness of the threshold line as a fraction of the thickness of the gauge.","dflt":0.85,"editType":"plot","max":1,"min":0,"valType":"number"},"value":{"description":"Sets a treshold value drawn as a line.","dflt":false,"editType":"calc","valType":"number"}}},"ids":{"anim":true,"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"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.","dflt":"number","editType":"calc","flags":["number","delta","gauge"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"number":{"editType":"plot","font":{"color":{"editType":"plot","valType":"color"},"description":"Set the font used to display main number","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"prefix":{"description":"Sets a prefix appearing before the number.","dflt":"","editType":"plot","valType":"string"},"role":"object","suffix":{"description":"Sets a suffix appearing next to the number.","dflt":"","editType":"plot","valType":"string"},"valueformat":{"description":"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.","dflt":"","editType":"plot","valType":"string"}},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"title":{"align":{"description":"Sets the horizontal alignment of the title. It defaults to `center` except for bullet charts for which it defaults to right.","editType":"plot","valType":"enumerated","values":["left","center","right"]},"editType":"plot","font":{"color":{"editType":"plot","valType":"color"},"description":"Set the font used to display the title","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of this indicator.","editType":"plot","valType":"string"}},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"indicator","uid":{"anim":true,"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"value":{"anim":true,"description":"Sets the number to be displayed.","editType":"calc","valType":"number"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["svg","noOpacity","noHover"],"meta":{"description":"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."},"type":"indicator"},"isosurface":{"animatable":false,"attributes":{"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"caps":{"editType":"calc","role":"object","x":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","show":{"description":"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.","dflt":true,"editType":"calc","valType":"boolean"}},"y":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","show":{"description":"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.","dflt":true,"editType":"calc","valType":"boolean"}},"z":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","show":{"description":"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.","dflt":true,"editType":"calc","valType":"boolean"}}},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"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*.","editType":"calc","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"calc","valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"contour":{"color":{"description":"Sets the color of the contour lines.","dflt":"#444","editType":"calc","valType":"color"},"editType":"calc","role":"object","show":{"description":"Sets whether or not dynamic contours are shown on hover","dflt":false,"editType":"calc","valType":"boolean"},"width":{"description":"Sets the width of the contour lines.","dflt":2,"editType":"calc","max":16,"min":1,"valType":"number"}},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"flatshading":{"description":"Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low-poly look via flat reflections.","dflt":true,"editType":"calc","valType":"boolean"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"isomax":{"description":"Sets the maximum boundary for iso-surface plot.","editType":"calc","valType":"number"},"isomin":{"description":"Sets the minimum boundary for iso-surface plot.","editType":"calc","valType":"number"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"lighting":{"ambient":{"description":"Ambient light increases overall color visibility but can wash out the image.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"diffuse":{"description":"Represents the extent that incident rays are reflected in a range of angles.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"editType":"calc","facenormalsepsilon":{"description":"Epsilon for face normals calculation avoids math issues arising from degenerate geometry.","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"fresnel":{"description":"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.","dflt":0.2,"editType":"calc","max":5,"min":0,"valType":"number"},"role":"object","roughness":{"description":"Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.","dflt":0.5,"editType":"calc","max":1,"min":0,"valType":"number"},"specular":{"description":"Represents the level that incident rays are reflected in a single direction, causing shine.","dflt":0.05,"editType":"calc","max":2,"min":0,"valType":"number"},"vertexnormalsepsilon":{"description":"Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.","dflt":1e-12,"editType":"calc","max":1,"min":0,"valType":"number"}},"lightposition":{"editType":"calc","role":"object","x":{"description":"Numeric vector, representing the X coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"y":{"description":"Numeric vector, representing the Y coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"z":{"description":"Numeric vector, representing the Z coordinate for each vertex.","dflt":0,"editType":"calc","max":100000,"min":-100000,"valType":"number"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"scene":{"description":"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.","dflt":"scene","editType":"calc+clearAxisTypes","valType":"subplotid"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"calc","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"slices":{"editType":"calc","role":"object","x":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"locations":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"locationssrc":{"description":"Sets the source reference on Chart Studio Cloud for `locations`.","editType":"none","valType":"string"},"role":"object","show":{"description":"Determines whether or not slice planes about the x dimension are drawn.","dflt":false,"editType":"calc","valType":"boolean"}},"y":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"locations":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"locationssrc":{"description":"Sets the source reference on Chart Studio Cloud for `locations`.","editType":"none","valType":"string"},"role":"object","show":{"description":"Determines whether or not slice planes about the y dimension are drawn.","dflt":false,"editType":"calc","valType":"boolean"}},"z":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"locations":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"locationssrc":{"description":"Sets the source reference on Chart Studio Cloud for `locations`.","editType":"none","valType":"string"},"role":"object","show":{"description":"Determines whether or not slice planes about the z dimension are drawn.","dflt":false,"editType":"calc","valType":"boolean"}}},"spaceframe":{"editType":"calc","fill":{"description":"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).","dflt":0.15,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","show":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"surface":{"count":{"description":"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.","dflt":2,"editType":"calc","min":1,"valType":"integer"},"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"pattern":{"description":"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.","dflt":"all","editType":"calc","extras":["all","odd","even"],"flags":["A","B","C","D","E"],"valType":"flaglist"},"role":"object","show":{"description":"Hides/displays surfaces between minimum and maximum iso-values.","dflt":true,"editType":"calc","valType":"boolean"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"type":"isosurface","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"value":{"description":"Sets the 4th dimension (value) of the vertices.","editType":"calc+clearAxisTypes","valType":"data_array"},"valuehoverformat":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"valuesrc":{"description":"Sets the source reference on Chart Studio Cloud for `value`.","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the X coordinates of the vertices on X axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"xhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the Y coordinates of the vertices on Y axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"yhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"Sets the Z coordinates of the vertices on Z axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"zhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["gl3d","showLegend"],"meta":{"description":"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."},"type":"isosurface"},"mesh3d":{"animatable":false,"attributes":{"alphahull":{"description":"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 *\u003e0*, 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.","dflt":-1,"editType":"calc","valType":"number"},"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"description":"Sets the color of the whole mesh","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"contour":{"color":{"description":"Sets the color of the contour lines.","dflt":"#444","editType":"calc","valType":"color"},"editType":"calc","role":"object","show":{"description":"Sets whether or not dynamic contours are shown on hover","dflt":false,"editType":"calc","valType":"boolean"},"width":{"description":"Sets the width of the contour lines.","dflt":2,"editType":"calc","max":16,"min":1,"valType":"number"}},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"delaunayaxis":{"description":"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.","dflt":"z","editType":"calc","valType":"enumerated","values":["x","y","z"]},"facecolor":{"description":"Sets the color of each face Overrides *color* and *vertexcolor*.","editType":"calc","valType":"data_array"},"facecolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `facecolor`.","editType":"none","valType":"string"},"flatshading":{"description":"Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low-poly look via flat reflections.","dflt":false,"editType":"calc","valType":"boolean"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"i":{"description":"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.","editType":"calc","valType":"data_array"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"intensity":{"description":"Sets the intensity values for vertices or cells as defined by `intensitymode`. It can be used for plotting fields on meshes.","editType":"calc","valType":"data_array"},"intensitymode":{"description":"Determines the source of `intensity` values.","dflt":"vertex","editType":"calc","valType":"enumerated","values":["vertex","cell"]},"intensitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `intensity`.","editType":"none","valType":"string"},"isrc":{"description":"Sets the source reference on Chart Studio Cloud for `i`.","editType":"none","valType":"string"},"j":{"description":"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.","editType":"calc","valType":"data_array"},"jsrc":{"description":"Sets the source reference on Chart Studio Cloud for `j`.","editType":"none","valType":"string"},"k":{"description":"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.","editType":"calc","valType":"data_array"},"ksrc":{"description":"Sets the source reference on Chart Studio Cloud for `k`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"lighting":{"ambient":{"description":"Ambient light increases overall color visibility but can wash out the image.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"diffuse":{"description":"Represents the extent that incident rays are reflected in a range of angles.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"editType":"calc","facenormalsepsilon":{"description":"Epsilon for face normals calculation avoids math issues arising from degenerate geometry.","dflt":0.000001,"editType":"calc","max":1,"min":0,"valType":"number"},"fresnel":{"description":"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.","dflt":0.2,"editType":"calc","max":5,"min":0,"valType":"number"},"role":"object","roughness":{"description":"Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.","dflt":0.5,"editType":"calc","max":1,"min":0,"valType":"number"},"specular":{"description":"Represents the level that incident rays are reflected in a single direction, causing shine.","dflt":0.05,"editType":"calc","max":2,"min":0,"valType":"number"},"vertexnormalsepsilon":{"description":"Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.","dflt":1e-12,"editType":"calc","max":1,"min":0,"valType":"number"}},"lightposition":{"editType":"calc","role":"object","x":{"description":"Numeric vector, representing the X coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"y":{"description":"Numeric vector, representing the Y coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"z":{"description":"Numeric vector, representing the Z coordinate for each vertex.","dflt":0,"editType":"calc","max":100000,"min":-100000,"valType":"number"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"scene":{"description":"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.","dflt":"scene","editType":"calc+clearAxisTypes","valType":"subplotid"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"type":"mesh3d","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"vertexcolor":{"description":"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.","editType":"calc","valType":"data_array"},"vertexcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `vertexcolor`.","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"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.","editType":"calc+clearAxisTypes","valType":"data_array"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"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.","editType":"calc+clearAxisTypes","valType":"data_array"},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"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.","editType":"calc+clearAxisTypes","valType":"data_array"},"zcalendar":{"description":"Sets the calendar system to use with `z` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"zhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["gl3d","showLegend"],"meta":{"description":"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"},"type":"mesh3d"},"ohlc":{"animatable":false,"attributes":{"close":{"description":"Sets the close values.","editType":"calc","valType":"data_array"},"closesrc":{"description":"Sets the source reference on Chart Studio Cloud for `close`.","editType":"none","valType":"string"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"decreasing":{"editType":"style","line":{"color":{"description":"Sets the line color.","dflt":"#FF4136","editType":"style","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"style","role":"object","width":{"description":"Sets the line width (in px).","dflt":2,"editType":"style","min":0,"valType":"number"}},"role":"object"},"high":{"description":"Sets the high values.","editType":"calc","valType":"data_array"},"highsrc":{"description":"Sets the source reference on Chart Studio Cloud for `high`.","editType":"none","valType":"string"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object","split":{"description":"Show hover information (open, close, high, low) in separate labels.","dflt":false,"editType":"style","valType":"boolean"}},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"increasing":{"editType":"style","line":{"color":{"description":"Sets the line color.","dflt":"#3D9970","editType":"style","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"style","role":"object","width":{"description":"Sets the line width (in px).","dflt":2,"editType":"style","min":0,"valType":"number"}},"role":"object"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"dash":{"description":"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`.","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"style","role":"object","width":{"description":"[object Object] Note that this style setting can also be set per direction via `increasing.line.width` and `decreasing.line.width`.","dflt":2,"editType":"style","min":0,"valType":"number"}},"low":{"description":"Sets the low values.","editType":"calc","valType":"data_array"},"lowsrc":{"description":"Sets the source reference on Chart Studio Cloud for `low`.","editType":"none","valType":"string"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"open":{"description":"Sets the open values.","editType":"calc","valType":"data_array"},"opensrc":{"description":"Sets the source reference on Chart Studio Cloud for `open`.","editType":"none","valType":"string"},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the width of the open/close tick marks relative to the *x* minimal interval.","dflt":0.3,"editType":"calc","max":0.5,"min":0,"valType":"number"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"ohlc","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the x coordinates. If absent, linear coordinate will be generated.","editType":"calc+clearAxisTypes","valType":"data_array"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"xperiod0":{"description":"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.","editType":"calc","valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"}},"categories":["cartesian","svg","showLegend"],"meta":{"description":"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."},"type":"ohlc"},"parcats":{"animatable":false,"attributes":{"arrangement":{"description":"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.","dflt":"perpendicular","editType":"plot","valType":"enumerated","values":["perpendicular","freeform","fixed"]},"bundlecolors":{"description":"Sort paths so that like colors are bundled together within each category.","dflt":true,"editType":"plot","valType":"boolean"},"counts":{"arrayOk":true,"description":"The number of observations represented by each state. Defaults to 1 so that each state represents one observation","dflt":1,"editType":"calc","min":0,"valType":"number"},"countssrc":{"description":"Sets the source reference on Chart Studio Cloud for `counts`.","editType":"none","valType":"string"},"dimensions":{"items":{"dimension":{"categoryarray":{"description":"Sets the order in which categories in this dimension appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"calc","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`.","dflt":"trace","editType":"calc","valType":"enumerated","values":["trace","category ascending","category descending","array"]},"description":"The dimensions (variables) of the parallel categories diagram.","displayindex":{"description":"The display index of dimension, from left to right, zero indexed, defaults to dimension index.","editType":"calc","valType":"integer"},"editType":"calc","label":{"description":"The shown name of the dimension.","editType":"calc","valType":"string"},"role":"object","ticktext":{"description":"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`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"values":{"description":"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).","dflt":[],"editType":"calc","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"},"visible":{"description":"Shows the dimension when set to `true` (the default). Hides the dimension for `false`.","dflt":true,"editType":"calc","valType":"boolean"}}},"role":"object"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this parcats trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"editType":"calc","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this parcats trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this parcats trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this parcats trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"hoverinfo":{"arrayOk":false,"description":"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.","dflt":"all","editType":"plot","extras":["all","none","skip"],"flags":["count","probability"],"valType":"flaglist"},"hoveron":{"description":"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.","dflt":"category","editType":"plot","valType":"enumerated","values":["category","color","dimension"]},"hovertemplate":{"description":"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* flagFinally, the template string has access to variables `count`, `probability`, `category`, `categorycount`, `colorcount` and `bandcolorcount`. Anything contained in tag `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"plot","valType":"string"},"labelfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the font for the `dimension` labels.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","hovertemplate":{"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"plot","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","shape":{"description":"Sets the shape of the paths. If `linear`, paths are composed of straight lines. If `hspline`, paths are composed of horizontal curved splines","dflt":"linear","editType":"plot","valType":"enumerated","values":["linear","hspline"]},"showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"sortpaths":{"description":"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.","dflt":"forward","editType":"plot","valType":"enumerated","values":["forward","backward"]},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the font for the `category` labels.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"parcats","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["noOpacity"],"meta":{"description":"Parallel categories diagram for multidimensional categorical data."},"type":"parcats"},"parcoords":{"animatable":false,"attributes":{"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dimensions":{"items":{"dimension":{"constraintrange":{"description":"The domain range to which the filter on the dimension is constrained. Must be an array of `[fromValue, toValue]` with `fromValue \u003c= toValue`, or if `multiselect` is not disabled, you may give an array of arrays, where each inner array is `[fromValue, toValue]`.","dimensions":"1-2","editType":"plot","freeLength":true,"items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"description":"The dimensions (variables) of the parallel coordinates chart. 2..60 dimensions are supported.","editType":"calc","label":{"description":"The shown name of the dimension.","editType":"plot","valType":"string"},"multiselect":{"description":"Do we allow multiple selection ranges or just a single range?","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"range":{"description":"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.","editType":"plot","items":[{"editType":"plot","valType":"number"},{"editType":"plot","valType":"number"}],"valType":"info_array"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"values":{"description":"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.","editType":"calc","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"},"visible":{"description":"Shows the dimension when set to `true` (the default). Hides the dimension for `false`.","dflt":true,"editType":"plot","valType":"boolean"}}},"role":"object"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this parcoords trace .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"editType":"plot","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this parcoords trace .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this parcoords trace (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this parcoords trace (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"labelangle":{"description":"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*.","dflt":0,"editType":"plot","valType":"angle"},"labelfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the font for the `dimension` labels.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"labelside":{"description":"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*.","dflt":"top","editType":"plot","valType":"enumerated","values":["top","bottom"]},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"autocolorscale":{"description":"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.","dflt":false,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":[[0,"#440154"],[0.06274509803921569,"#48186a"],[0.12549019607843137,"#472d7b"],[0.18823529411764706,"#424086"],[0.25098039215686274,"#3b528b"],[0.3137254901960784,"#33638d"],[0.3764705882352941,"#2c728e"],[0.4392156862745098,"#26828e"],[0.5019607843137255,"#21918c"],[0.5647058823529412,"#1fa088"],[0.6274509803921569,"#28ae80"],[0.6901960784313725,"#3fbc73"],[0.7529411764705882,"#5ec962"],[0.8156862745098039,"#84d44b"],[0.8784313725490196,"#addc30"],[0.9411764705882353,"#d8e219"],[1,"#fde725"]],"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"rangefont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the font for the `dimension` range values.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the font for the `dimension` tick values.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"parcoords","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"plot","line":{"color":{"description":"Sets the base color of unselected lines. in connection with `unselected.line.opacity`.","dflt":"#7f7f7f","editType":"plot","valType":"color"},"editType":"plot","opacity":{"description":"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`.","dflt":"auto","editType":"plot","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["gl","regl","noOpacity","noHover"],"meta":{"description":"Parallel coordinates for multidimensional exploratory data analysis. The samples are specified in `dimensions`. The colors are set in `line.color`."},"type":"parcoords"},"pie":{"animatable":false,"attributes":{"_deprecated":{"title":{"description":"Deprecated in favor of `title.text`. Note that value of `title` is no longer a simple *string* but a set of sub-attributes.","dflt":"","editType":"calc","valType":"string"},"titlefont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"description":"Deprecated in favor of `title.font`.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"}},"titleposition":{"description":"Deprecated in favor of `title.position`.","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle center","bottom left","bottom center","bottom right"]}},"automargin":{"description":"Determines whether outside text labels can push the margins.","dflt":false,"editType":"plot","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"direction":{"description":"Specifies the direction at which succeeding sectors follow one another.","dflt":"counterclockwise","editType":"calc","valType":"enumerated","values":["clockwise","counterclockwise"]},"dlabel":{"description":"Sets the label step. See `label0` for more info.","dflt":1,"editType":"calc","valType":"number"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this pie trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"editType":"calc","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this pie trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this pie trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this pie trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"hole":{"description":"Sets the fraction of the radius to cut out of the pie. Use this to make a donut chart.","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["label","text","value","percent","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"insidetextfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo` lying inside the sector.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"insidetextorientation":{"description":"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.","dflt":"auto","editType":"plot","valType":"enumerated","values":["horizontal","radial","tangential","auto"]},"label0":{"description":"Alternate to `labels`. Builds a numeric set of labels. Use with `dlabel` where `label0` is the starting label and `dlabel` the step.","dflt":0,"editType":"calc","valType":"number"},"labels":{"description":"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.","editType":"calc","valType":"data_array"},"labelssrc":{"description":"Sets the source reference on Chart Studio Cloud for `labels`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"marker":{"colors":{"description":"Sets the color of each sector. If not specified, the default trace color set is used to pick the sector colors.","editType":"calc","valType":"data_array"},"colorssrc":{"description":"Sets the source reference on Chart Studio Cloud for `colors`.","editType":"none","valType":"string"},"editType":"calc","line":{"color":{"arrayOk":true,"description":"Sets the color of the line enclosing each sector.","dflt":"#444","editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the line enclosing each sector.","dflt":0,"editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"pattern":{"bgcolor":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"description":"Sets the pattern within the marker.","editType":"style","fgcolor":{"arrayOk":true,"description":"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`.","editType":"style","valType":"color"},"fgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `fgcolor`.","editType":"none","valType":"string"},"fgopacity":{"description":"Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.","editType":"style","max":1,"min":0,"valType":"number"},"fillmode":{"description":"Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.","dflt":"replace","editType":"style","valType":"enumerated","values":["replace","overlay"]},"role":"object","shape":{"arrayOk":true,"description":"Sets the shape of the pattern fill. By default, no pattern is used for filling the area.","dflt":"","editType":"style","valType":"enumerated","values":["","/","\\","x","-","|","+","."]},"shapesrc":{"description":"Sets the source reference on Chart Studio Cloud for `shape`.","editType":"none","valType":"string"},"size":{"arrayOk":true,"description":"Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.","dflt":8,"editType":"style","min":0,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"solidity":{"arrayOk":true,"description":"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.","dflt":0.3,"editType":"style","max":1,"min":0,"valType":"number"},"soliditysrc":{"description":"Sets the source reference on Chart Studio Cloud for `solidity`.","editType":"none","valType":"string"}},"role":"object"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"outsidetextfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo` lying outside the sector.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"pull":{"arrayOk":true,"description":"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.","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"pullsrc":{"description":"Sets the source reference on Chart Studio Cloud for `pull`.","editType":"none","valType":"string"},"rotation":{"description":"Instead of the first slice starting at 12 o'clock, rotate to some other angle.","dflt":0,"editType":"calc","valType":"angle"},"scalegroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"sort":{"description":"Determines whether or not the sectors are reordered from largest to smallest.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"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.","editType":"plot","valType":"data_array"},"textfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo`.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textinfo":{"description":"Determines which trace information appear on the graph.","editType":"calc","extras":["none"],"flags":["label","text","value","percent"],"valType":"flaglist"},"textposition":{"arrayOk":true,"description":"Specifies the location of the `textinfo`.","dflt":"auto","editType":"plot","valType":"enumerated","values":["inside","outside","auto","none"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"title":{"editType":"plot","font":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `title`. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"position":{"description":"Specifies the location of the `title`. Note that the title's position used to be set by the now deprecated `titleposition` attribute.","editType":"plot","valType":"enumerated","values":["top left","top center","top right","middle center","bottom left","bottom center","bottom right"]},"role":"object","text":{"description":"Sets the title of the chart. If it is empty, no title is displayed. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","dflt":"","editType":"plot","valType":"string"}},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"pie","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"values":{"description":"Sets the values of the sectors. If omitted, we count occurrences of each label.","editType":"calc","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["pie-like","pie","showLegend"],"layoutAttributes":{"extendpiecolors":{"description":"If `true`, the pie slice colors (whether given by `piecolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended.","dflt":true,"editType":"calc","valType":"boolean"},"hiddenlabels":{"description":"hiddenlabels is the funnelarea \u0026 pie chart analog of visible:'legendonly' but it can contain many labels, and can simultaneously hide slices from several pies/funnelarea charts","editType":"calc","valType":"data_array"},"hiddenlabelssrc":{"description":"Sets the source reference on Chart Studio Cloud for `hiddenlabels`.","editType":"none","valType":"string"},"piecolorway":{"description":"Sets the default pie slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendpiecolors`.","editType":"calc","valType":"colorlist"}},"meta":{"description":"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`"},"type":"pie"},"pointcloud":{"animatable":false,"attributes":{"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"indices":{"description":"A sequential value, 0..n, supply it to avoid creating this array inside plotting. If specified, it must be a typed `Int32Array` array. Its length must be equal to or greater than the number of points. For the best performance and memory use, create one large `indices` typed array that is guaranteed to be at least as long as the largest number of points during use, and reuse it on each `Plotly.restyle()` call.","editType":"calc","valType":"data_array"},"indicessrc":{"description":"Sets the source reference on Chart Studio Cloud for `indices`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"marker":{"blend":{"description":"Determines if colors are blended together for a translucency effect in case `opacity` is specified as a value less then `1`. Setting `blend` to `true` reduces zoom/pan speed if used with large numbers of points.","dflt":null,"editType":"calc","valType":"boolean"},"border":{"arearatio":{"description":"Specifies what fraction of the marker area is covered with the border.","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"color":{"arrayOk":false,"description":"Sets the stroke color. It accepts a specific color. If the color is not fully opaque and there are hundreds of thousands of points, it may cause slower zooming and panning.","editType":"calc","valType":"color"},"editType":"calc","role":"object"},"color":{"arrayOk":false,"description":"Sets the marker fill color. It accepts a specific color. If the color is not fully opaque and there are hundreds of thousands of points, it may cause slower zooming and panning.","editType":"calc","valType":"color"},"editType":"calc","opacity":{"arrayOk":false,"description":"Sets the marker opacity. The default value is `1` (fully opaque). If the markers are not fully opaque and there are hundreds of thousands of points, it may cause slower zooming and panning. Opacity fades the color even if `blend` is left on `false` even if there is no translucency effect in that case.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","sizemax":{"description":"Sets the maximum size (in px) of the rendered marker points. Effective when the `pointcloud` shows only few points.","dflt":20,"editType":"calc","min":0.1,"valType":"number"},"sizemin":{"description":"Sets the minimum size (in px) of the rendered marker points, effective when the `pointcloud` shows a million or more points.","dflt":0.5,"editType":"calc","max":2,"min":0.1,"valType":"number"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"type":"pointcloud","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xbounds":{"description":"Specify `xbounds` in the shape of `[xMin, xMax] to avoid looping through the `xy` typed array. Use it in conjunction with `xy` and `ybounds` for the performance benefits.","editType":"calc","valType":"data_array"},"xboundssrc":{"description":"Sets the source reference on Chart Studio Cloud for `xbounds`.","editType":"none","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"xy":{"description":"Faster alternative to specifying `x` and `y` separately. If supplied, it must be a typed `Float32Array` array that represents points such that `xy[i * 2] = x[i]` and `xy[i * 2 + 1] = y[i]`","editType":"calc","valType":"data_array"},"xysrc":{"description":"Sets the source reference on Chart Studio Cloud for `xy`.","editType":"none","valType":"string"},"y":{"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ybounds":{"description":"Specify `ybounds` in the shape of `[yMin, yMax] to avoid looping through the `xy` typed array. Use it in conjunction with `xy` and `xbounds` for the performance benefits.","editType":"calc","valType":"data_array"},"yboundssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ybounds`.","editType":"none","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"}},"categories":["gl","gl2d","showLegend"],"meta":{"description":"*pointcloud* trace is deprecated! Please consider switching to the *scattergl* trace type. The data visualized as a point cloud set in `x` and `y` using the WebGl plotting engine."},"type":"pointcloud"},"sankey":{"animatable":false,"attributes":{"arrangement":{"description":"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.","dflt":"snap","editType":"calc","valType":"enumerated","values":["snap","perpendicular","freeform","fixed"]},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this sankey trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"editType":"calc","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this sankey trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this sankey trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this sankey trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"hoverinfo":{"arrayOk":false,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":[],"valType":"flaglist"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"calc","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"calc","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"calc","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"calc","font":{"color":{"arrayOk":true,"editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"calc","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"link":{"arrowlen":{"description":"Sets the length (in px) of the links arrow, if 0 no arrow will be drawn.","dflt":0,"editType":"calc","min":0,"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"colorscales":{"items":{"concentrationscales":{"cmax":{"description":"Sets the upper bound of the color domain.","dflt":1,"editType":"calc","valType":"number"},"cmin":{"description":"Sets the lower bound of the color domain.","dflt":0,"editType":"calc","valType":"number"},"colorscale":{"description":"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.","dflt":[[0,"white"],[1,"black"]],"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"editType":"calc","label":{"description":"The label of the links to color based on their concentration within a flow.","dflt":"","editType":"calc","valType":"string"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"}}},"role":"object"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"customdata":{"description":"Assigns extra data to each link.","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"description":"The links of the Sankey plot.","editType":"calc","hovercolor":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"hovercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovercolor`.","editType":"none","valType":"string"},"hoverinfo":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","none","skip"]},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"calc","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"calc","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"calc","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"calc","font":{"color":{"arrayOk":true,"editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"calc","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"label":{"description":"The shown name of the link.","dflt":[],"editType":"calc","valType":"data_array"},"labelsrc":{"description":"Sets the source reference on Chart Studio Cloud for `label`.","editType":"none","valType":"string"},"line":{"color":{"arrayOk":true,"description":"Sets the color of the `line` around each `link`.","dflt":"#444","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the `line` around each `link`.","dflt":0,"editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"role":"object","source":{"description":"An integer number `[0..nodes.length - 1]` that represents the source node.","dflt":[],"editType":"calc","valType":"data_array"},"sourcesrc":{"description":"Sets the source reference on Chart Studio Cloud for `source`.","editType":"none","valType":"string"},"target":{"description":"An integer number `[0..nodes.length - 1]` that represents the target node.","dflt":[],"editType":"calc","valType":"data_array"},"targetsrc":{"description":"Sets the source reference on Chart Studio Cloud for `target`.","editType":"none","valType":"string"},"value":{"description":"A numeric value representing the flow volume value.","dflt":[],"editType":"calc","valType":"data_array"},"valuesrc":{"description":"Sets the source reference on Chart Studio Cloud for `value`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"node":{"align":{"description":"Sets the alignment method used to position the nodes along the horizontal axis.","dflt":"justify","editType":"calc","valType":"enumerated","values":["justify","left","right","center"]},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"customdata":{"description":"Assigns extra data to each node.","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"description":"The nodes of the Sankey plot.","editType":"calc","groups":{"description":"Groups of nodes. Each group is defined by an array with the indices of the nodes it contains. Multiple groups can be specified.","dflt":[],"dimensions":2,"editType":"calc","freeLength":true,"impliedEdits":{"x":[],"y":[]},"items":{"editType":"calc","valType":"number"},"valType":"info_array"},"hoverinfo":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","none","skip"]},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"calc","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"calc","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"calc","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"calc","font":{"color":{"arrayOk":true,"editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"calc","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"label":{"description":"The shown name of the node.","dflt":[],"editType":"calc","valType":"data_array"},"labelsrc":{"description":"Sets the source reference on Chart Studio Cloud for `label`.","editType":"none","valType":"string"},"line":{"color":{"arrayOk":true,"description":"Sets the color of the `line` around each `node`.","dflt":"#444","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the `line` around each `node`.","dflt":0.5,"editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"pad":{"arrayOk":false,"description":"Sets the padding (in px) between the `nodes`.","dflt":20,"editType":"calc","min":0,"valType":"number"},"role":"object","thickness":{"arrayOk":false,"description":"Sets the thickness (in px) of the `nodes`.","dflt":20,"editType":"calc","min":1,"valType":"number"},"x":{"description":"The normalized horizontal position of the node.","dflt":[],"editType":"calc","valType":"data_array"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"The normalized vertical position of the node.","dflt":[],"editType":"calc","valType":"data_array"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"}},"orientation":{"description":"Sets the orientation of the Sankey diagram.","dflt":"h","editType":"calc","valType":"enumerated","values":["v","h"]},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"textfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the font for node labels","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"type":"sankey","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"valueformat":{"description":"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.","dflt":".3s","editType":"calc","valType":"string"},"valuesuffix":{"description":"Adds a unit to follow the value in the hover tooltip. Add a space if a separation is necessary from the value.","dflt":"","editType":"calc","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["noOpacity"],"meta":{"description":"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."},"type":"sankey"},"scatter":{"animatable":true,"attributes":{"alignmentgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"cliponaxis":{"description":"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*.","dflt":true,"editType":"plot","valType":"boolean"},"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dx":{"anim":true,"description":"Sets the x coordinate step. See `x0` for more info.","dflt":1,"editType":"calc","valType":"number"},"dy":{"anim":true,"description":"Sets the y coordinate step. See `y0` for more info.","dflt":1,"editType":"calc","valType":"number"},"error_x":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"style","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"style","valType":"color"},"copy_ystyle":{"editType":"plot","valType":"boolean"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"style","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"plot","min":0,"valType":"number"}},"error_y":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"style","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"style","valType":"color"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"style","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"plot","min":0,"valType":"number"}},"fill":{"description":"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.","editType":"calc","valType":"enumerated","values":["none","tozeroy","tozerox","tonexty","tonextx","toself","tonext"]},"fillcolor":{"anim":true,"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"style","valType":"color"},"fillpattern":{"bgcolor":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"description":"Sets the pattern within the marker.","editType":"style","fgcolor":{"arrayOk":true,"description":"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`.","editType":"style","valType":"color"},"fgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `fgcolor`.","editType":"none","valType":"string"},"fgopacity":{"description":"Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.","editType":"style","max":1,"min":0,"valType":"number"},"fillmode":{"description":"Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.","dflt":"replace","editType":"style","valType":"enumerated","values":["replace","overlay"]},"role":"object","shape":{"arrayOk":true,"description":"Sets the shape of the pattern fill. By default, no pattern is used for filling the area.","dflt":"","editType":"style","valType":"enumerated","values":["","/","\\","x","-","|","+","."]},"shapesrc":{"description":"Sets the source reference on Chart Studio Cloud for `shape`.","editType":"none","valType":"string"},"size":{"arrayOk":true,"description":"Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.","dflt":8,"editType":"style","min":0,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"solidity":{"arrayOk":true,"description":"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.","dflt":0.3,"editType":"style","max":1,"min":0,"valType":"number"},"soliditysrc":{"description":"Sets the source reference on Chart Studio Cloud for `solidity`.","editType":"none","valType":"string"}},"groupnorm":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["","fraction","percent"]},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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*.","editType":"style","flags":["points","fills"],"valType":"flaglist"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"ids":{"anim":true,"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"backoff":{"arrayOk":true,"description":"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*.","dflt":"auto","editType":"plot","min":0,"valType":"number"},"backoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `backoff`.","editType":"none","valType":"string"},"color":{"anim":true,"description":"Sets the line color.","editType":"style","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"plot","role":"object","shape":{"description":"Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.","dflt":"linear","editType":"plot","valType":"enumerated","values":["linear","spline","hv","vh","hvh","vhv"]},"simplify":{"description":"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.","dflt":true,"editType":"plot","valType":"boolean"},"smoothing":{"description":"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).","dflt":1,"editType":"plot","max":1.3,"min":0,"valType":"number"},"width":{"anim":true,"description":"Sets the line width (in px).","dflt":2,"editType":"style","min":0,"valType":"number"}},"marker":{"angle":{"anim":false,"arrayOk":true,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"plot","valType":"angle"},"angleref":{"anim":false,"description":"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.","dflt":"up","editType":"plot","valType":"enumerated","values":["previous","up"]},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"anim":true,"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","gradient":{"color":{"arrayOk":true,"description":"Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","type":{"arrayOk":true,"description":"Sets the type of gradient used to fill the markers","dflt":"none","editType":"calc","valType":"enumerated","values":["radial","horizontal","vertical","none"]},"typesrc":{"description":"Sets the source reference on Chart Studio Cloud for `type`.","editType":"none","valType":"string"}},"line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"anim":true,"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"anim":true,"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"maxdisplayed":{"description":"Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit.","dflt":0,"editType":"plot","min":0,"valType":"number"},"opacity":{"anim":true,"arrayOk":true,"description":"Sets the marker opacity.","editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"anim":true,"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"standoff":{"anim":true,"arrayOk":true,"description":"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.","dflt":0,"editType":"plot","min":0,"valType":"number"},"standoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `standoff`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"style","valType":"enumerated","values":[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"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"offsetgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"orientation":{"description":"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`.","editType":"calc","valType":"enumerated","values":["v","h"]},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stackgaps":{"description":"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.","dflt":"infer zero","editType":"calc","valType":"enumerated","values":["infer zero","interpolate"]},"stackgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the text font.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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. ","dflt":"","editType":"calc","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scatter","uid":{"anim":true,"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"anim":true,"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"x0":{"anim":true,"description":"Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"xperiod0":{"description":"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.","editType":"calc","valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"anim":true,"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"y0":{"anim":true,"description":"Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"yperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the y axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"yperiod0":{"description":"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.","editType":"calc","valType":"any"},"yperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"}},"categories":["cartesian","svg","symbols","errorBarsOK","showLegend","scatter-like","zoomScale"],"layoutAttributes":{"scattergap":{"description":"Sets the gap (in plot fraction) between scatter points of adjacent location coordinates. Defaults to `bargap`.","editType":"calc","max":1,"min":0,"valType":"number"},"scattermode":{"description":"Determines how scatter points at the same location coordinate are displayed on the graph. With *group*, the scatter points are plotted next to one another centered around the shared location. With *overlay*, the scatter points are plotted over one another, you might need to reduce *opacity* to see multiple scatter points.","dflt":"overlay","editType":"calc","valType":"enumerated","values":["group","overlay"]}},"meta":{"description":"The scatter trace type encompasses line charts, scatter charts, text charts, and bubble charts. The data visualized as scatter point or lines is set in `x` and `y`. Text (appearing either on the chart or on hover only) is via `text`. Bubble charts are achieved by setting `marker.size` and/or `marker.color` to numerical arrays."},"type":"scatter"},"scatter3d":{"animatable":false,"attributes":{"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"error_x":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"calc","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"calc","valType":"color"},"copy_zstyle":{"editType":"calc","valType":"boolean"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"calc","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"calc","min":0,"valType":"number"}},"error_y":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"calc","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"calc","valType":"color"},"copy_zstyle":{"editType":"calc","valType":"boolean"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"calc","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"calc","min":0,"valType":"number"}},"error_z":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"calc","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"calc","valType":"color"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"calc","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"calc","min":0,"valType":"number"}},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"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*.","editType":"calc","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"calc","valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"dash":{"description":"Sets the dash style of the lines.","dflt":"solid","editType":"calc","valType":"enumerated","values":["dash","dashdot","dot","longdash","longdashdot","solid"]},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"width":{"description":"Sets the line width (in px).","dflt":2,"editType":"calc","min":0,"valType":"number"}},"marker":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"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*.","editType":"calc","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"calc","valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","width":{"arrayOk":false,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"calc","min":0,"valType":"number"}},"opacity":{"arrayOk":false,"description":"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.","editType":"calc","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":8,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"Sets the marker symbol type.","dflt":"circle","editType":"calc","valType":"enumerated","values":["circle","circle-open","cross","diamond","diamond-open","square","square-open","x"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.","dflt":"lines+markers","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"projection":{"editType":"calc","role":"object","x":{"editType":"calc","opacity":{"description":"Sets the projection color.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","scale":{"description":"Sets the scale factor determining the size of the projection marker points.","dflt":0.6666666666666666,"editType":"calc","max":10,"min":0,"valType":"number"},"show":{"description":"Sets whether or not projections are shown along the x axis.","dflt":false,"editType":"calc","valType":"boolean"}},"y":{"editType":"calc","opacity":{"description":"Sets the projection color.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","scale":{"description":"Sets the scale factor determining the size of the projection marker points.","dflt":0.6666666666666666,"editType":"calc","max":10,"min":0,"valType":"number"},"show":{"description":"Sets whether or not projections are shown along the y axis.","dflt":false,"editType":"calc","valType":"boolean"}},"z":{"editType":"calc","opacity":{"description":"Sets the projection color.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","scale":{"description":"Sets the scale factor determining the size of the projection marker points.","dflt":0.6666666666666666,"editType":"calc","max":10,"min":0,"valType":"number"},"show":{"description":"Sets whether or not projections are shown along the z axis.","dflt":false,"editType":"calc","valType":"boolean"}}},"scene":{"description":"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.","dflt":"scene","editType":"calc+clearAxisTypes","valType":"subplotid"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"surfaceaxis":{"description":"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.","dflt":-1,"editType":"calc","valType":"enumerated","values":[-1,0,1,2]},"surfacecolor":{"description":"Sets the surface fill color.","editType":"calc","valType":"color"},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"arrayOk":true,"editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","family":{"arrayOk":false,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"top center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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. ","dflt":"","editType":"calc","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scatter3d","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"Sets the z coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"zcalendar":{"description":"Sets the calendar system to use with `z` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"zhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["gl3d","symbols","showLegend","scatter-like"],"meta":{"description":"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`.","hrName":"scatter_3d"},"type":"scatter3d"},"scattercarpet":{"animatable":false,"attributes":{"a":{"description":"Sets the a-axis coordinates.","editType":"calc","valType":"data_array"},"asrc":{"description":"Sets the source reference on Chart Studio Cloud for `a`.","editType":"none","valType":"string"},"b":{"description":"Sets the b-axis coordinates.","editType":"calc","valType":"data_array"},"bsrc":{"description":"Sets the source reference on Chart Studio Cloud for `b`.","editType":"none","valType":"string"},"carpet":{"description":"An identifier for this carpet, so that `scattercarpet` and `contourcarpet` traces can specify a carpet plot on which they lie","editType":"calc","valType":"string"},"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"fill":{"description":"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.","dflt":"none","editType":"calc","valType":"enumerated","values":["none","toself","tonext"]},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"style","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["a","b","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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*.","editType":"style","flags":["points","fills"],"valType":"flaglist"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"backoff":{"arrayOk":true,"description":"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*.","dflt":"auto","editType":"plot","min":0,"valType":"number"},"backoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `backoff`.","editType":"none","valType":"string"},"color":{"description":"Sets the line color.","editType":"style","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"calc","role":"object","shape":{"description":"Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.","dflt":"linear","editType":"plot","valType":"enumerated","values":["linear","spline"]},"smoothing":{"description":"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).","dflt":1,"editType":"plot","max":1.3,"min":0,"valType":"number"},"width":{"description":"Sets the line width (in px).","dflt":2,"editType":"style","min":0,"valType":"number"}},"marker":{"angle":{"arrayOk":true,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"plot","valType":"angle"},"angleref":{"description":"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.","dflt":"up","editType":"plot","valType":"enumerated","values":["previous","up"]},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","gradient":{"color":{"arrayOk":true,"description":"Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","type":{"arrayOk":true,"description":"Sets the type of gradient used to fill the markers","dflt":"none","editType":"calc","valType":"enumerated","values":["radial","horizontal","vertical","none"]},"typesrc":{"description":"Sets the source reference on Chart Studio Cloud for `type`.","editType":"none","valType":"string"}},"line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"maxdisplayed":{"description":"Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit.","dflt":0,"editType":"plot","min":0,"valType":"number"},"opacity":{"arrayOk":true,"description":"Sets the marker opacity.","editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"standoff":{"arrayOk":true,"description":"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.","dflt":0,"editType":"plot","min":0,"valType":"number"},"standoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `standoff`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"style","valType":"enumerated","values":[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"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.","dflt":"markers","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the text font.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scattercarpet","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"}},"categories":["svg","carpet","symbols","showLegend","carpetDependent","zoomScale"],"meta":{"description":"Plots a scatter trace on either the first carpet axis or the carpet axis with a matching `carpet` attribute.","hrName":"scatter_carpet"},"type":"scattercarpet"},"scattergeo":{"animatable":false,"attributes":{"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"featureidkey":{"description":"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*.","dflt":"id","editType":"calc","valType":"string"},"fill":{"description":"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.","dflt":"none","editType":"calc","valType":"enumerated","values":["none","toself"]},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"calc","valType":"color"},"geo":{"description":"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.","dflt":"geo","editType":"calc","valType":"subplotid"},"geojson":{"description":"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*.","editType":"calc","valType":"any"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":["lon","lat","location","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"lat":{"description":"Sets the latitude coordinates (in degrees North).","editType":"calc","valType":"data_array"},"latsrc":{"description":"Sets the source reference on Chart Studio Cloud for `lat`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"color":{"description":"Sets the line color.","editType":"calc","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"calc","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"calc","role":"object","width":{"description":"Sets the line width (in px).","dflt":2,"editType":"calc","min":0,"valType":"number"}},"locationmode":{"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","values":["ISO-3","USA-states","country names","geojson-id"]},"locations":{"description":"Sets the coordinates via location IDs or names. Coordinates correspond to the centroid of each location given. See `locationmode` for more info.","editType":"calc","valType":"data_array"},"locationssrc":{"description":"Sets the source reference on Chart Studio Cloud for `locations`.","editType":"none","valType":"string"},"lon":{"description":"Sets the longitude coordinates (in degrees East).","editType":"calc","valType":"data_array"},"lonsrc":{"description":"Sets the source reference on Chart Studio Cloud for `lon`.","editType":"none","valType":"string"},"marker":{"angle":{"arrayOk":true,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"calc","valType":"angle"},"angleref":{"description":"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.","dflt":"up","editType":"calc","valType":"enumerated","values":["previous","up","north"]},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"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*.","editType":"calc","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"calc","valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","gradient":{"color":{"arrayOk":true,"description":"Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","type":{"arrayOk":true,"description":"Sets the type of gradient used to fill the markers","dflt":"none","editType":"calc","valType":"enumerated","values":["radial","horizontal","vertical","none"]},"typesrc":{"description":"Sets the source reference on Chart Studio Cloud for `type`.","editType":"none","valType":"string"}},"line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the marker opacity.","editType":"calc","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"standoff":{"arrayOk":true,"description":"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.","dflt":0,"editType":"calc","min":0,"valType":"number"},"standoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `standoff`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"calc","valType":"enumerated","values":[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"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.","dflt":"markers","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"selected":{"editType":"calc","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"calc","valType":"color"},"editType":"calc","opacity":{"description":"Sets the marker opacity of selected points.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"calc","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"calc","valType":"color"},"editType":"calc","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"arrayOk":true,"editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the text font.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"calc","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scattergeo","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"calc","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"calc","valType":"color"},"editType":"calc","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"calc","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"calc","valType":"color"},"editType":"calc","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["geo","symbols","showLegend","scatter-like"],"meta":{"description":"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`.","hrName":"scatter_geo"},"type":"scattergeo"},"scattergl":{"animatable":false,"attributes":{"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dx":{"description":"Sets the x coordinate step. See `x0` for more info.","dflt":1,"editType":"calc","valType":"number"},"dy":{"description":"Sets the y coordinate step. See `y0` for more info.","dflt":1,"editType":"calc","valType":"number"},"error_x":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"calc","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"calc","valType":"color"},"copy_ystyle":{"editType":"calc","valType":"boolean"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"calc","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"calc","min":0,"valType":"number"}},"error_y":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"calc","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"calc","valType":"color"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"calc","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"calc","min":0,"valType":"number"}},"fill":{"description":"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.","dflt":"none","editType":"calc","valType":"enumerated","values":["none","tozeroy","tozerox","tonexty","tonextx","toself","tonext"]},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"calc","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"color":{"description":"Sets the line color.","editType":"calc","valType":"color"},"dash":{"description":"Sets the style of the lines.","dflt":"solid","editType":"calc","valType":"enumerated","values":["dash","dashdot","dot","longdash","longdashdot","solid"]},"editType":"calc","role":"object","shape":{"description":"Determines the line shape. The values correspond to step-wise line shapes.","dflt":"linear","editType":"calc","valType":"enumerated","values":["linear","hv","vh","hvh","vhv"]},"width":{"description":"Sets the line width (in px).","dflt":2,"editType":"calc","min":0,"valType":"number"}},"marker":{"angle":{"arrayOk":true,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"calc","valType":"angle"},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"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*.","editType":"calc","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"calc","valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the marker opacity.","editType":"calc","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"calc","valType":"enumerated","values":[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"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace.","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"selected":{"editType":"calc","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"calc","valType":"color"},"editType":"calc","opacity":{"description":"Sets the marker opacity of selected points.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"calc","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"calc","valType":"color"},"editType":"calc","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"arrayOk":true,"editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the text font.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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. ","dflt":"","editType":"calc","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scattergl","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"calc","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"calc","valType":"color"},"editType":"calc","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"calc","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"calc","valType":"color"},"editType":"calc","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"x0":{"description":"Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"xperiod0":{"description":"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.","editType":"calc","valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"y0":{"description":"Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"yperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the y axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"yperiod0":{"description":"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.","editType":"calc","valType":"any"},"yperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"}},"categories":["gl","regl","cartesian","symbols","errorBarsOK","showLegend","scatter-like"],"meta":{"description":"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.","hrName":"scatter_gl"},"type":"scattergl"},"scattermapbox":{"animatable":false,"attributes":{"below":{"description":"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 *''*.","editType":"calc","valType":"string"},"cluster":{"color":{"arrayOk":true,"description":"Sets the color for each cluster step.","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","enabled":{"description":"Determines whether clustering is enabled or disabled.","editType":"calc","valType":"boolean"},"maxzoom":{"description":"Sets the maximum zoom level. At zoom levels equal to or greater than this, points will never be clustered.","dflt":24,"editType":"calc","max":24,"min":0,"valType":"number"},"opacity":{"arrayOk":true,"description":"Sets the marker opacity.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"description":"Sets the size for each cluster step.","dflt":20,"editType":"calc","min":0,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"step":{"arrayOk":true,"description":"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.","dflt":-1,"editType":"calc","min":-1,"valType":"number"},"stepsrc":{"description":"Sets the source reference on Chart Studio Cloud for `step`.","editType":"none","valType":"string"}},"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"fill":{"description":"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.","dflt":"none","editType":"calc","valType":"enumerated","values":["none","toself"]},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"calc","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":["lon","lat","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"lat":{"description":"Sets the latitude coordinates (in degrees North).","editType":"calc","valType":"data_array"},"latsrc":{"description":"Sets the source reference on Chart Studio Cloud for `lat`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"color":{"description":"Sets the line color.","editType":"calc","valType":"color"},"editType":"calc","role":"object","width":{"description":"Sets the line width (in px).","dflt":2,"editType":"calc","min":0,"valType":"number"}},"lon":{"description":"Sets the longitude coordinates (in degrees East).","editType":"calc","valType":"data_array"},"lonsrc":{"description":"Sets the source reference on Chart Studio Cloud for `lon`.","editType":"none","valType":"string"},"marker":{"allowoverlap":{"description":"Flag to draw all symbols, even if they overlap.","dflt":false,"editType":"calc","valType":"boolean"},"angle":{"arrayOk":true,"description":"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.","dflt":"auto","editType":"calc","valType":"number"},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"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*.","editType":"calc","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"calc","valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","opacity":{"arrayOk":true,"description":"Sets the marker opacity.","editType":"calc","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"calc","valType":"string"},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover.","dflt":"markers","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"selected":{"editType":"calc","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"calc","valType":"color"},"editType":"calc","opacity":{"description":"Sets the marker opacity of selected points.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"calc","min":0,"valType":"number"}},"role":"object"},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"subplot":{"description":"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.","dflt":"mapbox","editType":"calc","valType":"subplotid"},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"editType":"calc","valType":"color"},"description":"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*.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","dflt":"Open Sans Regular, Arial Unicode MS Regular","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"textposition":{"arrayOk":false,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"calc","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scattermapbox","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"calc","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"calc","valType":"color"},"editType":"calc","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"calc","min":0,"valType":"number"}},"role":"object"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["mapbox","gl","symbols","showLegend","scatter-like"],"meta":{"description":"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`.","hrName":"scatter_mapbox"},"type":"scattermapbox"},"scatterpolar":{"animatable":false,"attributes":{"cliponaxis":{"description":"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*.","dflt":false,"editType":"plot","valType":"boolean"},"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dr":{"description":"Sets the r coordinate step.","dflt":1,"editType":"calc","valType":"number"},"dtheta":{"description":"Sets the theta coordinate step. By default, the `dtheta` step equals the subplot's period divided by the length of the `r` coordinates.","editType":"calc","valType":"number"},"fill":{"description":"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.","dflt":"none","editType":"calc","valType":"enumerated","values":["none","toself","tonext"]},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"style","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["r","theta","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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*.","editType":"style","flags":["points","fills"],"valType":"flaglist"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"backoff":{"arrayOk":true,"description":"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*.","dflt":"auto","editType":"plot","min":0,"valType":"number"},"backoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `backoff`.","editType":"none","valType":"string"},"color":{"description":"Sets the line color.","editType":"style","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"calc","role":"object","shape":{"description":"Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.","dflt":"linear","editType":"plot","valType":"enumerated","values":["linear","spline"]},"smoothing":{"description":"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).","dflt":1,"editType":"plot","max":1.3,"min":0,"valType":"number"},"width":{"description":"Sets the line width (in px).","dflt":2,"editType":"style","min":0,"valType":"number"}},"marker":{"angle":{"arrayOk":true,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"plot","valType":"angle"},"angleref":{"description":"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.","dflt":"up","editType":"plot","valType":"enumerated","values":["previous","up"]},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","gradient":{"color":{"arrayOk":true,"description":"Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","type":{"arrayOk":true,"description":"Sets the type of gradient used to fill the markers","dflt":"none","editType":"calc","valType":"enumerated","values":["radial","horizontal","vertical","none"]},"typesrc":{"description":"Sets the source reference on Chart Studio Cloud for `type`.","editType":"none","valType":"string"}},"line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"maxdisplayed":{"description":"Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit.","dflt":0,"editType":"plot","min":0,"valType":"number"},"opacity":{"arrayOk":true,"description":"Sets the marker opacity.","editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"standoff":{"arrayOk":true,"description":"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.","dflt":0,"editType":"plot","min":0,"valType":"number"},"standoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `standoff`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"style","valType":"enumerated","values":[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"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"r":{"description":"Sets the radial coordinates","editType":"calc+clearAxisTypes","valType":"data_array"},"r0":{"description":"Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"rsrc":{"description":"Sets the source reference on Chart Studio Cloud for `r`.","editType":"none","valType":"string"},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"subplot":{"description":"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.","dflt":"polar","editType":"calc","valType":"subplotid"},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the text font.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"theta":{"description":"Sets the angular coordinates","editType":"calc+clearAxisTypes","valType":"data_array"},"theta0":{"description":"Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"thetasrc":{"description":"Sets the source reference on Chart Studio Cloud for `theta`.","editType":"none","valType":"string"},"thetaunit":{"description":"Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes.","dflt":"degrees","editType":"calc+clearAxisTypes","valType":"enumerated","values":["radians","degrees","gradians"]},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scatterpolar","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["polar","symbols","showLegend","scatter-like"],"meta":{"description":"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.","hrName":"scatter_polar"},"type":"scatterpolar"},"scatterpolargl":{"animatable":false,"attributes":{"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dr":{"description":"Sets the r coordinate step.","dflt":1,"editType":"calc","valType":"number"},"dtheta":{"description":"Sets the theta coordinate step. By default, the `dtheta` step equals the subplot's period divided by the length of the `r` coordinates.","editType":"calc","valType":"number"},"fill":{"description":"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.","dflt":"none","editType":"calc","valType":"enumerated","values":["none","tozeroy","tozerox","tonexty","tonextx","toself","tonext"]},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"calc","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["r","theta","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"color":{"description":"Sets the line color.","editType":"calc","valType":"color"},"dash":{"description":"Sets the style of the lines.","dflt":"solid","editType":"calc","valType":"enumerated","values":["dash","dashdot","dot","longdash","longdashdot","solid"]},"editType":"calc","role":"object","width":{"description":"Sets the line width (in px).","dflt":2,"editType":"calc","min":0,"valType":"number"}},"marker":{"angle":{"arrayOk":true,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"calc","valType":"angle"},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"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*.","editType":"calc","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"calc","valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the marker opacity.","editType":"calc","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"calc","valType":"enumerated","values":[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"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"r":{"description":"Sets the radial coordinates","editType":"calc+clearAxisTypes","valType":"data_array"},"r0":{"description":"Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"rsrc":{"description":"Sets the source reference on Chart Studio Cloud for `r`.","editType":"none","valType":"string"},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"subplot":{"description":"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.","dflt":"polar","editType":"calc","valType":"subplotid"},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"arrayOk":true,"editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the text font.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"theta":{"description":"Sets the angular coordinates","editType":"calc+clearAxisTypes","valType":"data_array"},"theta0":{"description":"Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"thetasrc":{"description":"Sets the source reference on Chart Studio Cloud for `theta`.","editType":"none","valType":"string"},"thetaunit":{"description":"Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes.","dflt":"degrees","editType":"calc+clearAxisTypes","valType":"enumerated","values":["radians","degrees","gradians"]},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scatterpolargl","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["gl","regl","polar","symbols","showLegend","scatter-like"],"meta":{"description":"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.","hrName":"scatter_polar_gl"},"type":"scatterpolargl"},"scattersmith":{"animatable":false,"attributes":{"cliponaxis":{"description":"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*.","dflt":false,"editType":"plot","valType":"boolean"},"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"fill":{"description":"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.","dflt":"none","editType":"calc","valType":"enumerated","values":["none","toself","tonext"]},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"style","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["real","imag","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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*.","editType":"style","flags":["points","fills"],"valType":"flaglist"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"imag":{"description":"Sets the imaginary component of the data, in units of normalized impedance such that real=1, imag=0 is the center of the chart.","editType":"calc+clearAxisTypes","valType":"data_array"},"imagsrc":{"description":"Sets the source reference on Chart Studio Cloud for `imag`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"backoff":{"arrayOk":true,"description":"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*.","dflt":"auto","editType":"plot","min":0,"valType":"number"},"backoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `backoff`.","editType":"none","valType":"string"},"color":{"description":"Sets the line color.","editType":"style","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"calc","role":"object","shape":{"description":"Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.","dflt":"linear","editType":"plot","valType":"enumerated","values":["linear","spline"]},"smoothing":{"description":"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).","dflt":1,"editType":"plot","max":1.3,"min":0,"valType":"number"},"width":{"description":"Sets the line width (in px).","dflt":2,"editType":"style","min":0,"valType":"number"}},"marker":{"angle":{"arrayOk":true,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"plot","valType":"angle"},"angleref":{"description":"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.","dflt":"up","editType":"plot","valType":"enumerated","values":["previous","up"]},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","gradient":{"color":{"arrayOk":true,"description":"Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","type":{"arrayOk":true,"description":"Sets the type of gradient used to fill the markers","dflt":"none","editType":"calc","valType":"enumerated","values":["radial","horizontal","vertical","none"]},"typesrc":{"description":"Sets the source reference on Chart Studio Cloud for `type`.","editType":"none","valType":"string"}},"line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"maxdisplayed":{"description":"Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit.","dflt":0,"editType":"plot","min":0,"valType":"number"},"opacity":{"arrayOk":true,"description":"Sets the marker opacity.","editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"standoff":{"arrayOk":true,"description":"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.","dflt":0,"editType":"plot","min":0,"valType":"number"},"standoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `standoff`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"style","valType":"enumerated","values":[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"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"real":{"description":"Sets the real component of the data, in units of normalized impedance such that real=1, imag=0 is the center of the chart.","editType":"calc+clearAxisTypes","valType":"data_array"},"realsrc":{"description":"Sets the source reference on Chart Studio Cloud for `real`.","editType":"none","valType":"string"},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"subplot":{"description":"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.","dflt":"smith","editType":"calc","valType":"subplotid"},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the text font.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scattersmith","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["smith","symbols","showLegend","scatter-like"],"meta":{"description":"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.","hrName":"scatter_smith"},"type":"scattersmith"},"scatterternary":{"animatable":false,"attributes":{"a":{"description":"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\u003ci\u003e.sum`.","editType":"calc","valType":"data_array"},"asrc":{"description":"Sets the source reference on Chart Studio Cloud for `a`.","editType":"none","valType":"string"},"b":{"description":"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\u003ci\u003e.sum`.","editType":"calc","valType":"data_array"},"bsrc":{"description":"Sets the source reference on Chart Studio Cloud for `b`.","editType":"none","valType":"string"},"c":{"description":"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\u003ci\u003e.sum`.","editType":"calc","valType":"data_array"},"cliponaxis":{"description":"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*.","dflt":true,"editType":"plot","valType":"boolean"},"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"csrc":{"description":"Sets the source reference on Chart Studio Cloud for `c`.","editType":"none","valType":"string"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"fill":{"description":"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.","dflt":"none","editType":"calc","valType":"enumerated","values":["none","toself","tonext"]},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"style","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["a","b","c","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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*.","editType":"style","flags":["points","fills"],"valType":"flaglist"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"backoff":{"arrayOk":true,"description":"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*.","dflt":"auto","editType":"plot","min":0,"valType":"number"},"backoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `backoff`.","editType":"none","valType":"string"},"color":{"description":"Sets the line color.","editType":"style","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"calc","role":"object","shape":{"description":"Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.","dflt":"linear","editType":"plot","valType":"enumerated","values":["linear","spline"]},"smoothing":{"description":"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).","dflt":1,"editType":"plot","max":1.3,"min":0,"valType":"number"},"width":{"description":"Sets the line width (in px).","dflt":2,"editType":"style","min":0,"valType":"number"}},"marker":{"angle":{"arrayOk":true,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"plot","valType":"angle"},"angleref":{"description":"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.","dflt":"up","editType":"plot","valType":"enumerated","values":["previous","up"]},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","gradient":{"color":{"arrayOk":true,"description":"Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","type":{"arrayOk":true,"description":"Sets the type of gradient used to fill the markers","dflt":"none","editType":"calc","valType":"enumerated","values":["radial","horizontal","vertical","none"]},"typesrc":{"description":"Sets the source reference on Chart Studio Cloud for `type`.","editType":"none","valType":"string"}},"line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"maxdisplayed":{"description":"Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit.","dflt":0,"editType":"plot","min":0,"valType":"number"},"opacity":{"arrayOk":true,"description":"Sets the marker opacity.","editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"standoff":{"arrayOk":true,"description":"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.","dflt":0,"editType":"plot","min":0,"valType":"number"},"standoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `standoff`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"style","valType":"enumerated","values":[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"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.","dflt":"markers","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"subplot":{"description":"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.","dflt":"ternary","editType":"calc","valType":"subplotid"},"sum":{"description":"The number each triplet should sum to, if only two of `a`, `b`, and `c` are provided. This overrides `ternary\u003ci\u003e.sum` to normalize this specific trace, but does not affect the values displayed on the axes. 0 (or missing) means to use ternary\u003ci\u003e.sum","dflt":0,"editType":"calc","min":0,"valType":"number"},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the text font.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scatterternary","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["ternary","symbols","showLegend","scatter-like"],"meta":{"description":"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.","hrName":"scatter_ternary"},"type":"scatterternary"},"splom":{"animatable":false,"attributes":{"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"diagonal":{"editType":"calc","role":"object","visible":{"description":"Determines whether or not subplots on the diagonal are displayed.","dflt":true,"editType":"calc","valType":"boolean"}},"dimensions":{"items":{"dimension":{"axis":{"editType":"calc+clearAxisTypes","matches":{"description":"Determines whether or not the x \u0026 y axes generated by this dimension match. Equivalent to setting the `matches` axis attribute in the layout with the correct axis id.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","type":{"description":"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.","editType":"calc+clearAxisTypes","valType":"enumerated","values":["linear","log","date","category"]}},"editType":"calc+clearAxisTypes","label":{"description":"Sets the label corresponding to this splom dimension.","editType":"calc","valType":"string"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"values":{"description":"Sets the dimension values to be plotted.","editType":"calc+clearAxisTypes","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"},"visible":{"description":"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.","dflt":true,"editType":"calc","valType":"boolean"}}},"role":"object"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"marker":{"angle":{"arrayOk":true,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"plot","valType":"angle"},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"style","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"style","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the marker opacity.","editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"markerSize","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"style","valType":"enumerated","values":[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"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"selected":{"editType":"calc","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"calc","valType":"color"},"editType":"calc","opacity":{"description":"Sets the marker opacity of selected points.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"calc","min":0,"valType":"number"}},"role":"object"},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"showlowerhalf":{"description":"Determines whether or not subplots on the lower half from the diagonal are displayed.","dflt":true,"editType":"calc","valType":"boolean"},"showupperhalf":{"description":"Determines whether or not subplots on the upper half from the diagonal are displayed.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"splom","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"calc","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"calc","valType":"color"},"editType":"calc","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"calc","min":0,"valType":"number"}},"role":"object"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"xaxes":{"description":"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.","editType":"calc","freeLength":true,"items":{"editType":"plot","regex":"/^x([2-9]|[1-9][0-9]+)?( domain)?$/","valType":"subplotid"},"valType":"info_array"},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"yaxes":{"description":"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.","editType":"calc","freeLength":true,"items":{"editType":"plot","regex":"/^y([2-9]|[1-9][0-9]+)?( domain)?$/","valType":"subplotid"},"valType":"info_array"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"}},"categories":["gl","regl","cartesian","symbols","showLegend","scatter-like"],"meta":{"description":"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. "},"type":"splom"},"streamtube":{"animatable":false,"attributes":{"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"x+y+z+norm+text+name","editType":"calc","extras":["all","none","skip"],"flags":["x","y","z","u","v","w","norm","divergence","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"lighting":{"ambient":{"description":"Ambient light increases overall color visibility but can wash out the image.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"diffuse":{"description":"Represents the extent that incident rays are reflected in a range of angles.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"editType":"calc","facenormalsepsilon":{"description":"Epsilon for face normals calculation avoids math issues arising from degenerate geometry.","dflt":0.000001,"editType":"calc","max":1,"min":0,"valType":"number"},"fresnel":{"description":"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.","dflt":0.2,"editType":"calc","max":5,"min":0,"valType":"number"},"role":"object","roughness":{"description":"Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.","dflt":0.5,"editType":"calc","max":1,"min":0,"valType":"number"},"specular":{"description":"Represents the level that incident rays are reflected in a single direction, causing shine.","dflt":0.05,"editType":"calc","max":2,"min":0,"valType":"number"},"vertexnormalsepsilon":{"description":"Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.","dflt":1e-12,"editType":"calc","max":1,"min":0,"valType":"number"}},"lightposition":{"editType":"calc","role":"object","x":{"description":"Numeric vector, representing the X coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"y":{"description":"Numeric vector, representing the Y coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"z":{"description":"Numeric vector, representing the Z coordinate for each vertex.","dflt":0,"editType":"calc","max":100000,"min":-100000,"valType":"number"}},"maxdisplayed":{"description":"The maximum number of displayed segments in a streamtube.","dflt":1000,"editType":"calc","min":0,"valType":"integer"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"scene":{"description":"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.","dflt":"scene","editType":"calc+clearAxisTypes","valType":"subplotid"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"sizeref":{"description":"The scaling factor for the streamtubes. The default is 1, which avoids two max divergence tubes from touching at adjacent starting positions.","dflt":1,"editType":"calc","min":0,"valType":"number"},"starts":{"editType":"calc","role":"object","x":{"description":"Sets the x components of the starting position of the streamtubes","editType":"calc","valType":"data_array"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y components of the starting position of the streamtubes","editType":"calc","valType":"data_array"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"Sets the z components of the starting position of the streamtubes","editType":"calc","valType":"data_array"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"type":"streamtube","u":{"description":"Sets the x components of the vector field.","editType":"calc","valType":"data_array"},"uhoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"usrc":{"description":"Sets the source reference on Chart Studio Cloud for `u`.","editType":"none","valType":"string"},"v":{"description":"Sets the y components of the vector field.","editType":"calc","valType":"data_array"},"vhoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"vsrc":{"description":"Sets the source reference on Chart Studio Cloud for `v`.","editType":"none","valType":"string"},"w":{"description":"Sets the z components of the vector field.","editType":"calc","valType":"data_array"},"whoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"wsrc":{"description":"Sets the source reference on Chart Studio Cloud for `w`.","editType":"none","valType":"string"},"x":{"description":"Sets the x coordinates of the vector field.","editType":"calc+clearAxisTypes","valType":"data_array"},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y coordinates of the vector field.","editType":"calc+clearAxisTypes","valType":"data_array"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"Sets the z coordinates of the vector field.","editType":"calc+clearAxisTypes","valType":"data_array"},"zhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["gl3d","showLegend"],"meta":{"description":"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)."},"type":"streamtube"},"sunburst":{"animatable":true,"attributes":{"branchvalues":{"description":"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.","dflt":"remainder","editType":"calc","valType":"enumerated","values":["remainder","total"]},"count":{"description":"Determines default for `values` when it is not provided, by inferring a 1 for each of the *leaves* and/or *branches*, otherwise 0.","dflt":"leaves","editType":"calc","flags":["branches","leaves"],"valType":"flaglist"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this sunburst trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"editType":"calc","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this sunburst trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this sunburst trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this sunburst trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"label+text+value+name","editType":"none","extras":["all","none","skip"],"flags":["label","text","value","name","current path","percent root","percent entry","percent parent"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"ids":{"anim":true,"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"insidetextfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo` lying inside the sector.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"insidetextorientation":{"description":"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.","dflt":"auto","editType":"plot","valType":"enumerated","values":["horizontal","radial","tangential","auto"]},"labels":{"description":"Sets the labels of each of the sectors.","editType":"calc","valType":"data_array"},"labelssrc":{"description":"Sets the source reference on Chart Studio Cloud for `labels`.","editType":"none","valType":"string"},"leaf":{"editType":"plot","opacity":{"description":"Sets the opacity of the leaves. With colorscale it is defaulted to 1; otherwise it is defaulted to 0.7","editType":"style","max":1,"min":0,"valType":"number"},"role":"object"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"level":{"anim":true,"description":"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`.","editType":"plot","valType":"any"},"marker":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colors":{"description":"Sets the color of each sector of this trace. If not specified, the default trace color set is used to pick the sector colors.","editType":"calc","valType":"data_array"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorssrc":{"description":"Sets the source reference on Chart Studio Cloud for `colors`.","editType":"none","valType":"string"},"editType":"calc","line":{"color":{"arrayOk":true,"description":"Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value.","dflt":null,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the line enclosing each sector.","dflt":1,"editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"pattern":{"bgcolor":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"description":"Sets the pattern within the marker.","editType":"style","fgcolor":{"arrayOk":true,"description":"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`.","editType":"style","valType":"color"},"fgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `fgcolor`.","editType":"none","valType":"string"},"fgopacity":{"description":"Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.","editType":"style","max":1,"min":0,"valType":"number"},"fillmode":{"description":"Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.","dflt":"replace","editType":"style","valType":"enumerated","values":["replace","overlay"]},"role":"object","shape":{"arrayOk":true,"description":"Sets the shape of the pattern fill. By default, no pattern is used for filling the area.","dflt":"","editType":"style","valType":"enumerated","values":["","/","\\","x","-","|","+","."]},"shapesrc":{"description":"Sets the source reference on Chart Studio Cloud for `shape`.","editType":"none","valType":"string"},"size":{"arrayOk":true,"description":"Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.","dflt":8,"editType":"style","min":0,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"solidity":{"arrayOk":true,"description":"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.","dflt":0.3,"editType":"style","max":1,"min":0,"valType":"number"},"soliditysrc":{"description":"Sets the source reference on Chart Studio Cloud for `solidity`.","editType":"none","valType":"string"}},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"Determines whether or not a colorbar is displayed for this trace. Has an effect only if colors is set to a numerical array.","dflt":false,"editType":"calc","valType":"boolean"}},"maxdepth":{"description":"Sets the number of rendered sectors from any given `level`. Set `maxdepth` to *-1* to render all the levels in the hierarchy.","dflt":-1,"editType":"plot","valType":"integer"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"outsidetextfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"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.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"parents":{"description":"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.","editType":"calc","valType":"data_array"},"parentssrc":{"description":"Sets the source reference on Chart Studio Cloud for `parents`.","editType":"none","valType":"string"},"root":{"color":{"description":"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.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"editType":"calc","role":"object"},"rotation":{"description":"Rotates the whole diagram counterclockwise by some angle. By default the first slice starts at 3 o'clock.","dflt":0,"editType":"plot","valType":"angle"},"sort":{"description":"Determines whether or not the sectors are reordered from largest to smallest.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"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.","editType":"plot","valType":"data_array"},"textfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo`.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textinfo":{"description":"Determines which trace information appear on the graph.","editType":"plot","extras":["none"],"flags":["label","text","value","current path","percent root","percent entry","percent parent"],"valType":"flaglist"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"sunburst","uid":{"anim":true,"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"values":{"description":"Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed.","editType":"calc","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":[],"layoutAttributes":{"extendsunburstcolors":{"description":"If `true`, the sunburst slice colors (whether given by `sunburstcolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended.","dflt":true,"editType":"calc","valType":"boolean"},"sunburstcolorway":{"description":"Sets the default sunburst slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendsunburstcolors`.","editType":"calc","valType":"colorlist"}},"meta":{"description":"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*."},"type":"sunburst"},"surface":{"animatable":false,"attributes":{"_deprecated":{"zauto":{"description":"Obsolete. Use `cauto` instead.","editType":"calc"},"zmax":{"description":"Obsolete. Use `cmax` instead.","editType":"calc"},"zmin":{"description":"Obsolete. Use `cmin` instead.","editType":"calc"}},"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":false,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"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*.","editType":"calc","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"calc","valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data are filled in.","dflt":false,"editType":"calc","valType":"boolean"},"contours":{"editType":"calc","role":"object","x":{"color":{"description":"Sets the color of the contour lines.","dflt":"#444","editType":"calc","valType":"color"},"editType":"calc","end":{"description":"Sets the end contour level value. Must be more than `contours.start`","dflt":null,"editType":"calc","valType":"number"},"highlight":{"description":"Determines whether or not contour lines about the x dimension are highlighted on hover.","dflt":true,"editType":"calc","valType":"boolean"},"highlightcolor":{"description":"Sets the color of the highlighted contour lines.","dflt":"#444","editType":"calc","valType":"color"},"highlightwidth":{"description":"Sets the width of the highlighted contour lines.","dflt":2,"editType":"calc","max":16,"min":1,"valType":"number"},"project":{"editType":"calc","role":"object","x":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"y":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"z":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"role":"object","show":{"description":"Determines whether or not contour lines about the x dimension are drawn.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"description":"Sets the step between each contour level. Must be positive.","dflt":null,"editType":"calc","min":0,"valType":"number"},"start":{"description":"Sets the starting contour level value. Must be less than `contours.end`","dflt":null,"editType":"calc","valType":"number"},"usecolormap":{"description":"An alternate to *color*. Determines whether or not the contour lines are colored using the trace *colorscale*.","dflt":false,"editType":"calc","valType":"boolean"},"width":{"description":"Sets the width of the contour lines.","dflt":2,"editType":"calc","max":16,"min":1,"valType":"number"}},"y":{"color":{"description":"Sets the color of the contour lines.","dflt":"#444","editType":"calc","valType":"color"},"editType":"calc","end":{"description":"Sets the end contour level value. Must be more than `contours.start`","dflt":null,"editType":"calc","valType":"number"},"highlight":{"description":"Determines whether or not contour lines about the y dimension are highlighted on hover.","dflt":true,"editType":"calc","valType":"boolean"},"highlightcolor":{"description":"Sets the color of the highlighted contour lines.","dflt":"#444","editType":"calc","valType":"color"},"highlightwidth":{"description":"Sets the width of the highlighted contour lines.","dflt":2,"editType":"calc","max":16,"min":1,"valType":"number"},"project":{"editType":"calc","role":"object","x":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"y":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"z":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"role":"object","show":{"description":"Determines whether or not contour lines about the y dimension are drawn.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"description":"Sets the step between each contour level. Must be positive.","dflt":null,"editType":"calc","min":0,"valType":"number"},"start":{"description":"Sets the starting contour level value. Must be less than `contours.end`","dflt":null,"editType":"calc","valType":"number"},"usecolormap":{"description":"An alternate to *color*. Determines whether or not the contour lines are colored using the trace *colorscale*.","dflt":false,"editType":"calc","valType":"boolean"},"width":{"description":"Sets the width of the contour lines.","dflt":2,"editType":"calc","max":16,"min":1,"valType":"number"}},"z":{"color":{"description":"Sets the color of the contour lines.","dflt":"#444","editType":"calc","valType":"color"},"editType":"calc","end":{"description":"Sets the end contour level value. Must be more than `contours.start`","dflt":null,"editType":"calc","valType":"number"},"highlight":{"description":"Determines whether or not contour lines about the z dimension are highlighted on hover.","dflt":true,"editType":"calc","valType":"boolean"},"highlightcolor":{"description":"Sets the color of the highlighted contour lines.","dflt":"#444","editType":"calc","valType":"color"},"highlightwidth":{"description":"Sets the width of the highlighted contour lines.","dflt":2,"editType":"calc","max":16,"min":1,"valType":"number"},"project":{"editType":"calc","role":"object","x":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"y":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"z":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"role":"object","show":{"description":"Determines whether or not contour lines about the z dimension are drawn.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"description":"Sets the step between each contour level. Must be positive.","dflt":null,"editType":"calc","min":0,"valType":"number"},"start":{"description":"Sets the starting contour level value. Must be less than `contours.end`","dflt":null,"editType":"calc","valType":"number"},"usecolormap":{"description":"An alternate to *color*. Determines whether or not the contour lines are colored using the trace *colorscale*.","dflt":false,"editType":"calc","valType":"boolean"},"width":{"description":"Sets the width of the contour lines.","dflt":2,"editType":"calc","max":16,"min":1,"valType":"number"}}},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"hidesurface":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"lighting":{"ambient":{"description":"Ambient light increases overall color visibility but can wash out the image.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"diffuse":{"description":"Represents the extent that incident rays are reflected in a range of angles.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"editType":"calc","fresnel":{"description":"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.","dflt":0.2,"editType":"calc","max":5,"min":0,"valType":"number"},"role":"object","roughness":{"description":"Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.","dflt":0.5,"editType":"calc","max":1,"min":0,"valType":"number"},"specular":{"description":"Represents the level that incident rays are reflected in a single direction, causing shine.","dflt":0.05,"editType":"calc","max":2,"min":0,"valType":"number"}},"lightposition":{"editType":"calc","role":"object","x":{"description":"Numeric vector, representing the X coordinate for each vertex.","dflt":10,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"y":{"description":"Numeric vector, representing the Y coordinate for each vertex.","dflt":10000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"z":{"description":"Numeric vector, representing the Z coordinate for each vertex.","dflt":0,"editType":"calc","max":100000,"min":-100000,"valType":"number"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"opacityscale":{"description":"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'.","editType":"calc","valType":"any"},"reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"scene":{"description":"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.","dflt":"scene","editType":"calc+clearAxisTypes","valType":"subplotid"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"calc","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"surfacecolor":{"description":"Sets the surface color values, used for setting a color scale independent of `z`.","editType":"calc","valType":"data_array"},"surfacecolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `surfacecolor`.","editType":"none","valType":"string"},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"type":"surface","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"Sets the z coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"zcalendar":{"description":"Sets the calendar system to use with `z` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"zhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["gl3d","2dMap","showLegend"],"meta":{"description":"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`."},"type":"surface"},"table":{"animatable":false,"attributes":{"cells":{"align":{"arrayOk":true,"description":"Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more \u003cbr\u003e HTML tags) or if an explicit width is set to override the text width.","dflt":"center","editType":"calc","valType":"enumerated","values":["left","center","right"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"editType":"calc","fill":{"color":{"arrayOk":true,"description":"Sets the cell fill color. It accepts either a specific color or an array of colors or a 2D array of colors.","dflt":"white","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object"},"font":{"color":{"arrayOk":true,"editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"format":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"formatsrc":{"description":"Sets the source reference on Chart Studio Cloud for `format`.","editType":"none","valType":"string"},"height":{"description":"The height of cells.","dflt":20,"editType":"calc","valType":"number"},"line":{"color":{"arrayOk":true,"dflt":"grey","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"dflt":1,"editType":"calc","valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"prefix":{"arrayOk":true,"description":"Prefix for cell values.","dflt":null,"editType":"calc","valType":"string"},"prefixsrc":{"description":"Sets the source reference on Chart Studio Cloud for `prefix`.","editType":"none","valType":"string"},"role":"object","suffix":{"arrayOk":true,"description":"Suffix for cell values.","dflt":null,"editType":"calc","valType":"string"},"suffixsrc":{"description":"Sets the source reference on Chart Studio Cloud for `suffix`.","editType":"none","valType":"string"},"values":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"}},"columnorder":{"description":"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.","editType":"calc","valType":"data_array"},"columnordersrc":{"description":"Sets the source reference on Chart Studio Cloud for `columnorder`.","editType":"none","valType":"string"},"columnwidth":{"arrayOk":true,"description":"The width of columns expressed as a ratio. Columns fill the available width in proportion of their specified column widths.","dflt":null,"editType":"calc","valType":"number"},"columnwidthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `columnwidth`.","editType":"none","valType":"string"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this table trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"editType":"calc","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this table trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this table trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this table trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"editType":"calc","header":{"align":{"arrayOk":true,"description":"Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more \u003cbr\u003e HTML tags) or if an explicit width is set to override the text width.","dflt":"center","editType":"calc","valType":"enumerated","values":["left","center","right"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"editType":"calc","fill":{"color":{"arrayOk":true,"description":"Sets the cell fill color. It accepts either a specific color or an array of colors or a 2D array of colors.","dflt":"white","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object"},"font":{"color":{"arrayOk":true,"editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"format":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"formatsrc":{"description":"Sets the source reference on Chart Studio Cloud for `format`.","editType":"none","valType":"string"},"height":{"description":"The height of cells.","dflt":28,"editType":"calc","valType":"number"},"line":{"color":{"arrayOk":true,"dflt":"grey","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"dflt":1,"editType":"calc","valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"prefix":{"arrayOk":true,"description":"Prefix for cell values.","dflt":null,"editType":"calc","valType":"string"},"prefixsrc":{"description":"Sets the source reference on Chart Studio Cloud for `prefix`.","editType":"none","valType":"string"},"role":"object","suffix":{"arrayOk":true,"description":"Suffix for cell values.","dflt":null,"editType":"calc","valType":"string"},"suffixsrc":{"description":"Sets the source reference on Chart Studio Cloud for `suffix`.","editType":"none","valType":"string"},"values":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"}},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"type":"table","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["noOpacity"],"meta":{"description":"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."},"type":"table"},"treemap":{"animatable":true,"attributes":{"branchvalues":{"description":"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.","dflt":"remainder","editType":"calc","valType":"enumerated","values":["remainder","total"]},"count":{"description":"Determines default for `values` when it is not provided, by inferring a 1 for each of the *leaves* and/or *branches*, otherwise 0.","dflt":"leaves","editType":"calc","flags":["branches","leaves"],"valType":"flaglist"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this treemap trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"editType":"calc","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this treemap trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this treemap trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this treemap trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"label+text+value+name","editType":"none","extras":["all","none","skip"],"flags":["label","text","value","name","current path","percent root","percent entry","percent parent"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"ids":{"anim":true,"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"insidetextfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo` lying inside the sector.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"labels":{"description":"Sets the labels of each of the sectors.","editType":"calc","valType":"data_array"},"labelssrc":{"description":"Sets the source reference on Chart Studio Cloud for `labels`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"level":{"anim":true,"description":"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`.","editType":"plot","valType":"any"},"marker":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colors":{"description":"Sets the color of each sector of this trace. If not specified, the default trace color set is used to pick the sector colors.","editType":"calc","valType":"data_array"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorssrc":{"description":"Sets the source reference on Chart Studio Cloud for `colors`.","editType":"none","valType":"string"},"cornerradius":{"description":"Sets the maximum rounding of corners (in px).","dflt":0,"editType":"plot","min":0,"valType":"number"},"depthfade":{"description":"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.","editType":"style","valType":"enumerated","values":[true,false,"reversed"]},"editType":"calc","line":{"color":{"arrayOk":true,"description":"Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value.","dflt":null,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the line enclosing each sector.","dflt":1,"editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"pad":{"b":{"description":"Sets the padding form the bottom (in px).","editType":"plot","min":0,"valType":"number"},"editType":"calc","l":{"description":"Sets the padding form the left (in px).","editType":"plot","min":0,"valType":"number"},"r":{"description":"Sets the padding form the right (in px).","editType":"plot","min":0,"valType":"number"},"role":"object","t":{"description":"Sets the padding form the top (in px).","editType":"plot","min":0,"valType":"number"}},"pattern":{"bgcolor":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"description":"Sets the pattern within the marker.","editType":"style","fgcolor":{"arrayOk":true,"description":"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`.","editType":"style","valType":"color"},"fgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `fgcolor`.","editType":"none","valType":"string"},"fgopacity":{"description":"Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.","editType":"style","max":1,"min":0,"valType":"number"},"fillmode":{"description":"Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.","dflt":"replace","editType":"style","valType":"enumerated","values":["replace","overlay"]},"role":"object","shape":{"arrayOk":true,"description":"Sets the shape of the pattern fill. By default, no pattern is used for filling the area.","dflt":"","editType":"style","valType":"enumerated","values":["","/","\\","x","-","|","+","."]},"shapesrc":{"description":"Sets the source reference on Chart Studio Cloud for `shape`.","editType":"none","valType":"string"},"size":{"arrayOk":true,"description":"Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.","dflt":8,"editType":"style","min":0,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"solidity":{"arrayOk":true,"description":"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.","dflt":0.3,"editType":"style","max":1,"min":0,"valType":"number"},"soliditysrc":{"description":"Sets the source reference on Chart Studio Cloud for `solidity`.","editType":"none","valType":"string"}},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"Determines whether or not a colorbar is displayed for this trace. Has an effect only if colors is set to a numerical array.","dflt":false,"editType":"calc","valType":"boolean"}},"maxdepth":{"description":"Sets the number of rendered sectors from any given `level`. Set `maxdepth` to *-1* to render all the levels in the hierarchy.","dflt":-1,"editType":"plot","valType":"integer"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"outsidetextfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"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.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"parents":{"description":"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.","editType":"calc","valType":"data_array"},"parentssrc":{"description":"Sets the source reference on Chart Studio Cloud for `parents`.","editType":"none","valType":"string"},"pathbar":{"edgeshape":{"description":"Determines which shape is used for edges between `barpath` labels.","dflt":"\u003e","editType":"plot","valType":"enumerated","values":["\u003e","\u003c","|","/","\\"]},"editType":"calc","role":"object","side":{"description":"Determines on which side of the the treemap the `pathbar` should be presented.","dflt":"top","editType":"plot","valType":"enumerated","values":["top","bottom"]},"textfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used inside `pathbar`.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"thickness":{"description":"Sets the thickness of `pathbar` (in px). If not specified the `pathbar.textfont.size` is used with 3 pixles extra padding on each side.","editType":"plot","min":12,"valType":"number"},"visible":{"description":"Determines if the path bar is drawn i.e. outside the trace `domain` and with one pixel gap.","dflt":true,"editType":"plot","valType":"boolean"}},"root":{"color":{"description":"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.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"editType":"calc","role":"object"},"sort":{"description":"Determines whether or not the sectors are reordered from largest to smallest.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"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.","editType":"plot","valType":"data_array"},"textfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo`.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textinfo":{"description":"Determines which trace information appear on the graph.","editType":"plot","extras":["none"],"flags":["label","text","value","current path","percent root","percent entry","percent parent"],"valType":"flaglist"},"textposition":{"description":"Sets the positions of the `text` elements.","dflt":"top left","editType":"plot","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"tiling":{"editType":"calc","flip":{"description":"Determines if the positions obtained from solver are flipped on each axis.","dflt":"","editType":"plot","flags":["x","y"],"valType":"flaglist"},"packing":{"description":"Determines d3 treemap solver. For more info please refer to https://github.com/d3/d3-hierarchy#treemap-tiling","dflt":"squarify","editType":"plot","valType":"enumerated","values":["squarify","binary","dice","slice","slice-dice","dice-slice"]},"pad":{"description":"Sets the inner padding (in px).","dflt":3,"editType":"plot","min":0,"valType":"number"},"role":"object","squarifyratio":{"description":"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.","dflt":1,"editType":"plot","min":1,"valType":"number"}},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"treemap","uid":{"anim":true,"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"values":{"description":"Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed.","editType":"calc","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":[],"layoutAttributes":{"extendtreemapcolors":{"description":"If `true`, the treemap slice colors (whether given by `treemapcolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended.","dflt":true,"editType":"calc","valType":"boolean"},"treemapcolorway":{"description":"Sets the default treemap slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendtreemapcolors`.","editType":"calc","valType":"colorlist"}},"meta":{"description":"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*."},"type":"treemap"},"violin":{"animatable":false,"attributes":{"alignmentgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"bandwidth":{"description":"Sets the bandwidth used to compute the kernel density estimate. By default, the bandwidth is determined by Silverman's rule of thumb.","editType":"calc","min":0,"valType":"number"},"box":{"editType":"plot","fillcolor":{"description":"Sets the inner box plot fill color.","editType":"style","valType":"color"},"line":{"color":{"description":"Sets the inner box plot bounding line color.","editType":"style","valType":"color"},"editType":"style","role":"object","width":{"description":"Sets the inner box plot bounding line width.","editType":"style","min":0,"valType":"number"}},"role":"object","visible":{"description":"Determines if an miniature box plot is drawn inside the violins. ","dflt":false,"editType":"plot","valType":"boolean"},"width":{"description":"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.","dflt":0.25,"editType":"plot","max":1,"min":0,"valType":"number"}},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"style","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hoveron":{"description":"Do the hover effects highlight individual violins or sample points or the kernel density estimate or any combination of them?","dflt":"violins+points+kde","editType":"style","extras":["all"],"flags":["violins","points","kde"],"valType":"flaglist"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"jitter":{"description":"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.","editType":"calc","max":1,"min":0,"valType":"number"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"color":{"description":"Sets the color of line bounding the violin(s).","editType":"style","valType":"color"},"editType":"plot","role":"object","width":{"description":"Sets the width (in px) of line bounding the violin(s).","dflt":2,"editType":"style","min":0,"valType":"number"}},"marker":{"angle":{"arrayOk":false,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"calc","valType":"angle"},"color":{"arrayOk":false,"description":"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.","editType":"style","valType":"color"},"editType":"plot","line":{"color":{"arrayOk":false,"description":"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.","dflt":"#444","editType":"style","valType":"color"},"editType":"style","outliercolor":{"description":"Sets the border line color of the outlier sample points. Defaults to marker.color","editType":"style","valType":"color"},"outlierwidth":{"description":"Sets the border line width (in px) of the outlier sample points.","dflt":1,"editType":"style","min":0,"valType":"number"},"role":"object","width":{"arrayOk":false,"description":"Sets the width (in px) of the lines bounding the marker points.","dflt":0,"editType":"style","min":0,"valType":"number"}},"opacity":{"arrayOk":false,"description":"Sets the marker opacity.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"outliercolor":{"description":"Sets the color of the outlier sample points.","dflt":"rgba(0, 0, 0, 0)","editType":"style","valType":"color"},"role":"object","size":{"arrayOk":false,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"symbol":{"arrayOk":false,"description":"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.","dflt":"circle","editType":"plot","valType":"enumerated","values":[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"]}},"meanline":{"color":{"description":"Sets the mean line color.","editType":"style","valType":"color"},"editType":"plot","role":"object","visible":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"width":{"description":"Sets the mean line width.","editType":"style","min":0,"valType":"number"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"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).","editType":"calc+clearAxisTypes","valType":"string"},"offsetgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"orientation":{"description":"Sets the orientation of the violin(s). If *v* (*h*), the distribution is visualized along the vertical (horizontal).","editType":"calc+clearAxisTypes","valType":"enumerated","values":["v","h"]},"pointpos":{"description":"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.","editType":"calc","max":2,"min":-2,"valType":"number"},"points":{"description":"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*.","editType":"calc","valType":"enumerated","values":["all","outliers","suspectedoutliers",false]},"quartilemethod":{"description":"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.","dflt":"linear","editType":"calc","valType":"enumerated","values":["linear","exclusive","inclusive"]},"scalegroup":{"description":"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","dflt":"","editType":"calc","valType":"string"},"scalemode":{"description":"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.","dflt":"width","editType":"calc","valType":"enumerated","values":["width","count"]},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"style","min":0,"valType":"number"}},"role":"object"},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"side":{"description":"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*.","dflt":"both","editType":"calc","valType":"enumerated","values":["both","positive","negative"]},"span":{"description":"Sets the span in data space for which the density function will be computed. Has an effect only when `spanmode` is set to *manual*.","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"spanmode":{"description":"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.","dflt":"soft","editType":"calc","valType":"enumerated","values":["soft","hard","manual"]},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"violin","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"style","min":0,"valType":"number"}},"role":"object"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"width":{"description":"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.","dflt":0,"editType":"calc","min":0,"valType":"number"},"x":{"description":"Sets the x sample data or coordinates. See overview for more info.","editType":"calc+clearAxisTypes","valType":"data_array"},"x0":{"description":"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.","editType":"calc+clearAxisTypes","valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y sample data or coordinates. See overview for more info.","editType":"calc+clearAxisTypes","valType":"data_array"},"y0":{"description":"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.","editType":"calc+clearAxisTypes","valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"}},"categories":["cartesian","svg","symbols","oriented","box-violin","showLegend","violinLayout","zoomScale"],"layoutAttributes":{"violingap":{"description":"Sets the gap (in plot fraction) between violins of adjacent location coordinates. Has no effect on traces that have *width* set.","dflt":0.3,"editType":"calc","max":1,"min":0,"valType":"number"},"violingroupgap":{"description":"Sets the gap (in plot fraction) between violins of the same location coordinate. Has no effect on traces that have *width* set.","dflt":0.3,"editType":"calc","max":1,"min":0,"valType":"number"},"violinmode":{"description":"Determines how violins at the same location coordinate are displayed on the graph. If *group*, the violins are plotted next to one another centered around the shared location. If *overlay*, the violins are plotted over one another, you might need to set *opacity* to see them multiple violins. Has no effect on traces that have *width* set.","dflt":"overlay","editType":"calc","valType":"enumerated","values":["group","overlay"]}},"meta":{"description":"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."},"type":"violin"},"volume":{"animatable":false,"attributes":{"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"caps":{"editType":"calc","role":"object","x":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","show":{"description":"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.","dflt":true,"editType":"calc","valType":"boolean"}},"y":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","show":{"description":"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.","dflt":true,"editType":"calc","valType":"boolean"}},"z":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","show":{"description":"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.","dflt":true,"editType":"calc","valType":"boolean"}}},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"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*.","editType":"calc","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"calc","valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"contour":{"color":{"description":"Sets the color of the contour lines.","dflt":"#444","editType":"calc","valType":"color"},"editType":"calc","role":"object","show":{"description":"Sets whether or not dynamic contours are shown on hover","dflt":false,"editType":"calc","valType":"boolean"},"width":{"description":"Sets the width of the contour lines.","dflt":2,"editType":"calc","max":16,"min":1,"valType":"number"}},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"flatshading":{"description":"Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low-poly look via flat reflections.","dflt":true,"editType":"calc","valType":"boolean"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"isomax":{"description":"Sets the maximum boundary for iso-surface plot.","editType":"calc","valType":"number"},"isomin":{"description":"Sets the minimum boundary for iso-surface plot.","editType":"calc","valType":"number"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"lighting":{"ambient":{"description":"Ambient light increases overall color visibility but can wash out the image.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"diffuse":{"description":"Represents the extent that incident rays are reflected in a range of angles.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"editType":"calc","facenormalsepsilon":{"description":"Epsilon for face normals calculation avoids math issues arising from degenerate geometry.","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"fresnel":{"description":"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.","dflt":0.2,"editType":"calc","max":5,"min":0,"valType":"number"},"role":"object","roughness":{"description":"Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.","dflt":0.5,"editType":"calc","max":1,"min":0,"valType":"number"},"specular":{"description":"Represents the level that incident rays are reflected in a single direction, causing shine.","dflt":0.05,"editType":"calc","max":2,"min":0,"valType":"number"},"vertexnormalsepsilon":{"description":"Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.","dflt":1e-12,"editType":"calc","max":1,"min":0,"valType":"number"}},"lightposition":{"editType":"calc","role":"object","x":{"description":"Numeric vector, representing the X coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"y":{"description":"Numeric vector, representing the Y coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"z":{"description":"Numeric vector, representing the Z coordinate for each vertex.","dflt":0,"editType":"calc","max":100000,"min":-100000,"valType":"number"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"opacityscale":{"description":"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'.","editType":"calc","valType":"any"},"reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"scene":{"description":"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.","dflt":"scene","editType":"calc+clearAxisTypes","valType":"subplotid"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"calc","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"slices":{"editType":"calc","role":"object","x":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"locations":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"locationssrc":{"description":"Sets the source reference on Chart Studio Cloud for `locations`.","editType":"none","valType":"string"},"role":"object","show":{"description":"Determines whether or not slice planes about the x dimension are drawn.","dflt":false,"editType":"calc","valType":"boolean"}},"y":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"locations":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"locationssrc":{"description":"Sets the source reference on Chart Studio Cloud for `locations`.","editType":"none","valType":"string"},"role":"object","show":{"description":"Determines whether or not slice planes about the y dimension are drawn.","dflt":false,"editType":"calc","valType":"boolean"}},"z":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"locations":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"locationssrc":{"description":"Sets the source reference on Chart Studio Cloud for `locations`.","editType":"none","valType":"string"},"role":"object","show":{"description":"Determines whether or not slice planes about the z dimension are drawn.","dflt":false,"editType":"calc","valType":"boolean"}}},"spaceframe":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","show":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"surface":{"count":{"description":"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.","dflt":2,"editType":"calc","min":1,"valType":"integer"},"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"pattern":{"description":"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.","dflt":"all","editType":"calc","extras":["all","odd","even"],"flags":["A","B","C","D","E"],"valType":"flaglist"},"role":"object","show":{"description":"Hides/displays surfaces between minimum and maximum iso-values.","dflt":true,"editType":"calc","valType":"boolean"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"type":"volume","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"value":{"description":"Sets the 4th dimension (value) of the vertices.","editType":"calc+clearAxisTypes","valType":"data_array"},"valuehoverformat":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"valuesrc":{"description":"Sets the source reference on Chart Studio Cloud for `value`.","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the X coordinates of the vertices on X axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"xhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the Y coordinates of the vertices on Y axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"yhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"Sets the Z coordinates of the vertices on Z axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"zhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["gl3d","showLegend"],"meta":{"description":"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."},"type":"volume"},"waterfall":{"animatable":false,"attributes":{"alignmentgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"base":{"arrayOk":false,"description":"Sets where the bar base is drawn (in position axis units).","dflt":null,"editType":"calc","valType":"number"},"cliponaxis":{"description":"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*.","dflt":true,"editType":"plot","valType":"boolean"},"connector":{"editType":"plot","line":{"color":{"description":"Sets the line color.","dflt":"#444","editType":"style","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"plot","role":"object","width":{"description":"Sets the line width (in px).","dflt":2,"editType":"plot","min":0,"valType":"number"}},"mode":{"description":"Sets the shape of connector lines.","dflt":"between","editType":"plot","valType":"enumerated","values":["spanning","between"]},"role":"object","visible":{"description":"Determines if connector lines are drawn. ","dflt":true,"editType":"plot","valType":"boolean"}},"constraintext":{"description":"Constrain the size of text inside or outside a bar to be no larger than the bar itself.","dflt":"both","editType":"calc","valType":"enumerated","values":["inside","outside","both","none"]},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"decreasing":{"editType":"style","marker":{"color":{"arrayOk":false,"description":"Sets the marker color of all decreasing values.","editType":"style","valType":"color"},"editType":"style","line":{"color":{"arrayOk":false,"description":"Sets the line color of all decreasing values.","editType":"style","valType":"color"},"editType":"style","role":"object","width":{"arrayOk":false,"description":"Sets the line width of all decreasing values.","dflt":0,"editType":"style","min":0,"valType":"number"}},"role":"object"},"role":"object"},"dx":{"description":"Sets the x coordinate step. See `x0` for more info.","dflt":1,"editType":"calc","valType":"number"},"dy":{"description":"Sets the y coordinate step. See `y0` for more info.","dflt":1,"editType":"calc","valType":"number"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["name","x","y","text","initial","delta","final"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"increasing":{"editType":"style","marker":{"color":{"arrayOk":false,"description":"Sets the marker color of all increasing values.","editType":"style","valType":"color"},"editType":"style","line":{"color":{"arrayOk":false,"description":"Sets the line color of all increasing values.","editType":"style","valType":"color"},"editType":"style","role":"object","width":{"arrayOk":false,"description":"Sets the line width of all increasing values.","dflt":0,"editType":"style","min":0,"valType":"number"}},"role":"object"},"role":"object"},"insidetextanchor":{"description":"Determines if texts are kept at center or start/end points in `textposition` *inside* mode.","dflt":"end","editType":"plot","valType":"enumerated","values":["end","middle","start"]},"insidetextfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `text` lying inside the bar.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"measure":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"measuresrc":{"description":"Sets the source reference on Chart Studio Cloud for `measure`.","editType":"none","valType":"string"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"offset":{"arrayOk":true,"description":"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.","dflt":null,"editType":"calc","valType":"number"},"offsetgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"offsetsrc":{"description":"Sets the source reference on Chart Studio Cloud for `offset`.","editType":"none","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"orientation":{"description":"Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal).","editType":"calc+clearAxisTypes","valType":"enumerated","values":["v","h"]},"outsidetextfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `text` lying outside the bar.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textangle":{"description":"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.","dflt":"auto","editType":"plot","valType":"angle"},"textfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `text`.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textinfo":{"arrayOk":false,"description":"Determines which trace information appear on the graph. In the case of having multiple waterfalls, totals are computed separately (per trace).","editType":"plot","extras":["none"],"flags":["label","text","initial","delta","final"],"valType":"flaglist"},"textposition":{"arrayOk":true,"description":"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.","dflt":"auto","editType":"calc","valType":"enumerated","values":["inside","outside","auto","none"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"totals":{"editType":"style","marker":{"color":{"arrayOk":false,"description":"Sets the marker color of all intermediate sums and total values.","editType":"style","valType":"color"},"editType":"style","line":{"color":{"arrayOk":false,"description":"Sets the line color of all intermediate sums and total values.","editType":"style","valType":"color"},"editType":"style","role":"object","width":{"arrayOk":false,"description":"Sets the line width of all intermediate sums and total values.","dflt":0,"editType":"style","min":0,"valType":"number"}},"role":"object"},"role":"object"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"waterfall","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"width":{"arrayOk":true,"description":"Sets the bar width (in position axis units).","dflt":null,"editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"},"x":{"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"x0":{"description":"Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"xperiod0":{"description":"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.","editType":"calc","valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"y0":{"description":"Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"yperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the y axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"yperiod0":{"description":"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.","editType":"calc","valType":"any"},"yperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"}},"categories":["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],"layoutAttributes":{"waterfallgap":{"description":"Sets the gap (in plot fraction) between bars of adjacent location coordinates.","editType":"calc","max":1,"min":0,"valType":"number"},"waterfallgroupgap":{"description":"Sets the gap (in plot fraction) between bars of the same location coordinate.","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"waterfallmode":{"description":"Determines how bars at the same location coordinate are displayed on the graph. With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars.","dflt":"group","editType":"calc","valType":"enumerated","values":["group","overlay"]}},"meta":{"description":"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."},"type":"waterfall"}},"transforms":{"aggregate":{"attributes":{"aggregations":{"items":{"aggregation":{"editType":"calc","enabled":{"description":"Determines whether this aggregation function is enabled or disabled.","dflt":true,"editType":"calc","valType":"boolean"},"func":{"description":"Sets the aggregation function. All values from the linked `target`, corresponding to the same value in the `groups` array, are collected and reduced by this function. *count* is simply the number of values in the `groups` array, so does not even require the linked array to exist. *first* (*last*) is just the first (last) linked value. Invalid values are ignored, so for example in *avg* they do not contribute to either the numerator or the denominator. Any data type (numeric, date, category) may be aggregated with any function, even though in certain cases it is unlikely to make sense, for example a sum of dates or average of categories. *median* will return the average of the two central values if there is an even count. *mode* will return the first value to reach the maximum count, in case of a tie. *change* will return the difference between the first and last linked values. *range* will return the difference between the min and max linked values.","dflt":"first","editType":"calc","valType":"enumerated","values":["count","sum","avg","median","mode","rms","stddev","min","max","first","last","change","range"]},"funcmode":{"description":"*stddev* supports two formula variants: *sample* (normalize by N-1) and *population* (normalize by N).","dflt":"sample","editType":"calc","valType":"enumerated","values":["sample","population"]},"role":"object","target":{"description":"A reference to the data array in the parent trace to aggregate. To aggregate by nested variables, use *.* to access them. For example, set `groups` to *marker.color* to aggregate over the marker color array. The referenced array must already exist, unless `func` is *count*, and each array may only be referenced once.","editType":"calc","valType":"string"}}},"role":"object"},"editType":"calc","enabled":{"description":"Determines whether this aggregate transform is enabled or disabled.","dflt":true,"editType":"calc","valType":"boolean"},"groups":{"arrayOk":true,"description":"Sets the grouping target to which the aggregation is applied. Data points with matching group values will be coalesced into one point, using the supplied aggregation functions to reduce data in other data arrays. If a string, `groups` is assumed to be a reference to a data array in the parent trace object. To aggregate by nested variables, use *.* to access them. For example, set `groups` to *marker.color* to aggregate about the marker color array. If an array, `groups` is itself the data array by which we aggregate.","dflt":"x","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"groupssrc":{"description":"Sets the source reference on Chart Studio Cloud for `groups`.","editType":"none","valType":"string"}}},"filter":{"attributes":{"editType":"calc","enabled":{"description":"Determines whether this filter transform is enabled or disabled.","dflt":true,"editType":"calc","valType":"boolean"},"operation":{"description":"Sets the filter operation. *=* keeps items equal to `value` *!=* keeps items not equal to `value` *\u003c* keeps items less than `value` *\u003c=* keeps items less than or equal to `value` *\u003e* keeps items greater than `value` *\u003e=* keeps items greater than or equal to `value` *[]* keeps items inside `value[0]` to `value[1]` including both bounds *()* keeps items inside `value[0]` to `value[1]` excluding both bounds *[)* keeps items inside `value[0]` to `value[1]` including `value[0]` but excluding `value[1] *(]* keeps items inside `value[0]` to `value[1]` excluding `value[0]` but including `value[1] *][* keeps items outside `value[0]` to `value[1]` and equal to both bounds *)(* keeps items outside `value[0]` to `value[1]` *](* keeps items outside `value[0]` to `value[1]` and equal to `value[0]` *)[* keeps items outside `value[0]` to `value[1]` and equal to `value[1]` *{}* keeps items present in a set of values *}{* keeps items not present in a set of values","dflt":"=","editType":"calc","valType":"enumerated","values":["=","!=","\u003c","\u003e=","\u003e","\u003c=","[]","()","[)","(]","][",")(","](",")[","{}","}{"]},"preservegaps":{"description":"Determines whether or not gaps in data arrays produced by the filter operation are preserved. Setting this to *true* might be useful when plotting a line chart with `connectgaps` set to *false*.","dflt":false,"editType":"calc","valType":"boolean"},"target":{"arrayOk":true,"description":"Sets the filter target by which the filter is applied. If a string, `target` is assumed to be a reference to a data array in the parent trace object. To filter about nested variables, use *.* to access them. For example, set `target` to *marker.color* to filter about the marker color array. If an array, `target` is then the data array by which the filter is applied.","dflt":"x","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"targetcalendar":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. Sets the calendar system to use for `target`, if it is an array of dates. If `target` is a string (eg *x*) we use the corresponding trace attribute (eg `xcalendar`) if it exists, even if `targetcalendar` is provided.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"targetsrc":{"description":"Sets the source reference on Chart Studio Cloud for `target`.","editType":"none","valType":"string"},"value":{"description":"Sets the value or values by which to filter. Values are expected to be in the same type as the data linked to `target`. When `operation` is set to one of the comparison values (=,!=,\u003c,\u003e=,\u003e,\u003c=) `value` is expected to be a number or a string. When `operation` is set to one of the interval values ([],(),[),(],][,)(,](,)[) `value` is expected to be 2-item array where the first item is the lower bound and the second item is the upper bound. When `operation`, is set to one of the set values ({},}{) `value` is expected to be an array with as many items as the desired set elements.","dflt":0,"editType":"calc","valType":"any"},"valuecalendar":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. Sets the calendar system to use for `value`, if it is a date.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]}}},"groupby":{"attributes":{"editType":"calc","enabled":{"description":"Determines whether this group-by transform is enabled or disabled.","dflt":true,"editType":"calc","valType":"boolean"},"groups":{"description":"Sets the groups in which the trace data will be split. For example, with `x` set to *[1, 2, 3, 4]* and `groups` set to *['a', 'b', 'a', 'b']*, the groupby transform with split in one trace with `x` [1, 3] and one trace with `x` [2, 4].","dflt":[],"editType":"calc","valType":"data_array"},"groupssrc":{"description":"Sets the source reference on Chart Studio Cloud for `groups`.","editType":"none","valType":"string"},"nameformat":{"description":"Pattern by which grouped traces are named. If only one trace is present, defaults to the group name (`\"%{group}\"`), otherwise defaults to the group name with trace name (`\"%{group} (%{trace})\"`). Available escape sequences are `%{group}`, which inserts the group name, and `%{trace}`, which inserts the trace name. If grouping GDP data by country when more than one trace is present, for example, the default \"%{group} (%{trace})\" would return \"Monaco (GDP per capita)\".","editType":"calc","valType":"string"},"styles":{"items":{"style":{"editType":"calc","role":"object","target":{"description":"The group value which receives these styles.","editType":"calc","valType":"string"},"value":{"_compareAsJSON":true,"description":"Sets each group styles. For example, with `groups` set to *['a', 'b', 'a', 'b']* and `styles` set to *[{target: 'a', value: { marker: { color: 'red' } }}] marker points in group *'a'* will be drawn in red.","dflt":{},"editType":"calc","valType":"any"}}},"role":"object"}}},"sort":{"attributes":{"editType":"calc","enabled":{"description":"Determines whether this sort transform is enabled or disabled.","dflt":true,"editType":"calc","valType":"boolean"},"order":{"description":"Sets the sort transform order.","dflt":"ascending","editType":"calc","valType":"enumerated","values":["ascending","descending"]},"target":{"arrayOk":true,"description":"Sets the target by which the sort transform is applied. If a string, *target* is assumed to be a reference to a data array in the parent trace object. To sort about nested variables, use *.* to access them. For example, set `target` to *marker.size* to sort about the marker size array. If an array, *target* is then the data array by which the sort transform is applied.","dflt":"x","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"targetsrc":{"description":"Sets the source reference on Chart Studio Cloud for `target`.","editType":"none","valType":"string"}}}}}} \ No newline at end of file diff --git a/schemas/v2.31.1/plot-schema.json b/schemas/v2.31.1/plot-schema.json new file mode 100644 index 0000000..58b0353 --- /dev/null +++ b/schemas/v2.31.1/plot-schema.json @@ -0,0 +1 @@ +{"sha1":"11b662302a42aa0698df091a9974ac8f6e1a2292","modified":true,"schema":{"animation":{"direction":{"description":"The direction in which to play the frames triggered by the animation call","dflt":"forward","valType":"enumerated","values":["forward","reverse"]},"frame":{"duration":{"description":"The duration in milliseconds of each frame. If greater than the frame duration, it will be limited to the frame duration.","dflt":500,"min":0,"valType":"number"},"redraw":{"description":"Redraw the plot at completion of the transition. This is desirable for transitions that include properties that cannot be transitioned, but may significantly slow down updates that do not require a full redraw of the plot","dflt":true,"valType":"boolean"},"role":"object"},"fromcurrent":{"description":"Play frames starting at the current frame instead of the beginning.","dflt":false,"valType":"boolean"},"mode":{"description":"Describes how a new animate call interacts with currently-running animations. If `immediate`, current animations are interrupted and the new animation is started. If `next`, the current frame is allowed to complete, after which the new animation is started. If `afterall` all existing frames are animated to completion before the new animation is started.","dflt":"afterall","valType":"enumerated","values":["immediate","next","afterall"]},"transition":{"duration":{"description":"The duration of the transition, in milliseconds. If equal to zero, updates are synchronous.","dflt":500,"editType":"none","min":0,"valType":"number"},"easing":{"description":"The easing function used for the transition","dflt":"cubic-in-out","editType":"none","valType":"enumerated","values":["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"]},"ordering":{"description":"Determines whether the figure's layout or traces smoothly transitions during updates that make both traces and layout change.","dflt":"layout first","editType":"none","valType":"enumerated","values":["layout first","traces first"]},"role":"object"}},"config":{"autosizable":{"description":"Determines whether the graphs are plotted with respect to layout.autosize:true and infer its container size.","dflt":false,"valType":"boolean"},"displayModeBar":{"description":"Determines the mode bar display mode. If *true*, the mode bar is always visible. If *false*, the mode bar is always hidden. If *hover*, the mode bar is visible while the mouse cursor is on the graph container.","dflt":"hover","valType":"enumerated","values":["hover",true,false]},"displaylogo":{"description":"Determines whether or not the plotly logo is displayed on the end of the mode bar.","dflt":true,"valType":"boolean"},"doubleClick":{"description":"Sets the double click interaction mode. Has an effect only in cartesian plots. If *false*, double click is disable. If *reset*, double click resets the axis ranges to their initial values. If *autosize*, double click set the axis ranges to their autorange values. If *reset+autosize*, the odd double clicks resets the axis ranges to their initial values and even double clicks set the axis ranges to their autorange values.","dflt":"reset+autosize","valType":"enumerated","values":[false,"reset","autosize","reset+autosize"]},"doubleClickDelay":{"description":"Sets the delay for registering a double-click in ms. This is the time interval (in ms) between first mousedown and 2nd mouseup to constitute a double-click. This setting propagates to all on-subplot double clicks (except for geo and mapbox) and on-legend double clicks.","dflt":300,"min":0,"valType":"number"},"editSelection":{"description":"Enables moving selections.","dflt":true,"valType":"boolean"},"editable":{"description":"Determines whether the graph is editable or not. Sets all pieces of `edits` unless a separate `edits` config item overrides individual parts.","dflt":false,"valType":"boolean"},"edits":{"annotationPosition":{"description":"Determines if the main anchor of the annotation is editable. The main anchor corresponds to the text (if no arrow) or the arrow (which drags the whole thing leaving the arrow length \u0026 direction unchanged).","dflt":false,"valType":"boolean"},"annotationTail":{"description":"Has only an effect for annotations with arrows. Enables changing the length and direction of the arrow.","dflt":false,"valType":"boolean"},"annotationText":{"description":"Enables editing annotation text.","dflt":false,"valType":"boolean"},"axisTitleText":{"description":"Enables editing axis title text.","dflt":false,"valType":"boolean"},"colorbarPosition":{"description":"Enables moving colorbars.","dflt":false,"valType":"boolean"},"colorbarTitleText":{"description":"Enables editing colorbar title text.","dflt":false,"valType":"boolean"},"legendPosition":{"description":"Enables moving the legend.","dflt":false,"valType":"boolean"},"legendText":{"description":"Enables editing the trace name fields from the legend","dflt":false,"valType":"boolean"},"role":"object","shapePosition":{"description":"Enables moving shapes.","dflt":false,"valType":"boolean"},"titleText":{"description":"Enables editing the global layout title.","dflt":false,"valType":"boolean"}},"fillFrame":{"description":"When `layout.autosize` is turned on, determines whether the graph fills the container (the default) or the screen (if set to *true*).","dflt":false,"valType":"boolean"},"frameMargins":{"description":"When `layout.autosize` is turned on, set the frame margins in fraction of the graph size.","dflt":0,"max":0.5,"min":0,"valType":"number"},"globalTransforms":{"description":"Set global transform to be applied to all traces with no specification needed","dflt":[],"valType":"any"},"linkText":{"description":"Sets the text appearing in the `showLink` link.","dflt":"Edit chart","noBlank":true,"valType":"string"},"locale":{"description":"Which localization should we use? Should be a string like 'en' or 'en-US'.","dflt":"en-US","valType":"string"},"locales":{"description":"Localization definitions Locales can be provided either here (specific to one chart) or globally by registering them as modules. Should be an object of objects {locale: {dictionary: {...}, format: {...}}} { da: { dictionary: {'Reset axes': 'Nulstil aksler', ...}, format: {months: [...], shortMonths: [...]} }, ... } All parts are optional. When looking for translation or format fields, we look first for an exact match in a config locale, then in a registered module. If those fail, we strip off any regionalization ('en-US' -\u003e 'en') and try each (config, registry) again. The final fallback for translation is untranslated (which is US English) and for formats is the base English (the only consequence being the last fallback date format %x is DD/MM/YYYY instead of MM/DD/YYYY). Currently `grouping` and `currency` are ignored for our automatic number formatting, but can be used in custom formats.","dflt":{},"valType":"any"},"logging":{"description":"Turn all console logging on or off (errors will be thrown) This should ONLY be set via Plotly.setPlotConfig Available levels: 0: no logs 1: warnings and errors, but not informational messages 2: verbose logs","dflt":1,"max":2,"min":0,"valType":"integer"},"mapboxAccessToken":{"description":"Mapbox access token (required to plot mapbox trace types) If using an Mapbox Atlas server, set this option to '' so that plotly.js won't attempt to authenticate to the public Mapbox server.","dflt":null,"valType":"string"},"modeBarButtons":{"description":"Define fully custom mode bar buttons as nested array, where the outer arrays represents button groups, and the inner arrays have buttons config objects or names of default buttons See ./components/modebar/buttons.js for more info.","dflt":false,"valType":"any"},"modeBarButtonsToAdd":{"description":"Add mode bar button using config objects See ./components/modebar/buttons.js for list of arguments. To enable predefined modebar buttons e.g. shape drawing, hover and spikelines, simply provide their string name(s). This could include: *v1hovermode*, *hoverclosest*, *hovercompare*, *togglehover*, *togglespikelines*, *drawline*, *drawopenpath*, *drawclosedpath*, *drawcircle*, *drawrect* and *eraseshape*. Please note that these predefined buttons will only be shown if they are compatible with all trace types used in a graph.","dflt":[],"valType":"any"},"modeBarButtonsToRemove":{"description":"Remove mode bar buttons by name. See ./components/modebar/buttons.js for the list of names.","dflt":[],"valType":"any"},"notifyOnLogging":{"description":"Set on-graph logging (notifier) level This should ONLY be set via Plotly.setPlotConfig Available levels: 0: no on-graph logs 1: warnings and errors, but not informational messages 2: verbose logs","dflt":0,"max":2,"min":0,"valType":"integer"},"plotGlPixelRatio":{"description":"Set the pixel ratio during WebGL image export. This config option was formerly named `plot3dPixelRatio` which is now deprecated.","dflt":2,"max":4,"min":1,"valType":"number"},"plotlyServerURL":{"description":"When set it determines base URL for the 'Edit in Chart Studio' `showEditInChartStudio`/`showSendToCloud` mode bar button and the showLink/sendData on-graph link. To enable sending your data to Chart Studio Cloud, you need to set both `plotlyServerURL` to 'https://chart-studio.plotly.com' and also set `showSendToCloud` to true.","dflt":"","valType":"string"},"queueLength":{"description":"Sets the length of the undo/redo queue.","dflt":0,"min":0,"valType":"integer"},"responsive":{"description":"Determines whether to change the layout size when window is resized. In v3, this option will be removed and will always be true.","dflt":false,"valType":"boolean"},"scrollZoom":{"description":"Determines whether mouse wheel or two-finger scroll zooms is enable. Turned on by default for gl3d, geo and mapbox subplots (as these subplot types do not have zoombox via pan), but turned off by default for cartesian subplots. Set `scrollZoom` to *false* to disable scrolling for all subplots.","dflt":"gl3d+geo+mapbox","extras":[true,false],"flags":["cartesian","gl3d","geo","mapbox"],"valType":"flaglist"},"sendData":{"description":"If *showLink* is true, does it contain data just link to a Chart Studio Cloud file?","dflt":true,"valType":"boolean"},"setBackground":{"description":"Set function to add the background color (i.e. `layout.paper_color`) to a different container. This function take the graph div as first argument and the current background color as second argument. Alternatively, set to string *opaque* to ensure there is white behind it.","dflt":"transparent","valType":"any"},"showAxisDragHandles":{"description":"Set to *false* to omit cartesian axis pan/zoom drag handles.","dflt":true,"valType":"boolean"},"showAxisRangeEntryBoxes":{"description":"Set to *false* to omit direct range entry at the pan/zoom drag points, note that `showAxisDragHandles` must be enabled to have an effect.","dflt":true,"valType":"boolean"},"showEditInChartStudio":{"description":"Same as `showSendToCloud`, but use a pencil icon instead of a floppy-disk. Note that if both `showSendToCloud` and `showEditInChartStudio` are turned, only `showEditInChartStudio` will be honored.","dflt":false,"valType":"boolean"},"showLink":{"description":"Determines whether a link to Chart Studio Cloud is displayed at the bottom right corner of resulting graphs. Use with `sendData` and `linkText`.","dflt":false,"valType":"boolean"},"showSendToCloud":{"description":"Should we include a ModeBar button, labeled \"Edit in Chart Studio\", that sends this chart to chart-studio.plotly.com (formerly plot.ly) or another plotly server as specified by `plotlyServerURL` for editing, export, etc? Prior to version 1.43.0 this button was included by default, now it is opt-in using this flag. Note that this button can (depending on `plotlyServerURL` being set) send your data to an external server. However that server does not persist your data until you arrive at the Chart Studio and explicitly click \"Save\".","dflt":false,"valType":"boolean"},"showSources":{"description":"Adds a source-displaying function to show sources on the resulting graphs.","dflt":false,"valType":"any"},"showTips":{"description":"Determines whether or not tips are shown while interacting with the resulting graphs.","dflt":true,"valType":"boolean"},"staticPlot":{"description":"Determines whether the graphs are interactive or not. If *false*, no interactivity, for export or image generation.","dflt":false,"valType":"boolean"},"toImageButtonOptions":{"description":"Statically override options for toImage modebar button allowed keys are format, filename, width, height, scale see ../components/modebar/buttons.js","dflt":{},"valType":"any"},"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: \u003cpath-to-plotly.js\u003e/dist/topojson/ to render geographical feature using the topojson files that ship with the plotly.js module.","dflt":"https://cdn.plot.ly/","noBlank":true,"valType":"string"},"typesetMath":{"description":"Determines whether math should be typeset or not, when MathJax (either v2 or v3) is present on the page.","dflt":true,"valType":"boolean"},"watermark":{"description":"watermark the images with the company's logo","dflt":false,"valType":"boolean"}},"defs":{"editType":{"layout":{"description":"layout attributes should include an `editType` string matching this flaglist. *calc* is the most extensive: a full (re)plot starting by clearing `gd.calcdata` to force it to be regenerated *plot* (re)plots but without first clearing `gd.calcdata`. *legend* only redraws the legend. *ticks* only redraws axis ticks, labels, and gridlines. *axrange* minimal sequence when updating axis ranges. *layoutstyle* reapplies global and SVG cartesian axis styles. *modebar* just updates the modebar. *camera* just updates the camera settings for gl3d scenes. *arraydraw* allows component arrays to invoke the redraw routines just for the component(s) that changed. *colorbars* only redraws colorbars.","extras":["none"],"flags":["calc","plot","legend","ticks","axrange","layoutstyle","modebar","camera","arraydraw","colorbars"],"valType":"flaglist"},"traces":{"description":"trace attributes should include an `editType` string matching this flaglist. *calc* is the most extensive: a full (re)plot starting by clearing `gd.calcdata` to force it to be regenerated *clearAxisTypes* resets the types of the axes this trace is on, because new data could cause the automatic axis type detection to change. Log type will not be cleared, as that is never automatically chosen so must have been user-specified. *plot* (re)plots but without first clearing `gd.calcdata`. *style* only calls `module.style` (or module.editStyle) for all trace modules and redraws the legend. *markerSize* is like *style*, but propagate axis-range changes due to scatter `marker.size` *colorbars* only redraws colorbars.","extras":["none"],"flags":["calc","clearAxisTypes","plot","style","markerSize","colorbars"],"valType":"flaglist"}},"impliedEdits":{"description":"Sometimes when an attribute is changed, other attributes must be altered as well in order to achieve the intended result. For example, when `range` is specified, it is important to set `autorange` to `false` or the new `range` value would be lost in the redraw. `impliedEdits` is the mechanism to do this: `impliedEdits: {autorange: false}`. Each key is a relative paths to the attribute string to change, using *^* to ascend into the parent container, for example `range[0]` has `impliedEdits: {*^autorange*: false}`. A value of `undefined` means that the attribute will not be changed, but its previous value should be recorded in case we want to reverse this change later. For example, `autorange` has `impliedEdits: {*range[0]*: undefined, *range[1]*:undefined} because the range will likely be changed by redraw."},"metaKeys":["_isSubplotObj","_isLinkedToArray","_arrayAttrRegexps","_deprecated","description","role","editType","impliedEdits"],"valObjects":{"angle":{"description":"A number (in degree) between -180 and 180.","otherOpts":["dflt","arrayOk"],"requiredOpts":[]},"any":{"description":"Any type.","otherOpts":["dflt","values","arrayOk"],"requiredOpts":[]},"boolean":{"description":"A boolean (true/false) value.","otherOpts":["dflt"],"requiredOpts":[]},"color":{"description":"A string describing color. Supported formats: - hex (e.g. '#d3d3d3') - rgb (e.g. 'rgb(255, 0, 0)') - rgba (e.g. 'rgb(255, 0, 0, 0.5)') - hsl (e.g. 'hsl(0, 100%, 50%)') - hsv (e.g. 'hsv(0, 100%, 100%)') - named colors (full list: http://www.w3.org/TR/css3-color/#svg-color)","otherOpts":["dflt","arrayOk"],"requiredOpts":[]},"colorlist":{"description":"A list of colors. Must be an {array} containing valid colors.","otherOpts":["dflt"],"requiredOpts":[]},"colorscale":{"description":"A Plotly colorscale either picked by a name: (any of Greys, YlGnBu, Greens, YlOrRd, Bluered, RdBu, Reds, Blues, Picnic, Rainbow, Portland, Jet, Hot, Blackbody, Earth, Electric, Viridis, Cividis ) customized as an {array} of 2-element {arrays} where the first element is the normalized color level value (starting at *0* and ending at *1*), and the second item is a valid color string.","otherOpts":["dflt"],"requiredOpts":[]},"data_array":{"description":"An {array} of data. The value must represent an {array} or it will be ignored, but this array can be provided in several forms: (1) a regular {array} object (2) a typed array (e.g. Float32Array) (3) an object with keys dtype, bdata, and optionally shape. In this 3rd form, dtype is one of *f8*, *f4*. *i4*, *u4*, *i2*, *u2*, *i1*, *u1* or *u1c* for Uint8ClampedArray. In addition to shorthand `dtype` above one could also use the following forms: *float64*, *float32*, *int32*, *uint32*, *int16*, *uint16*, *int8*, *uint8* or *uint8c* for Uint8ClampedArray. `bdata` is either a base64-encoded string or the ArrayBuffer of an integer or float typed array. For either multi-dimensional arrays you must also provide its dimensions separated by comma via `shape`. For example using `dtype`: *f4* and `shape`: *5,100* you can declare a 2-D array that has 5 rows and 100 columns containing float32 values i.e. 4 bits per value. `shape` is optional for one dimensional arrays.","otherOpts":["dflt"],"requiredOpts":[]},"enumerated":{"description":"Enumerated value type. The available values are listed in `values`.","otherOpts":["dflt","coerceNumber","arrayOk"],"requiredOpts":["values"]},"flaglist":{"description":"A string representing a combination of flags (order does not matter here). Combine any of the available `flags` with *+*. (e.g. ('lines+markers')). Values in `extras` cannot be combined.","otherOpts":["dflt","extras","arrayOk"],"requiredOpts":["flags"]},"info_array":{"description":"An {array} of plot information.","otherOpts":["dflt","freeLength","dimensions"],"requiredOpts":["items"]},"integer":{"description":"An integer or an integer inside a string. When applicable, values greater (less) than `max` (`min`) are coerced to the `dflt`.","otherOpts":["dflt","min","max","arrayOk"],"requiredOpts":[]},"number":{"description":"A number or a numeric value (e.g. a number inside a string). When applicable, values greater (less) than `max` (`min`) are coerced to the `dflt`.","otherOpts":["dflt","min","max","arrayOk"],"requiredOpts":[]},"string":{"description":"A string value. Numbers are converted to strings except for attributes with `strict` set to true.","otherOpts":["dflt","noBlank","strict","arrayOk","values"],"requiredOpts":[]},"subplotid":{"description":"An id string of a subplot type (given by dflt), optionally followed by an integer \u003e1. e.g. if dflt='geo', we can have 'geo', 'geo2', 'geo3', ...","otherOpts":["regex"],"requiredOpts":["dflt"]}}},"frames":{"items":{"frames_entry":{"baseframe":{"description":"The name of the frame into which this frame's properties are merged before applying. This is used to unify properties and avoid needing to specify the same values for the same properties in multiple frames.","valType":"string"},"data":{"description":"A list of traces this frame modifies. The format is identical to the normal trace definition.","valType":"any"},"group":{"description":"An identifier that specifies the group to which the frame belongs, used by animate to select a subset of frames.","valType":"string"},"layout":{"description":"Layout properties which this frame modifies. The format is identical to the normal layout definition.","valType":"any"},"name":{"description":"A label by which to identify the frame","valType":"string"},"role":"object","traces":{"description":"A list of trace indices that identify the respective traces in the data attribute","valType":"any"}}},"role":"object"},"layout":{"layoutAttributes":{"_deprecated":{"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the contents of the title, please use `title.text` now.","editType":"layoutstyle","valType":"string"},"titlefont":{"color":{"editType":"layoutstyle","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"layoutstyle","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"layoutstyle","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"layoutstyle","min":1,"valType":"number"}}},"activeselection":{"editType":"none","fillcolor":{"description":"Sets the color filling the active selection' interior.","dflt":"rgba(0,0,0,0)","editType":"none","valType":"color"},"opacity":{"description":"Sets the opacity of the active selection.","dflt":0.5,"editType":"none","max":1,"min":0,"valType":"number"},"role":"object"},"activeshape":{"editType":"none","fillcolor":{"description":"Sets the color filling the active shape' interior.","dflt":"rgb(255,0,255)","editType":"none","valType":"color"},"opacity":{"description":"Sets the opacity of the active shape.","dflt":0.5,"editType":"none","max":1,"min":0,"valType":"number"},"role":"object"},"annotations":{"items":{"annotation":{"_deprecated":{"ref":{"description":"Obsolete. Set `xref` and `yref` separately instead.","editType":"calc","valType":"string"}},"align":{"description":"Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more \u003cbr\u003e HTML tags) or if an explicit width is set to override the text width.","dflt":"center","editType":"arraydraw","valType":"enumerated","values":["left","center","right"]},"arrowcolor":{"description":"Sets the color of the annotation arrow.","editType":"arraydraw","valType":"color"},"arrowhead":{"description":"Sets the end annotation arrow head style.","dflt":1,"editType":"arraydraw","max":8,"min":0,"valType":"integer"},"arrowside":{"description":"Sets the annotation arrow head position.","dflt":"end","editType":"arraydraw","extras":["none"],"flags":["end","start"],"valType":"flaglist"},"arrowsize":{"description":"Sets the size of the end annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.","dflt":1,"editType":"calc+arraydraw","min":0.3,"valType":"number"},"arrowwidth":{"description":"Sets the width (in px) of annotation arrow line.","editType":"calc+arraydraw","min":0.1,"valType":"number"},"ax":{"description":"Sets the x component of the arrow tail about the arrow head. If `axref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from right to left (left to right). If `axref` is not `pixel` and is exactly the same as `xref`, this is an absolute value on that axis, like `x`, specified in the same coordinates as `xref`.","editType":"calc+arraydraw","valType":"any"},"axref":{"description":"Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. In order for absolute positioning of the arrow to work, *axref* must be exactly the same as *xref*, otherwise *axref* will revert to *pixel* (explained next). For relative positioning, *axref* can be set to *pixel*, in which case the *ax* value is specified in pixels relative to *x*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.","dflt":"pixel","editType":"calc","valType":"enumerated","values":["pixel","/^x([2-9]|[1-9][0-9]+)?( domain)?$/"]},"ay":{"description":"Sets the y component of the arrow tail about the arrow head. If `ayref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from bottom to top (top to bottom). If `ayref` is not `pixel` and is exactly the same as `yref`, this is an absolute value on that axis, like `y`, specified in the same coordinates as `yref`.","editType":"calc+arraydraw","valType":"any"},"ayref":{"description":"Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. In order for absolute positioning of the arrow to work, *ayref* must be exactly the same as *yref*, otherwise *ayref* will revert to *pixel* (explained next). For relative positioning, *ayref* can be set to *pixel*, in which case the *ay* value is specified in pixels relative to *y*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.","dflt":"pixel","editType":"calc","valType":"enumerated","values":["pixel","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]},"bgcolor":{"description":"Sets the background color of the annotation.","dflt":"rgba(0,0,0,0)","editType":"arraydraw","valType":"color"},"bordercolor":{"description":"Sets the color of the border enclosing the annotation `text`.","dflt":"rgba(0,0,0,0)","editType":"arraydraw","valType":"color"},"borderpad":{"description":"Sets the padding (in px) between the `text` and the enclosing border.","dflt":1,"editType":"calc+arraydraw","min":0,"valType":"number"},"borderwidth":{"description":"Sets the width (in px) of the border enclosing the annotation `text`.","dflt":1,"editType":"calc+arraydraw","min":0,"valType":"number"},"captureevents":{"description":"Determines whether the annotation text box captures mouse move and click events, or allows those events to pass through to data points in the plot that may be behind the annotation. By default `captureevents` is *false* unless `hovertext` is provided. If you use the event `plotly_clickannotation` without `hovertext` you must explicitly enable `captureevents`.","editType":"arraydraw","valType":"boolean"},"clicktoshow":{"description":"Makes this annotation respond to clicks on the plot. If you click a data point that exactly matches the `x` and `y` values of this annotation, and it is hidden (visible: false), it will appear. In *onoff* mode, you must click the same point again to make it disappear, so if you click multiple points, you can show multiple annotations. In *onout* mode, a click anywhere else in the plot (on another data point or not) will hide this annotation. If you need to show/hide this annotation in response to different `x` or `y` values, you can set `xclick` and/or `yclick`. This is useful for example to label the side of a bar. To label markers though, `standoff` is preferred over `xclick` and `yclick`.","dflt":false,"editType":"arraydraw","valType":"enumerated","values":[false,"onoff","onout"]},"editType":"calc","font":{"color":{"editType":"arraydraw","valType":"color"},"description":"Sets the annotation text font.","editType":"calc+arraydraw","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc+arraydraw","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc+arraydraw","min":1,"valType":"number"}},"height":{"description":"Sets an explicit height for the text box. null (default) lets the text set the box height. Taller text will be clipped.","dflt":null,"editType":"calc+arraydraw","min":1,"valType":"number"},"hoverlabel":{"bgcolor":{"description":"Sets the background color of the hover label. By default uses the annotation's `bgcolor` made opaque, or white if it was transparent.","editType":"arraydraw","valType":"color"},"bordercolor":{"description":"Sets the border color of the hover label. By default uses either dark grey or white, for maximum contrast with `hoverlabel.bgcolor`.","editType":"arraydraw","valType":"color"},"editType":"arraydraw","font":{"color":{"editType":"arraydraw","valType":"color"},"description":"Sets the hover label text font. By default uses the global hover font and size, with color from `hoverlabel.bordercolor`.","editType":"arraydraw","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"arraydraw","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"arraydraw","min":1,"valType":"number"}},"role":"object"},"hovertext":{"description":"Sets text to appear when hovering over this annotation. If omitted or blank, no hover label will appear.","editType":"arraydraw","valType":"string"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"opacity":{"description":"Sets the opacity of the annotation (text + arrow).","dflt":1,"editType":"arraydraw","max":1,"min":0,"valType":"number"},"role":"object","showarrow":{"description":"Determines whether or not the annotation is drawn with an arrow. If *true*, `text` is placed near the arrow's tail. If *false*, `text` lines up with the `x` and `y` provided.","dflt":true,"editType":"calc+arraydraw","valType":"boolean"},"standoff":{"description":"Sets a distance, in pixels, to move the end arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.","dflt":0,"editType":"calc+arraydraw","min":0,"valType":"number"},"startarrowhead":{"description":"Sets the start annotation arrow head style.","dflt":1,"editType":"arraydraw","max":8,"min":0,"valType":"integer"},"startarrowsize":{"description":"Sets the size of the start annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.","dflt":1,"editType":"calc+arraydraw","min":0.3,"valType":"number"},"startstandoff":{"description":"Sets a distance, in pixels, to move the start arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.","dflt":0,"editType":"calc+arraydraw","min":0,"valType":"number"},"templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"text":{"description":"Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (\u003cbr\u003e), bold (\u003cb\u003e\u003c/b\u003e), italics (\u003ci\u003e\u003c/i\u003e), hyperlinks (\u003ca href='...'\u003e\u003c/a\u003e). Tags \u003cem\u003e, \u003csup\u003e, \u003csub\u003e \u003cspan\u003e are also supported.","editType":"calc+arraydraw","valType":"string"},"textangle":{"description":"Sets the angle at which the `text` is drawn with respect to the horizontal.","dflt":0,"editType":"calc+arraydraw","valType":"angle"},"valign":{"description":"Sets the vertical alignment of the `text` within the box. Has an effect only if an explicit height is set to override the text height.","dflt":"middle","editType":"arraydraw","valType":"enumerated","values":["top","middle","bottom"]},"visible":{"description":"Determines whether or not this annotation is visible.","dflt":true,"editType":"calc+arraydraw","valType":"boolean"},"width":{"description":"Sets an explicit width for the text box. null (default) lets the text set the box width. Wider text will be clipped. There is no automatic wrapping; use \u003cbr\u003e to start a new line.","dflt":null,"editType":"calc+arraydraw","min":1,"valType":"number"},"x":{"description":"Sets the annotation's x position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.","editType":"calc+arraydraw","valType":"any"},"xanchor":{"description":"Sets the text box's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the annotation. For example, if `x` is set to 1, `xref` to *paper* and `xanchor` to *right* then the right-most portion of the annotation lines up with the right-most edge of the plotting area. If *auto*, the anchor is equivalent to *center* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.","dflt":"auto","editType":"calc+arraydraw","valType":"enumerated","values":["auto","left","center","right"]},"xclick":{"description":"Toggle this annotation when clicking a data point whose `x` value is `xclick` rather than the annotation's `x` value.","editType":"arraydraw","valType":"any"},"xref":{"description":"Sets the annotation's x coordinate axis. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis.","editType":"calc","valType":"enumerated","values":["paper","/^x([2-9]|[1-9][0-9]+)?( domain)?$/"]},"xshift":{"description":"Shifts the position of the whole annotation and arrow to the right (positive) or left (negative) by this many pixels.","dflt":0,"editType":"calc+arraydraw","valType":"number"},"y":{"description":"Sets the annotation's y position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.","editType":"calc+arraydraw","valType":"any"},"yanchor":{"description":"Sets the text box's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the annotation. For example, if `y` is set to 1, `yref` to *paper* and `yanchor` to *top* then the top-most portion of the annotation lines up with the top-most edge of the plotting area. If *auto*, the anchor is equivalent to *middle* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.","dflt":"auto","editType":"calc+arraydraw","valType":"enumerated","values":["auto","top","middle","bottom"]},"yclick":{"description":"Toggle this annotation when clicking a data point whose `y` value is `yclick` rather than the annotation's `y` value.","editType":"arraydraw","valType":"any"},"yref":{"description":"Sets the annotation's y coordinate axis. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis.","editType":"calc","valType":"enumerated","values":["paper","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]},"yshift":{"description":"Shifts the position of the whole annotation and arrow up (positive) or down (negative) by this many pixels.","dflt":0,"editType":"calc+arraydraw","valType":"number"}}},"role":"object"},"autosize":{"description":"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.","dflt":false,"editType":"none","valType":"boolean"},"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"calc","valType":"enumerated","values":["convert types","strict"]},"calendar":{"description":"Sets the default calendar system to use for interpreting and displaying dates throughout the plot.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"clickmode":{"description":"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.","dflt":"event","editType":"plot","extras":["none"],"flags":["event","select"],"valType":"flaglist"},"coloraxis":{"_isSubplotObj":true,"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"Determines whether or not the color domain is computed with respect to the input data (here corresponding trace color array(s)) or the bounds set in `cmin` and `cmax` Defaults to `false` when `cmin` and `cmax` are set by the user.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"Sets the upper bound of the color domain. Value should have the same units as corresponding trace color array(s) and if set, `cmin` must be set as well.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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 corresponding trace color array(s). Has no effect when `cauto` is `false`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"Sets the lower bound of the color domain. Value should have the same units as corresponding trace color array(s) and if set, `cmax` must be set as well.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"description":"","editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"}},"colorscale":{"diverging":{"description":"Sets the default diverging colorscale. Note that `autocolorscale` must be true for this attribute to work.","dflt":[[0,"rgb(5,10,172)"],[0.35,"rgb(106,137,247)"],[0.5,"rgb(190,190,190)"],[0.6,"rgb(220,170,132)"],[0.7,"rgb(230,145,90)"],[1,"rgb(178,10,28)"]],"editType":"calc","valType":"colorscale"},"editType":"calc","role":"object","sequential":{"description":"Sets the default sequential colorscale for positive values. Note that `autocolorscale` must be true for this attribute to work.","dflt":[[0,"rgb(220,220,220)"],[0.2,"rgb(245,195,157)"],[0.4,"rgb(245,160,105)"],[1,"rgb(178,10,28)"]],"editType":"calc","valType":"colorscale"},"sequentialminus":{"description":"Sets the default sequential colorscale for negative values. Note that `autocolorscale` must be true for this attribute to work.","dflt":[[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)"]],"editType":"calc","valType":"colorscale"}},"colorway":{"description":"Sets the default trace colors.","dflt":["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],"editType":"calc","valType":"colorlist"},"computed":{"description":"Placeholder for exporting automargin-impacting values namely `margin.t`, `margin.b`, `margin.l` and `margin.r` in *full-json* mode.","editType":"none","valType":"any"},"datarevision":{"description":"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.","editType":"calc","valType":"any"},"dragmode":{"description":"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.","dflt":"zoom","editType":"modebar","valType":"enumerated","values":["zoom","pan","select","lasso","drawclosedpath","drawopenpath","drawline","drawrect","drawcircle","orbit","turntable",false]},"editType":"calc","editrevision":{"description":"Controls persistence of user-driven changes in `editable: true` configuration, other than trace names and axis titles. Defaults to `layout.uirevision`.","editType":"none","valType":"any"},"font":{"color":{"dflt":"#444","editType":"calc","valType":"color"},"description":"Sets the global font. Note that fonts used in traces and other layout components inherit from the global font.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","dflt":"\"Open Sans\", verdana, arial, sans-serif","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"dflt":12,"editType":"calc","min":1,"valType":"number"}},"geo":{"_isSubplotObj":true,"bgcolor":{"description":"Set the background color of the map","dflt":"#fff","editType":"plot","valType":"color"},"center":{"editType":"plot","lat":{"description":"Sets the latitude of the map's center. For all projection types, the map's latitude center lies at the middle of the latitude range by default.","editType":"plot","valType":"number"},"lon":{"description":"Sets the longitude of the map's center. By default, the map's longitude center lies at the middle of the longitude range for scoped projection and above `projection.rotation.lon` otherwise.","editType":"plot","valType":"number"},"role":"object"},"coastlinecolor":{"description":"Sets the coastline color.","dflt":"#444","editType":"plot","valType":"color"},"coastlinewidth":{"description":"Sets the coastline stroke width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"countrycolor":{"description":"Sets line color of the country boundaries.","dflt":"#444","editType":"plot","valType":"color"},"countrywidth":{"description":"Sets line width (in px) of the country boundaries.","dflt":1,"editType":"plot","min":0,"valType":"number"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this geo subplot . Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both.","dflt":0,"editType":"plot","min":0,"valType":"integer"},"editType":"plot","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this geo subplot . Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both.","dflt":0,"editType":"plot","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this geo subplot (in plot fraction). Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both.","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this geo subplot (in plot fraction). Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both.","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"editType":"plot","fitbounds":{"description":"Determines if this subplot's view settings are auto-computed to fit trace data. On scoped maps, setting `fitbounds` leads to `center.lon` and `center.lat` getting auto-filled. On maps with a non-clipped projection, setting `fitbounds` leads to `center.lon`, `center.lat`, and `projection.rotation.lon` getting auto-filled. On maps with a clipped projection, setting `fitbounds` leads to `center.lon`, `center.lat`, `projection.rotation.lon`, `projection.rotation.lat`, `lonaxis.range` and `lonaxis.range` getting auto-filled. If *locations*, only the trace's visible locations are considered in the `fitbounds` computations. If *geojson*, the entire trace input `geojson` (if provided) is considered in the `fitbounds` computations, Defaults to *false*.","dflt":false,"editType":"plot","valType":"enumerated","values":[false,"locations","geojson"]},"framecolor":{"description":"Sets the color the frame.","dflt":"#444","editType":"plot","valType":"color"},"framewidth":{"description":"Sets the stroke width (in px) of the frame.","dflt":1,"editType":"plot","min":0,"valType":"number"},"lakecolor":{"description":"Sets the color of the lakes.","dflt":"#3399FF","editType":"plot","valType":"color"},"landcolor":{"description":"Sets the land mass color.","dflt":"#F0DC82","editType":"plot","valType":"color"},"lataxis":{"dtick":{"description":"Sets the graticule's longitude/latitude tick step.","editType":"plot","valType":"number"},"editType":"plot","gridcolor":{"description":"Sets the graticule's stroke color.","dflt":"#eee","editType":"plot","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"plot","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the graticule's stroke width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"range":{"description":"Sets the range of this axis (in degrees), sets the map's clipped coordinates.","editType":"plot","items":[{"editType":"plot","valType":"number"},{"editType":"plot","valType":"number"}],"valType":"info_array"},"role":"object","showgrid":{"description":"Sets whether or not graticule are shown on the map.","dflt":false,"editType":"plot","valType":"boolean"},"tick0":{"description":"Sets the graticule's starting tick longitude/latitude.","dflt":0,"editType":"plot","valType":"number"}},"lonaxis":{"dtick":{"description":"Sets the graticule's longitude/latitude tick step.","editType":"plot","valType":"number"},"editType":"plot","gridcolor":{"description":"Sets the graticule's stroke color.","dflt":"#eee","editType":"plot","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"plot","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the graticule's stroke width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"range":{"description":"Sets the range of this axis (in degrees), sets the map's clipped coordinates.","editType":"plot","items":[{"editType":"plot","valType":"number"},{"editType":"plot","valType":"number"}],"valType":"info_array"},"role":"object","showgrid":{"description":"Sets whether or not graticule are shown on the map.","dflt":false,"editType":"plot","valType":"boolean"},"tick0":{"description":"Sets the graticule's starting tick longitude/latitude.","dflt":0,"editType":"plot","valType":"number"}},"oceancolor":{"description":"Sets the ocean color","dflt":"#3399FF","editType":"plot","valType":"color"},"projection":{"distance":{"description":"For satellite projection type only. Sets the distance from the center of the sphere to the point of view as a proportion of the sphere’s radius.","dflt":2,"editType":"plot","min":1.001,"valType":"number"},"editType":"plot","parallels":{"description":"For conic projection types only. Sets the parallels (tangent, secant) where the cone intersects the sphere.","editType":"plot","items":[{"editType":"plot","valType":"number"},{"editType":"plot","valType":"number"}],"valType":"info_array"},"role":"object","rotation":{"editType":"plot","lat":{"description":"Rotates the map along meridians (in degrees North).","editType":"plot","valType":"number"},"lon":{"description":"Rotates the map along parallels (in degrees East). Defaults to the center of the `lonaxis.range` values.","editType":"plot","valType":"number"},"role":"object","roll":{"description":"Roll the map (in degrees) For example, a roll of *180* makes the map appear upside down.","editType":"plot","valType":"number"}},"scale":{"description":"Zooms in or out on the map view. A scale of *1* corresponds to the largest zoom level that fits the map's lon and lat ranges. ","dflt":1,"editType":"plot","min":0,"valType":"number"},"tilt":{"description":"For satellite projection type only. Sets the tilt angle of perspective projection.","dflt":0,"editType":"plot","valType":"number"},"type":{"description":"Sets the projection type.","editType":"plot","valType":"enumerated","values":["airy","aitoff","albers","albers usa","august","azimuthal equal area","azimuthal equidistant","baker","bertin1953","boggs","bonne","bottomley","bromley","collignon","conic conformal","conic equal area","conic equidistant","craig","craster","cylindrical equal area","cylindrical stereographic","eckert1","eckert2","eckert3","eckert4","eckert5","eckert6","eisenlohr","equal earth","equirectangular","fahey","foucaut","foucaut sinusoidal","ginzburg4","ginzburg5","ginzburg6","ginzburg8","ginzburg9","gnomonic","gringorten","gringorten quincuncial","guyou","hammer","hill","homolosine","hufnagel","hyperelliptical","kavrayskiy7","lagrange","larrivee","laskowski","loximuthal","mercator","miller","mollweide","mt flat polar parabolic","mt flat polar quartic","mt flat polar sinusoidal","natural earth","natural earth1","natural earth2","nell hammer","nicolosi","orthographic","patterson","peirce quincuncial","polyconic","rectangular polyconic","robinson","satellite","sinu mollweide","sinusoidal","stereographic","times","transverse mercator","van der grinten","van der grinten2","van der grinten3","van der grinten4","wagner4","wagner6","wiechel","winkel tripel","winkel3"]}},"resolution":{"coerceNumber":true,"description":"Sets the resolution of the base layers. The values have units of km/mm e.g. 110 corresponds to a scale ratio of 1:110,000,000.","dflt":110,"editType":"plot","valType":"enumerated","values":[110,50]},"rivercolor":{"description":"Sets color of the rivers.","dflt":"#3399FF","editType":"plot","valType":"color"},"riverwidth":{"description":"Sets the stroke width (in px) of the rivers.","dflt":1,"editType":"plot","min":0,"valType":"number"},"role":"object","scope":{"description":"Set the scope of the map.","dflt":"world","editType":"plot","valType":"enumerated","values":["africa","asia","europe","north america","south america","usa","world"]},"showcoastlines":{"description":"Sets whether or not the coastlines are drawn.","editType":"plot","valType":"boolean"},"showcountries":{"description":"Sets whether or not country boundaries are drawn.","editType":"plot","valType":"boolean"},"showframe":{"description":"Sets whether or not a frame is drawn around the map.","editType":"plot","valType":"boolean"},"showlakes":{"description":"Sets whether or not lakes are drawn.","dflt":false,"editType":"plot","valType":"boolean"},"showland":{"description":"Sets whether or not land masses are filled in color.","dflt":false,"editType":"plot","valType":"boolean"},"showocean":{"description":"Sets whether or not oceans are filled in color.","dflt":false,"editType":"plot","valType":"boolean"},"showrivers":{"description":"Sets whether or not rivers are drawn.","dflt":false,"editType":"plot","valType":"boolean"},"showsubunits":{"description":"Sets whether or not boundaries of subunits within countries (e.g. states, provinces) are drawn.","editType":"plot","valType":"boolean"},"subunitcolor":{"description":"Sets the color of the subunits boundaries.","dflt":"#444","editType":"plot","valType":"color"},"subunitwidth":{"description":"Sets the stroke width (in px) of the subunits boundaries.","dflt":1,"editType":"plot","min":0,"valType":"number"},"uirevision":{"description":"Controls persistence of user-driven changes in the view (projection and center). Defaults to `layout.uirevision`.","editType":"none","valType":"any"},"visible":{"description":"Sets the default visibility of the base layers.","dflt":true,"editType":"plot","valType":"boolean"}},"grid":{"columns":{"description":"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.","editType":"plot","min":1,"valType":"integer"},"domain":{"editType":"plot","role":"object","x":{"description":"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.","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"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.","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"editType":"plot","pattern":{"description":"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`.","dflt":"coupled","editType":"plot","valType":"enumerated","values":["independent","coupled"]},"role":"object","roworder":{"description":"Is the first row the top or the bottom? Note that columns are always enumerated from left to right.","dflt":"top to bottom","editType":"plot","valType":"enumerated","values":["top to bottom","bottom to top"]},"rows":{"description":"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.","editType":"plot","min":1,"valType":"integer"},"subplots":{"description":"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.","dimensions":2,"editType":"plot","freeLength":true,"items":{"editType":"plot","valType":"enumerated","values":["/^x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?$/",""]},"valType":"info_array"},"xaxes":{"description":"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.","editType":"plot","freeLength":true,"items":{"editType":"plot","valType":"enumerated","values":["/^x([2-9]|[1-9][0-9]+)?( domain)?$/",""]},"valType":"info_array"},"xgap":{"description":"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.","editType":"plot","max":1,"min":0,"valType":"number"},"xside":{"description":"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.","dflt":"bottom plot","editType":"plot","valType":"enumerated","values":["bottom","bottom plot","top plot","top"]},"yaxes":{"description":"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.","editType":"plot","freeLength":true,"items":{"editType":"plot","valType":"enumerated","values":["/^y([2-9]|[1-9][0-9]+)?( domain)?$/",""]},"valType":"info_array"},"ygap":{"description":"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.","editType":"plot","max":1,"min":0,"valType":"number"},"yside":{"description":"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.","dflt":"left plot","editType":"plot","valType":"enumerated","values":["left","left plot","right plot","right"]}},"height":{"description":"Sets the plot's height (in px).","dflt":450,"editType":"plot","min":10,"valType":"number"},"hidesources":{"description":"Determines whether or not a text link citing the data source is placed at the bottom-right cored of the figure. Has only an effect only on graphs that have been generated via forked graphs from the Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise).","dflt":false,"editType":"plot","valType":"boolean"},"hoverdistance":{"description":"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.","dflt":20,"editType":"none","min":-1,"valType":"integer"},"hoverlabel":{"align":{"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"bgcolor":{"description":"Sets the background color of all hover labels on graph","editType":"none","valType":"color"},"bordercolor":{"description":"Sets the border color of all hover labels on graph.","editType":"none","valType":"color"},"editType":"none","font":{"color":{"editType":"none","valType":"color"},"description":"Sets the default hover label font used by all traces on the graph.","editType":"none","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","dflt":"Arial, sans-serif","editType":"none","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"dflt":13,"editType":"none","min":1,"valType":"number"}},"grouptitlefont":{"color":{"editType":"none","valType":"color"},"description":"Sets the font for group titles in hover (unified modes). Defaults to `hoverlabel.font`.","editType":"none","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"none","min":1,"valType":"number"}},"namelength":{"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"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.","dflt":"closest","editType":"modebar","valType":"enumerated","values":["x","y","closest",false,"x unified","y unified"]},"hoversubplots":{"description":"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*.","dflt":"overlaying","editType":"none","valType":"enumerated","values":["single","overlaying","axis"]},"images":{"items":{"image":{"editType":"arraydraw","layer":{"description":"Specifies whether images are drawn below or above traces. When `xref` and `yref` are both set to `paper`, image is drawn below the entire plot area.","dflt":"above","editType":"arraydraw","valType":"enumerated","values":["below","above"]},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"opacity":{"description":"Sets the opacity of the image.","dflt":1,"editType":"arraydraw","max":1,"min":0,"valType":"number"},"role":"object","sizex":{"description":"Sets the image container size horizontally. The image will be sized based on the `position` value. When `xref` is set to `paper`, units are sized relative to the plot width. When `xref` ends with ` domain`, units are sized relative to the axis width.","dflt":0,"editType":"arraydraw","valType":"number"},"sizey":{"description":"Sets the image container size vertically. The image will be sized based on the `position` value. When `yref` is set to `paper`, units are sized relative to the plot height. When `yref` ends with ` domain`, units are sized relative to the axis height.","dflt":0,"editType":"arraydraw","valType":"number"},"sizing":{"description":"Specifies which dimension of the image to constrain.","dflt":"contain","editType":"arraydraw","valType":"enumerated","values":["fill","contain","stretch"]},"source":{"description":"Specifies the URL of the image to be used. The URL must be accessible from the domain where the plot code is run, and can be either relative or absolute.","editType":"arraydraw","valType":"string"},"templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"visible":{"description":"Determines whether or not this image is visible.","dflt":true,"editType":"arraydraw","valType":"boolean"},"x":{"description":"Sets the image's x position. When `xref` is set to `paper`, units are sized relative to the plot height. See `xref` for more info","dflt":0,"editType":"arraydraw","valType":"any"},"xanchor":{"description":"Sets the anchor for the x position","dflt":"left","editType":"arraydraw","valType":"enumerated","values":["left","center","right"]},"xref":{"description":"Sets the images'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.","dflt":"paper","editType":"arraydraw","valType":"enumerated","values":["paper","/^x([2-9]|[1-9][0-9]+)?( domain)?$/"]},"y":{"description":"Sets the image's y position. When `yref` is set to `paper`, units are sized relative to the plot height. See `yref` for more info","dflt":0,"editType":"arraydraw","valType":"any"},"yanchor":{"description":"Sets the anchor for the y position.","dflt":"top","editType":"arraydraw","valType":"enumerated","values":["top","middle","bottom"]},"yref":{"description":"Sets the images's y coordinate axis. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis.","dflt":"paper","editType":"arraydraw","valType":"enumerated","values":["paper","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]}}},"role":"object"},"legend":{"_isSubplotObj":true,"bgcolor":{"description":"Sets the legend background color. Defaults to `layout.paper_bgcolor`.","editType":"legend","valType":"color"},"bordercolor":{"description":"Sets the color of the border enclosing the legend.","dflt":"#444","editType":"legend","valType":"color"},"borderwidth":{"description":"Sets the width (in px) of the border enclosing the legend.","dflt":0,"editType":"legend","min":0,"valType":"number"},"editType":"legend","entrywidth":{"description":"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*.","editType":"legend","min":0,"valType":"number"},"entrywidthmode":{"description":"Determines what entrywidth means.","dflt":"pixels","editType":"legend","valType":"enumerated","values":["fraction","pixels"]},"font":{"color":{"editType":"legend","valType":"color"},"description":"Sets the font used to text the legend items.","editType":"legend","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"legend","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"legend","min":1,"valType":"number"}},"groupclick":{"description":"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.","dflt":"togglegroup","editType":"legend","valType":"enumerated","values":["toggleitem","togglegroup"]},"grouptitlefont":{"color":{"editType":"legend","valType":"color"},"description":"Sets the font for group titles in legend. Defaults to `legend.font` with its size increased about 10%.","editType":"legend","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"legend","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"legend","min":1,"valType":"number"}},"indentation":{"description":"Sets the indentation (in px) of the legend entries.","dflt":0,"editType":"legend","min":-15,"valType":"number"},"itemclick":{"description":"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.","dflt":"toggle","editType":"legend","valType":"enumerated","values":["toggle","toggleothers",false]},"itemdoubleclick":{"description":"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.","dflt":"toggleothers","editType":"legend","valType":"enumerated","values":["toggle","toggleothers",false]},"itemsizing":{"description":"Determines if the legend items symbols scale with their corresponding *trace* attributes or remain *constant* independent of the symbol size on the graph.","dflt":"trace","editType":"legend","valType":"enumerated","values":["trace","constant"]},"itemwidth":{"description":"Sets the width (in px) of the legend item symbols (the part other than the title.text).","dflt":30,"editType":"legend","min":30,"valType":"number"},"orientation":{"description":"Sets the orientation of the legend.","dflt":"v","editType":"legend","valType":"enumerated","values":["v","h"]},"role":"object","title":{"editType":"legend","font":{"color":{"editType":"legend","valType":"color"},"description":"Sets this legend's title font. Defaults to `legend.font` with its size increased about 20%.","editType":"legend","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"legend","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"legend","min":1,"valType":"number"}},"role":"object","side":{"description":"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.","editType":"legend","valType":"enumerated","values":["top","left","top left","top center","top right"]},"text":{"description":"Sets the title of the legend.","dflt":"","editType":"legend","valType":"string"}},"tracegroupgap":{"description":"Sets the amount of vertical space (in px) between legend groups.","dflt":10,"editType":"legend","min":0,"valType":"number"},"traceorder":{"description":"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*.","editType":"legend","extras":["normal"],"flags":["reversed","grouped"],"valType":"flaglist"},"uirevision":{"description":"Controls persistence of legend-driven changes in trace and pie label visibility. Defaults to `layout.uirevision`.","editType":"none","valType":"any"},"valign":{"description":"Sets the vertical alignment of the symbols with respect to their associated text.","dflt":"middle","editType":"legend","valType":"enumerated","values":["top","middle","bottom"]},"visible":{"description":"Determines whether or not this legend is visible.","dflt":true,"editType":"legend","valType":"boolean"},"x":{"description":"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*.","editType":"legend","valType":"number"},"xanchor":{"description":"Sets the legend's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the legend. 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.","dflt":"left","editType":"legend","valType":"enumerated","values":["auto","left","center","right"]},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"layoutstyle","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"legend","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.","editType":"legend","valType":"enumerated","values":["auto","top","middle","bottom"]},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"layoutstyle","valType":"enumerated","values":["container","paper"]}},"mapbox":{"_arrayAttrRegexps":[{}],"_isSubplotObj":true,"accesstoken":{"description":"Sets the mapbox access token to be used for this mapbox map. Alternatively, the mapbox access token can be set in the configuration options under `mapboxAccessToken`. Note that accessToken are only required when `style` (e.g with values : basic, streets, outdoors, light, dark, satellite, satellite-streets ) and/or a layout layer references the Mapbox server.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"bearing":{"description":"Sets the bearing angle of the map in degrees counter-clockwise from North (mapbox.bearing).","dflt":0,"editType":"plot","valType":"number"},"bounds":{"east":{"description":"Sets the maximum longitude of the map (in degrees East) if `west`, `south` and `north` are declared.","editType":"plot","valType":"number"},"editType":"plot","north":{"description":"Sets the maximum latitude of the map (in degrees North) if `east`, `west` and `south` are declared.","editType":"plot","valType":"number"},"role":"object","south":{"description":"Sets the minimum latitude of the map (in degrees North) if `east`, `west` and `north` are declared.","editType":"plot","valType":"number"},"west":{"description":"Sets the minimum longitude of the map (in degrees East) if `east`, `south` and `north` are declared.","editType":"plot","valType":"number"}},"center":{"editType":"plot","lat":{"description":"Sets the latitude of the center of the map (in degrees North).","dflt":0,"editType":"plot","valType":"number"},"lon":{"description":"Sets the longitude of the center of the map (in degrees East).","dflt":0,"editType":"plot","valType":"number"},"role":"object"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this mapbox subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"editType":"plot","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this mapbox subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this mapbox subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this mapbox subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"editType":"plot","layers":{"items":{"layer":{"below":{"description":"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.","editType":"plot","valType":"string"},"circle":{"editType":"plot","radius":{"description":"Sets the circle radius (mapbox.layer.paint.circle-radius). Has an effect only when `type` is set to *circle*.","dflt":15,"editType":"plot","valType":"number"},"role":"object"},"color":{"description":"Sets the primary layer color. If `type` is *circle*, color corresponds to the circle color (mapbox.layer.paint.circle-color) If `type` is *line*, color corresponds to the line color (mapbox.layer.paint.line-color) If `type` is *fill*, color corresponds to the fill color (mapbox.layer.paint.fill-color) If `type` is *symbol*, color corresponds to the icon color (mapbox.layer.paint.icon-color)","dflt":"#444","editType":"plot","valType":"color"},"coordinates":{"description":"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`.","editType":"plot","valType":"any"},"editType":"plot","fill":{"editType":"plot","outlinecolor":{"description":"Sets the fill outline color (mapbox.layer.paint.fill-outline-color). Has an effect only when `type` is set to *fill*.","dflt":"#444","editType":"plot","valType":"color"},"role":"object"},"line":{"dash":{"description":"Sets the length of dashes and gaps (mapbox.layer.paint.line-dasharray). Has an effect only when `type` is set to *line*.","editType":"plot","valType":"data_array"},"dashsrc":{"description":"Sets the source reference on Chart Studio Cloud for `dash`.","editType":"none","valType":"string"},"editType":"plot","role":"object","width":{"description":"Sets the line width (mapbox.layer.paint.line-width). Has an effect only when `type` is set to *line*.","dflt":2,"editType":"plot","valType":"number"}},"maxzoom":{"description":"Sets the maximum zoom level (mapbox.layer.maxzoom). At zoom levels equal to or greater than the maxzoom, the layer will be hidden.","dflt":24,"editType":"plot","max":24,"min":0,"valType":"number"},"minzoom":{"description":"Sets the minimum zoom level (mapbox.layer.minzoom). At zoom levels less than the minzoom, the layer will be hidden.","dflt":0,"editType":"plot","max":24,"min":0,"valType":"number"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"opacity":{"description":"Sets the opacity of the layer. If `type` is *circle*, opacity corresponds to the circle opacity (mapbox.layer.paint.circle-opacity) If `type` is *line*, opacity corresponds to the line opacity (mapbox.layer.paint.line-opacity) If `type` is *fill*, opacity corresponds to the fill opacity (mapbox.layer.paint.fill-opacity) If `type` is *symbol*, opacity corresponds to the icon/text opacity (mapbox.layer.paint.text-opacity)","dflt":1,"editType":"plot","max":1,"min":0,"valType":"number"},"role":"object","source":{"description":"Sets the source data for this layer (mapbox.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.","editType":"plot","valType":"any"},"sourceattribution":{"description":"Sets the attribution for this source.","editType":"plot","valType":"string"},"sourcelayer":{"description":"Specifies the layer to use from a vector tile source (mapbox.layer.source-layer). Required for *vector* source type that supports multiple layers.","dflt":"","editType":"plot","valType":"string"},"sourcetype":{"description":"Sets the source type for this layer, that is the type of the layer data.","dflt":"geojson","editType":"plot","valType":"enumerated","values":["geojson","vector","raster","image"]},"symbol":{"editType":"plot","icon":{"description":"Sets the symbol icon image (mapbox.layer.layout.icon-image). Full list: https://www.mapbox.com/maki-icons/","dflt":"marker","editType":"plot","valType":"string"},"iconsize":{"description":"Sets the symbol icon size (mapbox.layer.layout.icon-size). Has an effect only when `type` is set to *symbol*.","dflt":10,"editType":"plot","valType":"number"},"placement":{"description":"Sets the symbol and/or text placement (mapbox.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","dflt":"point","editType":"plot","valType":"enumerated","values":["point","line","line-center"]},"role":"object","text":{"description":"Sets the symbol text (mapbox.layer.layout.text-field).","dflt":"","editType":"plot","valType":"string"},"textfont":{"color":{"editType":"plot","valType":"color"},"description":"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*.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","dflt":"Open Sans Regular, Arial Unicode MS Regular","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"textposition":{"arrayOk":false,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"plot","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]}},"templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"type":{"description":"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.","dflt":"circle","editType":"plot","valType":"enumerated","values":["circle","line","fill","symbol","raster"]},"visible":{"description":"Determines whether this layer is displayed","dflt":true,"editType":"plot","valType":"boolean"}}},"role":"object"},"pitch":{"description":"Sets the pitch angle of the map (in degrees, where *0* means perpendicular to the surface of the map) (mapbox.pitch).","dflt":0,"editType":"plot","valType":"number"},"role":"object","style":{"description":"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.mapbox.layers`. These layers can be defined either explicitly as a Mapbox 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 which do not require any access tokens, or by using a default Mapbox style or custom Mapbox style URL, both of which require a Mapbox access token Note that Mapbox access token can be set in the `accesstoken` attribute or in the `mapboxAccessToken` config option. Mapbox Style objects are of the form described in the Mapbox GL JS documentation available at https://docs.mapbox.com/mapbox-gl-js/style-spec The built-in plotly.js styles objects are: carto-darkmatter, carto-positron, open-street-map, stamen-terrain, stamen-toner, stamen-watercolor, white-bg The built-in Mapbox styles are: basic, streets, outdoors, light, dark, satellite, satellite-streets Mapbox style URLs are of the form: mapbox://mapbox.mapbox-\u003cname\u003e-\u003cversion\u003e","dflt":"basic","editType":"plot","valType":"any","values":["basic","streets","outdoors","light","dark","satellite","satellite-streets","carto-darkmatter","carto-positron","open-street-map","stamen-terrain","stamen-toner","stamen-watercolor","white-bg"]},"uirevision":{"description":"Controls persistence of user-driven changes in the view: `center`, `zoom`, `bearing`, `pitch`. Defaults to `layout.uirevision`.","editType":"none","valType":"any"},"zoom":{"description":"Sets the zoom level of the map (mapbox.zoom).","dflt":1,"editType":"plot","valType":"number"}},"margin":{"autoexpand":{"description":"Turns on/off margin expansion computations. Legends, colorbars, updatemenus, sliders, axis rangeselector and rangeslider are allowed to push the margins by defaults.","dflt":true,"editType":"plot","valType":"boolean"},"b":{"description":"Sets the bottom margin (in px).","dflt":80,"editType":"plot","min":0,"valType":"number"},"editType":"plot","l":{"description":"Sets the left margin (in px).","dflt":80,"editType":"plot","min":0,"valType":"number"},"pad":{"description":"Sets the amount of padding (in px) between the plotting area and the axis lines","dflt":0,"editType":"plot","min":0,"valType":"number"},"r":{"description":"Sets the right margin (in px).","dflt":80,"editType":"plot","min":0,"valType":"number"},"role":"object","t":{"description":"Sets the top margin (in px).","dflt":100,"editType":"plot","min":0,"valType":"number"}},"meta":{"arrayOk":true,"description":"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]}.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"minreducedheight":{"description":"Minimum height of the plot with margin.automargin applied (in px)","dflt":64,"editType":"plot","min":2,"valType":"number"},"minreducedwidth":{"description":"Minimum width of the plot with margin.automargin applied (in px)","dflt":64,"editType":"plot","min":2,"valType":"number"},"modebar":{"activecolor":{"description":"Sets the color of the active or hovered on icons in the modebar.","editType":"modebar","valType":"color"},"add":{"arrayOk":true,"description":"Determines which predefined modebar buttons to add. Please note that these buttons will only be shown if they are compatible with all trace types used in a graph. Similar to `config.modeBarButtonsToAdd` option. This may include *v1hovermode*, *hoverclosest*, *hovercompare*, *togglehover*, *togglespikelines*, *drawline*, *drawopenpath*, *drawclosedpath*, *drawcircle*, *drawrect*, *eraseshape*.","dflt":"","editType":"modebar","valType":"string"},"addsrc":{"description":"Sets the source reference on Chart Studio Cloud for `add`.","editType":"none","valType":"string"},"bgcolor":{"description":"Sets the background color of the modebar.","editType":"modebar","valType":"color"},"color":{"description":"Sets the color of the icons in the modebar.","editType":"modebar","valType":"color"},"editType":"modebar","orientation":{"description":"Sets the orientation of the modebar.","dflt":"h","editType":"modebar","valType":"enumerated","values":["v","h"]},"remove":{"arrayOk":true,"description":"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*, *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*, *zoomInMapbox*, *zoomOut2d*, *zoomOutGeo*, *zoomOutMapbox*, *zoomin*, *zoomout*.","dflt":"","editType":"modebar","valType":"string"},"removesrc":{"description":"Sets the source reference on Chart Studio Cloud for `remove`.","editType":"none","valType":"string"},"role":"object","uirevision":{"description":"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`.","editType":"none","valType":"any"}},"newselection":{"editType":"none","line":{"color":{"description":"Sets the line color. By default uses either dark grey or white to increase contrast with background color.","editType":"none","valType":"color"},"dash":{"description":"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*).","dflt":"dot","editType":"none","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"none","role":"object","width":{"description":"Sets the line width (in px).","dflt":1,"editType":"none","min":1,"valType":"number"}},"mode":{"description":"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.","dflt":"immediate","editType":"none","valType":"enumerated","values":["immediate","gradual"]},"role":"object"},"newshape":{"drawdirection":{"description":"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.","dflt":"diagonal","editType":"none","valType":"enumerated","values":["ortho","horizontal","vertical","diagonal"]},"editType":"none","fillcolor":{"description":"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.","dflt":"rgba(0,0,0,0)","editType":"none","valType":"color"},"fillrule":{"description":"Determines the path's interior. For more info please visit https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule","dflt":"evenodd","editType":"none","valType":"enumerated","values":["evenodd","nonzero"]},"label":{"editType":"none","font":{"color":{"editType":"none","valType":"color"},"description":"Sets the new shape label text font.","editType":"none","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"none","min":1,"valType":"number"}},"padding":{"description":"Sets padding (in px) between edge of label and edge of new shape.","dflt":3,"editType":"none","min":0,"valType":"number"},"role":"object","text":{"description":"Sets the text to display with the new shape. It is also used for legend item if `name` is not provided.","dflt":"","editType":"none","valType":"string"},"textangle":{"description":"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.","dflt":"auto","editType":"none","valType":"angle"},"textposition":{"description":"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.","editType":"none","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right","start","middle","end"]},"texttemplate":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xanchor":{"description":"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.","dflt":"auto","editType":"none","valType":"enumerated","values":["auto","left","center","right"]},"yanchor":{"description":"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.","editType":"none","valType":"enumerated","values":["top","middle","bottom"]}},"layer":{"description":"Specifies whether new shapes are drawn below gridlines (*below*), between gridlines and traces (*between*) or above traces (*above*).","dflt":"above","editType":"none","valType":"enumerated","values":["below","above","between"]},"legend":{"description":"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.","dflt":"legend","editType":"none","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"none","valType":"string"},"legendgrouptitle":{"editType":"none","font":{"color":{"editType":"none","valType":"color"},"description":"Sets this legend group's title font.","editType":"none","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"none","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"none","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"none","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for new shape.","editType":"none","min":0,"valType":"number"},"line":{"color":{"description":"Sets the line color. By default uses either dark grey or white to increase contrast with background color.","editType":"none","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"none","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"none","role":"object","width":{"description":"Sets the line width (in px).","dflt":4,"editType":"none","min":0,"valType":"number"}},"name":{"description":"Sets new shape name. The name appears as the legend item.","editType":"none","valType":"string"},"opacity":{"description":"Sets the opacity of new shapes.","dflt":1,"editType":"none","max":1,"min":0,"valType":"number"},"role":"object","showlegend":{"description":"Determines whether or not new shape is shown in the legend.","dflt":false,"editType":"none","valType":"boolean"},"visible":{"description":"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).","dflt":true,"editType":"none","valType":"enumerated","values":[true,false,"legendonly"]}},"paper_bgcolor":{"description":"Sets the background color of the paper where the graph is drawn.","dflt":"#fff","editType":"plot","valType":"color"},"plot_bgcolor":{"description":"Sets the background color of the plotting area in-between x and y axes.","dflt":"#fff","editType":"layoutstyle","valType":"color"},"polar":{"_isSubplotObj":true,"angularaxis":{"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"calc","valType":"enumerated","values":["convert types","strict"]},"categoryarray":{"description":"Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"calc","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.","dflt":"trace","editType":"calc","valType":"enumerated","values":["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","median ascending","median descending"]},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"direction":{"description":"Sets the direction corresponding to positive angles.","dflt":"counterclockwise","editType":"calc","valType":"enumerated","values":["counterclockwise","clockwise"]},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"plot","exponentformat":{"description":"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.","dflt":"B","editType":"plot","valType":"enumerated","values":["none","e","E","power","SI","B"]},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"plot","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"plot","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"none","valType":"string"},"labelalias":{"description":"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.","dflt":false,"editType":"plot","valType":"any"},"layer":{"description":"Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.","dflt":"above traces","editType":"plot","valType":"enumerated","values":["above traces","below traces"]},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"plot","min":0,"valType":"number"},"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,"editType":"plot","min":0,"valType":"integer"},"period":{"description":"Set the angular period. Has an effect only when `angularaxis.type` is *category*.","editType":"calc","min":0,"valType":"number"},"role":"object","rotation":{"description":"Sets that start position (in degrees) of the angular axis By default, polar subplots with `direction` set to *counterclockwise* get a `rotation` of *0* which corresponds to due East (like what mathematicians prefer). In turn, polar with `direction` set to *clockwise* get a rotation of *90* which corresponds to due North (like on a compass),","editType":"calc","valType":"angle"},"separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"plot","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","dflt":true,"editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"thetaunit":{"description":"Sets the format unit of the formatted *theta* values. Has an effect only when `angularaxis.type` is *linear*.","dflt":"degrees","editType":"calc","valType":"enumerated","values":["radians","degrees"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"plot","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"editType":"plot","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"plot","valType":"string"}}},"role":"object"},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"plot","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","editType":"plot","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"type":{"_noTemplating":true,"description":"Sets the angular axis type. If *linear*, set `thetaunit` to determine the unit in which axis value are shown. If *category, use `period` to set the number of integer coordinates around polar axis.","dflt":"-","editType":"calc","valType":"enumerated","values":["-","linear","category"]},"uirevision":{"description":"Controls persistence of user-driven changes in axis `rotation`. Defaults to `polar\u003cN\u003e.uirevision`.","editType":"none","valType":"any"},"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","dflt":true,"editType":"plot","valType":"boolean"}},"bgcolor":{"description":"Set the background color of the subplot","dflt":"#fff","editType":"plot","valType":"color"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this polar subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"editType":"plot","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this polar subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this polar subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this polar subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"editType":"calc","gridshape":{"description":"Determines if the radial axis grid lines and angular axis line are drawn as *circular* sectors or as *linear* (polygon) sectors. Has an effect only when the angular axis has `type` *category*. Note that `radialaxis.angle` is snapped to the angle of the closest vertex when `gridshape` is *circular* (so that radial axis scale is the same as the data scale).","dflt":"circular","editType":"plot","valType":"enumerated","values":["circular","linear"]},"hole":{"description":"Sets the fraction of the radius to cut out of the polar subplot.","dflt":0,"editType":"plot","max":1,"min":0,"valType":"number"},"radialaxis":{"_deprecated":{"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.","editType":"ticks","valType":"string"},"titlefont":{"color":{"editType":"ticks","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"ticks","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"ticks","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"ticks","min":1,"valType":"number"}}},"angle":{"description":"Sets the angle (in degrees) from which the radial axis is drawn. Note that by default, radial axis line on the theta=0 line corresponds to a line pointing right (like what mathematicians prefer). Defaults to the first `polar.sector` angle.","editType":"plot","valType":"angle"},"autorange":{"description":"Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction.","dflt":true,"editType":"plot","impliedEdits":{},"valType":"enumerated","values":[true,false,"reversed","min reversed","max reversed","min","max"]},"autorangeoptions":{"clipmax":{"description":"Clip autorange maximum if it goes beyond this value. Has no effect when `autorangeoptions.maxallowed` is provided.","editType":"plot","impliedEdits":{},"valType":"any"},"clipmin":{"description":"Clip autorange minimum if it goes beyond this value. Has no effect when `autorangeoptions.minallowed` is provided.","editType":"plot","impliedEdits":{},"valType":"any"},"editType":"plot","include":{"arrayOk":true,"description":"Ensure this value is included in autorange.","editType":"plot","impliedEdits":{},"valType":"any"},"includesrc":{"description":"Sets the source reference on Chart Studio Cloud for `include`.","editType":"none","valType":"string"},"maxallowed":{"description":"Use this value exactly as autorange maximum.","editType":"plot","impliedEdits":{},"valType":"any"},"minallowed":{"description":"Use this value exactly as autorange minimum.","editType":"plot","impliedEdits":{},"valType":"any"},"role":"object"},"autotickangles":{"description":"When `tickangle` is set to *auto*, it will be set to the first angle in this array that is large enough to prevent label overlap.","dflt":[0,30,90],"editType":"ticks","freeLength":true,"items":{"valType":"angle"},"valType":"info_array"},"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"calc","valType":"enumerated","values":["convert types","strict"]},"calendar":{"description":"Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"categoryarray":{"description":"Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"calc","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.","dflt":"trace","editType":"calc","valType":"enumerated","values":["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","median ascending","median descending"]},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"plot","exponentformat":{"description":"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.","dflt":"B","editType":"plot","valType":"enumerated","values":["none","e","E","power","SI","B"]},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"plot","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"plot","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"none","valType":"string"},"labelalias":{"description":"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.","dflt":false,"editType":"plot","valType":"any"},"layer":{"description":"Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.","dflt":"above traces","editType":"plot","valType":"enumerated","values":["above traces","below traces"]},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"maxallowed":{"description":"Determines the maximum range of this axis.","editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},"minallowed":{"description":"Determines the minimum range of this axis.","editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"plot","min":0,"valType":"number"},"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,"editType":"plot","min":0,"valType":"integer"},"range":{"anim":true,"description":"Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, 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. Leaving either or both elements `null` impacts the default `autorange`.","editType":"plot","impliedEdits":{"autorange":false},"items":[{"editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},{"editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"}],"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).","dflt":"tozero","editType":"calc","valType":"enumerated","values":["tozero","nonnegative","normal"]},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"plot","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","dflt":true,"editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"side":{"description":"Determines on which side of radial axis line the tick and tick labels appear.","dflt":"clockwise","editType":"plot","valType":"enumerated","values":["clockwise","counterclockwise"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"plot","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"editType":"plot","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"plot","valType":"string"}}},"role":"object"},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"plot","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","editType":"plot","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"title":{"editType":"plot","font":{"color":{"editType":"ticks","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"ticks","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"ticks","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","dflt":"","editType":"plot","valType":"string"}},"type":{"_noTemplating":true,"description":"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.","dflt":"-","editType":"calc","valType":"enumerated","values":["-","linear","log","date","category"]},"uirevision":{"description":"Controls persistence of user-driven changes in axis `range`, `autorange`, `angle`, and `title` if in `editable: true` configuration. Defaults to `polar\u003cN\u003e.uirevision`.","editType":"none","valType":"any"},"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","dflt":true,"editType":"plot","valType":"boolean"}},"role":"object","sector":{"description":"Sets angular span of this polar subplot with two angles (in degrees). Sector are assumed to be spanned in the counterclockwise direction with *0* corresponding to rightmost limit of the polar subplot.","dflt":[0,360],"editType":"plot","items":[{"editType":"plot","valType":"number"},{"editType":"plot","valType":"number"}],"valType":"info_array"},"uirevision":{"description":"Controls persistence of user-driven changes in axis attributes, if not overridden in the individual axes. Defaults to `layout.uirevision`.","editType":"none","valType":"any"}},"scene":{"_arrayAttrRegexps":[{}],"_deprecated":{"cameraposition":{"description":"Obsolete. Use `camera` instead.","editType":"camera","valType":"info_array"}},"_isSubplotObj":true,"annotations":{"items":{"annotation":{"align":{"description":"Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more \u003cbr\u003e HTML tags) or if an explicit width is set to override the text width.","dflt":"center","editType":"calc","valType":"enumerated","values":["left","center","right"]},"arrowcolor":{"description":"Sets the color of the annotation arrow.","editType":"calc","valType":"color"},"arrowhead":{"description":"Sets the end annotation arrow head style.","dflt":1,"editType":"calc","max":8,"min":0,"valType":"integer"},"arrowside":{"description":"Sets the annotation arrow head position.","dflt":"end","editType":"calc","extras":["none"],"flags":["end","start"],"valType":"flaglist"},"arrowsize":{"description":"Sets the size of the end annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.","dflt":1,"editType":"calc","min":0.3,"valType":"number"},"arrowwidth":{"description":"Sets the width (in px) of annotation arrow line.","editType":"calc","min":0.1,"valType":"number"},"ax":{"description":"Sets the x component of the arrow tail about the arrow head (in pixels).","editType":"calc","valType":"number"},"ay":{"description":"Sets the y component of the arrow tail about the arrow head (in pixels).","editType":"calc","valType":"number"},"bgcolor":{"description":"Sets the background color of the annotation.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the color of the border enclosing the annotation `text`.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"borderpad":{"description":"Sets the padding (in px) between the `text` and the enclosing border.","dflt":1,"editType":"calc","min":0,"valType":"number"},"borderwidth":{"description":"Sets the width (in px) of the border enclosing the annotation `text`.","dflt":1,"editType":"calc","min":0,"valType":"number"},"captureevents":{"description":"Determines whether the annotation text box captures mouse move and click events, or allows those events to pass through to data points in the plot that may be behind the annotation. By default `captureevents` is *false* unless `hovertext` is provided. If you use the event `plotly_clickannotation` without `hovertext` you must explicitly enable `captureevents`.","editType":"calc","valType":"boolean"},"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets the annotation text font.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"height":{"description":"Sets an explicit height for the text box. null (default) lets the text set the box height. Taller text will be clipped.","dflt":null,"editType":"calc","min":1,"valType":"number"},"hoverlabel":{"bgcolor":{"description":"Sets the background color of the hover label. By default uses the annotation's `bgcolor` made opaque, or white if it was transparent.","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the border color of the hover label. By default uses either dark grey or white, for maximum contrast with `hoverlabel.bgcolor`.","editType":"calc","valType":"color"},"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets the hover label text font. By default uses the global hover font and size, with color from `hoverlabel.bordercolor`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object"},"hovertext":{"description":"Sets text to appear when hovering over this annotation. If omitted or blank, no hover label will appear.","editType":"calc","valType":"string"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"opacity":{"description":"Sets the opacity of the annotation (text + arrow).","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","showarrow":{"description":"Determines whether or not the annotation is drawn with an arrow. If *true*, `text` is placed near the arrow's tail. If *false*, `text` lines up with the `x` and `y` provided.","dflt":true,"editType":"calc","valType":"boolean"},"standoff":{"description":"Sets a distance, in pixels, to move the end arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.","dflt":0,"editType":"calc","min":0,"valType":"number"},"startarrowhead":{"description":"Sets the start annotation arrow head style.","dflt":1,"editType":"calc","max":8,"min":0,"valType":"integer"},"startarrowsize":{"description":"Sets the size of the start annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.","dflt":1,"editType":"calc","min":0.3,"valType":"number"},"startstandoff":{"description":"Sets a distance, in pixels, to move the start arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.","dflt":0,"editType":"calc","min":0,"valType":"number"},"templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"text":{"description":"Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (\u003cbr\u003e), bold (\u003cb\u003e\u003c/b\u003e), italics (\u003ci\u003e\u003c/i\u003e), hyperlinks (\u003ca href='...'\u003e\u003c/a\u003e). Tags \u003cem\u003e, \u003csup\u003e, \u003csub\u003e \u003cspan\u003e are also supported.","editType":"calc","valType":"string"},"textangle":{"description":"Sets the angle at which the `text` is drawn with respect to the horizontal.","dflt":0,"editType":"calc","valType":"angle"},"valign":{"description":"Sets the vertical alignment of the `text` within the box. Has an effect only if an explicit height is set to override the text height.","dflt":"middle","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"visible":{"description":"Determines whether or not this annotation is visible.","dflt":true,"editType":"calc","valType":"boolean"},"width":{"description":"Sets an explicit width for the text box. null (default) lets the text set the box width. Wider text will be clipped. There is no automatic wrapping; use \u003cbr\u003e to start a new line.","dflt":null,"editType":"calc","min":1,"valType":"number"},"x":{"description":"Sets the annotation's x position.","editType":"calc","valType":"any"},"xanchor":{"description":"Sets the text box's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the annotation. For example, if `x` is set to 1, `xref` to *paper* and `xanchor` to *right* then the right-most portion of the annotation lines up with the right-most edge of the plotting area. If *auto*, the anchor is equivalent to *center* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.","dflt":"auto","editType":"calc","valType":"enumerated","values":["auto","left","center","right"]},"xshift":{"description":"Shifts the position of the whole annotation and arrow to the right (positive) or left (negative) by this many pixels.","dflt":0,"editType":"calc","valType":"number"},"y":{"description":"Sets the annotation's y position.","editType":"calc","valType":"any"},"yanchor":{"description":"Sets the text box's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the annotation. For example, if `y` is set to 1, `yref` to *paper* and `yanchor` to *top* then the top-most portion of the annotation lines up with the top-most edge of the plotting area. If *auto*, the anchor is equivalent to *middle* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.","dflt":"auto","editType":"calc","valType":"enumerated","values":["auto","top","middle","bottom"]},"yshift":{"description":"Shifts the position of the whole annotation and arrow up (positive) or down (negative) by this many pixels.","dflt":0,"editType":"calc","valType":"number"},"z":{"description":"Sets the annotation's z position.","editType":"calc","valType":"any"}}},"role":"object"},"aspectmode":{"description":"If *cube*, this scene's axes are drawn as a cube, regardless of the axes' ranges. If *data*, this scene's axes are drawn in proportion with the axes' ranges. If *manual*, this scene's axes are drawn in proportion with the input of *aspectratio* (the default behavior if *aspectratio* is provided). If *auto*, this scene's axes are drawn using the results of *data* except when one axis is more than four times the size of the two others, where in that case the results of *cube* are used.","dflt":"auto","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","cube","data","manual"]},"aspectratio":{"description":"Sets this scene's axis aspectratio.","editType":"plot","impliedEdits":{"aspectmode":"manual","role":"object"},"role":"object","x":{"editType":"plot","impliedEdits":{"^aspectmode":"manual"},"min":0,"valType":"number"},"y":{"editType":"plot","impliedEdits":{"^aspectmode":"manual"},"min":0,"valType":"number"},"z":{"editType":"plot","impliedEdits":{"^aspectmode":"manual"},"min":0,"valType":"number"}},"bgcolor":{"dflt":"rgba(0,0,0,0)","editType":"plot","valType":"color"},"camera":{"center":{"description":"Sets the (x,y,z) components of the 'center' camera vector This vector determines the translation (x,y,z) space about the center of this scene. By default, there is no such translation.","editType":"camera","role":"object","x":{"dflt":0,"editType":"camera","valType":"number"},"y":{"dflt":0,"editType":"camera","valType":"number"},"z":{"dflt":0,"editType":"camera","valType":"number"}},"editType":"camera","eye":{"description":"Sets the (x,y,z) components of the 'eye' camera vector. This vector determines the view point about the origin of this scene.","editType":"camera","role":"object","x":{"dflt":1.25,"editType":"camera","valType":"number"},"y":{"dflt":1.25,"editType":"camera","valType":"number"},"z":{"dflt":1.25,"editType":"camera","valType":"number"}},"projection":{"editType":"calc","role":"object","type":{"description":"Sets the projection type. The projection type could be either *perspective* or *orthographic*. The default is *perspective*.","dflt":"perspective","editType":"calc","valType":"enumerated","values":["perspective","orthographic"]}},"role":"object","up":{"description":"Sets the (x,y,z) components of the 'up' camera vector. This vector determines the up direction of this scene with respect to the page. The default is *{x: 0, y: 0, z: 1}* which means that the z axis points up.","editType":"camera","role":"object","x":{"dflt":0,"editType":"camera","valType":"number"},"y":{"dflt":0,"editType":"camera","valType":"number"},"z":{"dflt":1,"editType":"camera","valType":"number"}}},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this scene subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"editType":"plot","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this scene subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this scene subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this scene subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"dragmode":{"description":"Determines the mode of drag interactions for this scene.","editType":"plot","valType":"enumerated","values":["orbit","turntable","zoom","pan",false]},"editType":"plot","hovermode":{"description":"Determines the mode of hover interactions for this scene.","dflt":"closest","editType":"modebar","valType":"enumerated","values":["closest",false]},"role":"object","uirevision":{"description":"Controls persistence of user-driven changes in camera attributes. Defaults to `layout.uirevision`.","editType":"none","valType":"any"},"xaxis":{"_deprecated":{"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.","editType":"plot","valType":"string"},"titlefont":{"color":{"editType":"plot","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"plot","min":1,"valType":"number"}}},"autorange":{"description":"Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction.","dflt":true,"editType":"plot","impliedEdits":{},"valType":"enumerated","values":[true,false,"reversed","min reversed","max reversed","min","max"]},"autorangeoptions":{"clipmax":{"description":"Clip autorange maximum if it goes beyond this value. Has no effect when `autorangeoptions.maxallowed` is provided.","editType":"plot","impliedEdits":{},"valType":"any"},"clipmin":{"description":"Clip autorange minimum if it goes beyond this value. Has no effect when `autorangeoptions.minallowed` is provided.","editType":"plot","impliedEdits":{},"valType":"any"},"editType":"plot","include":{"arrayOk":true,"description":"Ensure this value is included in autorange.","editType":"plot","impliedEdits":{},"valType":"any"},"includesrc":{"description":"Sets the source reference on Chart Studio Cloud for `include`.","editType":"none","valType":"string"},"maxallowed":{"description":"Use this value exactly as autorange maximum.","editType":"plot","impliedEdits":{},"valType":"any"},"minallowed":{"description":"Use this value exactly as autorange minimum.","editType":"plot","impliedEdits":{},"valType":"any"},"role":"object"},"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"plot","valType":"enumerated","values":["convert types","strict"]},"backgroundcolor":{"description":"Sets the background color of this axis' wall.","dflt":"rgba(204, 204, 204, 0.5)","editType":"plot","valType":"color"},"calendar":{"description":"Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"categoryarray":{"description":"Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"plot","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.","dflt":"trace","editType":"plot","valType":"enumerated","values":["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","median ascending","median descending"]},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"plot","exponentformat":{"description":"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.","dflt":"B","editType":"plot","valType":"enumerated","values":["none","e","E","power","SI","B"]},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"rgb(204, 204, 204)","editType":"plot","valType":"color"},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"plot","valType":"string"},"labelalias":{"description":"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.","dflt":false,"editType":"plot","valType":"any"},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"maxallowed":{"description":"Determines the maximum range of this axis.","editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},"minallowed":{"description":"Determines the minimum range of this axis.","editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"plot","min":0,"valType":"number"},"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,"editType":"plot","valType":"enumerated","values":[true,"ticks",false,"all","allticks"]},"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,"editType":"plot","min":0,"valType":"integer"},"range":{"anim":false,"description":"Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, 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. Leaving either or both elements `null` impacts the default `autorange`.","editType":"plot","impliedEdits":{"autorange":false},"items":[{"editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},{"editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"}],"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.","dflt":"normal","editType":"plot","valType":"enumerated","values":["normal","tozero","nonnegative"]},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"plot","valType":"boolean"},"showaxeslabels":{"description":"Sets whether or not this axis is labeled","dflt":true,"editType":"plot","valType":"boolean"},"showbackground":{"description":"Sets whether or not this axis' wall has a background color.","dflt":false,"editType":"plot","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":false,"editType":"plot","valType":"boolean"},"showspikes":{"description":"Sets whether or not spikes starting from data points to this axis' wall are shown on hover.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"spikecolor":{"description":"Sets the color of the spikes.","dflt":"#444","editType":"plot","valType":"color"},"spikesides":{"description":"Sets whether or not spikes extending from the projection data points to this axis' wall boundaries are shown on hover.","dflt":true,"editType":"plot","valType":"boolean"},"spikethickness":{"description":"Sets the thickness (in px) of the spikes.","dflt":2,"editType":"plot","min":0,"valType":"number"},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"plot","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"editType":"plot","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"plot","valType":"string"}}},"role":"object"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","editType":"plot","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"title":{"editType":"plot","font":{"color":{"editType":"plot","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"plot","valType":"string"}},"type":{"_noTemplating":true,"description":"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.","dflt":"-","editType":"plot","valType":"enumerated","values":["-","linear","log","date","category"]},"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","valType":"boolean"},"zeroline":{"description":"Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines.","editType":"plot","valType":"boolean"},"zerolinecolor":{"description":"Sets the line color of the zero line.","dflt":"#444","editType":"plot","valType":"color"},"zerolinewidth":{"description":"Sets the width (in px) of the zero line.","dflt":1,"editType":"plot","valType":"number"}},"yaxis":{"_deprecated":{"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.","editType":"plot","valType":"string"},"titlefont":{"color":{"editType":"plot","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"plot","min":1,"valType":"number"}}},"autorange":{"description":"Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction.","dflt":true,"editType":"plot","impliedEdits":{},"valType":"enumerated","values":[true,false,"reversed","min reversed","max reversed","min","max"]},"autorangeoptions":{"clipmax":{"description":"Clip autorange maximum if it goes beyond this value. Has no effect when `autorangeoptions.maxallowed` is provided.","editType":"plot","impliedEdits":{},"valType":"any"},"clipmin":{"description":"Clip autorange minimum if it goes beyond this value. Has no effect when `autorangeoptions.minallowed` is provided.","editType":"plot","impliedEdits":{},"valType":"any"},"editType":"plot","include":{"arrayOk":true,"description":"Ensure this value is included in autorange.","editType":"plot","impliedEdits":{},"valType":"any"},"includesrc":{"description":"Sets the source reference on Chart Studio Cloud for `include`.","editType":"none","valType":"string"},"maxallowed":{"description":"Use this value exactly as autorange maximum.","editType":"plot","impliedEdits":{},"valType":"any"},"minallowed":{"description":"Use this value exactly as autorange minimum.","editType":"plot","impliedEdits":{},"valType":"any"},"role":"object"},"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"plot","valType":"enumerated","values":["convert types","strict"]},"backgroundcolor":{"description":"Sets the background color of this axis' wall.","dflt":"rgba(204, 204, 204, 0.5)","editType":"plot","valType":"color"},"calendar":{"description":"Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"categoryarray":{"description":"Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"plot","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.","dflt":"trace","editType":"plot","valType":"enumerated","values":["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","median ascending","median descending"]},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"plot","exponentformat":{"description":"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.","dflt":"B","editType":"plot","valType":"enumerated","values":["none","e","E","power","SI","B"]},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"rgb(204, 204, 204)","editType":"plot","valType":"color"},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"plot","valType":"string"},"labelalias":{"description":"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.","dflt":false,"editType":"plot","valType":"any"},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"maxallowed":{"description":"Determines the maximum range of this axis.","editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},"minallowed":{"description":"Determines the minimum range of this axis.","editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"plot","min":0,"valType":"number"},"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,"editType":"plot","valType":"enumerated","values":[true,"ticks",false,"all","allticks"]},"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,"editType":"plot","min":0,"valType":"integer"},"range":{"anim":false,"description":"Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, 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. Leaving either or both elements `null` impacts the default `autorange`.","editType":"plot","impliedEdits":{"autorange":false},"items":[{"editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},{"editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"}],"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.","dflt":"normal","editType":"plot","valType":"enumerated","values":["normal","tozero","nonnegative"]},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"plot","valType":"boolean"},"showaxeslabels":{"description":"Sets whether or not this axis is labeled","dflt":true,"editType":"plot","valType":"boolean"},"showbackground":{"description":"Sets whether or not this axis' wall has a background color.","dflt":false,"editType":"plot","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":false,"editType":"plot","valType":"boolean"},"showspikes":{"description":"Sets whether or not spikes starting from data points to this axis' wall are shown on hover.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"spikecolor":{"description":"Sets the color of the spikes.","dflt":"#444","editType":"plot","valType":"color"},"spikesides":{"description":"Sets whether or not spikes extending from the projection data points to this axis' wall boundaries are shown on hover.","dflt":true,"editType":"plot","valType":"boolean"},"spikethickness":{"description":"Sets the thickness (in px) of the spikes.","dflt":2,"editType":"plot","min":0,"valType":"number"},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"plot","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"editType":"plot","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"plot","valType":"string"}}},"role":"object"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","editType":"plot","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"title":{"editType":"plot","font":{"color":{"editType":"plot","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"plot","valType":"string"}},"type":{"_noTemplating":true,"description":"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.","dflt":"-","editType":"plot","valType":"enumerated","values":["-","linear","log","date","category"]},"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","valType":"boolean"},"zeroline":{"description":"Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines.","editType":"plot","valType":"boolean"},"zerolinecolor":{"description":"Sets the line color of the zero line.","dflt":"#444","editType":"plot","valType":"color"},"zerolinewidth":{"description":"Sets the width (in px) of the zero line.","dflt":1,"editType":"plot","valType":"number"}},"zaxis":{"_deprecated":{"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.","editType":"plot","valType":"string"},"titlefont":{"color":{"editType":"plot","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"plot","min":1,"valType":"number"}}},"autorange":{"description":"Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction.","dflt":true,"editType":"plot","impliedEdits":{},"valType":"enumerated","values":[true,false,"reversed","min reversed","max reversed","min","max"]},"autorangeoptions":{"clipmax":{"description":"Clip autorange maximum if it goes beyond this value. Has no effect when `autorangeoptions.maxallowed` is provided.","editType":"plot","impliedEdits":{},"valType":"any"},"clipmin":{"description":"Clip autorange minimum if it goes beyond this value. Has no effect when `autorangeoptions.minallowed` is provided.","editType":"plot","impliedEdits":{},"valType":"any"},"editType":"plot","include":{"arrayOk":true,"description":"Ensure this value is included in autorange.","editType":"plot","impliedEdits":{},"valType":"any"},"includesrc":{"description":"Sets the source reference on Chart Studio Cloud for `include`.","editType":"none","valType":"string"},"maxallowed":{"description":"Use this value exactly as autorange maximum.","editType":"plot","impliedEdits":{},"valType":"any"},"minallowed":{"description":"Use this value exactly as autorange minimum.","editType":"plot","impliedEdits":{},"valType":"any"},"role":"object"},"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"plot","valType":"enumerated","values":["convert types","strict"]},"backgroundcolor":{"description":"Sets the background color of this axis' wall.","dflt":"rgba(204, 204, 204, 0.5)","editType":"plot","valType":"color"},"calendar":{"description":"Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"categoryarray":{"description":"Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"plot","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.","dflt":"trace","editType":"plot","valType":"enumerated","values":["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","median ascending","median descending"]},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"plot","exponentformat":{"description":"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.","dflt":"B","editType":"plot","valType":"enumerated","values":["none","e","E","power","SI","B"]},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"rgb(204, 204, 204)","editType":"plot","valType":"color"},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"plot","valType":"string"},"labelalias":{"description":"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.","dflt":false,"editType":"plot","valType":"any"},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"maxallowed":{"description":"Determines the maximum range of this axis.","editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},"minallowed":{"description":"Determines the minimum range of this axis.","editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"plot","min":0,"valType":"number"},"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,"editType":"plot","valType":"enumerated","values":[true,"ticks",false,"all","allticks"]},"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,"editType":"plot","min":0,"valType":"integer"},"range":{"anim":false,"description":"Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, 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. Leaving either or both elements `null` impacts the default `autorange`.","editType":"plot","impliedEdits":{"autorange":false},"items":[{"editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},{"editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"}],"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.","dflt":"normal","editType":"plot","valType":"enumerated","values":["normal","tozero","nonnegative"]},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"plot","valType":"boolean"},"showaxeslabels":{"description":"Sets whether or not this axis is labeled","dflt":true,"editType":"plot","valType":"boolean"},"showbackground":{"description":"Sets whether or not this axis' wall has a background color.","dflt":false,"editType":"plot","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":false,"editType":"plot","valType":"boolean"},"showspikes":{"description":"Sets whether or not spikes starting from data points to this axis' wall are shown on hover.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"spikecolor":{"description":"Sets the color of the spikes.","dflt":"#444","editType":"plot","valType":"color"},"spikesides":{"description":"Sets whether or not spikes extending from the projection data points to this axis' wall boundaries are shown on hover.","dflt":true,"editType":"plot","valType":"boolean"},"spikethickness":{"description":"Sets the thickness (in px) of the spikes.","dflt":2,"editType":"plot","min":0,"valType":"number"},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"plot","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"editType":"plot","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"plot","valType":"string"}}},"role":"object"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","editType":"plot","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"title":{"editType":"plot","font":{"color":{"editType":"plot","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"plot","valType":"string"}},"type":{"_noTemplating":true,"description":"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.","dflt":"-","editType":"plot","valType":"enumerated","values":["-","linear","log","date","category"]},"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","valType":"boolean"},"zeroline":{"description":"Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines.","editType":"plot","valType":"boolean"},"zerolinecolor":{"description":"Sets the line color of the zero line.","dflt":"#444","editType":"plot","valType":"color"},"zerolinewidth":{"description":"Sets the width (in px) of the zero line.","dflt":1,"editType":"plot","valType":"number"}}},"selectdirection":{"description":"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.","dflt":"any","editType":"none","valType":"enumerated","values":["h","v","d","any"]},"selectionrevision":{"description":"Controls persistence of user-driven changes in selected points from all traces.","editType":"none","valType":"any"},"selections":{"items":{"selection":{"editType":"arraydraw","line":{"color":{"anim":true,"description":"Sets the line color.","editType":"arraydraw","valType":"color"},"dash":{"description":"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*).","dflt":"dot","editType":"arraydraw","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"arraydraw","role":"object","width":{"anim":true,"description":"Sets the line width (in px).","dflt":1,"editType":"arraydraw","min":1,"valType":"number"}},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"arraydraw","valType":"string"},"opacity":{"description":"Sets the opacity of the selection.","dflt":0.7,"editType":"arraydraw","max":1,"min":0,"valType":"number"},"path":{"description":"For `type` *path* - a valid SVG path similar to `shapes.path` in data coordinates. Allowed segments are: M, L and Z.","editType":"arraydraw","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"arraydraw","valType":"string"},"type":{"description":"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`.","editType":"arraydraw","valType":"enumerated","values":["rect","path"]},"x0":{"description":"Sets the selection's starting x position.","editType":"arraydraw","valType":"any"},"x1":{"description":"Sets the selection's end x position.","editType":"arraydraw","valType":"any"},"xref":{"description":"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.","editType":"arraydraw","valType":"enumerated","values":["paper","/^x([2-9]|[1-9][0-9]+)?( domain)?$/"]},"y0":{"description":"Sets the selection's starting y position.","editType":"arraydraw","valType":"any"},"y1":{"description":"Sets the selection's end y position.","editType":"arraydraw","valType":"any"},"yref":{"description":"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.","editType":"arraydraw","valType":"enumerated","values":["paper","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]}}},"role":"object"},"separators":{"description":"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.","editType":"plot","valType":"string"},"shapes":{"items":{"shape":{"editType":"arraydraw","editable":{"description":"Determines whether the shape could be activated for edit or not. Has no effect when the older editable shapes mode is enabled via `config.editable` or `config.edits.shapePosition`.","dflt":false,"editType":"calc+arraydraw","valType":"boolean"},"fillcolor":{"description":"Sets the color filling the shape's interior. Only applies to closed shapes.","dflt":"rgba(0,0,0,0)","editType":"arraydraw","valType":"color"},"fillrule":{"description":"Determines which regions of complex paths constitute the interior. For more info please visit https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule","dflt":"evenodd","editType":"arraydraw","valType":"enumerated","values":["evenodd","nonzero"]},"label":{"editType":"arraydraw","font":{"color":{"editType":"arraydraw","valType":"color"},"description":"Sets the shape label text font.","editType":"calc+arraydraw","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc+arraydraw","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc+arraydraw","min":1,"valType":"number"}},"padding":{"description":"Sets padding (in px) between edge of label and edge of shape.","dflt":3,"editType":"arraydraw","min":0,"valType":"number"},"role":"object","text":{"description":"Sets the text to display with shape. It is also used for legend item if `name` is not provided.","dflt":"","editType":"arraydraw","valType":"string"},"textangle":{"description":"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.","dflt":"auto","editType":"calc+arraydraw","valType":"angle"},"textposition":{"description":"Sets the position of the label text relative to the 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.","editType":"arraydraw","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right","start","middle","end"]},"texttemplate":{"description":"Template string used for rendering the 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`.","dflt":"","editType":"arraydraw","valType":"string"},"xanchor":{"description":"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 shape.","dflt":"auto","editType":"calc+arraydraw","valType":"enumerated","values":["auto","left","center","right"]},"yanchor":{"description":"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 shape.","editType":"calc+arraydraw","valType":"enumerated","values":["top","middle","bottom"]}},"layer":{"description":"Specifies whether shapes are drawn below gridlines (*below*), between gridlines and traces (*between*) or above traces (*above*).","dflt":"above","editType":"arraydraw","valType":"enumerated","values":["below","above","between"]},"legend":{"description":"Sets the reference to a legend to show this 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.","dflt":"legend","editType":"calc+arraydraw","valType":"subplotid"},"legendgroup":{"description":"Sets the legend group for this shape. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.","dflt":"","editType":"calc+arraydraw","valType":"string"},"legendgrouptitle":{"editType":"calc+arraydraw","font":{"color":{"editType":"calc+arraydraw","valType":"color"},"description":"Sets this legend group's title font.","editType":"calc+arraydraw","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc+arraydraw","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc+arraydraw","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"calc+arraydraw","valType":"string"}},"legendrank":{"description":"Sets the legend rank for this 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. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.","dflt":1000,"editType":"calc+arraydraw","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this shape.","editType":"calc+arraydraw","min":0,"valType":"number"},"line":{"color":{"anim":true,"description":"Sets the line color.","editType":"arraydraw","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"arraydraw","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"calc+arraydraw","role":"object","width":{"anim":true,"description":"Sets the line width (in px).","dflt":2,"editType":"calc+arraydraw","min":0,"valType":"number"}},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"opacity":{"description":"Sets the opacity of the shape.","dflt":1,"editType":"arraydraw","max":1,"min":0,"valType":"number"},"path":{"description":"For `type` *path* - a valid SVG path with the pixel values replaced by data values in `xsizemode`/`ysizemode` being *scaled* and taken unmodified as pixels relative to `xanchor` and `yanchor` in case of *pixel* size mode. There are a few restrictions / quirks only absolute instructions, not relative. So the allowed segments are: M, L, H, V, Q, C, T, S, and Z arcs (A) are not allowed because radius rx and ry are relative. In the future we could consider supporting relative commands, but we would have to decide on how to handle date and log axes. Note that even as is, Q and C Bezier paths that are smooth on linear axes may not be smooth on log, and vice versa. no chained \"polybezier\" commands - specify the segment type for each one. On category axes, values are numbers scaled to the serial numbers of categories because using the categories themselves there would be no way to describe fractional positions On data axes: because space and T are both normal components of path strings, we can't use either to separate date from time parts. Therefore we'll use underscore for this purpose: 2015-02-21_13:45:56.789","editType":"calc+arraydraw","valType":"string"},"role":"object","showlegend":{"description":"Determines whether or not this shape is shown in the legend.","dflt":false,"editType":"calc+arraydraw","valType":"boolean"},"templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"type":{"description":"Specifies the shape type to be drawn. If *line*, a line is drawn from (`x0`,`y0`) to (`x1`,`y1`) with respect to the axes' sizing mode. If *circle*, a circle is drawn from ((`x0`+`x1`)/2, (`y0`+`y1`)/2)) with radius (|(`x0`+`x1`)/2 - `x0`|, |(`y0`+`y1`)/2 -`y0`)|) with respect to the axes' sizing mode. If *rect*, a rectangle is drawn linking (`x0`,`y0`), (`x1`,`y0`), (`x1`,`y1`), (`x0`,`y1`), (`x0`,`y0`) with respect to the axes' sizing mode. If *path*, draw a custom SVG path using `path`. with respect to the axes' sizing mode.","editType":"calc+arraydraw","valType":"enumerated","values":["circle","rect","path","line"]},"visible":{"description":"Determines whether or not this shape is visible. If *legendonly*, the shape is not drawn, but can appear as a legend item (provided that the legend itself is visible).","dflt":true,"editType":"calc+arraydraw","valType":"enumerated","values":[true,false,"legendonly"]},"x0":{"description":"Sets the shape's starting x position. See `type` and `xsizemode` for more info.","editType":"calc+arraydraw","valType":"any"},"x1":{"description":"Sets the shape's end x position. See `type` and `xsizemode` for more info.","editType":"calc+arraydraw","valType":"any"},"xanchor":{"description":"Only relevant in conjunction with `xsizemode` set to *pixel*. Specifies the anchor point on the x axis to which `x0`, `x1` and x coordinates within `path` are relative to. E.g. useful to attach a pixel sized shape to a certain data value. No effect when `xsizemode` not set to *pixel*.","editType":"calc+arraydraw","valType":"any"},"xref":{"description":"Sets the shape's x coordinate axis. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis.","editType":"calc","valType":"enumerated","values":["paper","/^x([2-9]|[1-9][0-9]+)?( domain)?$/"]},"xsizemode":{"description":"Sets the shapes's sizing mode along the x axis. If set to *scaled*, `x0`, `x1` and x coordinates within `path` refer to data values on the x axis or a fraction of the plot area's width (`xref` set to *paper*). If set to *pixel*, `xanchor` specifies the x position in terms of data or plot fraction but `x0`, `x1` and x coordinates within `path` are pixels relative to `xanchor`. This way, the shape can have a fixed width while maintaining a position relative to data or plot fraction.","dflt":"scaled","editType":"calc+arraydraw","valType":"enumerated","values":["scaled","pixel"]},"y0":{"description":"Sets the shape's starting y position. See `type` and `ysizemode` for more info.","editType":"calc+arraydraw","valType":"any"},"y1":{"description":"Sets the shape's end y position. See `type` and `ysizemode` for more info.","editType":"calc+arraydraw","valType":"any"},"yanchor":{"description":"Only relevant in conjunction with `ysizemode` set to *pixel*. Specifies the anchor point on the y axis to which `y0`, `y1` and y coordinates within `path` are relative to. E.g. useful to attach a pixel sized shape to a certain data value. No effect when `ysizemode` not set to *pixel*.","editType":"calc+arraydraw","valType":"any"},"yref":{"description":"Sets the shape's y coordinate axis. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis.","editType":"calc","valType":"enumerated","values":["paper","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]},"ysizemode":{"description":"Sets the shapes's sizing mode along the y axis. If set to *scaled*, `y0`, `y1` and y coordinates within `path` refer to data values on the y axis or a fraction of the plot area's height (`yref` set to *paper*). If set to *pixel*, `yanchor` specifies the y position in terms of data or plot fraction but `y0`, `y1` and y coordinates within `path` are pixels relative to `yanchor`. This way, the shape can have a fixed height while maintaining a position relative to data or plot fraction.","dflt":"scaled","editType":"calc+arraydraw","valType":"enumerated","values":["scaled","pixel"]}}},"role":"object"},"showlegend":{"description":"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`.","editType":"legend","valType":"boolean"},"sliders":{"items":{"slider":{"active":{"description":"Determines which button (by index starting from 0) is considered active.","dflt":0,"editType":"arraydraw","min":0,"valType":"number"},"activebgcolor":{"description":"Sets the background color of the slider grip while dragging.","dflt":"#dbdde0","editType":"arraydraw","valType":"color"},"bgcolor":{"description":"Sets the background color of the slider.","dflt":"#f8fafc","editType":"arraydraw","valType":"color"},"bordercolor":{"description":"Sets the color of the border enclosing the slider.","dflt":"#bec8d9","editType":"arraydraw","valType":"color"},"borderwidth":{"description":"Sets the width (in px) of the border enclosing the slider.","dflt":1,"editType":"arraydraw","min":0,"valType":"number"},"currentvalue":{"editType":"arraydraw","font":{"color":{"editType":"arraydraw","valType":"color"},"description":"Sets the font of the current value label text.","editType":"arraydraw","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"arraydraw","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"arraydraw","min":1,"valType":"number"}},"offset":{"description":"The amount of space, in pixels, between the current value label and the slider.","dflt":10,"editType":"arraydraw","valType":"number"},"prefix":{"description":"When currentvalue.visible is true, this sets the prefix of the label.","editType":"arraydraw","valType":"string"},"role":"object","suffix":{"description":"When currentvalue.visible is true, this sets the suffix of the label.","editType":"arraydraw","valType":"string"},"visible":{"description":"Shows the currently-selected value above the slider.","dflt":true,"editType":"arraydraw","valType":"boolean"},"xanchor":{"description":"The alignment of the value readout relative to the length of the slider.","dflt":"left","editType":"arraydraw","valType":"enumerated","values":["left","center","right"]}},"editType":"arraydraw","font":{"color":{"editType":"arraydraw","valType":"color"},"description":"Sets the font of the slider step labels.","editType":"arraydraw","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"arraydraw","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"arraydraw","min":1,"valType":"number"}},"len":{"description":"Sets the length of the slider This measure excludes the padding of both ends. That is, the slider's length is this length minus the padding on both ends.","dflt":1,"editType":"arraydraw","min":0,"valType":"number"},"lenmode":{"description":"Determines whether this slider length is set in units of plot *fraction* or in *pixels. Use `len` to set the value.","dflt":"fraction","editType":"arraydraw","valType":"enumerated","values":["fraction","pixels"]},"minorticklen":{"description":"Sets the length in pixels of minor step tick marks","dflt":4,"editType":"arraydraw","min":0,"valType":"number"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"arraydraw","valType":"string"},"pad":{"b":{"description":"The amount of padding (in px) along the bottom of the component.","dflt":0,"editType":"arraydraw","valType":"number"},"description":"Set the padding of the slider component along each side.","editType":"arraydraw","l":{"description":"The amount of padding (in px) on the left side of the component.","dflt":0,"editType":"arraydraw","valType":"number"},"r":{"description":"The amount of padding (in px) on the right side of the component.","dflt":0,"editType":"arraydraw","valType":"number"},"role":"object","t":{"description":"The amount of padding (in px) along the top of the component.","dflt":20,"editType":"arraydraw","valType":"number"}},"role":"object","steps":{"items":{"step":{"args":{"description":"Sets the arguments values to be passed to the Plotly method set in `method` on slide.","editType":"arraydraw","freeLength":true,"items":[{"editType":"arraydraw","valType":"any"},{"editType":"arraydraw","valType":"any"},{"editType":"arraydraw","valType":"any"}],"valType":"info_array"},"editType":"arraydraw","execute":{"description":"When true, the API method is executed. When false, all other behaviors are the same and command execution is skipped. This may be useful when hooking into, for example, the `plotly_sliderchange` method and executing the API command manually without losing the benefit of the slider automatically binding to the state of the plot through the specification of `method` and `args`.","dflt":true,"editType":"arraydraw","valType":"boolean"},"label":{"description":"Sets the text label to appear on the slider","editType":"arraydraw","valType":"string"},"method":{"description":"Sets the Plotly method to be called when the slider value is changed. If the `skip` method is used, the API slider will function as normal but will perform no API calls and will not bind automatically to state updates. This may be used to create a component interface and attach to slider events manually via JavaScript.","dflt":"restyle","editType":"arraydraw","valType":"enumerated","values":["restyle","relayout","animate","update","skip"]},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"arraydraw","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"arraydraw","valType":"string"},"value":{"description":"Sets the value of the slider step, used to refer to the step programatically. Defaults to the slider label if not provided.","editType":"arraydraw","valType":"string"},"visible":{"description":"Determines whether or not this step is included in the slider.","dflt":true,"editType":"arraydraw","valType":"boolean"}}},"role":"object"},"templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"arraydraw","valType":"string"},"tickcolor":{"description":"Sets the color of the border enclosing the slider.","dflt":"#333","editType":"arraydraw","valType":"color"},"ticklen":{"description":"Sets the length in pixels of step tick marks","dflt":7,"editType":"arraydraw","min":0,"valType":"number"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"arraydraw","min":0,"valType":"number"},"transition":{"duration":{"description":"Sets the duration of the slider transition","dflt":150,"editType":"arraydraw","min":0,"valType":"number"},"easing":{"description":"Sets the easing function of the slider transition","dflt":"cubic-in-out","editType":"arraydraw","valType":"enumerated","values":["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"]},"editType":"arraydraw","role":"object"},"visible":{"description":"Determines whether or not the slider is visible.","dflt":true,"editType":"arraydraw","valType":"boolean"},"x":{"description":"Sets the x position (in normalized coordinates) of the slider.","dflt":0,"editType":"arraydraw","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets the slider's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the range selector.","dflt":"left","editType":"arraydraw","valType":"enumerated","values":["auto","left","center","right"]},"y":{"description":"Sets the y position (in normalized coordinates) of the slider.","dflt":0,"editType":"arraydraw","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"Sets the slider's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the range selector.","dflt":"top","editType":"arraydraw","valType":"enumerated","values":["auto","top","middle","bottom"]}}},"role":"object"},"smith":{"_isSubplotObj":true,"bgcolor":{"description":"Set the background color of the subplot","dflt":"#fff","editType":"plot","valType":"color"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this smith subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"editType":"plot","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this smith subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this smith subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this smith subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"editType":"calc","imaginaryaxis":{"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"editType":"plot","gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"plot","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"plot","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"plot","valType":"string"},"labelalias":{"description":"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.","dflt":false,"editType":"plot","valType":"any"},"layer":{"description":"Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.","dflt":"above traces","editType":"plot","valType":"enumerated","values":["above traces","below traces"]},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"role":"object","showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","dflt":true,"editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","editType":"ticks","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Defaults to `realaxis.tickvals` plus the same as negatives and zero.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":2,"editType":"plot","min":0,"valType":"number"},"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","dflt":true,"editType":"plot","valType":"boolean"}},"realaxis":{"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"editType":"plot","gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"plot","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"plot","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"plot","valType":"string"},"labelalias":{"description":"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.","dflt":false,"editType":"plot","valType":"any"},"layer":{"description":"Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.","dflt":"above traces","editType":"plot","valType":"enumerated","values":["above traces","below traces"]},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"role":"object","showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","dflt":true,"editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"side":{"description":"Determines on which side of real axis line the tick and tick labels appear.","dflt":"top","editType":"plot","valType":"enumerated","values":["top","bottom"]},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":90,"editType":"ticks","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *top* (*bottom*), this axis' are drawn above (below) the axis line.","editType":"ticks","valType":"enumerated","values":["top","bottom",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear.","dflt":[0.2,0.5,1,2,5],"editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":2,"editType":"plot","min":0,"valType":"number"},"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","dflt":true,"editType":"plot","valType":"boolean"}},"role":"object"},"spikedistance":{"description":"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.","dflt":-1,"editType":"none","min":-1,"valType":"integer"},"template":{"description":"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`.","editType":"calc","valType":"any"},"ternary":{"_isSubplotObj":true,"aaxis":{"_deprecated":{"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.","editType":"plot","valType":"string"},"titlefont":{"color":{"editType":"plot","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"plot","min":1,"valType":"number"}}},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"plot","exponentformat":{"description":"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.","dflt":"B","editType":"plot","valType":"enumerated","values":["none","e","E","power","SI","B"]},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"plot","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"plot","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"plot","valType":"string"},"labelalias":{"description":"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.","dflt":false,"editType":"plot","valType":"any"},"layer":{"description":"Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.","dflt":"above traces","editType":"plot","valType":"enumerated","values":["above traces","below traces"]},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"min":{"description":"The minimum value visible on this axis. The maximum is determined by the sum minus the minimum values of the other two axes. The full view corresponds to all the minima set to zero.","dflt":0,"editType":"plot","min":0,"valType":"number"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"plot","min":0,"valType":"number"},"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":6,"editType":"plot","min":1,"valType":"integer"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"plot","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","dflt":true,"editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"plot","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"editType":"plot","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"plot","valType":"string"}}},"role":"object"},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"plot","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","editType":"plot","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"title":{"editType":"plot","font":{"color":{"editType":"plot","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"plot","valType":"string"}},"uirevision":{"description":"Controls persistence of user-driven changes in axis `min`, and `title` if in `editable: true` configuration. Defaults to `ternary\u003cN\u003e.uirevision`.","editType":"none","valType":"any"}},"baxis":{"_deprecated":{"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.","editType":"plot","valType":"string"},"titlefont":{"color":{"editType":"plot","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"plot","min":1,"valType":"number"}}},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"plot","exponentformat":{"description":"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.","dflt":"B","editType":"plot","valType":"enumerated","values":["none","e","E","power","SI","B"]},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"plot","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"plot","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"plot","valType":"string"},"labelalias":{"description":"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.","dflt":false,"editType":"plot","valType":"any"},"layer":{"description":"Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.","dflt":"above traces","editType":"plot","valType":"enumerated","values":["above traces","below traces"]},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"min":{"description":"The minimum value visible on this axis. The maximum is determined by the sum minus the minimum values of the other two axes. The full view corresponds to all the minima set to zero.","dflt":0,"editType":"plot","min":0,"valType":"number"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"plot","min":0,"valType":"number"},"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":6,"editType":"plot","min":1,"valType":"integer"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"plot","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","dflt":true,"editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"plot","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"editType":"plot","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"plot","valType":"string"}}},"role":"object"},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"plot","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","editType":"plot","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"title":{"editType":"plot","font":{"color":{"editType":"plot","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"plot","valType":"string"}},"uirevision":{"description":"Controls persistence of user-driven changes in axis `min`, and `title` if in `editable: true` configuration. Defaults to `ternary\u003cN\u003e.uirevision`.","editType":"none","valType":"any"}},"bgcolor":{"description":"Set the background color of the subplot","dflt":"#fff","editType":"plot","valType":"color"},"caxis":{"_deprecated":{"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.","editType":"plot","valType":"string"},"titlefont":{"color":{"editType":"plot","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"plot","min":1,"valType":"number"}}},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"plot","exponentformat":{"description":"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.","dflt":"B","editType":"plot","valType":"enumerated","values":["none","e","E","power","SI","B"]},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"plot","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"plot","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"plot","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"plot","valType":"string"},"labelalias":{"description":"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.","dflt":false,"editType":"plot","valType":"any"},"layer":{"description":"Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.","dflt":"above traces","editType":"plot","valType":"enumerated","values":["above traces","below traces"]},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"plot","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"plot","min":0,"valType":"number"},"min":{"description":"The minimum value visible on this axis. The maximum is determined by the sum minus the minimum values of the other two axes. The full view corresponds to all the minima set to zero.","dflt":0,"editType":"plot","min":0,"valType":"number"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"plot","min":0,"valType":"number"},"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":6,"editType":"plot","min":1,"valType":"integer"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"plot","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","dflt":true,"editType":"plot","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"plot","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the tick font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"editType":"plot","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"plot","valType":"string"}}},"role":"object"},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"plot","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","editType":"plot","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"title":{"editType":"plot","font":{"color":{"editType":"plot","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"plot","valType":"string"}},"uirevision":{"description":"Controls persistence of user-driven changes in axis `min`, and `title` if in `editable: true` configuration. Defaults to `ternary\u003cN\u003e.uirevision`.","editType":"none","valType":"any"}},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this ternary subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"editType":"plot","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this ternary subplot .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this ternary subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this ternary subplot (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"editType":"plot","role":"object","sum":{"description":"The number each triplet should sum to, and the maximum range of each axis","dflt":1,"editType":"plot","min":0,"valType":"number"},"uirevision":{"description":"Controls persistence of user-driven changes in axis `min` and `title`, if not overridden in the individual axes. Defaults to `layout.uirevision`.","editType":"none","valType":"any"}},"title":{"automargin":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"editType":"layoutstyle","font":{"color":{"editType":"layoutstyle","valType":"color"},"description":"Sets the title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"layoutstyle","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"layoutstyle","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"layoutstyle","min":1,"valType":"number"}},"pad":{"b":{"description":"The amount of padding (in px) along the bottom of the component.","dflt":0,"editType":"layoutstyle","valType":"number"},"description":"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*.","editType":"layoutstyle","l":{"description":"The amount of padding (in px) on the left side of the component.","dflt":0,"editType":"layoutstyle","valType":"number"},"r":{"description":"The amount of padding (in px) on the right side of the component.","dflt":0,"editType":"layoutstyle","valType":"number"},"role":"object","t":{"description":"The amount of padding (in px) along the top of the component.","dflt":0,"editType":"layoutstyle","valType":"number"}},"role":"object","text":{"description":"Sets the plot's title. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"layoutstyle","valType":"string"},"x":{"description":"Sets the x position with respect to `xref` in normalized coordinates from *0* (left) to *1* (right).","dflt":0.5,"editType":"layoutstyle","max":1,"min":0,"valType":"number"},"xanchor":{"description":"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`.","dflt":"auto","editType":"layoutstyle","valType":"enumerated","values":["auto","left","center","right"]},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"container","editType":"layoutstyle","valType":"enumerated","values":["container","paper"]},"y":{"description":"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.","dflt":"auto","editType":"layoutstyle","max":1,"min":0,"valType":"number"},"yanchor":{"description":"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`.","dflt":"auto","editType":"layoutstyle","valType":"enumerated","values":["auto","top","middle","bottom"]},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"container","editType":"layoutstyle","valType":"enumerated","values":["container","paper"]}},"transition":{"description":"Sets transition options used during Plotly.react updates.","duration":{"description":"The duration of the transition, in milliseconds. If equal to zero, updates are synchronous.","dflt":500,"editType":"none","min":0,"valType":"number"},"easing":{"description":"The easing function used for the transition","dflt":"cubic-in-out","editType":"none","valType":"enumerated","values":["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"]},"editType":"none","ordering":{"description":"Determines whether the figure's layout or traces smoothly transitions during updates that make both traces and layout change.","dflt":"layout first","editType":"none","valType":"enumerated","values":["layout first","traces first"]},"role":"object"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"uniformtext":{"editType":"plot","minsize":{"description":"Sets the minimum text size between traces of the same type.","dflt":0,"editType":"plot","min":0,"valType":"number"},"mode":{"description":"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.","dflt":false,"editType":"plot","valType":"enumerated","values":[false,"hide","show"]},"role":"object"},"updatemenus":{"items":{"updatemenu":{"_arrayAttrRegexps":[{}],"active":{"description":"Determines which button (by index starting from 0) is considered active.","dflt":0,"editType":"arraydraw","min":-1,"valType":"integer"},"bgcolor":{"description":"Sets the background color of the update menu buttons.","editType":"arraydraw","valType":"color"},"bordercolor":{"description":"Sets the color of the border enclosing the update menu.","dflt":"#BEC8D9","editType":"arraydraw","valType":"color"},"borderwidth":{"description":"Sets the width (in px) of the border enclosing the update menu.","dflt":1,"editType":"arraydraw","min":0,"valType":"number"},"buttons":{"items":{"button":{"args":{"description":"Sets the arguments values to be passed to the Plotly method set in `method` on click.","editType":"arraydraw","freeLength":true,"items":[{"editType":"arraydraw","valType":"any"},{"editType":"arraydraw","valType":"any"},{"editType":"arraydraw","valType":"any"}],"valType":"info_array"},"args2":{"description":"Sets a 2nd set of `args`, these arguments values are passed to the Plotly method set in `method` when clicking this button while in the active state. Use this to create toggle buttons.","editType":"arraydraw","freeLength":true,"items":[{"editType":"arraydraw","valType":"any"},{"editType":"arraydraw","valType":"any"},{"editType":"arraydraw","valType":"any"}],"valType":"info_array"},"editType":"arraydraw","execute":{"description":"When true, the API method is executed. When false, all other behaviors are the same and command execution is skipped. This may be useful when hooking into, for example, the `plotly_buttonclicked` method and executing the API command manually without losing the benefit of the updatemenu automatically binding to the state of the plot through the specification of `method` and `args`.","dflt":true,"editType":"arraydraw","valType":"boolean"},"label":{"description":"Sets the text label to appear on the button.","dflt":"","editType":"arraydraw","valType":"string"},"method":{"description":"Sets the Plotly method to be called on click. If the `skip` method is used, the API updatemenu will function as normal but will perform no API calls and will not bind automatically to state updates. This may be used to create a component interface and attach to updatemenu events manually via JavaScript.","dflt":"restyle","editType":"arraydraw","valType":"enumerated","values":["restyle","relayout","animate","update","skip"]},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"arraydraw","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"arraydraw","valType":"string"},"visible":{"description":"Determines whether or not this button is visible.","editType":"arraydraw","valType":"boolean"}}},"role":"object"},"direction":{"description":"Determines the direction in which the buttons are laid out, whether in a dropdown menu or a row/column of buttons. For `left` and `up`, the buttons will still appear in left-to-right or top-to-bottom order respectively.","dflt":"down","editType":"arraydraw","valType":"enumerated","values":["left","right","up","down"]},"editType":"arraydraw","font":{"color":{"editType":"arraydraw","valType":"color"},"description":"Sets the font of the update menu button text.","editType":"arraydraw","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"arraydraw","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"arraydraw","min":1,"valType":"number"}},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"arraydraw","valType":"string"},"pad":{"b":{"description":"The amount of padding (in px) along the bottom of the component.","dflt":0,"editType":"arraydraw","valType":"number"},"description":"Sets the padding around the buttons or dropdown menu.","editType":"arraydraw","l":{"description":"The amount of padding (in px) on the left side of the component.","dflt":0,"editType":"arraydraw","valType":"number"},"r":{"description":"The amount of padding (in px) on the right side of the component.","dflt":0,"editType":"arraydraw","valType":"number"},"role":"object","t":{"description":"The amount of padding (in px) along the top of the component.","dflt":0,"editType":"arraydraw","valType":"number"}},"role":"object","showactive":{"description":"Highlights active dropdown item or active button if true.","dflt":true,"editType":"arraydraw","valType":"boolean"},"templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"arraydraw","valType":"string"},"type":{"description":"Determines whether the buttons are accessible via a dropdown menu or whether the buttons are stacked horizontally or vertically","dflt":"dropdown","editType":"arraydraw","valType":"enumerated","values":["dropdown","buttons"]},"visible":{"description":"Determines whether or not the update menu is visible.","editType":"arraydraw","valType":"boolean"},"x":{"description":"Sets the x position (in normalized coordinates) of the update menu.","dflt":-0.05,"editType":"arraydraw","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets the update menu's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the range selector.","dflt":"right","editType":"arraydraw","valType":"enumerated","values":["auto","left","center","right"]},"y":{"description":"Sets the y position (in normalized coordinates) of the update menu.","dflt":1,"editType":"arraydraw","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"Sets the update menu's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the range selector.","dflt":"top","editType":"arraydraw","valType":"enumerated","values":["auto","top","middle","bottom"]}}},"role":"object"},"width":{"description":"Sets the plot's width (in px).","dflt":700,"editType":"plot","min":10,"valType":"number"},"xaxis":{"_deprecated":{"autotick":{"description":"Obsolete. Set `tickmode` to *auto* for old `autotick` *true* behavior. Set `tickmode` to *linear* for `autotick` *false*.","editType":"ticks","valType":"boolean"},"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.","editType":"ticks","valType":"string"},"titlefont":{"color":{"editType":"ticks","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"ticks","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"ticks","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"ticks","min":1,"valType":"number"}}},"_isSubplotObj":true,"anchor":{"description":"If set to an opposite-letter axis id (e.g. `x2`, `y`), this axis is bound to the corresponding opposite-letter axis. If set to *free*, this axis' position is determined by `position`.","editType":"plot","valType":"enumerated","values":["free","/^x([2-9]|[1-9][0-9]+)?( domain)?$/","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]},"automargin":{"description":"Determines whether long tick labels automatically grow the figure margins.","dflt":false,"editType":"ticks","extras":[true,false],"flags":["height","width","left","right","top","bottom"],"valType":"flaglist"},"autorange":{"description":"Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction.","dflt":true,"editType":"axrange","impliedEdits":{},"valType":"enumerated","values":[true,false,"reversed","min reversed","max reversed","min","max"]},"autorangeoptions":{"clipmax":{"description":"Clip autorange maximum if it goes beyond this value. Has no effect when `autorangeoptions.maxallowed` is provided.","editType":"plot","impliedEdits":{},"valType":"any"},"clipmin":{"description":"Clip autorange minimum if it goes beyond this value. Has no effect when `autorangeoptions.minallowed` is provided.","editType":"plot","impliedEdits":{},"valType":"any"},"editType":"plot","include":{"arrayOk":true,"description":"Ensure this value is included in autorange.","editType":"plot","impliedEdits":{},"valType":"any"},"includesrc":{"description":"Sets the source reference on Chart Studio Cloud for `include`.","editType":"none","valType":"string"},"maxallowed":{"description":"Use this value exactly as autorange maximum.","editType":"plot","impliedEdits":{},"valType":"any"},"minallowed":{"description":"Use this value exactly as autorange minimum.","editType":"plot","impliedEdits":{},"valType":"any"},"role":"object"},"autotickangles":{"description":"When `tickangle` is set to *auto*, it will be set to the first angle in this array that is large enough to prevent label overlap.","dflt":[0,30,90],"editType":"ticks","freeLength":true,"items":{"valType":"angle"},"valType":"info_array"},"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"calc","valType":"enumerated","values":["convert types","strict"]},"calendar":{"description":"Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"categoryarray":{"description":"Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"calc","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.","dflt":"trace","editType":"calc","valType":"enumerated","values":["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","median ascending","median descending"]},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"ticks","valType":"color"},"constrain":{"description":"If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines how that happens: by increasing the *range*, or by decreasing the *domain*. Default is *domain* for axes containing image traces, *range* otherwise.","editType":"plot","valType":"enumerated","values":["range","domain"]},"constraintoward":{"description":"If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines which direction we push the originally specified plot area. Options are *left*, *center* (default), and *right* for x axes, and *top*, *middle* (default), and *bottom* for y axes.","editType":"plot","valType":"enumerated","values":["left","center","right","top","middle","bottom"]},"dividercolor":{"description":"Sets the color of the dividers Only has an effect on *multicategory* axes.","dflt":"#444","editType":"ticks","valType":"color"},"dividerwidth":{"description":"Sets the width (in px) of the dividers Only has an effect on *multicategory* axes.","dflt":1,"editType":"ticks","valType":"number"},"domain":{"description":"Sets the domain of this axis (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"ticks","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"ticks","valType":"enumerated","values":["none","e","E","power","SI","B"]},"fixedrange":{"description":"Determines whether or not this axis is zoom-able. If true, then zoom is disabled.","dflt":false,"editType":"calc","valType":"boolean"},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"ticks","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"ticks","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"ticks","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"none","valType":"string"},"insiderange":{"description":"Could be used to set the desired inside range of this axis (excluding the labels) when `ticklabelposition` of the anchored axis has *inside*. Not implemented for axes with `type` *log*. This would be ignored when `range` is provided.","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"labelalias":{"description":"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.","dflt":false,"editType":"ticks","valType":"any"},"layer":{"description":"Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.","dflt":"above traces","editType":"plot","valType":"enumerated","values":["above traces","below traces"]},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"layoutstyle","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"ticks+layoutstyle","min":0,"valType":"number"},"matches":{"description":"If set to another axis id (e.g. `x2`, `y`), the range of this axis will match the range of the corresponding axis in data-coordinates space. Moreover, matching axes share auto-range values, category lists and histogram auto-bins. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden. Moreover, note that matching axes must have the same `type`.","editType":"calc","valType":"enumerated","values":["/^x([2-9]|[1-9][0-9]+)?( domain)?$/","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]},"maxallowed":{"description":"Determines the maximum range of this axis.","editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},"minallowed":{"description":"Determines the minimum range of this axis.","editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"ticks","min":0,"valType":"number"},"minor":{"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"ticks","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"ticks","gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"ticks","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"ticks","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","editType":"ticks","min":0,"valType":"number"},"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":5,"editType":"ticks","min":0,"valType":"integer"},"role":"object","showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","editType":"ticks","valType":"boolean"},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"ticks","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"ticks","valType":"color"},"ticklen":{"description":"Sets the tick length (in px).","editType":"ticks","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"ticks","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"ticks":{"description":"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.","editType":"ticks","valType":"enumerated","values":["outside","inside",""]},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"ticks","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","editType":"ticks","min":0,"valType":"number"}},"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,"editType":"ticks+layoutstyle","valType":"enumerated","values":[true,"ticks",false,"all","allticks"]},"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,"editType":"ticks","min":0,"valType":"integer"},"overlaying":{"description":"If set a same-letter axis id, this axis is overlaid on top of the corresponding same-letter axis, with traces and axes visible for both axes. If *false*, this axis does not overlay any same-letter axes. In this case, for axes with overlapping domains only the highest-numbered axis will be visible.","editType":"plot","valType":"enumerated","values":["free","/^x([2-9]|[1-9][0-9]+)?( domain)?$/","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]},"position":{"description":"Sets the position of this axis in the plotting space (in normalized coordinates). Only has an effect if `anchor` is set to *free*.","dflt":0,"editType":"plot","max":1,"min":0,"valType":"number"},"range":{"anim":true,"description":"Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, 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. Leaving either or both elements `null` impacts the default `autorange`.","editType":"axrange","impliedEdits":{"autorange":false},"items":[{"anim":true,"editType":"axrange","impliedEdits":{"^autorange":false},"valType":"any"},{"anim":true,"editType":"axrange","impliedEdits":{"^autorange":false},"valType":"any"}],"valType":"info_array"},"rangebreaks":{"items":{"rangebreak":{"bounds":{"description":"Sets the lower and upper bounds of this axis rangebreak. Can be used with `pattern`.","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"dvalue":{"description":"Sets the size of each `values` item. The default is one day in milliseconds.","dflt":86400000,"editType":"calc","min":0,"valType":"number"},"editType":"calc","enabled":{"description":"Determines whether this axis rangebreak is enabled or disabled. Please note that `rangebreaks` only work for *date* axis type.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"pattern":{"description":"Determines a pattern on the time line that generates breaks. If *day of week* - days of the week in English e.g. 'Sunday' or `sun` (matching is case-insensitive and considers only the first three characters), as well as Sunday-based integers between 0 and 6. If *hour* - hour (24-hour clock) as decimal numbers between 0 and 24. for more info. Examples: - { pattern: 'day of week', bounds: [6, 1] } or simply { bounds: ['sat', 'mon'] } breaks from Saturday to Monday (i.e. skips the weekends). - { pattern: 'hour', bounds: [17, 8] } breaks from 5pm to 8am (i.e. skips non-work hours).","editType":"calc","valType":"enumerated","values":["day of week","hour",""]},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"values":{"description":"Sets the coordinate values corresponding to the rangebreaks. An alternative to `bounds`. Use `dvalue` to set the size of the values along the axis.","editType":"calc","freeLength":true,"items":{"editType":"calc","valType":"any"},"valType":"info_array"}}},"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.","dflt":"normal","editType":"plot","valType":"enumerated","values":["normal","tozero","nonnegative"]},"rangeselector":{"activecolor":{"description":"Sets the background color of the active range selector button.","editType":"plot","valType":"color"},"bgcolor":{"description":"Sets the background color of the range selector buttons.","dflt":"#eee","editType":"plot","valType":"color"},"bordercolor":{"description":"Sets the color of the border enclosing the range selector.","dflt":"#444","editType":"plot","valType":"color"},"borderwidth":{"description":"Sets the width (in px) of the border enclosing the range selector.","dflt":0,"editType":"plot","min":0,"valType":"number"},"buttons":{"items":{"button":{"count":{"description":"Sets the number of steps to take to update the range. Use with `step` to specify the update interval.","dflt":1,"editType":"plot","min":0,"valType":"number"},"description":"Sets the specifications for each buttons. By default, a range selector comes with no buttons.","editType":"plot","label":{"description":"Sets the text label to appear on the button.","editType":"plot","valType":"string"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"role":"object","step":{"description":"The unit of measurement that the `count` value will set the range by.","dflt":"month","editType":"plot","valType":"enumerated","values":["month","year","day","hour","minute","second","all"]},"stepmode":{"description":"Sets the range update mode. If *backward*, the range update shifts the start of range back *count* times *step* milliseconds. If *todate*, the range update shifts the start of range back to the first timestamp from *count* times *step* milliseconds back. For example, with `step` set to *year* and `count` set to *1* the range update shifts the start of the range back to January 01 of the current year. Month and year *todate* are currently available only for the built-in (Gregorian) calendar.","dflt":"backward","editType":"plot","valType":"enumerated","values":["backward","todate"]},"templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"visible":{"description":"Determines whether or not this button is visible.","dflt":true,"editType":"plot","valType":"boolean"}}},"role":"object"},"editType":"plot","font":{"color":{"editType":"plot","valType":"color"},"description":"Sets the font of the range selector button text.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"role":"object","visible":{"description":"Determines whether or not this range selector is visible. Note that range selectors are only available for x axes of `type` set to or auto-typed to *date*.","editType":"plot","valType":"boolean"},"x":{"description":"Sets the x position (in normalized coordinates) of the range selector.","editType":"plot","max":3,"min":-2,"valType":"number"},"xanchor":{"description":"Sets the range selector's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the range selector.","dflt":"left","editType":"plot","valType":"enumerated","values":["auto","left","center","right"]},"y":{"description":"Sets the y position (in normalized coordinates) of the range selector.","editType":"plot","max":3,"min":-2,"valType":"number"},"yanchor":{"description":"Sets the range selector's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the range selector.","dflt":"bottom","editType":"plot","valType":"enumerated","values":["auto","top","middle","bottom"]}},"rangeslider":{"autorange":{"description":"Determines whether or not the range slider range is computed in relation to the input data. If `range` is provided, then `autorange` is set to *false*.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"bgcolor":{"description":"Sets the background color of the range slider.","dflt":"#fff","editType":"plot","valType":"color"},"bordercolor":{"description":"Sets the border color of the range slider.","dflt":"#444","editType":"plot","valType":"color"},"borderwidth":{"description":"Sets the border width of the range slider.","dflt":0,"editType":"plot","min":0,"valType":"integer"},"editType":"calc","range":{"description":"Sets the range of the range slider. If not set, defaults to the full xaxis range. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.","editType":"calc","impliedEdits":{"autorange":false},"items":[{"editType":"calc","impliedEdits":{"^autorange":false},"valType":"any"},{"editType":"calc","impliedEdits":{"^autorange":false},"valType":"any"}],"valType":"info_array"},"role":"object","thickness":{"description":"The height of the range slider as a fraction of the total plot area height.","dflt":0.15,"editType":"plot","max":1,"min":0,"valType":"number"},"visible":{"description":"Determines whether or not the range slider will be visible. If visible, perpendicular axes will be set to `fixedrange`","dflt":true,"editType":"calc","valType":"boolean"},"yaxis":{"_isSubplotObj":true,"editType":"calc","range":{"description":"Sets the range of this axis for the rangeslider.","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"rangemode":{"description":"Determines whether or not the range of this axis in the rangeslider use the same value than in the main plot when zooming in/out. If *auto*, the autorange will be used. If *fixed*, the `range` is used. If *match*, the current range of the corresponding y-axis on the main subplot is used.","dflt":"match","editType":"calc","valType":"enumerated","values":["auto","fixed","match"]},"role":"object"}},"role":"object","scaleanchor":{"description":"If set to another axis id (e.g. `x2`, `y`), the range of this axis changes together with the range of the corresponding axis such that the scale of pixels per unit is in a constant ratio. Both axes are still zoomable, but when you zoom one, the other will zoom the same amount, keeping a fixed midpoint. `constrain` and `constraintoward` determine how we enforce the constraint. You can chain these, ie `yaxis: {scaleanchor: *x*}, xaxis2: {scaleanchor: *y*}` but you can only link axes of the same `type`. The linked axis can have the opposite letter (to constrain the aspect ratio) or the same letter (to match scales across subplots). Loops (`yaxis: {scaleanchor: *x*}, xaxis: {scaleanchor: *y*}` or longer) are redundant and the last constraint encountered will be ignored to avoid possible inconsistent constraints via `scaleratio`. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden. Setting `false` allows to remove a default constraint (occasionally, you may need to prevent a default `scaleanchor` constraint from being applied, eg. when having an image trace `yaxis: {scaleanchor: \"x\"}` is set automatically in order for pixels to be rendered as squares, setting `yaxis: {scaleanchor: false}` allows to remove the constraint).","editType":"plot","valType":"enumerated","values":["/^x([2-9]|[1-9][0-9]+)?( domain)?$/","/^y([2-9]|[1-9][0-9]+)?( domain)?$/",false]},"scaleratio":{"description":"If this axis is linked to another by `scaleanchor`, this determines the pixel to unit scale ratio. For example, if this value is 10, then every unit on this axis spans 10 times the number of pixels as a unit on the linked axis. Use this for example to create an elevation profile where the vertical scale is exaggerated a fixed amount with respect to the horizontal.","dflt":1,"editType":"plot","min":0,"valType":"number"},"separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"ticks","valType":"boolean"},"showdividers":{"description":"Determines whether or not a dividers are drawn between the category levels of this axis. Only has an effect on *multicategory* axes.","dflt":true,"editType":"ticks","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"ticks","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","editType":"ticks","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":false,"editType":"ticks+layoutstyle","valType":"boolean"},"showspikes":{"description":"Determines whether or not spikes (aka droplines) are drawn for this axis. Note: This only takes affect when hovermode = closest","dflt":false,"editType":"modebar","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"ticks","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"ticks","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"ticks","valType":"enumerated","values":["all","first","last","none"]},"side":{"description":"Determines whether a x (y) axis is positioned at the *bottom* (*left*) or *top* (*right*) of the plotting area.","editType":"plot","valType":"enumerated","values":["top","bottom","left","right"]},"spikecolor":{"description":"Sets the spike color. If undefined, will use the series color","dflt":null,"editType":"none","valType":"color"},"spikedash":{"description":"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*).","dflt":"dash","editType":"none","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"spikemode":{"description":"Determines the drawing mode for the spike line If *toaxis*, the line is drawn from the data point to the axis the series is plotted on. If *across*, the line is drawn across the entire plot area, and supercedes *toaxis*. If *marker*, then a marker dot is drawn on the axis the series is plotted on","dflt":"toaxis","editType":"none","flags":["toaxis","across","marker"],"valType":"flaglist"},"spikesnap":{"description":"Determines whether spikelines are stuck to the cursor or to the closest datapoints.","dflt":"hovered data","editType":"none","valType":"enumerated","values":["data","cursor","hovered data"]},"spikethickness":{"description":"Sets the width (in px) of the zero line.","dflt":3,"editType":"none","valType":"number"},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"ticks","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"ticks","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"ticks","valType":"color"},"tickfont":{"color":{"editType":"ticks","valType":"color"},"description":"Sets the tick font.","editType":"ticks","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"ticks","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"ticks","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"ticks","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"ticks","items":[{"editType":"ticks","valType":"any"},{"editType":"ticks","valType":"any"}],"valType":"info_array"},"editType":"ticks","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"ticks","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"ticks","valType":"string"}}},"role":"object"},"ticklabelmode":{"description":"Determines where tick labels are drawn with respect to their corresponding ticks and grid lines. Only has an effect for axes of `type` *date* When set to *period*, tick labels are drawn in the middle of the period between ticks.","dflt":"instant","editType":"ticks","valType":"enumerated","values":["instant","period"]},"ticklabeloverflow":{"description":"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*. Otherwise on *category* and *multicategory* axes the default is *allow*. In other cases the default is *hide past div*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"Determines where tick labels are drawn with respect to the axis Please note that top or bottom has no effect on x axes or when `ticklabelmode` is set to *period*. Similarly left or right has no effect on y axes or when `ticklabelmode` is set to *period*. Has no effect on *multicategory* axes or when `tickson` is set to *boundaries*. When used on axes linked by `matches` or `scaleanchor`, no extra padding for inside labels would be added by autorange, so that the scales could match.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"ticks","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"ticks","min":0,"valType":"number"},"tickmode":{"description":"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). If *sync*, the number of ticks will sync with the overlayed axis set by `overlaying` property.","editType":"ticks","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array","sync"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"ticks","valType":"string"},"ticks":{"description":"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.","editType":"ticks","valType":"enumerated","values":["outside","inside",""]},"tickson":{"description":"Determines where ticks and grid lines are drawn with respect to their corresponding tick labels. Only has an effect for axes of `type` *category* or *multicategory*. When set to *boundaries*, ticks and grid lines are drawn half a category to the left/bottom of labels.","dflt":"labels","editType":"ticks","valType":"enumerated","values":["labels","boundaries"]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"ticks","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"ticks","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"ticks","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"ticks","min":0,"valType":"number"},"title":{"editType":"ticks","font":{"color":{"editType":"ticks","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"ticks","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"ticks","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"ticks","min":1,"valType":"number"}},"role":"object","standoff":{"description":"Sets the standoff distance (in px) between the axis labels and the title text The default value is a function of the axis tick labels, the title `font.size` and the axis `linewidth`. 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 on `automargin`, plotly.js will push the margins to fit the axis title at given standoff distance.","editType":"ticks","min":0,"valType":"number"},"text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"ticks","valType":"string"}},"type":{"_noTemplating":true,"description":"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.","dflt":"-","editType":"calc","valType":"enumerated","values":["-","linear","log","date","category","multicategory"]},"uirevision":{"description":"Controls persistence of user-driven changes in axis `range`, `autorange`, and `title` if in `editable: true` configuration. Defaults to `layout.uirevision`.","editType":"none","valType":"any"},"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","valType":"boolean"},"zeroline":{"description":"Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines.","editType":"ticks","valType":"boolean"},"zerolinecolor":{"description":"Sets the line color of the zero line.","dflt":"#444","editType":"ticks","valType":"color"},"zerolinewidth":{"description":"Sets the width (in px) of the zero line.","dflt":1,"editType":"ticks","valType":"number"}},"yaxis":{"_deprecated":{"autotick":{"description":"Obsolete. Set `tickmode` to *auto* for old `autotick` *true* behavior. Set `tickmode` to *linear* for `autotick` *false*.","editType":"ticks","valType":"boolean"},"title":{"description":"Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.","editType":"ticks","valType":"string"},"titlefont":{"color":{"editType":"ticks","valType":"color"},"description":"Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.","editType":"ticks","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"ticks","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"ticks","min":1,"valType":"number"}}},"_isSubplotObj":true,"anchor":{"description":"If set to an opposite-letter axis id (e.g. `x2`, `y`), this axis is bound to the corresponding opposite-letter axis. If set to *free*, this axis' position is determined by `position`.","editType":"plot","valType":"enumerated","values":["free","/^x([2-9]|[1-9][0-9]+)?( domain)?$/","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]},"automargin":{"description":"Determines whether long tick labels automatically grow the figure margins.","dflt":false,"editType":"ticks","extras":[true,false],"flags":["height","width","left","right","top","bottom"],"valType":"flaglist"},"autorange":{"description":"Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction.","dflt":true,"editType":"axrange","impliedEdits":{},"valType":"enumerated","values":[true,false,"reversed","min reversed","max reversed","min","max"]},"autorangeoptions":{"clipmax":{"description":"Clip autorange maximum if it goes beyond this value. Has no effect when `autorangeoptions.maxallowed` is provided.","editType":"plot","impliedEdits":{},"valType":"any"},"clipmin":{"description":"Clip autorange minimum if it goes beyond this value. Has no effect when `autorangeoptions.minallowed` is provided.","editType":"plot","impliedEdits":{},"valType":"any"},"editType":"plot","include":{"arrayOk":true,"description":"Ensure this value is included in autorange.","editType":"plot","impliedEdits":{},"valType":"any"},"includesrc":{"description":"Sets the source reference on Chart Studio Cloud for `include`.","editType":"none","valType":"string"},"maxallowed":{"description":"Use this value exactly as autorange maximum.","editType":"plot","impliedEdits":{},"valType":"any"},"minallowed":{"description":"Use this value exactly as autorange minimum.","editType":"plot","impliedEdits":{},"valType":"any"},"role":"object"},"autoshift":{"description":"Automatically reposition the axis to avoid overlap with other axes with the same `overlaying` value. This repositioning will account for any `shift` amount applied to other axes on the same side with `autoshift` is set to true. Only has an effect if `anchor` is set to *free*.","dflt":false,"editType":"plot","valType":"boolean"},"autotickangles":{"description":"When `tickangle` is set to *auto*, it will be set to the first angle in this array that is large enough to prevent label overlap.","dflt":[0,30,90],"editType":"ticks","freeLength":true,"items":{"valType":"angle"},"valType":"info_array"},"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"calc","valType":"enumerated","values":["convert types","strict"]},"calendar":{"description":"Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"categoryarray":{"description":"Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"calc","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.","dflt":"trace","editType":"calc","valType":"enumerated","values":["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","median ascending","median descending"]},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"ticks","valType":"color"},"constrain":{"description":"If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines how that happens: by increasing the *range*, or by decreasing the *domain*. Default is *domain* for axes containing image traces, *range* otherwise.","editType":"plot","valType":"enumerated","values":["range","domain"]},"constraintoward":{"description":"If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines which direction we push the originally specified plot area. Options are *left*, *center* (default), and *right* for x axes, and *top*, *middle* (default), and *bottom* for y axes.","editType":"plot","valType":"enumerated","values":["left","center","right","top","middle","bottom"]},"dividercolor":{"description":"Sets the color of the dividers Only has an effect on *multicategory* axes.","dflt":"#444","editType":"ticks","valType":"color"},"dividerwidth":{"description":"Sets the width (in px) of the dividers Only has an effect on *multicategory* axes.","dflt":1,"editType":"ticks","valType":"number"},"domain":{"description":"Sets the domain of this axis (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"ticks","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"ticks","valType":"enumerated","values":["none","e","E","power","SI","B"]},"fixedrange":{"description":"Determines whether or not this axis is zoom-able. If true, then zoom is disabled.","dflt":false,"editType":"calc","valType":"boolean"},"gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"ticks","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"ticks","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"ticks","min":0,"valType":"number"},"hoverformat":{"description":"Sets the hover text 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*","dflt":"","editType":"none","valType":"string"},"insiderange":{"description":"Could be used to set the desired inside range of this axis (excluding the labels) when `ticklabelposition` of the anchored axis has *inside*. Not implemented for axes with `type` *log*. This would be ignored when `range` is provided.","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"labelalias":{"description":"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.","dflt":false,"editType":"ticks","valType":"any"},"layer":{"description":"Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.","dflt":"above traces","editType":"plot","valType":"enumerated","values":["above traces","below traces"]},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"layoutstyle","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"ticks+layoutstyle","min":0,"valType":"number"},"matches":{"description":"If set to another axis id (e.g. `x2`, `y`), the range of this axis will match the range of the corresponding axis in data-coordinates space. Moreover, matching axes share auto-range values, category lists and histogram auto-bins. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden. Moreover, note that matching axes must have the same `type`.","editType":"calc","valType":"enumerated","values":["/^x([2-9]|[1-9][0-9]+)?( domain)?$/","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]},"maxallowed":{"description":"Determines the maximum range of this axis.","editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},"minallowed":{"description":"Determines the minimum range of this axis.","editType":"plot","impliedEdits":{"^autorange":false},"valType":"any"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"ticks","min":0,"valType":"number"},"minor":{"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"ticks","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"ticks","gridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"ticks","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"ticks","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the grid lines.","editType":"ticks","min":0,"valType":"number"},"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":5,"editType":"ticks","min":0,"valType":"integer"},"role":"object","showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","editType":"ticks","valType":"boolean"},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"ticks","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"ticks","valType":"color"},"ticklen":{"description":"Sets the tick length (in px).","editType":"ticks","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"ticks","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"ticks":{"description":"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.","editType":"ticks","valType":"enumerated","values":["outside","inside",""]},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"ticks","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","editType":"ticks","min":0,"valType":"number"}},"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,"editType":"ticks+layoutstyle","valType":"enumerated","values":[true,"ticks",false,"all","allticks"]},"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,"editType":"ticks","min":0,"valType":"integer"},"overlaying":{"description":"If set a same-letter axis id, this axis is overlaid on top of the corresponding same-letter axis, with traces and axes visible for both axes. If *false*, this axis does not overlay any same-letter axes. In this case, for axes with overlapping domains only the highest-numbered axis will be visible.","editType":"plot","valType":"enumerated","values":["free","/^x([2-9]|[1-9][0-9]+)?( domain)?$/","/^y([2-9]|[1-9][0-9]+)?( domain)?$/"]},"position":{"description":"Sets the position of this axis in the plotting space (in normalized coordinates). Only has an effect if `anchor` is set to *free*.","dflt":0,"editType":"plot","max":1,"min":0,"valType":"number"},"range":{"anim":true,"description":"Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, 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. Leaving either or both elements `null` impacts the default `autorange`.","editType":"axrange","impliedEdits":{"autorange":false},"items":[{"anim":true,"editType":"axrange","impliedEdits":{"^autorange":false},"valType":"any"},{"anim":true,"editType":"axrange","impliedEdits":{"^autorange":false},"valType":"any"}],"valType":"info_array"},"rangebreaks":{"items":{"rangebreak":{"bounds":{"description":"Sets the lower and upper bounds of this axis rangebreak. Can be used with `pattern`.","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"dvalue":{"description":"Sets the size of each `values` item. The default is one day in milliseconds.","dflt":86400000,"editType":"calc","min":0,"valType":"number"},"editType":"calc","enabled":{"description":"Determines whether this axis rangebreak is enabled or disabled. Please note that `rangebreaks` only work for *date* axis type.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"pattern":{"description":"Determines a pattern on the time line that generates breaks. If *day of week* - days of the week in English e.g. 'Sunday' or `sun` (matching is case-insensitive and considers only the first three characters), as well as Sunday-based integers between 0 and 6. If *hour* - hour (24-hour clock) as decimal numbers between 0 and 24. for more info. Examples: - { pattern: 'day of week', bounds: [6, 1] } or simply { bounds: ['sat', 'mon'] } breaks from Saturday to Monday (i.e. skips the weekends). - { pattern: 'hour', bounds: [17, 8] } breaks from 5pm to 8am (i.e. skips non-work hours).","editType":"calc","valType":"enumerated","values":["day of week","hour",""]},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"values":{"description":"Sets the coordinate values corresponding to the rangebreaks. An alternative to `bounds`. Use `dvalue` to set the size of the values along the axis.","editType":"calc","freeLength":true,"items":{"editType":"calc","valType":"any"},"valType":"info_array"}}},"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.","dflt":"normal","editType":"plot","valType":"enumerated","values":["normal","tozero","nonnegative"]},"role":"object","scaleanchor":{"description":"If set to another axis id (e.g. `x2`, `y`), the range of this axis changes together with the range of the corresponding axis such that the scale of pixels per unit is in a constant ratio. Both axes are still zoomable, but when you zoom one, the other will zoom the same amount, keeping a fixed midpoint. `constrain` and `constraintoward` determine how we enforce the constraint. You can chain these, ie `yaxis: {scaleanchor: *x*}, xaxis2: {scaleanchor: *y*}` but you can only link axes of the same `type`. The linked axis can have the opposite letter (to constrain the aspect ratio) or the same letter (to match scales across subplots). Loops (`yaxis: {scaleanchor: *x*}, xaxis: {scaleanchor: *y*}` or longer) are redundant and the last constraint encountered will be ignored to avoid possible inconsistent constraints via `scaleratio`. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden. Setting `false` allows to remove a default constraint (occasionally, you may need to prevent a default `scaleanchor` constraint from being applied, eg. when having an image trace `yaxis: {scaleanchor: \"x\"}` is set automatically in order for pixels to be rendered as squares, setting `yaxis: {scaleanchor: false}` allows to remove the constraint).","editType":"plot","valType":"enumerated","values":["/^x([2-9]|[1-9][0-9]+)?( domain)?$/","/^y([2-9]|[1-9][0-9]+)?( domain)?$/",false]},"scaleratio":{"description":"If this axis is linked to another by `scaleanchor`, this determines the pixel to unit scale ratio. For example, if this value is 10, then every unit on this axis spans 10 times the number of pixels as a unit on the linked axis. Use this for example to create an elevation profile where the vertical scale is exaggerated a fixed amount with respect to the horizontal.","dflt":1,"editType":"plot","min":0,"valType":"number"},"separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"ticks","valType":"boolean"},"shift":{"description":"Moves the axis a given number of pixels from where it would have been otherwise. Accepts both positive and negative values, which will shift the axis either right or left, respectively. If `autoshift` is set to true, then this defaults to a padding of -3 if `side` is set to *left*. and defaults to +3 if `side` is set to *right*. Defaults to 0 if `autoshift` is set to false. Only has an effect if `anchor` is set to *free*.","editType":"plot","valType":"number"},"showdividers":{"description":"Determines whether or not a dividers are drawn between the category levels of this axis. Only has an effect on *multicategory* axes.","dflt":true,"editType":"ticks","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"ticks","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","editType":"ticks","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":false,"editType":"ticks+layoutstyle","valType":"boolean"},"showspikes":{"description":"Determines whether or not spikes (aka droplines) are drawn for this axis. Note: This only takes affect when hovermode = closest","dflt":false,"editType":"modebar","valType":"boolean"},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"ticks","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"ticks","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"ticks","valType":"enumerated","values":["all","first","last","none"]},"side":{"description":"Determines whether a x (y) axis is positioned at the *bottom* (*left*) or *top* (*right*) of the plotting area.","editType":"plot","valType":"enumerated","values":["top","bottom","left","right"]},"spikecolor":{"description":"Sets the spike color. If undefined, will use the series color","dflt":null,"editType":"none","valType":"color"},"spikedash":{"description":"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*).","dflt":"dash","editType":"none","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"spikemode":{"description":"Determines the drawing mode for the spike line If *toaxis*, the line is drawn from the data point to the axis the series is plotted on. If *across*, the line is drawn across the entire plot area, and supercedes *toaxis*. If *marker*, then a marker dot is drawn on the axis the series is plotted on","dflt":"toaxis","editType":"none","flags":["toaxis","across","marker"],"valType":"flaglist"},"spikesnap":{"description":"Determines whether spikelines are stuck to the cursor or to the closest datapoints.","dflt":"hovered data","editType":"none","valType":"enumerated","values":["data","cursor","hovered data"]},"spikethickness":{"description":"Sets the width (in px) of the zero line.","dflt":3,"editType":"none","valType":"number"},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"ticks","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"ticks","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"ticks","valType":"color"},"tickfont":{"color":{"editType":"ticks","valType":"color"},"description":"Sets the tick font.","editType":"ticks","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"ticks","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"ticks","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"ticks","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"ticks","items":[{"editType":"ticks","valType":"any"},{"editType":"ticks","valType":"any"}],"valType":"info_array"},"editType":"ticks","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"ticks","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"ticks","valType":"string"}}},"role":"object"},"ticklabelmode":{"description":"Determines where tick labels are drawn with respect to their corresponding ticks and grid lines. Only has an effect for axes of `type` *date* When set to *period*, tick labels are drawn in the middle of the period between ticks.","dflt":"instant","editType":"ticks","valType":"enumerated","values":["instant","period"]},"ticklabeloverflow":{"description":"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*. Otherwise on *category* and *multicategory* axes the default is *allow*. In other cases the default is *hide past div*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"Determines where tick labels are drawn with respect to the axis Please note that top or bottom has no effect on x axes or when `ticklabelmode` is set to *period*. Similarly left or right has no effect on y axes or when `ticklabelmode` is set to *period*. Has no effect on *multicategory* axes or when `tickson` is set to *boundaries*. When used on axes linked by `matches` or `scaleanchor`, no extra padding for inside labels would be added by autorange, so that the scales could match.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"ticks","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"ticks","min":0,"valType":"number"},"tickmode":{"description":"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). If *sync*, the number of ticks will sync with the overlayed axis set by `overlaying` property.","editType":"ticks","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array","sync"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"ticks","valType":"string"},"ticks":{"description":"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.","editType":"ticks","valType":"enumerated","values":["outside","inside",""]},"tickson":{"description":"Determines where ticks and grid lines are drawn with respect to their corresponding tick labels. Only has an effect for axes of `type` *category* or *multicategory*. When set to *boundaries*, ticks and grid lines are drawn half a category to the left/bottom of labels.","dflt":"labels","editType":"ticks","valType":"enumerated","values":["labels","boundaries"]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"ticks","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"ticks","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"ticks","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"ticks","min":0,"valType":"number"},"title":{"editType":"ticks","font":{"color":{"editType":"ticks","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.","editType":"ticks","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"ticks","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"ticks","min":1,"valType":"number"}},"role":"object","standoff":{"description":"Sets the standoff distance (in px) between the axis labels and the title text The default value is a function of the axis tick labels, the title `font.size` and the axis `linewidth`. 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 on `automargin`, plotly.js will push the margins to fit the axis title at given standoff distance.","editType":"ticks","min":0,"valType":"number"},"text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"ticks","valType":"string"}},"type":{"_noTemplating":true,"description":"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.","dflt":"-","editType":"calc","valType":"enumerated","values":["-","linear","log","date","category","multicategory"]},"uirevision":{"description":"Controls persistence of user-driven changes in axis `range`, `autorange`, and `title` if in `editable: true` configuration. Defaults to `layout.uirevision`.","editType":"none","valType":"any"},"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","valType":"boolean"},"zeroline":{"description":"Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines.","editType":"ticks","valType":"boolean"},"zerolinecolor":{"description":"Sets the line color of the zero line.","dflt":"#444","editType":"ticks","valType":"color"},"zerolinewidth":{"description":"Sets the width (in px) of the zero line.","dflt":1,"editType":"ticks","valType":"number"}}}},"traces":{"bar":{"animatable":true,"attributes":{"_deprecated":{"bardir":{"description":"Renamed to `orientation`.","editType":"calc","valType":"enumerated","values":["v","h"]}},"alignmentgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"base":{"arrayOk":true,"description":"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.","dflt":null,"editType":"calc","valType":"any"},"basesrc":{"description":"Sets the source reference on Chart Studio Cloud for `base`.","editType":"none","valType":"string"},"cliponaxis":{"description":"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*.","dflt":true,"editType":"plot","valType":"boolean"},"constraintext":{"description":"Constrain the size of text inside or outside a bar to be no larger than the bar itself.","dflt":"both","editType":"calc","valType":"enumerated","values":["inside","outside","both","none"]},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dx":{"anim":true,"description":"Sets the x coordinate step. See `x0` for more info.","dflt":1,"editType":"calc","valType":"number"},"dy":{"anim":true,"description":"Sets the y coordinate step. See `y0` for more info.","dflt":1,"editType":"calc","valType":"number"},"error_x":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"style","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"style","valType":"color"},"copy_ystyle":{"editType":"plot","valType":"boolean"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"style","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"plot","min":0,"valType":"number"}},"error_y":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"style","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"style","valType":"color"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"style","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"plot","min":0,"valType":"number"}},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"ids":{"anim":true,"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"insidetextanchor":{"description":"Determines if texts are kept at center or start/end points in `textposition` *inside* mode.","dflt":"end","editType":"plot","valType":"enumerated","values":["end","middle","start"]},"insidetextfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `text` lying inside the bar.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"marker":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"cornerradius":{"description":"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.","editType":"calc","valType":"any"},"editType":"calc","line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"anim":true,"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","dflt":0,"editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the opacity of the bars.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"pattern":{"bgcolor":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"description":"Sets the pattern within the marker.","editType":"style","fgcolor":{"arrayOk":true,"description":"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`.","editType":"style","valType":"color"},"fgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `fgcolor`.","editType":"none","valType":"string"},"fgopacity":{"description":"Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.","editType":"style","max":1,"min":0,"valType":"number"},"fillmode":{"description":"Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.","dflt":"replace","editType":"style","valType":"enumerated","values":["replace","overlay"]},"role":"object","shape":{"arrayOk":true,"description":"Sets the shape of the pattern fill. By default, no pattern is used for filling the area.","dflt":"","editType":"style","valType":"enumerated","values":["","/","\\","x","-","|","+","."]},"shapesrc":{"description":"Sets the source reference on Chart Studio Cloud for `shape`.","editType":"none","valType":"string"},"size":{"arrayOk":true,"description":"Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.","dflt":8,"editType":"style","min":0,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"solidity":{"arrayOk":true,"description":"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.","dflt":0.3,"editType":"style","max":1,"min":0,"valType":"number"},"soliditysrc":{"description":"Sets the source reference on Chart Studio Cloud for `solidity`.","editType":"none","valType":"string"}},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"offset":{"arrayOk":true,"description":"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.","dflt":null,"editType":"calc","valType":"number"},"offsetgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"offsetsrc":{"description":"Sets the source reference on Chart Studio Cloud for `offset`.","editType":"none","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"orientation":{"description":"Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal).","editType":"calc+clearAxisTypes","valType":"enumerated","values":["v","h"]},"outsidetextfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `text` lying outside the bar.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textangle":{"description":"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.","dflt":"auto","editType":"plot","valType":"angle"},"textfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `text`.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"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.","dflt":"auto","editType":"calc","valType":"enumerated","values":["inside","outside","auto","none"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"bar","uid":{"anim":true,"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"width":{"arrayOk":true,"description":"Sets the bar width (in position axis units).","dflt":null,"editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"},"x":{"anim":true,"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"x0":{"anim":true,"description":"Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"xperiod0":{"description":"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.","editType":"calc","valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"anim":true,"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"y0":{"anim":true,"description":"Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"yperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the y axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"yperiod0":{"description":"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.","editType":"calc","valType":"any"},"yperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"zorder":{"description":"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`.","dflt":0,"editType":"plot","valType":"integer"}},"categories":["bar-like","cartesian","svg","bar","oriented","errorBarsOK","showLegend","zoomScale"],"layoutAttributes":{"barcornerradius":{"description":"Sets the rounding of bar corners. May be an integer number of pixels, or a percentage of bar width (as a string ending in %).","editType":"calc","valType":"any"},"bargap":{"description":"Sets the gap (in plot fraction) between bars of adjacent location coordinates.","editType":"calc","max":1,"min":0,"valType":"number"},"bargroupgap":{"description":"Sets the gap (in plot fraction) between bars of the same location coordinate.","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"barmode":{"description":"Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *relative*, the bars are stacked on top of one another, with negative values below the axis, positive values above With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars.","dflt":"group","editType":"calc","valType":"enumerated","values":["stack","group","overlay","relative"]},"barnorm":{"description":"Sets the normalization for bar traces on the graph. With *fraction*, the value of each bar is divided by the sum of all values at that location coordinate. *percent* is the same but multiplied by 100 to show percentages.","dflt":"","editType":"calc","valType":"enumerated","values":["","fraction","percent"]}},"meta":{"description":"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."},"type":"bar"},"barpolar":{"animatable":false,"attributes":{"base":{"arrayOk":true,"description":"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.","dflt":null,"editType":"calc","valType":"any"},"basesrc":{"description":"Sets the source reference on Chart Studio Cloud for `base`.","editType":"none","valType":"string"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dr":{"description":"Sets the r coordinate step.","dflt":1,"editType":"calc","valType":"number"},"dtheta":{"description":"Sets the theta coordinate step. By default, the `dtheta` step equals the subplot's period divided by the length of the `r` coordinates.","editType":"calc","valType":"number"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["r","theta","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"marker":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","dflt":0,"editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the opacity of the bars.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"pattern":{"bgcolor":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"description":"Sets the pattern within the marker.","editType":"style","fgcolor":{"arrayOk":true,"description":"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`.","editType":"style","valType":"color"},"fgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `fgcolor`.","editType":"none","valType":"string"},"fgopacity":{"description":"Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.","editType":"style","max":1,"min":0,"valType":"number"},"fillmode":{"description":"Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.","dflt":"replace","editType":"style","valType":"enumerated","values":["replace","overlay"]},"role":"object","shape":{"arrayOk":true,"description":"Sets the shape of the pattern fill. By default, no pattern is used for filling the area.","dflt":"","editType":"style","valType":"enumerated","values":["","/","\\","x","-","|","+","."]},"shapesrc":{"description":"Sets the source reference on Chart Studio Cloud for `shape`.","editType":"none","valType":"string"},"size":{"arrayOk":true,"description":"Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.","dflt":8,"editType":"style","min":0,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"solidity":{"arrayOk":true,"description":"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.","dflt":0.3,"editType":"style","max":1,"min":0,"valType":"number"},"soliditysrc":{"description":"Sets the source reference on Chart Studio Cloud for `solidity`.","editType":"none","valType":"string"}},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"offset":{"arrayOk":true,"description":"Shifts the angular position where the bar is drawn (in *thetatunit* units).","dflt":null,"editType":"calc","valType":"number"},"offsetsrc":{"description":"Sets the source reference on Chart Studio Cloud for `offset`.","editType":"none","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"r":{"description":"Sets the radial coordinates","editType":"calc+clearAxisTypes","valType":"data_array"},"r0":{"description":"Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"rsrc":{"description":"Sets the source reference on Chart Studio Cloud for `r`.","editType":"none","valType":"string"},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"subplot":{"description":"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.","dflt":"polar","editType":"calc","valType":"subplotid"},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"theta":{"description":"Sets the angular coordinates","editType":"calc+clearAxisTypes","valType":"data_array"},"theta0":{"description":"Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"thetasrc":{"description":"Sets the source reference on Chart Studio Cloud for `theta`.","editType":"none","valType":"string"},"thetaunit":{"description":"Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes.","dflt":"degrees","editType":"calc+clearAxisTypes","valType":"enumerated","values":["radians","degrees","gradians"]},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"barpolar","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"width":{"arrayOk":true,"description":"Sets the bar angular width (in *thetaunit* units).","dflt":null,"editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"categories":["polar","bar","showLegend"],"layoutAttributes":{"bargap":{"description":"Sets the gap between bars of adjacent location coordinates. Values are unitless, they represent fractions of the minimum difference in bar positions in the data.","dflt":0.1,"editType":"calc","max":1,"min":0,"valType":"number"},"barmode":{"description":"Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars.","dflt":"stack","editType":"calc","valType":"enumerated","values":["stack","overlay"]}},"meta":{"description":"The data visualized by the radial span of the bars is set in `r`","hrName":"bar_polar"},"type":"barpolar"},"box":{"animatable":false,"attributes":{"alignmentgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"boxmean":{"description":"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*.","editType":"calc","valType":"enumerated","values":[true,"sd",false]},"boxpoints":{"description":"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*.","editType":"calc","valType":"enumerated","values":["all","outliers","suspectedoutliers",false]},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dx":{"description":"Sets the x coordinate step for multi-box traces set using q1/median/q3.","editType":"calc","valType":"number"},"dy":{"description":"Sets the y coordinate step for multi-box traces set using q1/median/q3.","editType":"calc","valType":"number"},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"style","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hoveron":{"description":"Do the hover effects highlight individual boxes or sample points or both?","dflt":"boxes+points","editType":"style","flags":["boxes","points"],"valType":"flaglist"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"jitter":{"description":"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).","editType":"calc","max":1,"min":0,"valType":"number"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"color":{"description":"Sets the color of line bounding the box(es).","editType":"style","valType":"color"},"editType":"plot","role":"object","width":{"description":"Sets the width (in px) of line bounding the box(es).","dflt":2,"editType":"style","min":0,"valType":"number"}},"lowerfence":{"description":"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.","editType":"calc","valType":"data_array"},"lowerfencesrc":{"description":"Sets the source reference on Chart Studio Cloud for `lowerfence`.","editType":"none","valType":"string"},"marker":{"angle":{"arrayOk":false,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"calc","valType":"angle"},"color":{"arrayOk":false,"description":"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.","editType":"style","valType":"color"},"editType":"plot","line":{"color":{"arrayOk":false,"description":"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.","dflt":"#444","editType":"style","valType":"color"},"editType":"style","outliercolor":{"description":"Sets the border line color of the outlier sample points. Defaults to marker.color","editType":"style","valType":"color"},"outlierwidth":{"description":"Sets the border line width (in px) of the outlier sample points.","dflt":1,"editType":"style","min":0,"valType":"number"},"role":"object","width":{"arrayOk":false,"description":"Sets the width (in px) of the lines bounding the marker points.","dflt":0,"editType":"style","min":0,"valType":"number"}},"opacity":{"arrayOk":false,"description":"Sets the marker opacity.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"outliercolor":{"description":"Sets the color of the outlier sample points.","dflt":"rgba(0, 0, 0, 0)","editType":"style","valType":"color"},"role":"object","size":{"arrayOk":false,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"symbol":{"arrayOk":false,"description":"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.","dflt":"circle","editType":"plot","valType":"enumerated","values":[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"]}},"mean":{"description":"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.","editType":"calc","valType":"data_array"},"meansrc":{"description":"Sets the source reference on Chart Studio Cloud for `mean`.","editType":"none","valType":"string"},"median":{"description":"Sets the median values. There should be as many items as the number of boxes desired.","editType":"calc+clearAxisTypes","valType":"data_array"},"mediansrc":{"description":"Sets the source reference on Chart Studio Cloud for `median`.","editType":"none","valType":"string"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"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","editType":"calc+clearAxisTypes","valType":"string"},"notched":{"description":"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.","editType":"calc","valType":"boolean"},"notchspan":{"description":"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.","editType":"calc","valType":"data_array"},"notchspansrc":{"description":"Sets the source reference on Chart Studio Cloud for `notchspan`.","editType":"none","valType":"string"},"notchwidth":{"description":"Sets the width of the notches relative to the box' width. For example, with 0, the notches are as wide as the box(es).","dflt":0.25,"editType":"calc","max":0.5,"min":0,"valType":"number"},"offsetgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"orientation":{"description":"Sets the orientation of the box(es). If *v* (*h*), the distribution is visualized along the vertical (horizontal).","editType":"calc+clearAxisTypes","valType":"enumerated","values":["v","h"]},"pointpos":{"description":"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","editType":"calc","max":2,"min":-2,"valType":"number"},"q1":{"description":"Sets the Quartile 1 values. There should be as many items as the number of boxes desired.","editType":"calc+clearAxisTypes","valType":"data_array"},"q1src":{"description":"Sets the source reference on Chart Studio Cloud for `q1`.","editType":"none","valType":"string"},"q3":{"description":"Sets the Quartile 3 values. There should be as many items as the number of boxes desired.","editType":"calc+clearAxisTypes","valType":"data_array"},"q3src":{"description":"Sets the source reference on Chart Studio Cloud for `q3`.","editType":"none","valType":"string"},"quartilemethod":{"description":"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.","dflt":"linear","editType":"calc","valType":"enumerated","values":["linear","exclusive","inclusive"]},"sd":{"description":"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.","editType":"calc","valType":"data_array"},"sdmultiple":{"description":"Scales the box size when sizemode=sd Allowing boxes to be drawn across any stddev range For example 1-stddev, 3-stddev, 5-stddev","dflt":1,"editType":"calc","min":0,"valType":"number"},"sdsrc":{"description":"Sets the source reference on Chart Studio Cloud for `sd`.","editType":"none","valType":"string"},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"style","min":0,"valType":"number"}},"role":"object"},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"showwhiskers":{"description":"Determines whether or not whiskers are visible. Defaults to true for `sizemode` *quartiles*, false for *sd*.","editType":"calc","valType":"boolean"},"sizemode":{"description":"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","dflt":"quartiles","editType":"calc","valType":"enumerated","values":["quartiles","sd"]},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"box","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"style","min":0,"valType":"number"}},"role":"object"},"upperfence":{"description":"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.","editType":"calc","valType":"data_array"},"upperfencesrc":{"description":"Sets the source reference on Chart Studio Cloud for `upperfence`.","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"whiskerwidth":{"description":"Sets the width of the whiskers relative to the box' width. For example, with 1, the whiskers are as wide as the box(es).","dflt":0.5,"editType":"calc","max":1,"min":0,"valType":"number"},"width":{"description":"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.","dflt":0,"editType":"calc","min":0,"valType":"number"},"x":{"description":"Sets the x sample data or coordinates. See overview for more info.","editType":"calc+clearAxisTypes","valType":"data_array"},"x0":{"description":"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.","editType":"calc+clearAxisTypes","valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"xperiod0":{"description":"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.","editType":"calc","valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y sample data or coordinates. See overview for more info.","editType":"calc+clearAxisTypes","valType":"data_array"},"y0":{"description":"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.","editType":"calc+clearAxisTypes","valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"yperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the y axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"yperiod0":{"description":"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.","editType":"calc","valType":"any"},"yperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"zorder":{"description":"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`.","dflt":0,"editType":"plot","valType":"integer"}},"categories":["cartesian","svg","symbols","oriented","box-violin","showLegend","boxLayout","zoomScale"],"layoutAttributes":{"boxgap":{"description":"Sets the gap (in plot fraction) between boxes of adjacent location coordinates. Has no effect on traces that have *width* set.","dflt":0.3,"editType":"calc","max":1,"min":0,"valType":"number"},"boxgroupgap":{"description":"Sets the gap (in plot fraction) between boxes of the same location coordinate. Has no effect on traces that have *width* set.","dflt":0.3,"editType":"calc","max":1,"min":0,"valType":"number"},"boxmode":{"description":"Determines how boxes at the same location coordinate are displayed on the graph. If *group*, the boxes are plotted next to one another centered around the shared location. If *overlay*, the boxes are plotted over one another, you might need to set *opacity* to see them multiple boxes. Has no effect on traces that have *width* set.","dflt":"overlay","editType":"calc","valType":"enumerated","values":["group","overlay"]}},"meta":{"description":"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."},"type":"box"},"candlestick":{"animatable":false,"attributes":{"close":{"description":"Sets the close values.","editType":"calc","valType":"data_array"},"closesrc":{"description":"Sets the source reference on Chart Studio Cloud for `close`.","editType":"none","valType":"string"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"decreasing":{"editType":"style","fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"style","valType":"color"},"line":{"color":{"description":"Sets the color of line bounding the box(es).","dflt":"#FF4136","editType":"style","valType":"color"},"editType":"style","role":"object","width":{"description":"Sets the width (in px) of line bounding the box(es).","dflt":2,"editType":"style","min":0,"valType":"number"}},"role":"object"},"high":{"description":"Sets the high values.","editType":"calc","valType":"data_array"},"highsrc":{"description":"Sets the source reference on Chart Studio Cloud for `high`.","editType":"none","valType":"string"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object","split":{"description":"Show hover information (open, close, high, low) in separate labels.","dflt":false,"editType":"style","valType":"boolean"}},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"increasing":{"editType":"style","fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"style","valType":"color"},"line":{"color":{"description":"Sets the color of line bounding the box(es).","dflt":"#3D9970","editType":"style","valType":"color"},"editType":"style","role":"object","width":{"description":"Sets the width (in px) of line bounding the box(es).","dflt":2,"editType":"style","min":0,"valType":"number"}},"role":"object"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"editType":"style","role":"object","width":{"description":"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`.","dflt":2,"editType":"style","min":0,"valType":"number"}},"low":{"description":"Sets the low values.","editType":"calc","valType":"data_array"},"lowsrc":{"description":"Sets the source reference on Chart Studio Cloud for `low`.","editType":"none","valType":"string"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"open":{"description":"Sets the open values.","editType":"calc","valType":"data_array"},"opensrc":{"description":"Sets the source reference on Chart Studio Cloud for `open`.","editType":"none","valType":"string"},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"candlestick","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"whiskerwidth":{"description":"Sets the width of the whiskers relative to the box' width. For example, with 1, the whiskers are as wide as the box(es).","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"x":{"description":"Sets the x coordinates. If absent, linear coordinate will be generated.","editType":"calc+clearAxisTypes","valType":"data_array"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"xperiod0":{"description":"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.","editType":"calc","valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"zorder":{"description":"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`.","dflt":0,"editType":"plot","valType":"integer"}},"categories":["cartesian","svg","showLegend","candlestick","boxLayout"],"layoutAttributes":{"boxgap":{"description":"Sets the gap (in plot fraction) between boxes of adjacent location coordinates. Has no effect on traces that have *width* set.","dflt":0.3,"editType":"calc","max":1,"min":0,"valType":"number"},"boxgroupgap":{"description":"Sets the gap (in plot fraction) between boxes of the same location coordinate. Has no effect on traces that have *width* set.","dflt":0.3,"editType":"calc","max":1,"min":0,"valType":"number"},"boxmode":{"description":"Determines how boxes at the same location coordinate are displayed on the graph. If *group*, the boxes are plotted next to one another centered around the shared location. If *overlay*, the boxes are plotted over one another, you might need to set *opacity* to see them multiple boxes. Has no effect on traces that have *width* set.","dflt":"overlay","editType":"calc","valType":"enumerated","values":["group","overlay"]}},"meta":{"description":"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."},"type":"candlestick"},"carpet":{"animatable":true,"attributes":{"a":{"description":"An array containing values of the first parameter value","editType":"calc","valType":"data_array"},"a0":{"description":"Alternate to `a`. Builds a linear space of a coordinates. Use with `da` where `a0` is the starting coordinate and `da` the step.","dflt":0,"editType":"calc","valType":"number"},"aaxis":{"_deprecated":{"title":{"description":"Deprecated in favor of `title.text`. Note that value of `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleoffset":{"description":"Deprecated in favor of `title.offset`.","dflt":10,"editType":"calc","valType":"number"}},"arraydtick":{"description":"The stride between grid lines along the axis","dflt":1,"editType":"calc","min":1,"valType":"integer"},"arraytick0":{"description":"The starting index of grid lines along the axis","dflt":0,"editType":"calc","min":0,"valType":"integer"},"autorange":{"description":"Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided, then `autorange` is set to *false*.","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"reversed"]},"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"calc","valType":"enumerated","values":["convert types","strict"]},"categoryarray":{"description":"Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"calc","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`.","dflt":"trace","editType":"calc","valType":"enumerated","values":["trace","category ascending","category descending","array"]},"cheatertype":{"dflt":"value","editType":"calc","valType":"enumerated","values":["index","value"]},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","editType":"calc","valType":"color"},"dtick":{"description":"The stride between grid lines along the axis","dflt":1,"editType":"calc","min":0,"valType":"number"},"editType":"calc","endline":{"description":"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.","editType":"calc","valType":"boolean"},"endlinecolor":{"description":"Sets the line color of the end line.","editType":"calc","valType":"color"},"endlinewidth":{"description":"Sets the width (in px) of the end line.","dflt":1,"editType":"calc","valType":"number"},"exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"fixedrange":{"description":"Determines whether or not this axis is zoom-able. If true, then zoom is disabled.","dflt":false,"editType":"calc","valType":"boolean"},"gridcolor":{"description":"Sets the axis line color.","editType":"calc","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"calc","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"labelalias":{"description":"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.","dflt":false,"editType":"calc","valType":"any"},"labelpadding":{"description":"Extra padding between label and the axis","dflt":10,"editType":"calc","valType":"integer"},"labelprefix":{"description":"Sets a axis label prefix.","editType":"calc","valType":"string"},"labelsuffix":{"description":"Sets a axis label suffix.","dflt":"","editType":"calc","valType":"string"},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number","dflt":3,"editType":"calc","min":0,"valType":"number"},"minorgridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"calc","valType":"color"},"minorgridcount":{"description":"Sets the number of minor grid ticks per major grid tick","dflt":0,"editType":"calc","min":0,"valType":"integer"},"minorgriddash":{"description":"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*).","dflt":"solid","editType":"calc","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"minorgridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"range":{"description":"Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"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.","dflt":"normal","editType":"calc","valType":"enumerated","values":["normal","tozero","nonnegative"]},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","dflt":true,"editType":"calc","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":false,"editType":"calc","valType":"boolean"},"showticklabels":{"description":"Determines whether axis labels are drawn on the low side, the high side, both, or neither side of the axis.","dflt":"start","editType":"calc","valType":"enumerated","values":["start","end","both","none"]},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"smoothing":{"dflt":1,"editType":"calc","max":1.3,"min":0,"valType":"number"},"startline":{"description":"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.","editType":"calc","valType":"boolean"},"startlinecolor":{"description":"Sets the line color of the start line.","editType":"calc","valType":"color"},"startlinewidth":{"description":"Sets the width (in px) of the start line.","dflt":1,"editType":"calc","valType":"number"},"tick0":{"description":"The starting index of grid lines along the axis","dflt":0,"editType":"calc","min":0,"valType":"number"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the tick font.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"tickmode":{"dflt":"array","editType":"calc","valType":"enumerated","values":["linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"offset":{"description":"An additional amount by which to offset the title from the tick labels, given in pixels. Note that this used to be set by the now deprecated `titleoffset` attribute.","dflt":10,"editType":"calc","valType":"number"},"role":"object","text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","dflt":"","editType":"calc","valType":"string"}},"type":{"description":"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.","dflt":"-","editType":"calc","valType":"enumerated","values":["-","linear","date","category"]}},"asrc":{"description":"Sets the source reference on Chart Studio Cloud for `a`.","editType":"none","valType":"string"},"b":{"description":"A two dimensional array of y coordinates at each carpet point.","editType":"calc","valType":"data_array"},"b0":{"description":"Alternate to `b`. Builds a linear space of a coordinates. Use with `db` where `b0` is the starting coordinate and `db` the step.","dflt":0,"editType":"calc","valType":"number"},"baxis":{"_deprecated":{"title":{"description":"Deprecated in favor of `title.text`. Note that value of `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleoffset":{"description":"Deprecated in favor of `title.offset`.","dflt":10,"editType":"calc","valType":"number"}},"arraydtick":{"description":"The stride between grid lines along the axis","dflt":1,"editType":"calc","min":1,"valType":"integer"},"arraytick0":{"description":"The starting index of grid lines along the axis","dflt":0,"editType":"calc","min":0,"valType":"integer"},"autorange":{"description":"Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided, then `autorange` is set to *false*.","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"reversed"]},"autotypenumbers":{"description":"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.","dflt":"convert types","editType":"calc","valType":"enumerated","values":["convert types","strict"]},"categoryarray":{"description":"Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"calc","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`.","dflt":"trace","editType":"calc","valType":"enumerated","values":["trace","category ascending","category descending","array"]},"cheatertype":{"dflt":"value","editType":"calc","valType":"enumerated","values":["index","value"]},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","editType":"calc","valType":"color"},"dtick":{"description":"The stride between grid lines along the axis","dflt":1,"editType":"calc","min":0,"valType":"number"},"editType":"calc","endline":{"description":"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.","editType":"calc","valType":"boolean"},"endlinecolor":{"description":"Sets the line color of the end line.","editType":"calc","valType":"color"},"endlinewidth":{"description":"Sets the width (in px) of the end line.","dflt":1,"editType":"calc","valType":"number"},"exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"fixedrange":{"description":"Determines whether or not this axis is zoom-able. If true, then zoom is disabled.","dflt":false,"editType":"calc","valType":"boolean"},"gridcolor":{"description":"Sets the axis line color.","editType":"calc","valType":"color"},"griddash":{"description":"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*).","dflt":"solid","editType":"calc","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"gridwidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"labelalias":{"description":"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.","dflt":false,"editType":"calc","valType":"any"},"labelpadding":{"description":"Extra padding between label and the axis","dflt":10,"editType":"calc","valType":"integer"},"labelprefix":{"description":"Sets a axis label prefix.","editType":"calc","valType":"string"},"labelsuffix":{"description":"Sets a axis label suffix.","dflt":"","editType":"calc","valType":"string"},"linecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"linewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number","dflt":3,"editType":"calc","min":0,"valType":"number"},"minorgridcolor":{"description":"Sets the color of the grid lines.","dflt":"#eee","editType":"calc","valType":"color"},"minorgridcount":{"description":"Sets the number of minor grid ticks per major grid tick","dflt":0,"editType":"calc","min":0,"valType":"integer"},"minorgriddash":{"description":"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*).","dflt":"solid","editType":"calc","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"minorgridwidth":{"description":"Sets the width (in px) of the grid lines.","dflt":1,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"range":{"description":"Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"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.","dflt":"normal","editType":"calc","valType":"enumerated","values":["normal","tozero","nonnegative"]},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showgrid":{"description":"Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.","dflt":true,"editType":"calc","valType":"boolean"},"showline":{"description":"Determines whether or not a line bounding this axis is drawn.","dflt":false,"editType":"calc","valType":"boolean"},"showticklabels":{"description":"Determines whether axis labels are drawn on the low side, the high side, both, or neither side of the axis.","dflt":"start","editType":"calc","valType":"enumerated","values":["start","end","both","none"]},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"smoothing":{"dflt":1,"editType":"calc","max":1.3,"min":0,"valType":"number"},"startline":{"description":"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.","editType":"calc","valType":"boolean"},"startlinecolor":{"description":"Sets the line color of the start line.","editType":"calc","valType":"color"},"startlinewidth":{"description":"Sets the width (in px) of the start line.","dflt":1,"editType":"calc","valType":"number"},"tick0":{"description":"The starting index of grid lines along the axis","dflt":0,"editType":"calc","min":0,"valType":"number"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the tick font.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"tickmode":{"dflt":"array","editType":"calc","valType":"enumerated","values":["linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this axis' title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"offset":{"description":"An additional amount by which to offset the title from the tick labels, given in pixels. Note that this used to be set by the now deprecated `titleoffset` attribute.","dflt":10,"editType":"calc","valType":"number"},"role":"object","text":{"description":"Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","dflt":"","editType":"calc","valType":"string"}},"type":{"description":"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.","dflt":"-","editType":"calc","valType":"enumerated","values":["-","linear","date","category"]}},"bsrc":{"description":"Sets the source reference on Chart Studio Cloud for `b`.","editType":"none","valType":"string"},"carpet":{"description":"An identifier for this carpet, so that `scattercarpet` and `contourcarpet` traces can specify a carpet plot on which they lie","editType":"calc","valType":"string"},"cheaterslope":{"description":"The shift applied to each successive row of data in creating a cheater plot. Only used if `x` is been omitted.","dflt":1,"editType":"calc","valType":"number"},"color":{"description":"Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.","dflt":"#444","editType":"plot","valType":"color"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"da":{"description":"Sets the a coordinate step. See `a0` for more info.","dflt":1,"editType":"calc","valType":"number"},"db":{"description":"Sets the b coordinate step. See `b0` for more info.","dflt":1,"editType":"calc","valType":"number"},"font":{"color":{"dflt":"#444","editType":"calc","valType":"color"},"description":"The default font used for axis \u0026 tick labels on this carpet","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","dflt":"\"Open Sans\", verdana, arial, sans-serif","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"dflt":12,"editType":"calc","min":1,"valType":"number"}},"ids":{"anim":true,"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"type":"carpet","uid":{"anim":true,"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"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.","editType":"calc+clearAxisTypes","valType":"data_array"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"A two dimensional array of y coordinates at each carpet point.","editType":"calc+clearAxisTypes","valType":"data_array"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"zorder":{"description":"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`.","dflt":0,"editType":"plot","valType":"integer"}},"categories":["cartesian","svg","carpet","carpetAxis","notLegendIsolatable","noMultiCategory","noHover","noSortingByValue"],"meta":{"description":"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`."},"type":"carpet"},"choropleth":{"animatable":false,"attributes":{"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"featureidkey":{"description":"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*.","dflt":"id","editType":"calc","valType":"string"},"geo":{"description":"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.","dflt":"geo","editType":"calc","valType":"subplotid"},"geojson":{"description":"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*.","editType":"calc","valType":"any"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":["location","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"locationmode":{"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","values":["ISO-3","USA-states","country names","geojson-id"]},"locations":{"description":"Sets the coordinates via location IDs or names. See `locationmode` for more info.","editType":"calc","valType":"data_array"},"locationssrc":{"description":"Sets the source reference on Chart Studio Cloud for `locations`.","editType":"none","valType":"string"},"marker":{"editType":"calc","line":{"color":{"arrayOk":true,"description":"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.","dflt":"#444","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","dflt":1,"editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the opacity of the locations.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"role":"object"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"selected":{"editType":"plot","marker":{"editType":"plot","opacity":{"description":"Sets the marker opacity of selected points.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object"},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"Sets the text elements associated with each location.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"choropleth","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"plot","marker":{"editType":"plot","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"z":{"description":"Sets the color values.","editType":"calc","valType":"data_array"},"zauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"zmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"zmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["geo","noOpacity","showLegend"],"meta":{"description":"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`."},"type":"choropleth"},"choroplethmapbox":{"animatable":false,"attributes":{"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"below":{"description":"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.","editType":"plot","valType":"string"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"featureidkey":{"description":"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*.","dflt":"id","editType":"calc","valType":"string"},"geojson":{"description":"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*.","editType":"calc","valType":"any"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":["location","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"locations":{"description":"Sets which features found in *geojson* to plot using their feature `id` field.","editType":"calc","valType":"data_array"},"locationssrc":{"description":"Sets the source reference on Chart Studio Cloud for `locations`.","editType":"none","valType":"string"},"marker":{"editType":"calc","line":{"color":{"arrayOk":true,"description":"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.","dflt":"#444","editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","dflt":1,"editType":"plot","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the opacity of the locations.","dflt":1,"editType":"plot","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"role":"object"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"selected":{"editType":"plot","marker":{"editType":"plot","opacity":{"description":"Sets the marker opacity of selected points.","editType":"plot","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object"},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"subplot":{"description":"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.","dflt":"mapbox","editType":"calc","valType":"subplotid"},"text":{"arrayOk":true,"description":"Sets the text elements associated with each location.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"choroplethmapbox","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"plot","marker":{"editType":"plot","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"plot","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"z":{"description":"Sets the color values.","editType":"calc","valType":"data_array"},"zauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"zmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"zmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["mapbox","gl","noOpacity","showLegend"],"meta":{"description":"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`.","hr_name":"choropleth_mapbox"},"type":"choroplethmapbox"},"cone":{"animatable":false,"attributes":{"anchor":{"description":"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.","dflt":"cm","editType":"calc","valType":"enumerated","values":["tip","tail","cm","center"]},"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"x+y+z+norm+text+name","editType":"calc","extras":["all","none","skip"],"flags":["x","y","z","u","v","w","norm","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"lighting":{"ambient":{"description":"Ambient light increases overall color visibility but can wash out the image.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"diffuse":{"description":"Represents the extent that incident rays are reflected in a range of angles.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"editType":"calc","facenormalsepsilon":{"description":"Epsilon for face normals calculation avoids math issues arising from degenerate geometry.","dflt":0.000001,"editType":"calc","max":1,"min":0,"valType":"number"},"fresnel":{"description":"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.","dflt":0.2,"editType":"calc","max":5,"min":0,"valType":"number"},"role":"object","roughness":{"description":"Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.","dflt":0.5,"editType":"calc","max":1,"min":0,"valType":"number"},"specular":{"description":"Represents the level that incident rays are reflected in a single direction, causing shine.","dflt":0.05,"editType":"calc","max":2,"min":0,"valType":"number"},"vertexnormalsepsilon":{"description":"Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.","dflt":1e-12,"editType":"calc","max":1,"min":0,"valType":"number"}},"lightposition":{"editType":"calc","role":"object","x":{"description":"Numeric vector, representing the X coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"y":{"description":"Numeric vector, representing the Y coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"z":{"description":"Numeric vector, representing the Z coordinate for each vertex.","dflt":0,"editType":"calc","max":100000,"min":-100000,"valType":"number"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"scene":{"description":"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.","dflt":"scene","editType":"calc+clearAxisTypes","valType":"subplotid"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"sizemode":{"description":"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*.","dflt":"scaled","editType":"calc","valType":"enumerated","values":["scaled","absolute","raw"]},"sizeref":{"description":"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.","editType":"calc","min":0,"valType":"number"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"type":"cone","u":{"description":"Sets the x components of the vector field.","editType":"calc","valType":"data_array"},"uhoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"usrc":{"description":"Sets the source reference on Chart Studio Cloud for `u`.","editType":"none","valType":"string"},"v":{"description":"Sets the y components of the vector field.","editType":"calc","valType":"data_array"},"vhoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"vsrc":{"description":"Sets the source reference on Chart Studio Cloud for `v`.","editType":"none","valType":"string"},"w":{"description":"Sets the z components of the vector field.","editType":"calc","valType":"data_array"},"whoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"wsrc":{"description":"Sets the source reference on Chart Studio Cloud for `w`.","editType":"none","valType":"string"},"x":{"description":"Sets the x coordinates of the vector field and of the displayed cones.","editType":"calc+clearAxisTypes","valType":"data_array"},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y coordinates of the vector field and of the displayed cones.","editType":"calc+clearAxisTypes","valType":"data_array"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"Sets the z coordinates of the vector field and of the displayed cones.","editType":"calc+clearAxisTypes","valType":"data_array"},"zhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["gl3d","showLegend"],"meta":{"description":"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`."},"type":"cone"},"contour":{"animatable":false,"attributes":{"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":false,"editType":"calc","impliedEdits":{},"valType":"boolean"},"autocontour":{"description":"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`.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"connectgaps":{"description":"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.","editType":"calc","valType":"boolean"},"contours":{"coloring":{"description":"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.","dflt":"fill","editType":"calc","valType":"enumerated","values":["fill","heatmap","lines","none"]},"editType":"calc","end":{"description":"Sets the end contour level value. Must be more than `contours.start`","dflt":null,"editType":"plot","impliedEdits":{"^autocontour":false},"valType":"number"},"impliedEdits":{"autocontour":false,"role":"object"},"labelfont":{"color":{"editType":"style","valType":"color"},"description":"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`.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"labelformat":{"description":"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.","dflt":"","editType":"plot","valType":"string"},"operation":{"description":"Sets the constraint operation. *=* keeps regions equal to `value` *\u003c* and *\u003c=* keep regions less than `value` *\u003e* and *\u003e=* 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.","dflt":"=","editType":"calc","valType":"enumerated","values":["=","\u003c","\u003e=","\u003e","\u003c=","[]","()","[)","(]","][",")(","](",")["]},"role":"object","showlabels":{"description":"Determines whether to label the contour lines with their values.","dflt":false,"editType":"plot","valType":"boolean"},"showlines":{"description":"Determines whether or not the contour lines are drawn. Has an effect only if `contours.coloring` is set to *fill*.","dflt":true,"editType":"plot","valType":"boolean"},"size":{"description":"Sets the step between each contour level. Must be positive.","dflt":null,"editType":"plot","impliedEdits":{"^autocontour":false},"min":0,"valType":"number"},"start":{"description":"Sets the starting contour level value. Must be less than `contours.end`","dflt":null,"editType":"plot","impliedEdits":{"^autocontour":false},"valType":"number"},"type":{"description":"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.","dflt":"levels","editType":"calc","valType":"enumerated","values":["levels","constraint"]},"value":{"description":"Sets the value or values of the constraint boundary. When `operation` is set to one of the comparison values (=,\u003c,\u003e=,\u003e,\u003c=) *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.","dflt":0,"editType":"calc","valType":"any"}},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dx":{"description":"Sets the x coordinate step. See `x0` for more info.","dflt":1,"editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"number"},"dy":{"description":"Sets the y coordinate step. See `y0` for more info.","dflt":1,"editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"number"},"fillcolor":{"description":"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.","editType":"calc","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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.","dflt":true,"editType":"none","valType":"boolean"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"description":"Same as `text`.","editType":"calc","valType":"data_array"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"color":{"description":"Sets the color of the contour level. Has no effect if `contours.coloring` is set to *lines*.","editType":"style+colorbars","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"plot","role":"object","smoothing":{"description":"Sets the amount of smoothing for the contour lines, where *0* corresponds to no smoothing.","dflt":1,"editType":"plot","max":1.3,"min":0,"valType":"number"},"width":{"description":"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*.","editType":"style+colorbars","min":0,"valType":"number"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"ncontours":{"description":"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.","dflt":15,"editType":"calc","min":1,"valType":"integer"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"Sets the text elements associated with each z value.","editType":"calc","valType":"data_array"},"textfont":{"color":{"dflt":"auto","editType":"style","valType":"color"},"description":"For this trace it only has an effect if `coloring` is set to *heatmap*. Sets the text font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"dflt":"auto","editType":"plot","min":1,"valType":"number"}},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"description":"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`.","dflt":"","editType":"plot","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"transpose":{"description":"Transposes the z data.","dflt":false,"editType":"calc","valType":"boolean"},"type":"contour","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","impliedEdits":{"xtype":"array"},"valType":"data_array"},"x0":{"description":"Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.","dflt":0,"editType":"calc+clearAxisTypes","impliedEdits":{"xtype":"scaled"},"valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"any"},"xperiod0":{"description":"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.","editType":"calc","valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"xtype":{"description":"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).","editType":"calc+clearAxisTypes","valType":"enumerated","values":["array","scaled"]},"y":{"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","impliedEdits":{"ytype":"array"},"valType":"data_array"},"y0":{"description":"Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.","dflt":0,"editType":"calc+clearAxisTypes","impliedEdits":{"ytype":"scaled"},"valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"yperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the y axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"any"},"yperiod0":{"description":"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.","editType":"calc","valType":"any"},"yperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.","dflt":"middle","editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"enumerated","values":["start","middle","end"]},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"ytype":{"description":"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)","editType":"calc+clearAxisTypes","valType":"enumerated","values":["array","scaled"]},"z":{"description":"Sets the z data.","editType":"calc","valType":"data_array"},"zauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"zhoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"zmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"zmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zorder":{"description":"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`.","dflt":0,"editType":"plot","valType":"integer"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["cartesian","svg","2dMap","contour","showLegend"],"meta":{"description":"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."},"type":"contour"},"contourcarpet":{"animatable":false,"attributes":{"a":{"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","impliedEdits":{"xtype":"array"},"valType":"data_array"},"a0":{"description":"Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.","dflt":0,"editType":"calc+clearAxisTypes","impliedEdits":{"xtype":"scaled"},"valType":"any"},"asrc":{"description":"Sets the source reference on Chart Studio Cloud for `a`.","editType":"none","valType":"string"},"atype":{"description":"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).","editType":"calc+clearAxisTypes","valType":"enumerated","values":["array","scaled"]},"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":false,"editType":"calc","impliedEdits":{},"valType":"boolean"},"autocontour":{"description":"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`.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"b":{"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","impliedEdits":{"ytype":"array"},"valType":"data_array"},"b0":{"description":"Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.","dflt":0,"editType":"calc+clearAxisTypes","impliedEdits":{"ytype":"scaled"},"valType":"any"},"bsrc":{"description":"Sets the source reference on Chart Studio Cloud for `b`.","editType":"none","valType":"string"},"btype":{"description":"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)","editType":"calc+clearAxisTypes","valType":"enumerated","values":["array","scaled"]},"carpet":{"description":"The `carpet` of the carpet axes on which this contour trace lies","editType":"calc","valType":"string"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"contours":{"coloring":{"description":"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.","dflt":"fill","editType":"calc","valType":"enumerated","values":["fill","lines","none"]},"editType":"calc","end":{"description":"Sets the end contour level value. Must be more than `contours.start`","dflt":null,"editType":"plot","impliedEdits":{"^autocontour":false},"valType":"number"},"impliedEdits":{"autocontour":false,"role":"object"},"labelfont":{"color":{"editType":"style","valType":"color"},"description":"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`.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"labelformat":{"description":"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.","dflt":"","editType":"plot","valType":"string"},"operation":{"description":"Sets the constraint operation. *=* keeps regions equal to `value` *\u003c* and *\u003c=* keep regions less than `value` *\u003e* and *\u003e=* 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.","dflt":"=","editType":"calc","valType":"enumerated","values":["=","\u003c","\u003e=","\u003e","\u003c=","[]","()","[)","(]","][",")(","](",")["]},"role":"object","showlabels":{"description":"Determines whether to label the contour lines with their values.","dflt":false,"editType":"plot","valType":"boolean"},"showlines":{"description":"Determines whether or not the contour lines are drawn. Has an effect only if `contours.coloring` is set to *fill*.","dflt":true,"editType":"plot","valType":"boolean"},"size":{"description":"Sets the step between each contour level. Must be positive.","dflt":null,"editType":"plot","impliedEdits":{"^autocontour":false},"min":0,"valType":"number"},"start":{"description":"Sets the starting contour level value. Must be less than `contours.end`","dflt":null,"editType":"plot","impliedEdits":{"^autocontour":false},"valType":"number"},"type":{"description":"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.","dflt":"levels","editType":"calc","valType":"enumerated","values":["levels","constraint"]},"value":{"description":"Sets the value or values of the constraint boundary. When `operation` is set to one of the comparison values (=,\u003c,\u003e=,\u003e,\u003c=) *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.","dflt":0,"editType":"calc","valType":"any"}},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"da":{"description":"Sets the x coordinate step. See `x0` for more info.","dflt":1,"editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"number"},"db":{"description":"Sets the y coordinate step. See `y0` for more info.","dflt":1,"editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"number"},"fillcolor":{"description":"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.","editType":"calc","valType":"color"},"hovertext":{"description":"Same as `text`.","editType":"calc","valType":"data_array"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"color":{"description":"Sets the color of the contour level. Has no effect if `contours.coloring` is set to *lines*.","editType":"style+colorbars","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"plot","role":"object","smoothing":{"description":"Sets the amount of smoothing for the contour lines, where *0* corresponds to no smoothing.","dflt":1,"editType":"plot","max":1.3,"min":0,"valType":"number"},"width":{"description":"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*.","editType":"style+colorbars","min":0,"valType":"number"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"ncontours":{"description":"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.","dflt":15,"editType":"calc","min":1,"valType":"integer"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"Sets the text elements associated with each z value.","editType":"calc","valType":"data_array"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"transpose":{"description":"Transposes the z data.","dflt":false,"editType":"calc","valType":"boolean"},"type":"contourcarpet","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"z":{"description":"Sets the z data.","editType":"calc","valType":"data_array"},"zauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"zmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"zauto":false},"valType":"number"},"zmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"zmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"zauto":false},"valType":"number"},"zorder":{"description":"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`.","dflt":0,"editType":"plot","valType":"integer"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["cartesian","svg","carpet","contour","symbols","showLegend","hasLines","carpetDependent","noHover","noSortingByValue"],"meta":{"description":"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.","hrName":"contour_carpet"},"type":"contourcarpet"},"densitymapbox":{"animatable":false,"attributes":{"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"below":{"description":"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.","editType":"plot","valType":"string"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["lon","lat","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"lat":{"description":"Sets the latitude coordinates (in degrees North).","editType":"calc","valType":"data_array"},"latsrc":{"description":"Sets the source reference on Chart Studio Cloud for `lat`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"lon":{"description":"Sets the longitude coordinates (in degrees East).","editType":"calc","valType":"data_array"},"lonsrc":{"description":"Sets the source reference on Chart Studio Cloud for `lon`.","editType":"none","valType":"string"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"radius":{"arrayOk":true,"description":"Sets the radius of influence of one `lon` / `lat` point in pixels. Increasing the value makes the densitymapbox trace smoother, but less detailed.","dflt":30,"editType":"plot","min":1,"valType":"number"},"radiussrc":{"description":"Sets the source reference on Chart Studio Cloud for `radius`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"subplot":{"description":"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.","dflt":"mapbox","editType":"calc","valType":"subplotid"},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"densitymapbox","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"z":{"description":"Sets the points' weight. For example, a value of 10 would be equivalent to having 10 points of weight 1 in the same spot","editType":"calc","valType":"data_array"},"zauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"zmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"zmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["mapbox","gl","showLegend"],"meta":{"description":"Draws a bivariate kernel density estimation with a Gaussian kernel from `lon` and `lat` coordinates and optional `z` values using a colorscale.","hr_name":"density_mapbox"},"type":"densitymapbox"},"funnel":{"animatable":false,"attributes":{"alignmentgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"cliponaxis":{"description":"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*.","dflt":true,"editType":"plot","valType":"boolean"},"connector":{"editType":"plot","fillcolor":{"description":"Sets the fill color.","editType":"style","valType":"color"},"line":{"color":{"description":"Sets the line color.","dflt":"#444","editType":"style","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"style","role":"object","width":{"description":"Sets the line width (in px).","dflt":0,"editType":"plot","min":0,"valType":"number"}},"role":"object","visible":{"description":"Determines if connector regions and lines are drawn.","dflt":true,"editType":"plot","valType":"boolean"}},"constraintext":{"description":"Constrain the size of text inside or outside a bar to be no larger than the bar itself.","dflt":"both","editType":"calc","valType":"enumerated","values":["inside","outside","both","none"]},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dx":{"description":"Sets the x coordinate step. See `x0` for more info.","dflt":1,"editType":"calc","valType":"number"},"dy":{"description":"Sets the y coordinate step. See `y0` for more info.","dflt":1,"editType":"calc","valType":"number"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["name","x","y","text","percent initial","percent previous","percent total"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"insidetextanchor":{"description":"Determines if texts are kept at center or start/end points in `textposition` *inside* mode.","dflt":"middle","editType":"plot","valType":"enumerated","values":["end","middle","start"]},"insidetextfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `text` lying inside the bar.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"marker":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","dflt":0,"editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the opacity of the bars.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"offset":{"arrayOk":false,"description":"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.","dflt":null,"editType":"calc","valType":"number"},"offsetgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"orientation":{"description":"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*.","editType":"calc+clearAxisTypes","valType":"enumerated","values":["v","h"]},"outsidetextfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `text` lying outside the bar.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textangle":{"description":"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.","dflt":0,"editType":"plot","valType":"angle"},"textfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `text`.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textinfo":{"arrayOk":false,"description":"Determines which trace information appear on the graph. In the case of having multiple funnels, percentages \u0026 totals are computed separately (per trace).","editType":"plot","extras":["none"],"flags":["label","text","percent initial","percent previous","percent total","value"],"valType":"flaglist"},"textposition":{"arrayOk":true,"description":"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.","dflt":"auto","editType":"calc","valType":"enumerated","values":["inside","outside","auto","none"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"funnel","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"width":{"arrayOk":false,"description":"Sets the bar width (in position axis units).","dflt":null,"editType":"calc","min":0,"valType":"number"},"x":{"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"x0":{"description":"Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"xperiod0":{"description":"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.","editType":"calc","valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"y0":{"description":"Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"yperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the y axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"yperiod0":{"description":"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.","editType":"calc","valType":"any"},"yperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"zorder":{"description":"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`.","dflt":0,"editType":"plot","valType":"integer"}},"categories":["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],"layoutAttributes":{"funnelgap":{"description":"Sets the gap (in plot fraction) between bars of adjacent location coordinates.","editType":"calc","max":1,"min":0,"valType":"number"},"funnelgroupgap":{"description":"Sets the gap (in plot fraction) between bars of the same location coordinate.","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"funnelmode":{"description":"Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars.","dflt":"stack","editType":"calc","valType":"enumerated","values":["stack","group","overlay"]}},"meta":{"description":"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."},"type":"funnel"},"funnelarea":{"animatable":false,"attributes":{"aspectratio":{"description":"Sets the ratio between height and width","dflt":1,"editType":"plot","min":0,"valType":"number"},"baseratio":{"description":"Sets the ratio between bottom length and maximum top length.","dflt":0.333,"editType":"plot","max":1,"min":0,"valType":"number"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dlabel":{"description":"Sets the label step. See `label0` for more info.","dflt":1,"editType":"calc","valType":"number"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this funnelarea trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"editType":"calc","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this funnelarea trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this funnelarea trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this funnelarea trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["label","text","value","percent","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"insidetextfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo` lying inside the sector.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"label0":{"description":"Alternate to `labels`. Builds a numeric set of labels. Use with `dlabel` where `label0` is the starting label and `dlabel` the step.","dflt":0,"editType":"calc","valType":"number"},"labels":{"description":"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.","editType":"calc","valType":"data_array"},"labelssrc":{"description":"Sets the source reference on Chart Studio Cloud for `labels`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"marker":{"colors":{"description":"Sets the color of each sector. If not specified, the default trace color set is used to pick the sector colors.","editType":"calc","valType":"data_array"},"colorssrc":{"description":"Sets the source reference on Chart Studio Cloud for `colors`.","editType":"none","valType":"string"},"editType":"calc","line":{"color":{"arrayOk":true,"description":"Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value.","dflt":null,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the line enclosing each sector.","dflt":1,"editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"pattern":{"bgcolor":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"description":"Sets the pattern within the marker.","editType":"style","fgcolor":{"arrayOk":true,"description":"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`.","editType":"style","valType":"color"},"fgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `fgcolor`.","editType":"none","valType":"string"},"fgopacity":{"description":"Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.","editType":"style","max":1,"min":0,"valType":"number"},"fillmode":{"description":"Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.","dflt":"replace","editType":"style","valType":"enumerated","values":["replace","overlay"]},"role":"object","shape":{"arrayOk":true,"description":"Sets the shape of the pattern fill. By default, no pattern is used for filling the area.","dflt":"","editType":"style","valType":"enumerated","values":["","/","\\","x","-","|","+","."]},"shapesrc":{"description":"Sets the source reference on Chart Studio Cloud for `shape`.","editType":"none","valType":"string"},"size":{"arrayOk":true,"description":"Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.","dflt":8,"editType":"style","min":0,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"solidity":{"arrayOk":true,"description":"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.","dflt":0.3,"editType":"style","max":1,"min":0,"valType":"number"},"soliditysrc":{"description":"Sets the source reference on Chart Studio Cloud for `solidity`.","editType":"none","valType":"string"}},"role":"object"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"scalegroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"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.","editType":"plot","valType":"data_array"},"textfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo`.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textinfo":{"description":"Determines which trace information appear on the graph.","editType":"calc","extras":["none"],"flags":["label","text","value","percent"],"valType":"flaglist"},"textposition":{"arrayOk":true,"description":"Specifies the location of the `textinfo`.","dflt":"inside","editType":"plot","valType":"enumerated","values":["inside","none"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"title":{"editType":"plot","font":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `title`. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"position":{"description":"Specifies the location of the `title`. Note that the title's position used to be set by the now deprecated `titleposition` attribute.","dflt":"top center","editType":"plot","valType":"enumerated","values":["top left","top center","top right"]},"role":"object","text":{"description":"Sets the title of the chart. If it is empty, no title is displayed. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","dflt":"","editType":"plot","valType":"string"}},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"funnelarea","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"values":{"description":"Sets the values of the sectors. If omitted, we count occurrences of each label.","editType":"calc","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["pie-like","funnelarea","showLegend"],"layoutAttributes":{"extendfunnelareacolors":{"description":"If `true`, the funnelarea slice colors (whether given by `funnelareacolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended.","dflt":true,"editType":"calc","valType":"boolean"},"funnelareacolorway":{"description":"Sets the default funnelarea slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendfunnelareacolors`.","editType":"calc","valType":"colorlist"},"hiddenlabels":{"description":"hiddenlabels is the funnelarea \u0026 pie chart analog of visible:'legendonly' but it can contain many labels, and can simultaneously hide slices from several pies/funnelarea charts","editType":"calc","valType":"data_array"},"hiddenlabelssrc":{"description":"Sets the source reference on Chart Studio Cloud for `hiddenlabels`.","editType":"none","valType":"string"}},"meta":{"description":"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."},"type":"funnelarea"},"heatmap":{"animatable":false,"attributes":{"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":false,"editType":"calc","impliedEdits":{},"valType":"boolean"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"connectgaps":{"description":"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.","editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dx":{"description":"Sets the x coordinate step. See `x0` for more info.","dflt":1,"editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"number"},"dy":{"description":"Sets the y coordinate step. See `y0` for more info.","dflt":1,"editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"number"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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.","dflt":true,"editType":"none","valType":"boolean"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"description":"Same as `text`.","editType":"calc","valType":"data_array"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"Sets the text elements associated with each z value.","editType":"calc","valType":"data_array"},"textfont":{"color":{"dflt":"auto","editType":"style","valType":"color"},"description":"Sets the text font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"dflt":"auto","editType":"plot","min":1,"valType":"number"}},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"description":"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`.","dflt":"","editType":"plot","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"transpose":{"description":"Transposes the z data.","dflt":false,"editType":"calc","valType":"boolean"},"type":"heatmap","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","impliedEdits":{"xtype":"array"},"valType":"data_array"},"x0":{"description":"Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.","dflt":0,"editType":"calc+clearAxisTypes","impliedEdits":{"xtype":"scaled"},"valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xgap":{"description":"Sets the horizontal gap (in pixels) between bricks.","dflt":0,"editType":"plot","min":0,"valType":"number"},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"any"},"xperiod0":{"description":"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.","editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"xtype":{"description":"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).","editType":"calc+clearAxisTypes","valType":"enumerated","values":["array","scaled"]},"y":{"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","impliedEdits":{"ytype":"array"},"valType":"data_array"},"y0":{"description":"Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.","dflt":0,"editType":"calc+clearAxisTypes","impliedEdits":{"ytype":"scaled"},"valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"ygap":{"description":"Sets the vertical gap (in pixels) between bricks.","dflt":0,"editType":"plot","min":0,"valType":"number"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"yperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the y axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"any"},"yperiod0":{"description":"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.","editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"any"},"yperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.","dflt":"middle","editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"enumerated","values":["start","middle","end"]},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"ytype":{"description":"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)","editType":"calc+clearAxisTypes","valType":"enumerated","values":["array","scaled"]},"z":{"description":"Sets the z data.","editType":"calc","valType":"data_array"},"zauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"zhoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"zmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"zauto":false},"valType":"number"},"zmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"zmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"zauto":false},"valType":"number"},"zorder":{"description":"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`.","dflt":0,"editType":"plot","valType":"integer"},"zsmooth":{"description":"Picks a smoothing algorithm use to smooth `z` data.","dflt":false,"editType":"calc","valType":"enumerated","values":["fast","best",false]},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["cartesian","svg","2dMap","showLegend"],"meta":{"description":"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."},"type":"heatmap"},"heatmapgl":{"animatable":false,"attributes":{"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":false,"editType":"calc","impliedEdits":{},"valType":"boolean"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"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*.","editType":"calc","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"calc","valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dx":{"description":"Sets the x coordinate step. See `x0` for more info.","dflt":1,"editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"number"},"dy":{"description":"Sets the y coordinate step. See `y0` for more info.","dflt":1,"editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"number"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"Sets the text elements associated with each z value.","editType":"calc","valType":"data_array"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"transpose":{"description":"Transposes the z data.","dflt":false,"editType":"calc","valType":"boolean"},"type":"heatmapgl","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the x coordinates.","editType":"calc","impliedEdits":{"xtype":"array"},"valType":"data_array"},"x0":{"description":"Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.","dflt":0,"editType":"calc","impliedEdits":{"xtype":"scaled"},"valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"xtype":{"description":"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).","editType":"calc","valType":"enumerated","values":["array","scaled"]},"y":{"description":"Sets the y coordinates.","editType":"calc","impliedEdits":{"ytype":"array"},"valType":"data_array"},"y0":{"description":"Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.","dflt":0,"editType":"calc","impliedEdits":{"ytype":"scaled"},"valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"ytype":{"description":"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)","editType":"calc","valType":"enumerated","values":["array","scaled"]},"z":{"description":"Sets the z data.","editType":"calc","valType":"data_array"},"zauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"zmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"zmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zsmooth":{"description":"Picks a smoothing algorithm use to smooth `z` data.","dflt":"fast","editType":"calc","valType":"enumerated","values":["fast",false]},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["gl","gl2d","2dMap"],"meta":{"description":"*heatmapgl* trace is deprecated! Please consider switching to the *heatmap* or *image* trace types. Alternatively you could contribute/sponsor rewriting this trace type based on cartesian features and using regl framework. WebGL version of the heatmap trace type."},"type":"heatmapgl"},"histogram":{"animatable":false,"attributes":{"_deprecated":{"bardir":{"description":"Renamed to `orientation`.","editType":"calc","valType":"enumerated","values":["v","h"]}},"alignmentgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"autobinx":{"description":"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.","dflt":null,"editType":"calc","valType":"boolean"},"autobiny":{"description":"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.","dflt":null,"editType":"calc","valType":"boolean"},"bingroup":{"description":"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`","dflt":"","editType":"calc","valType":"string"},"cliponaxis":{"description":"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*.","dflt":true,"editType":"plot","valType":"boolean"},"constraintext":{"description":"Constrain the size of text inside or outside a bar to be no larger than the bar itself.","dflt":"both","editType":"calc","valType":"enumerated","values":["inside","outside","both","none"]},"cumulative":{"currentbin":{"description":"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.","dflt":"include","editType":"calc","valType":"enumerated","values":["include","exclude","half"]},"direction":{"description":"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.","dflt":"increasing","editType":"calc","valType":"enumerated","values":["increasing","decreasing"]},"editType":"calc","enabled":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"error_x":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"style","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"style","valType":"color"},"copy_ystyle":{"editType":"plot","valType":"boolean"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"style","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"plot","min":0,"valType":"number"}},"error_y":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"style","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"style","valType":"color"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"style","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"plot","min":0,"valType":"number"}},"histfunc":{"description":"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.","dflt":"count","editType":"calc","valType":"enumerated","values":["count","sum","avg","min","max"]},"histnorm":{"description":"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).","dflt":"","editType":"calc","valType":"enumerated","values":["","percent","probability","density","probability density"]},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"insidetextanchor":{"description":"Determines if texts are kept at center or start/end points in `textposition` *inside* mode.","dflt":"end","editType":"plot","valType":"enumerated","values":["end","middle","start"]},"insidetextfont":{"color":{"editType":"style","valType":"color"},"description":"Sets the font used for `text` lying inside the bar.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"marker":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"cornerradius":{"description":"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.","editType":"calc","valType":"any"},"editType":"calc","line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","dflt":0,"editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the opacity of the bars.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"pattern":{"bgcolor":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"description":"Sets the pattern within the marker.","editType":"style","fgcolor":{"arrayOk":true,"description":"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`.","editType":"style","valType":"color"},"fgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `fgcolor`.","editType":"none","valType":"string"},"fgopacity":{"description":"Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.","editType":"style","max":1,"min":0,"valType":"number"},"fillmode":{"description":"Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.","dflt":"replace","editType":"style","valType":"enumerated","values":["replace","overlay"]},"role":"object","shape":{"arrayOk":true,"description":"Sets the shape of the pattern fill. By default, no pattern is used for filling the area.","dflt":"","editType":"style","valType":"enumerated","values":["","/","\\","x","-","|","+","."]},"shapesrc":{"description":"Sets the source reference on Chart Studio Cloud for `shape`.","editType":"none","valType":"string"},"size":{"arrayOk":true,"description":"Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.","dflt":8,"editType":"style","min":0,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"solidity":{"arrayOk":true,"description":"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.","dflt":0.3,"editType":"style","max":1,"min":0,"valType":"number"},"soliditysrc":{"description":"Sets the source reference on Chart Studio Cloud for `solidity`.","editType":"none","valType":"string"}},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"nbinsx":{"description":"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.","dflt":0,"editType":"calc","min":0,"valType":"integer"},"nbinsy":{"description":"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.","dflt":0,"editType":"calc","min":0,"valType":"integer"},"offsetgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"orientation":{"description":"Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal).","editType":"calc+clearAxisTypes","valType":"enumerated","values":["v","h"]},"outsidetextfont":{"color":{"editType":"style","valType":"color"},"description":"Sets the font used for `text` lying outside the bar.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textangle":{"description":"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.","dflt":"auto","editType":"plot","valType":"angle"},"textfont":{"color":{"editType":"style","valType":"color"},"description":"Sets the text font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"textposition":{"arrayOk":false,"description":"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.","dflt":"auto","editType":"calc","valType":"enumerated","values":["inside","outside","auto","none"]},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"description":"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`.","dflt":"","editType":"plot","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"histogram","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the sample data to be binned on the x axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xbins":{"editType":"calc","end":{"description":"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.","editType":"calc","valType":"any"},"role":"object","size":{"description":"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\u003cn\u003e* 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.","editType":"calc","valType":"any"},"start":{"description":"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.","editType":"calc","valType":"any"}},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the sample data to be binned on the y axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ybins":{"editType":"calc","end":{"description":"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.","editType":"calc","valType":"any"},"role":"object","size":{"description":"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\u003cn\u003e* 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.","editType":"calc","valType":"any"},"start":{"description":"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.","editType":"calc","valType":"any"}},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"zorder":{"description":"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`.","dflt":0,"editType":"plot","valType":"integer"}},"categories":["bar-like","cartesian","svg","bar","histogram","oriented","errorBarsOK","showLegend"],"layoutAttributes":{"barcornerradius":{"description":"Sets the rounding of bar corners. May be an integer number of pixels, or a percentage of bar width (as a string ending in %).","editType":"calc","valType":"any"},"bargap":{"description":"Sets the gap (in plot fraction) between bars of adjacent location coordinates.","editType":"calc","max":1,"min":0,"valType":"number"},"bargroupgap":{"description":"Sets the gap (in plot fraction) between bars of the same location coordinate.","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"barmode":{"description":"Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *relative*, the bars are stacked on top of one another, with negative values below the axis, positive values above With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars.","dflt":"group","editType":"calc","valType":"enumerated","values":["stack","group","overlay","relative"]},"barnorm":{"description":"Sets the normalization for bar traces on the graph. With *fraction*, the value of each bar is divided by the sum of all values at that location coordinate. *percent* is the same but multiplied by 100 to show percentages.","dflt":"","editType":"calc","valType":"enumerated","values":["","fraction","percent"]}},"meta":{"description":"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."},"type":"histogram"},"histogram2d":{"animatable":false,"attributes":{"autobinx":{"description":"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.","dflt":null,"editType":"calc","valType":"boolean"},"autobiny":{"description":"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.","dflt":null,"editType":"calc","valType":"boolean"},"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":false,"editType":"calc","impliedEdits":{},"valType":"boolean"},"bingroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"histfunc":{"description":"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.","dflt":"count","editType":"calc","valType":"enumerated","values":["count","sum","avg","min","max"]},"histnorm":{"description":"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).","dflt":"","editType":"calc","valType":"enumerated","values":["","percent","probability","density","probability density"]},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"marker":{"color":{"description":"Sets the aggregation data.","editType":"calc","valType":"data_array"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"nbinsx":{"description":"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.","dflt":0,"editType":"calc","min":0,"valType":"integer"},"nbinsy":{"description":"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.","dflt":0,"editType":"calc","min":0,"valType":"integer"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"textfont":{"color":{"dflt":"auto","editType":"style","valType":"color"},"description":"Sets the text font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"dflt":"auto","editType":"plot","min":1,"valType":"number"}},"texttemplate":{"description":"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`","dflt":"","editType":"plot","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"histogram2d","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the sample data to be binned on the x axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xbingroup":{"description":"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`","dflt":"","editType":"calc","valType":"string"},"xbins":{"editType":"calc","end":{"description":"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.","editType":"calc","valType":"any"},"role":"object","size":{"description":"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\u003cn\u003e* for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). ","editType":"calc","valType":"any"},"start":{"description":"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. ","editType":"calc","valType":"any"}},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xgap":{"description":"Sets the horizontal gap (in pixels) between bricks.","dflt":0,"editType":"plot","min":0,"valType":"number"},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the sample data to be binned on the y axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ybingroup":{"description":"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`","dflt":"","editType":"calc","valType":"string"},"ybins":{"editType":"calc","end":{"description":"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.","editType":"calc","valType":"any"},"role":"object","size":{"description":"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\u003cn\u003e* for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). ","editType":"calc","valType":"any"},"start":{"description":"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. ","editType":"calc","valType":"any"}},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"ygap":{"description":"Sets the vertical gap (in pixels) between bricks.","dflt":0,"editType":"plot","min":0,"valType":"number"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"Sets the aggregation data.","editType":"calc","valType":"data_array"},"zauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"zhoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"zmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"zauto":false},"valType":"number"},"zmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"zmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"zauto":false},"valType":"number"},"zsmooth":{"description":"Picks a smoothing algorithm use to smooth `z` data.","dflt":false,"editType":"calc","valType":"enumerated","values":["fast","best",false]},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["cartesian","svg","2dMap","histogram","showLegend"],"meta":{"description":"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.","hrName":"histogram_2d"},"type":"histogram2d"},"histogram2dcontour":{"animatable":false,"attributes":{"autobinx":{"description":"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.","dflt":null,"editType":"calc","valType":"boolean"},"autobiny":{"description":"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.","dflt":null,"editType":"calc","valType":"boolean"},"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"autocontour":{"description":"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`.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"bingroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"contours":{"coloring":{"description":"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.","dflt":"fill","editType":"calc","valType":"enumerated","values":["fill","heatmap","lines","none"]},"editType":"calc","end":{"description":"Sets the end contour level value. Must be more than `contours.start`","dflt":null,"editType":"plot","impliedEdits":{"^autocontour":false},"valType":"number"},"impliedEdits":{"autocontour":false,"role":"object"},"labelfont":{"color":{"editType":"style","valType":"color"},"description":"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`.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"labelformat":{"description":"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.","dflt":"","editType":"plot","valType":"string"},"operation":{"description":"Sets the constraint operation. *=* keeps regions equal to `value` *\u003c* and *\u003c=* keep regions less than `value` *\u003e* and *\u003e=* 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.","dflt":"=","editType":"calc","valType":"enumerated","values":["=","\u003c","\u003e=","\u003e","\u003c=","[]","()","[)","(]","][",")(","](",")["]},"role":"object","showlabels":{"description":"Determines whether to label the contour lines with their values.","dflt":false,"editType":"plot","valType":"boolean"},"showlines":{"description":"Determines whether or not the contour lines are drawn. Has an effect only if `contours.coloring` is set to *fill*.","dflt":true,"editType":"plot","valType":"boolean"},"size":{"description":"Sets the step between each contour level. Must be positive.","dflt":null,"editType":"plot","impliedEdits":{"^autocontour":false},"min":0,"valType":"number"},"start":{"description":"Sets the starting contour level value. Must be less than `contours.end`","dflt":null,"editType":"plot","impliedEdits":{"^autocontour":false},"valType":"number"},"type":{"description":"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.","dflt":"levels","editType":"calc","valType":"enumerated","values":["levels","constraint"]},"value":{"description":"Sets the value or values of the constraint boundary. When `operation` is set to one of the comparison values (=,\u003c,\u003e=,\u003e,\u003c=) *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.","dflt":0,"editType":"calc","valType":"any"}},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"histfunc":{"description":"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.","dflt":"count","editType":"calc","valType":"enumerated","values":["count","sum","avg","min","max"]},"histnorm":{"description":"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).","dflt":"","editType":"calc","valType":"enumerated","values":["","percent","probability","density","probability density"]},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"color":{"description":"Sets the color of the contour level. Has no effect if `contours.coloring` is set to *lines*.","editType":"style+colorbars","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"plot","role":"object","smoothing":{"description":"Sets the amount of smoothing for the contour lines, where *0* corresponds to no smoothing.","dflt":1,"editType":"plot","max":1.3,"min":0,"valType":"number"},"width":{"description":"Sets the contour line width in (in px)","dflt":0.5,"editType":"style+colorbars","min":0,"valType":"number"}},"marker":{"color":{"description":"Sets the aggregation data.","editType":"calc","valType":"data_array"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"nbinsx":{"description":"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.","dflt":0,"editType":"calc","min":0,"valType":"integer"},"nbinsy":{"description":"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.","dflt":0,"editType":"calc","min":0,"valType":"integer"},"ncontours":{"description":"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.","dflt":15,"editType":"calc","min":1,"valType":"integer"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"textfont":{"color":{"dflt":"auto","editType":"style","valType":"color"},"description":"For this trace it only has an effect if `coloring` is set to *heatmap*. Sets the text font.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"dflt":"auto","editType":"plot","min":1,"valType":"number"}},"texttemplate":{"description":"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`.","dflt":"","editType":"plot","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"histogram2dcontour","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the sample data to be binned on the x axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xbingroup":{"description":"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`","dflt":"","editType":"calc","valType":"string"},"xbins":{"editType":"calc","end":{"description":"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.","editType":"calc","valType":"any"},"role":"object","size":{"description":"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\u003cn\u003e* for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). ","editType":"calc","valType":"any"},"start":{"description":"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. ","editType":"calc","valType":"any"}},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the sample data to be binned on the y axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ybingroup":{"description":"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`","dflt":"","editType":"calc","valType":"string"},"ybins":{"editType":"calc","end":{"description":"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.","editType":"calc","valType":"any"},"role":"object","size":{"description":"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\u003cn\u003e* for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). ","editType":"calc","valType":"any"},"start":{"description":"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. ","editType":"calc","valType":"any"}},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"Sets the aggregation data.","editType":"calc","valType":"data_array"},"zauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"zhoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"zmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"zmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"zauto":false},"valType":"number"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["cartesian","svg","2dMap","contour","histogram","showLegend"],"meta":{"description":"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.","hrName":"histogram_2d_contour"},"type":"histogram2dcontour"},"icicle":{"animatable":true,"attributes":{"branchvalues":{"description":"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.","dflt":"remainder","editType":"calc","valType":"enumerated","values":["remainder","total"]},"count":{"description":"Determines default for `values` when it is not provided, by inferring a 1 for each of the *leaves* and/or *branches*, otherwise 0.","dflt":"leaves","editType":"calc","flags":["branches","leaves"],"valType":"flaglist"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this icicle trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"editType":"calc","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this icicle trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this icicle trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this icicle trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"label+text+value+name","editType":"none","extras":["all","none","skip"],"flags":["label","text","value","name","current path","percent root","percent entry","percent parent"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"ids":{"anim":true,"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"insidetextfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo` lying inside the sector.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"labels":{"description":"Sets the labels of each of the sectors.","editType":"calc","valType":"data_array"},"labelssrc":{"description":"Sets the source reference on Chart Studio Cloud for `labels`.","editType":"none","valType":"string"},"leaf":{"editType":"plot","opacity":{"description":"Sets the opacity of the leaves. With colorscale it is defaulted to 1; otherwise it is defaulted to 0.7","editType":"style","max":1,"min":0,"valType":"number"},"role":"object"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"level":{"anim":true,"description":"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`.","editType":"plot","valType":"any"},"marker":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colors":{"description":"Sets the color of each sector of this trace. If not specified, the default trace color set is used to pick the sector colors.","editType":"calc","valType":"data_array"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorssrc":{"description":"Sets the source reference on Chart Studio Cloud for `colors`.","editType":"none","valType":"string"},"editType":"calc","line":{"color":{"arrayOk":true,"description":"Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value.","dflt":null,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the line enclosing each sector.","dflt":1,"editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"pattern":{"bgcolor":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"description":"Sets the pattern within the marker.","editType":"style","fgcolor":{"arrayOk":true,"description":"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`.","editType":"style","valType":"color"},"fgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `fgcolor`.","editType":"none","valType":"string"},"fgopacity":{"description":"Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.","editType":"style","max":1,"min":0,"valType":"number"},"fillmode":{"description":"Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.","dflt":"replace","editType":"style","valType":"enumerated","values":["replace","overlay"]},"role":"object","shape":{"arrayOk":true,"description":"Sets the shape of the pattern fill. By default, no pattern is used for filling the area.","dflt":"","editType":"style","valType":"enumerated","values":["","/","\\","x","-","|","+","."]},"shapesrc":{"description":"Sets the source reference on Chart Studio Cloud for `shape`.","editType":"none","valType":"string"},"size":{"arrayOk":true,"description":"Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.","dflt":8,"editType":"style","min":0,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"solidity":{"arrayOk":true,"description":"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.","dflt":0.3,"editType":"style","max":1,"min":0,"valType":"number"},"soliditysrc":{"description":"Sets the source reference on Chart Studio Cloud for `solidity`.","editType":"none","valType":"string"}},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"Determines whether or not a colorbar is displayed for this trace. Has an effect only if colors is set to a numerical array.","dflt":false,"editType":"calc","valType":"boolean"}},"maxdepth":{"description":"Sets the number of rendered sectors from any given `level`. Set `maxdepth` to *-1* to render all the levels in the hierarchy.","dflt":-1,"editType":"plot","valType":"integer"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"outsidetextfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"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.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"parents":{"description":"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.","editType":"calc","valType":"data_array"},"parentssrc":{"description":"Sets the source reference on Chart Studio Cloud for `parents`.","editType":"none","valType":"string"},"pathbar":{"edgeshape":{"description":"Determines which shape is used for edges between `barpath` labels.","dflt":"\u003e","editType":"plot","valType":"enumerated","values":["\u003e","\u003c","|","/","\\"]},"editType":"calc","role":"object","side":{"description":"Determines on which side of the the treemap the `pathbar` should be presented.","dflt":"top","editType":"plot","valType":"enumerated","values":["top","bottom"]},"textfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used inside `pathbar`.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"thickness":{"description":"Sets the thickness of `pathbar` (in px). If not specified the `pathbar.textfont.size` is used with 3 pixles extra padding on each side.","editType":"plot","min":12,"valType":"number"},"visible":{"description":"Determines if the path bar is drawn i.e. outside the trace `domain` and with one pixel gap.","dflt":true,"editType":"plot","valType":"boolean"}},"root":{"color":{"description":"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.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"editType":"calc","role":"object"},"sort":{"description":"Determines whether or not the sectors are reordered from largest to smallest.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"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.","editType":"plot","valType":"data_array"},"textfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo`.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textinfo":{"description":"Determines which trace information appear on the graph.","editType":"plot","extras":["none"],"flags":["label","text","value","current path","percent root","percent entry","percent parent"],"valType":"flaglist"},"textposition":{"description":"Sets the positions of the `text` elements.","dflt":"top left","editType":"plot","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"tiling":{"editType":"calc","flip":{"description":"Determines if the positions obtained from solver are flipped on each axis.","dflt":"","editType":"plot","flags":["x","y"],"valType":"flaglist"},"orientation":{"description":"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.","dflt":"h","editType":"plot","valType":"enumerated","values":["v","h"]},"pad":{"description":"Sets the inner padding (in px).","dflt":0,"editType":"plot","min":0,"valType":"number"},"role":"object"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"icicle","uid":{"anim":true,"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"values":{"description":"Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed.","editType":"calc","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":[],"layoutAttributes":{"extendiciclecolors":{"description":"If `true`, the icicle slice colors (whether given by `iciclecolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended.","dflt":true,"editType":"calc","valType":"boolean"},"iciclecolorway":{"description":"Sets the default icicle slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendiciclecolors`.","editType":"calc","valType":"colorlist"}},"meta":{"description":"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*."},"type":"icicle"},"image":{"animatable":false,"attributes":{"colormodel":{"description":"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`.","editType":"calc","valType":"enumerated","values":["rgb","rgba","rgba256","hsl","hsla"]},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dx":{"description":"Set the pixel's horizontal size.","dflt":1,"editType":"calc","valType":"number"},"dy":{"description":"Set the pixel's vertical size","dflt":1,"editType":"calc","valType":"number"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"x+y+z+text+name","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","color","name","text"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"description":"Same as `text`.","editType":"plot","valType":"data_array"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"source":{"description":"Specifies the data URI of the image to be visualized. The URI consists of \"data:image/[\u003cmedia subtype\u003e][;base64],\u003cdata\u003e\"","editType":"calc","valType":"string"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"Sets the text elements associated with each z value.","editType":"plot","valType":"data_array"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"type":"image","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x0":{"description":"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","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"y0":{"description":"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.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"z":{"description":"A 2-dimensional array in which each element is an array of 3 or 4 numbers representing a color.","editType":"calc","valType":"data_array"},"zmax":{"description":"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].","editType":"calc","items":[{"editType":"calc","valType":"number"},{"editType":"calc","valType":"number"},{"editType":"calc","valType":"number"},{"editType":"calc","valType":"number"}],"valType":"info_array"},"zmin":{"description":"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].","editType":"calc","items":[{"editType":"calc","valType":"number"},{"editType":"calc","valType":"number"},{"editType":"calc","valType":"number"},{"editType":"calc","valType":"number"}],"valType":"info_array"},"zorder":{"description":"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`.","dflt":0,"editType":"plot","valType":"integer"},"zsmooth":{"description":"Picks a smoothing algorithm used to smooth `z` data. This only applies for image traces that use the `source` attribute.","dflt":false,"editType":"plot","valType":"enumerated","values":["fast",false]},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["cartesian","svg","2dMap","noSortingByValue"],"meta":{"description":"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."},"type":"image"},"indicator":{"animatable":true,"attributes":{"align":{"description":"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","editType":"plot","valType":"enumerated","values":["left","center","right"]},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"delta":{"decreasing":{"color":{"description":"Sets the color for increasing value.","dflt":"#FF4136","editType":"plot","valType":"color"},"editType":"plot","role":"object","symbol":{"description":"Sets the symbol to display for increasing value","dflt":"▼","editType":"plot","valType":"string"}},"editType":"calc","font":{"color":{"editType":"plot","valType":"color"},"description":"Set the font used to display the delta","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"increasing":{"color":{"description":"Sets the color for increasing value.","dflt":"#3D9970","editType":"plot","valType":"color"},"editType":"plot","role":"object","symbol":{"description":"Sets the symbol to display for increasing value","dflt":"▲","editType":"plot","valType":"string"}},"position":{"description":"Sets the position of delta with respect to the number.","dflt":"bottom","editType":"plot","valType":"enumerated","values":["top","bottom","left","right"]},"prefix":{"description":"Sets a prefix appearing before the delta.","dflt":"","editType":"plot","valType":"string"},"reference":{"description":"Sets the reference value to compute the delta. By default, it is set to the current value.","editType":"calc","valType":"number"},"relative":{"description":"Show relative change","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","suffix":{"description":"Sets a suffix appearing next to the delta.","dflt":"","editType":"plot","valType":"string"},"valueformat":{"description":"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.","editType":"plot","valType":"string"}},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this indicator trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"editType":"calc","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this indicator trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this indicator trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this indicator trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"gauge":{"axis":{"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"plot","exponentformat":{"description":"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.","dflt":"B","editType":"plot","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"plot","valType":"any"},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"plot","min":0,"valType":"number"},"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,"editType":"plot","min":0,"valType":"integer"},"range":{"description":"Sets the range of this axis.","editType":"plot","items":[{"editType":"plot","valType":"number"},{"editType":"plot","valType":"number"}],"valType":"info_array"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"plot","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"plot","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"plot","valType":"enumerated","values":["all","first","last","none"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"plot","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"plot","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"plot","valType":"color"},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the color bar's tick label font","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"plot","items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"editType":"plot","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"plot","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"plot","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"plot","valType":"string"}}},"role":"object"},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"plot","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"plot","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"plot","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"plot","valType":"string"},"ticks":{"description":"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.","dflt":"outside","editType":"plot","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"plot","min":0,"valType":"number"},"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","dflt":true,"editType":"plot","valType":"boolean"}},"bar":{"color":{"description":"Sets the background color of the arc.","dflt":"green","editType":"plot","valType":"color"},"description":"Set the appearance of the gauge's value","editType":"calc","line":{"color":{"description":"Sets the color of the line enclosing each sector.","dflt":"#444","editType":"plot","valType":"color"},"editType":"calc","role":"object","width":{"description":"Sets the width (in px) of the line enclosing each sector.","dflt":0,"editType":"plot","min":0,"valType":"number"}},"role":"object","thickness":{"description":"Sets the thickness of the bar as a fraction of the total thickness of the gauge.","dflt":1,"editType":"plot","max":1,"min":0,"valType":"number"}},"bgcolor":{"description":"Sets the gauge background color.","editType":"plot","valType":"color"},"bordercolor":{"description":"Sets the color of the border enclosing the gauge.","dflt":"#444","editType":"plot","valType":"color"},"borderwidth":{"description":"Sets the width (in px) of the border enclosing the gauge.","dflt":1,"editType":"plot","min":0,"valType":"number"},"description":"The gauge of the Indicator plot.","editType":"plot","role":"object","shape":{"description":"Set the shape of the gauge","dflt":"angular","editType":"plot","valType":"enumerated","values":["angular","bullet"]},"steps":{"items":{"step":{"color":{"description":"Sets the background color of the arc.","editType":"plot","valType":"color"},"editType":"calc","line":{"color":{"description":"Sets the color of the line enclosing each sector.","dflt":"#444","editType":"plot","valType":"color"},"editType":"calc","role":"object","width":{"description":"Sets the width (in px) of the line enclosing each sector.","dflt":0,"editType":"plot","min":0,"valType":"number"}},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"range":{"description":"Sets the range of this axis.","editType":"plot","items":[{"editType":"plot","valType":"number"},{"editType":"plot","valType":"number"}],"valType":"info_array"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"thickness":{"description":"Sets the thickness of the bar as a fraction of the total thickness of the gauge.","dflt":1,"editType":"plot","max":1,"min":0,"valType":"number"}}},"role":"object"},"threshold":{"editType":"plot","line":{"color":{"description":"Sets the color of the threshold line.","dflt":"#444","editType":"plot","valType":"color"},"editType":"plot","role":"object","width":{"description":"Sets the width (in px) of the threshold line.","dflt":1,"editType":"plot","min":0,"valType":"number"}},"role":"object","thickness":{"description":"Sets the thickness of the threshold line as a fraction of the thickness of the gauge.","dflt":0.85,"editType":"plot","max":1,"min":0,"valType":"number"},"value":{"description":"Sets a treshold value drawn as a line.","dflt":false,"editType":"calc","valType":"number"}}},"ids":{"anim":true,"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"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.","dflt":"number","editType":"calc","flags":["number","delta","gauge"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"number":{"editType":"plot","font":{"color":{"editType":"plot","valType":"color"},"description":"Set the font used to display main number","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"prefix":{"description":"Sets a prefix appearing before the number.","dflt":"","editType":"plot","valType":"string"},"role":"object","suffix":{"description":"Sets a suffix appearing next to the number.","dflt":"","editType":"plot","valType":"string"},"valueformat":{"description":"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.","dflt":"","editType":"plot","valType":"string"}},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"title":{"align":{"description":"Sets the horizontal alignment of the title. It defaults to `center` except for bullet charts for which it defaults to right.","editType":"plot","valType":"enumerated","values":["left","center","right"]},"editType":"plot","font":{"color":{"editType":"plot","valType":"color"},"description":"Set the font used to display the title","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of this indicator.","editType":"plot","valType":"string"}},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"indicator","uid":{"anim":true,"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"value":{"anim":true,"description":"Sets the number to be displayed.","editType":"calc","valType":"number"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["svg","noOpacity","noHover"],"meta":{"description":"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."},"type":"indicator"},"isosurface":{"animatable":false,"attributes":{"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"caps":{"editType":"calc","role":"object","x":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","show":{"description":"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.","dflt":true,"editType":"calc","valType":"boolean"}},"y":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","show":{"description":"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.","dflt":true,"editType":"calc","valType":"boolean"}},"z":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","show":{"description":"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.","dflt":true,"editType":"calc","valType":"boolean"}}},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"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*.","editType":"calc","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"calc","valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"contour":{"color":{"description":"Sets the color of the contour lines.","dflt":"#444","editType":"calc","valType":"color"},"editType":"calc","role":"object","show":{"description":"Sets whether or not dynamic contours are shown on hover","dflt":false,"editType":"calc","valType":"boolean"},"width":{"description":"Sets the width of the contour lines.","dflt":2,"editType":"calc","max":16,"min":1,"valType":"number"}},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"flatshading":{"description":"Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low-poly look via flat reflections.","dflt":true,"editType":"calc","valType":"boolean"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"isomax":{"description":"Sets the maximum boundary for iso-surface plot.","editType":"calc","valType":"number"},"isomin":{"description":"Sets the minimum boundary for iso-surface plot.","editType":"calc","valType":"number"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"lighting":{"ambient":{"description":"Ambient light increases overall color visibility but can wash out the image.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"diffuse":{"description":"Represents the extent that incident rays are reflected in a range of angles.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"editType":"calc","facenormalsepsilon":{"description":"Epsilon for face normals calculation avoids math issues arising from degenerate geometry.","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"fresnel":{"description":"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.","dflt":0.2,"editType":"calc","max":5,"min":0,"valType":"number"},"role":"object","roughness":{"description":"Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.","dflt":0.5,"editType":"calc","max":1,"min":0,"valType":"number"},"specular":{"description":"Represents the level that incident rays are reflected in a single direction, causing shine.","dflt":0.05,"editType":"calc","max":2,"min":0,"valType":"number"},"vertexnormalsepsilon":{"description":"Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.","dflt":1e-12,"editType":"calc","max":1,"min":0,"valType":"number"}},"lightposition":{"editType":"calc","role":"object","x":{"description":"Numeric vector, representing the X coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"y":{"description":"Numeric vector, representing the Y coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"z":{"description":"Numeric vector, representing the Z coordinate for each vertex.","dflt":0,"editType":"calc","max":100000,"min":-100000,"valType":"number"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"scene":{"description":"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.","dflt":"scene","editType":"calc+clearAxisTypes","valType":"subplotid"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"calc","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"slices":{"editType":"calc","role":"object","x":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"locations":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"locationssrc":{"description":"Sets the source reference on Chart Studio Cloud for `locations`.","editType":"none","valType":"string"},"role":"object","show":{"description":"Determines whether or not slice planes about the x dimension are drawn.","dflt":false,"editType":"calc","valType":"boolean"}},"y":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"locations":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"locationssrc":{"description":"Sets the source reference on Chart Studio Cloud for `locations`.","editType":"none","valType":"string"},"role":"object","show":{"description":"Determines whether or not slice planes about the y dimension are drawn.","dflt":false,"editType":"calc","valType":"boolean"}},"z":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"locations":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"locationssrc":{"description":"Sets the source reference on Chart Studio Cloud for `locations`.","editType":"none","valType":"string"},"role":"object","show":{"description":"Determines whether or not slice planes about the z dimension are drawn.","dflt":false,"editType":"calc","valType":"boolean"}}},"spaceframe":{"editType":"calc","fill":{"description":"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).","dflt":0.15,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","show":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"surface":{"count":{"description":"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.","dflt":2,"editType":"calc","min":1,"valType":"integer"},"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"pattern":{"description":"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.","dflt":"all","editType":"calc","extras":["all","odd","even"],"flags":["A","B","C","D","E"],"valType":"flaglist"},"role":"object","show":{"description":"Hides/displays surfaces between minimum and maximum iso-values.","dflt":true,"editType":"calc","valType":"boolean"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"type":"isosurface","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"value":{"description":"Sets the 4th dimension (value) of the vertices.","editType":"calc+clearAxisTypes","valType":"data_array"},"valuehoverformat":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"valuesrc":{"description":"Sets the source reference on Chart Studio Cloud for `value`.","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the X coordinates of the vertices on X axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"xhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the Y coordinates of the vertices on Y axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"yhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"Sets the Z coordinates of the vertices on Z axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"zhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["gl3d","showLegend"],"meta":{"description":"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."},"type":"isosurface"},"mesh3d":{"animatable":false,"attributes":{"alphahull":{"description":"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 *\u003e0*, 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.","dflt":-1,"editType":"calc","valType":"number"},"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"description":"Sets the color of the whole mesh","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"contour":{"color":{"description":"Sets the color of the contour lines.","dflt":"#444","editType":"calc","valType":"color"},"editType":"calc","role":"object","show":{"description":"Sets whether or not dynamic contours are shown on hover","dflt":false,"editType":"calc","valType":"boolean"},"width":{"description":"Sets the width of the contour lines.","dflt":2,"editType":"calc","max":16,"min":1,"valType":"number"}},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"delaunayaxis":{"description":"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.","dflt":"z","editType":"calc","valType":"enumerated","values":["x","y","z"]},"facecolor":{"description":"Sets the color of each face Overrides *color* and *vertexcolor*.","editType":"calc","valType":"data_array"},"facecolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `facecolor`.","editType":"none","valType":"string"},"flatshading":{"description":"Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low-poly look via flat reflections.","dflt":false,"editType":"calc","valType":"boolean"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"i":{"description":"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.","editType":"calc","valType":"data_array"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"intensity":{"description":"Sets the intensity values for vertices or cells as defined by `intensitymode`. It can be used for plotting fields on meshes.","editType":"calc","valType":"data_array"},"intensitymode":{"description":"Determines the source of `intensity` values.","dflt":"vertex","editType":"calc","valType":"enumerated","values":["vertex","cell"]},"intensitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `intensity`.","editType":"none","valType":"string"},"isrc":{"description":"Sets the source reference on Chart Studio Cloud for `i`.","editType":"none","valType":"string"},"j":{"description":"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.","editType":"calc","valType":"data_array"},"jsrc":{"description":"Sets the source reference on Chart Studio Cloud for `j`.","editType":"none","valType":"string"},"k":{"description":"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.","editType":"calc","valType":"data_array"},"ksrc":{"description":"Sets the source reference on Chart Studio Cloud for `k`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"lighting":{"ambient":{"description":"Ambient light increases overall color visibility but can wash out the image.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"diffuse":{"description":"Represents the extent that incident rays are reflected in a range of angles.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"editType":"calc","facenormalsepsilon":{"description":"Epsilon for face normals calculation avoids math issues arising from degenerate geometry.","dflt":0.000001,"editType":"calc","max":1,"min":0,"valType":"number"},"fresnel":{"description":"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.","dflt":0.2,"editType":"calc","max":5,"min":0,"valType":"number"},"role":"object","roughness":{"description":"Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.","dflt":0.5,"editType":"calc","max":1,"min":0,"valType":"number"},"specular":{"description":"Represents the level that incident rays are reflected in a single direction, causing shine.","dflt":0.05,"editType":"calc","max":2,"min":0,"valType":"number"},"vertexnormalsepsilon":{"description":"Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.","dflt":1e-12,"editType":"calc","max":1,"min":0,"valType":"number"}},"lightposition":{"editType":"calc","role":"object","x":{"description":"Numeric vector, representing the X coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"y":{"description":"Numeric vector, representing the Y coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"z":{"description":"Numeric vector, representing the Z coordinate for each vertex.","dflt":0,"editType":"calc","max":100000,"min":-100000,"valType":"number"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"scene":{"description":"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.","dflt":"scene","editType":"calc+clearAxisTypes","valType":"subplotid"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"type":"mesh3d","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"vertexcolor":{"description":"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.","editType":"calc","valType":"data_array"},"vertexcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `vertexcolor`.","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"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.","editType":"calc+clearAxisTypes","valType":"data_array"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"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.","editType":"calc+clearAxisTypes","valType":"data_array"},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"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.","editType":"calc+clearAxisTypes","valType":"data_array"},"zcalendar":{"description":"Sets the calendar system to use with `z` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"zhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["gl3d","showLegend"],"meta":{"description":"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"},"type":"mesh3d"},"ohlc":{"animatable":false,"attributes":{"close":{"description":"Sets the close values.","editType":"calc","valType":"data_array"},"closesrc":{"description":"Sets the source reference on Chart Studio Cloud for `close`.","editType":"none","valType":"string"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"decreasing":{"editType":"style","line":{"color":{"description":"Sets the line color.","dflt":"#FF4136","editType":"style","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"style","role":"object","width":{"description":"Sets the line width (in px).","dflt":2,"editType":"style","min":0,"valType":"number"}},"role":"object"},"high":{"description":"Sets the high values.","editType":"calc","valType":"data_array"},"highsrc":{"description":"Sets the source reference on Chart Studio Cloud for `high`.","editType":"none","valType":"string"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object","split":{"description":"Show hover information (open, close, high, low) in separate labels.","dflt":false,"editType":"style","valType":"boolean"}},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"increasing":{"editType":"style","line":{"color":{"description":"Sets the line color.","dflt":"#3D9970","editType":"style","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"style","role":"object","width":{"description":"Sets the line width (in px).","dflt":2,"editType":"style","min":0,"valType":"number"}},"role":"object"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"dash":{"description":"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`.","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"style","role":"object","width":{"description":"[object Object] Note that this style setting can also be set per direction via `increasing.line.width` and `decreasing.line.width`.","dflt":2,"editType":"style","min":0,"valType":"number"}},"low":{"description":"Sets the low values.","editType":"calc","valType":"data_array"},"lowsrc":{"description":"Sets the source reference on Chart Studio Cloud for `low`.","editType":"none","valType":"string"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"open":{"description":"Sets the open values.","editType":"calc","valType":"data_array"},"opensrc":{"description":"Sets the source reference on Chart Studio Cloud for `open`.","editType":"none","valType":"string"},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the width of the open/close tick marks relative to the *x* minimal interval.","dflt":0.3,"editType":"calc","max":0.5,"min":0,"valType":"number"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"ohlc","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the x coordinates. If absent, linear coordinate will be generated.","editType":"calc+clearAxisTypes","valType":"data_array"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"xperiod0":{"description":"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.","editType":"calc","valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"zorder":{"description":"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`.","dflt":0,"editType":"plot","valType":"integer"}},"categories":["cartesian","svg","showLegend"],"meta":{"description":"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."},"type":"ohlc"},"parcats":{"animatable":false,"attributes":{"arrangement":{"description":"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.","dflt":"perpendicular","editType":"plot","valType":"enumerated","values":["perpendicular","freeform","fixed"]},"bundlecolors":{"description":"Sort paths so that like colors are bundled together within each category.","dflt":true,"editType":"plot","valType":"boolean"},"counts":{"arrayOk":true,"description":"The number of observations represented by each state. Defaults to 1 so that each state represents one observation","dflt":1,"editType":"calc","min":0,"valType":"number"},"countssrc":{"description":"Sets the source reference on Chart Studio Cloud for `counts`.","editType":"none","valType":"string"},"dimensions":{"items":{"dimension":{"categoryarray":{"description":"Sets the order in which categories in this dimension appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.","editType":"calc","valType":"data_array"},"categoryarraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `categoryarray`.","editType":"none","valType":"string"},"categoryorder":{"description":"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`.","dflt":"trace","editType":"calc","valType":"enumerated","values":["trace","category ascending","category descending","array"]},"description":"The dimensions (variables) of the parallel categories diagram.","displayindex":{"description":"The display index of dimension, from left to right, zero indexed, defaults to dimension index.","editType":"calc","valType":"integer"},"editType":"calc","label":{"description":"The shown name of the dimension.","editType":"calc","valType":"string"},"role":"object","ticktext":{"description":"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`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"values":{"description":"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).","dflt":[],"editType":"calc","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"},"visible":{"description":"Shows the dimension when set to `true` (the default). Hides the dimension for `false`.","dflt":true,"editType":"calc","valType":"boolean"}}},"role":"object"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this parcats trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"editType":"calc","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this parcats trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this parcats trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this parcats trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"hoverinfo":{"arrayOk":false,"description":"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.","dflt":"all","editType":"plot","extras":["all","none","skip"],"flags":["count","probability"],"valType":"flaglist"},"hoveron":{"description":"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.","dflt":"category","editType":"plot","valType":"enumerated","values":["category","color","dimension"]},"hovertemplate":{"description":"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* flagFinally, the template string has access to variables `count`, `probability`, `category`, `categorycount`, `colorcount` and `bandcolorcount`. Anything contained in tag `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"plot","valType":"string"},"labelfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the font for the `dimension` labels.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","hovertemplate":{"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"plot","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","shape":{"description":"Sets the shape of the paths. If `linear`, paths are composed of straight lines. If `hspline`, paths are composed of horizontal curved splines","dflt":"linear","editType":"plot","valType":"enumerated","values":["linear","hspline"]},"showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"sortpaths":{"description":"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.","dflt":"forward","editType":"plot","valType":"enumerated","values":["forward","backward"]},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the font for the `category` labels.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"parcats","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["noOpacity"],"meta":{"description":"Parallel categories diagram for multidimensional categorical data."},"type":"parcats"},"parcoords":{"animatable":false,"attributes":{"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dimensions":{"items":{"dimension":{"constraintrange":{"description":"The domain range to which the filter on the dimension is constrained. Must be an array of `[fromValue, toValue]` with `fromValue \u003c= toValue`, or if `multiselect` is not disabled, you may give an array of arrays, where each inner array is `[fromValue, toValue]`.","dimensions":"1-2","editType":"plot","freeLength":true,"items":[{"editType":"plot","valType":"any"},{"editType":"plot","valType":"any"}],"valType":"info_array"},"description":"The dimensions (variables) of the parallel coordinates chart. 2..60 dimensions are supported.","editType":"calc","label":{"description":"The shown name of the dimension.","editType":"plot","valType":"string"},"multiselect":{"description":"Do we allow multiple selection ranges or just a single range?","dflt":true,"editType":"plot","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"range":{"description":"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.","editType":"plot","items":[{"editType":"plot","valType":"number"},{"editType":"plot","valType":"number"}],"valType":"info_array"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"tickformat":{"description":"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*","dflt":"","editType":"plot","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`.","editType":"plot","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear.","editType":"plot","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"values":{"description":"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.","editType":"calc","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"},"visible":{"description":"Shows the dimension when set to `true` (the default). Hides the dimension for `false`.","dflt":true,"editType":"plot","valType":"boolean"}}},"role":"object"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this parcoords trace .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"editType":"plot","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this parcoords trace .","dflt":0,"editType":"plot","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this parcoords trace (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this parcoords trace (in plot fraction).","dflt":[0,1],"editType":"plot","items":[{"editType":"plot","max":1,"min":0,"valType":"number"},{"editType":"plot","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"labelangle":{"description":"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*.","dflt":0,"editType":"plot","valType":"angle"},"labelfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the font for the `dimension` labels.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"labelside":{"description":"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*.","dflt":"top","editType":"plot","valType":"enumerated","values":["top","bottom"]},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"autocolorscale":{"description":"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.","dflt":false,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":[[0,"#440154"],[0.06274509803921569,"#48186a"],[0.12549019607843137,"#472d7b"],[0.18823529411764706,"#424086"],[0.25098039215686274,"#3b528b"],[0.3137254901960784,"#33638d"],[0.3764705882352941,"#2c728e"],[0.4392156862745098,"#26828e"],[0.5019607843137255,"#21918c"],[0.5647058823529412,"#1fa088"],[0.6274509803921569,"#28ae80"],[0.6901960784313725,"#3fbc73"],[0.7529411764705882,"#5ec962"],[0.8156862745098039,"#84d44b"],[0.8784313725490196,"#addc30"],[0.9411764705882353,"#d8e219"],[1,"#fde725"]],"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"rangefont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the font for the `dimension` range values.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"tickfont":{"color":{"editType":"plot","valType":"color"},"description":"Sets the font for the `dimension` tick values.","editType":"plot","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"plot","min":1,"valType":"number"}},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"parcoords","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"plot","line":{"color":{"description":"Sets the base color of unselected lines. in connection with `unselected.line.opacity`.","dflt":"#7f7f7f","editType":"plot","valType":"color"},"editType":"plot","opacity":{"description":"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`.","dflt":"auto","editType":"plot","max":1,"min":0,"valType":"number"},"role":"object"},"role":"object"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["gl","regl","noOpacity","noHover"],"meta":{"description":"Parallel coordinates for multidimensional exploratory data analysis. The samples are specified in `dimensions`. The colors are set in `line.color`."},"type":"parcoords"},"pie":{"animatable":false,"attributes":{"_deprecated":{"title":{"description":"Deprecated in favor of `title.text`. Note that value of `title` is no longer a simple *string* but a set of sub-attributes.","dflt":"","editType":"calc","valType":"string"},"titlefont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"description":"Deprecated in favor of `title.font`.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"}},"titleposition":{"description":"Deprecated in favor of `title.position`.","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle center","bottom left","bottom center","bottom right"]}},"automargin":{"description":"Determines whether outside text labels can push the margins.","dflt":false,"editType":"plot","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"direction":{"description":"Specifies the direction at which succeeding sectors follow one another.","dflt":"counterclockwise","editType":"calc","valType":"enumerated","values":["clockwise","counterclockwise"]},"dlabel":{"description":"Sets the label step. See `label0` for more info.","dflt":1,"editType":"calc","valType":"number"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this pie trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"editType":"calc","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this pie trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this pie trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this pie trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"hole":{"description":"Sets the fraction of the radius to cut out of the pie. Use this to make a donut chart.","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["label","text","value","percent","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"insidetextfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo` lying inside the sector.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"insidetextorientation":{"description":"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.","dflt":"auto","editType":"plot","valType":"enumerated","values":["horizontal","radial","tangential","auto"]},"label0":{"description":"Alternate to `labels`. Builds a numeric set of labels. Use with `dlabel` where `label0` is the starting label and `dlabel` the step.","dflt":0,"editType":"calc","valType":"number"},"labels":{"description":"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.","editType":"calc","valType":"data_array"},"labelssrc":{"description":"Sets the source reference on Chart Studio Cloud for `labels`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"marker":{"colors":{"description":"Sets the color of each sector. If not specified, the default trace color set is used to pick the sector colors.","editType":"calc","valType":"data_array"},"colorssrc":{"description":"Sets the source reference on Chart Studio Cloud for `colors`.","editType":"none","valType":"string"},"editType":"calc","line":{"color":{"arrayOk":true,"description":"Sets the color of the line enclosing each sector.","dflt":"#444","editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the line enclosing each sector.","dflt":0,"editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"pattern":{"bgcolor":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"description":"Sets the pattern within the marker.","editType":"style","fgcolor":{"arrayOk":true,"description":"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`.","editType":"style","valType":"color"},"fgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `fgcolor`.","editType":"none","valType":"string"},"fgopacity":{"description":"Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.","editType":"style","max":1,"min":0,"valType":"number"},"fillmode":{"description":"Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.","dflt":"replace","editType":"style","valType":"enumerated","values":["replace","overlay"]},"role":"object","shape":{"arrayOk":true,"description":"Sets the shape of the pattern fill. By default, no pattern is used for filling the area.","dflt":"","editType":"style","valType":"enumerated","values":["","/","\\","x","-","|","+","."]},"shapesrc":{"description":"Sets the source reference on Chart Studio Cloud for `shape`.","editType":"none","valType":"string"},"size":{"arrayOk":true,"description":"Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.","dflt":8,"editType":"style","min":0,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"solidity":{"arrayOk":true,"description":"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.","dflt":0.3,"editType":"style","max":1,"min":0,"valType":"number"},"soliditysrc":{"description":"Sets the source reference on Chart Studio Cloud for `solidity`.","editType":"none","valType":"string"}},"role":"object"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"outsidetextfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo` lying outside the sector.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"pull":{"arrayOk":true,"description":"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.","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"pullsrc":{"description":"Sets the source reference on Chart Studio Cloud for `pull`.","editType":"none","valType":"string"},"rotation":{"description":"Instead of the first slice starting at 12 o'clock, rotate to some other angle.","dflt":0,"editType":"calc","valType":"angle"},"scalegroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"sort":{"description":"Determines whether or not the sectors are reordered from largest to smallest.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"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.","editType":"plot","valType":"data_array"},"textfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo`.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textinfo":{"description":"Determines which trace information appear on the graph.","editType":"calc","extras":["none"],"flags":["label","text","value","percent"],"valType":"flaglist"},"textposition":{"arrayOk":true,"description":"Specifies the location of the `textinfo`.","dflt":"auto","editType":"plot","valType":"enumerated","values":["inside","outside","auto","none"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"title":{"editType":"plot","font":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `title`. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"position":{"description":"Specifies the location of the `title`. Note that the title's position used to be set by the now deprecated `titleposition` attribute.","editType":"plot","valType":"enumerated","values":["top left","top center","top right","middle center","bottom left","bottom center","bottom right"]},"role":"object","text":{"description":"Sets the title of the chart. If it is empty, no title is displayed. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","dflt":"","editType":"plot","valType":"string"}},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"pie","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"values":{"description":"Sets the values of the sectors. If omitted, we count occurrences of each label.","editType":"calc","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["pie-like","pie","showLegend"],"layoutAttributes":{"extendpiecolors":{"description":"If `true`, the pie slice colors (whether given by `piecolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended.","dflt":true,"editType":"calc","valType":"boolean"},"hiddenlabels":{"description":"hiddenlabels is the funnelarea \u0026 pie chart analog of visible:'legendonly' but it can contain many labels, and can simultaneously hide slices from several pies/funnelarea charts","editType":"calc","valType":"data_array"},"hiddenlabelssrc":{"description":"Sets the source reference on Chart Studio Cloud for `hiddenlabels`.","editType":"none","valType":"string"},"piecolorway":{"description":"Sets the default pie slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendpiecolors`.","editType":"calc","valType":"colorlist"}},"meta":{"description":"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`"},"type":"pie"},"pointcloud":{"animatable":false,"attributes":{"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"indices":{"description":"A sequential value, 0..n, supply it to avoid creating this array inside plotting. If specified, it must be a typed `Int32Array` array. Its length must be equal to or greater than the number of points. For the best performance and memory use, create one large `indices` typed array that is guaranteed to be at least as long as the largest number of points during use, and reuse it on each `Plotly.restyle()` call.","editType":"calc","valType":"data_array"},"indicessrc":{"description":"Sets the source reference on Chart Studio Cloud for `indices`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"marker":{"blend":{"description":"Determines if colors are blended together for a translucency effect in case `opacity` is specified as a value less then `1`. Setting `blend` to `true` reduces zoom/pan speed if used with large numbers of points.","dflt":null,"editType":"calc","valType":"boolean"},"border":{"arearatio":{"description":"Specifies what fraction of the marker area is covered with the border.","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"color":{"arrayOk":false,"description":"Sets the stroke color. It accepts a specific color. If the color is not fully opaque and there are hundreds of thousands of points, it may cause slower zooming and panning.","editType":"calc","valType":"color"},"editType":"calc","role":"object"},"color":{"arrayOk":false,"description":"Sets the marker fill color. It accepts a specific color. If the color is not fully opaque and there are hundreds of thousands of points, it may cause slower zooming and panning.","editType":"calc","valType":"color"},"editType":"calc","opacity":{"arrayOk":false,"description":"Sets the marker opacity. The default value is `1` (fully opaque). If the markers are not fully opaque and there are hundreds of thousands of points, it may cause slower zooming and panning. Opacity fades the color even if `blend` is left on `false` even if there is no translucency effect in that case.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","sizemax":{"description":"Sets the maximum size (in px) of the rendered marker points. Effective when the `pointcloud` shows only few points.","dflt":20,"editType":"calc","min":0.1,"valType":"number"},"sizemin":{"description":"Sets the minimum size (in px) of the rendered marker points, effective when the `pointcloud` shows a million or more points.","dflt":0.5,"editType":"calc","max":2,"min":0.1,"valType":"number"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"type":"pointcloud","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xbounds":{"description":"Specify `xbounds` in the shape of `[xMin, xMax] to avoid looping through the `xy` typed array. Use it in conjunction with `xy` and `ybounds` for the performance benefits.","editType":"calc","valType":"data_array"},"xboundssrc":{"description":"Sets the source reference on Chart Studio Cloud for `xbounds`.","editType":"none","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"xy":{"description":"Faster alternative to specifying `x` and `y` separately. If supplied, it must be a typed `Float32Array` array that represents points such that `xy[i * 2] = x[i]` and `xy[i * 2 + 1] = y[i]`","editType":"calc","valType":"data_array"},"xysrc":{"description":"Sets the source reference on Chart Studio Cloud for `xy`.","editType":"none","valType":"string"},"y":{"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ybounds":{"description":"Specify `ybounds` in the shape of `[yMin, yMax] to avoid looping through the `xy` typed array. Use it in conjunction with `xy` and `xbounds` for the performance benefits.","editType":"calc","valType":"data_array"},"yboundssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ybounds`.","editType":"none","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"}},"categories":["gl","gl2d","showLegend"],"meta":{"description":"*pointcloud* trace is deprecated! Please consider switching to the *scattergl* trace type. The data visualized as a point cloud set in `x` and `y` using the WebGl plotting engine."},"type":"pointcloud"},"sankey":{"animatable":false,"attributes":{"arrangement":{"description":"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.","dflt":"snap","editType":"calc","valType":"enumerated","values":["snap","perpendicular","freeform","fixed"]},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this sankey trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"editType":"calc","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this sankey trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this sankey trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this sankey trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"hoverinfo":{"arrayOk":false,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":[],"valType":"flaglist"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"calc","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"calc","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"calc","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"calc","font":{"color":{"arrayOk":true,"editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"calc","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"link":{"arrowlen":{"description":"Sets the length (in px) of the links arrow, if 0 no arrow will be drawn.","dflt":0,"editType":"calc","min":0,"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"colorscales":{"items":{"concentrationscales":{"cmax":{"description":"Sets the upper bound of the color domain.","dflt":1,"editType":"calc","valType":"number"},"cmin":{"description":"Sets the lower bound of the color domain.","dflt":0,"editType":"calc","valType":"number"},"colorscale":{"description":"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.","dflt":[[0,"white"],[1,"black"]],"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"editType":"calc","label":{"description":"The label of the links to color based on their concentration within a flow.","dflt":"","editType":"calc","valType":"string"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"}}},"role":"object"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"customdata":{"description":"Assigns extra data to each link.","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"description":"The links of the Sankey plot.","editType":"calc","hovercolor":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"hovercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovercolor`.","editType":"none","valType":"string"},"hoverinfo":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","none","skip"]},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"calc","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"calc","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"calc","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"calc","font":{"color":{"arrayOk":true,"editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"calc","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"label":{"description":"The shown name of the link.","dflt":[],"editType":"calc","valType":"data_array"},"labelsrc":{"description":"Sets the source reference on Chart Studio Cloud for `label`.","editType":"none","valType":"string"},"line":{"color":{"arrayOk":true,"description":"Sets the color of the `line` around each `link`.","dflt":"#444","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the `line` around each `link`.","dflt":0,"editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"role":"object","source":{"description":"An integer number `[0..nodes.length - 1]` that represents the source node.","dflt":[],"editType":"calc","valType":"data_array"},"sourcesrc":{"description":"Sets the source reference on Chart Studio Cloud for `source`.","editType":"none","valType":"string"},"target":{"description":"An integer number `[0..nodes.length - 1]` that represents the target node.","dflt":[],"editType":"calc","valType":"data_array"},"targetsrc":{"description":"Sets the source reference on Chart Studio Cloud for `target`.","editType":"none","valType":"string"},"value":{"description":"A numeric value representing the flow volume value.","dflt":[],"editType":"calc","valType":"data_array"},"valuesrc":{"description":"Sets the source reference on Chart Studio Cloud for `value`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"node":{"align":{"description":"Sets the alignment method used to position the nodes along the horizontal axis.","dflt":"justify","editType":"calc","valType":"enumerated","values":["justify","left","right","center"]},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"customdata":{"description":"Assigns extra data to each node.","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"description":"The nodes of the Sankey plot.","editType":"calc","groups":{"description":"Groups of nodes. Each group is defined by an array with the indices of the nodes it contains. Multiple groups can be specified.","dflt":[],"dimensions":2,"editType":"calc","freeLength":true,"impliedEdits":{"x":[],"y":[]},"items":{"editType":"calc","valType":"number"},"valType":"info_array"},"hoverinfo":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","none","skip"]},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"calc","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"calc","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"calc","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"calc","font":{"color":{"arrayOk":true,"editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"calc","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"label":{"description":"The shown name of the node.","dflt":[],"editType":"calc","valType":"data_array"},"labelsrc":{"description":"Sets the source reference on Chart Studio Cloud for `label`.","editType":"none","valType":"string"},"line":{"color":{"arrayOk":true,"description":"Sets the color of the `line` around each `node`.","dflt":"#444","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the `line` around each `node`.","dflt":0.5,"editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"pad":{"arrayOk":false,"description":"Sets the padding (in px) between the `nodes`.","dflt":20,"editType":"calc","min":0,"valType":"number"},"role":"object","thickness":{"arrayOk":false,"description":"Sets the thickness (in px) of the `nodes`.","dflt":20,"editType":"calc","min":1,"valType":"number"},"x":{"description":"The normalized horizontal position of the node.","dflt":[],"editType":"calc","valType":"data_array"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"The normalized vertical position of the node.","dflt":[],"editType":"calc","valType":"data_array"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"}},"orientation":{"description":"Sets the orientation of the Sankey diagram.","dflt":"h","editType":"calc","valType":"enumerated","values":["v","h"]},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"textfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the font for node labels","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"type":"sankey","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"valueformat":{"description":"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.","dflt":".3s","editType":"calc","valType":"string"},"valuesuffix":{"description":"Adds a unit to follow the value in the hover tooltip. Add a space if a separation is necessary from the value.","dflt":"","editType":"calc","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["noOpacity"],"meta":{"description":"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."},"type":"sankey"},"scatter":{"animatable":true,"attributes":{"alignmentgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"cliponaxis":{"description":"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*.","dflt":true,"editType":"plot","valType":"boolean"},"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dx":{"anim":true,"description":"Sets the x coordinate step. See `x0` for more info.","dflt":1,"editType":"calc","valType":"number"},"dy":{"anim":true,"description":"Sets the y coordinate step. See `y0` for more info.","dflt":1,"editType":"calc","valType":"number"},"error_x":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"style","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"style","valType":"color"},"copy_ystyle":{"editType":"plot","valType":"boolean"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"style","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"plot","min":0,"valType":"number"}},"error_y":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"style","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"style","valType":"color"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"style","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"style","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"plot","min":0,"valType":"number"}},"fill":{"description":"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.","editType":"calc","valType":"enumerated","values":["none","tozeroy","tozerox","tonexty","tonextx","toself","tonext"]},"fillcolor":{"anim":true,"description":"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.","editType":"style","valType":"color"},"fillgradient":{"colorscale":{"description":"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*.","editType":"style","valType":"colorscale"},"description":"Sets a fill gradient. If not specified, the fillcolor is used instead.","editType":"calc","role":"object","start":{"description":"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*.","editType":"calc","valType":"number"},"stop":{"description":"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*.","editType":"calc","valType":"number"},"type":{"description":"Sets the type/orientation of the color gradient for the fill. Defaults to *none*.","dflt":"none","editType":"calc","valType":"enumerated","values":["radial","horizontal","vertical","none"]}},"fillpattern":{"bgcolor":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"description":"Sets the pattern within the marker.","editType":"style","fgcolor":{"arrayOk":true,"description":"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`.","editType":"style","valType":"color"},"fgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `fgcolor`.","editType":"none","valType":"string"},"fgopacity":{"description":"Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.","editType":"style","max":1,"min":0,"valType":"number"},"fillmode":{"description":"Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.","dflt":"replace","editType":"style","valType":"enumerated","values":["replace","overlay"]},"role":"object","shape":{"arrayOk":true,"description":"Sets the shape of the pattern fill. By default, no pattern is used for filling the area.","dflt":"","editType":"style","valType":"enumerated","values":["","/","\\","x","-","|","+","."]},"shapesrc":{"description":"Sets the source reference on Chart Studio Cloud for `shape`.","editType":"none","valType":"string"},"size":{"arrayOk":true,"description":"Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.","dflt":8,"editType":"style","min":0,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"solidity":{"arrayOk":true,"description":"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.","dflt":0.3,"editType":"style","max":1,"min":0,"valType":"number"},"soliditysrc":{"description":"Sets the source reference on Chart Studio Cloud for `solidity`.","editType":"none","valType":"string"}},"groupnorm":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["","fraction","percent"]},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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*.","editType":"style","flags":["points","fills"],"valType":"flaglist"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"ids":{"anim":true,"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"backoff":{"arrayOk":true,"description":"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*.","dflt":"auto","editType":"plot","min":0,"valType":"number"},"backoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `backoff`.","editType":"none","valType":"string"},"color":{"anim":true,"description":"Sets the line color.","editType":"style","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"plot","role":"object","shape":{"description":"Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.","dflt":"linear","editType":"plot","valType":"enumerated","values":["linear","spline","hv","vh","hvh","vhv"]},"simplify":{"description":"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.","dflt":true,"editType":"plot","valType":"boolean"},"smoothing":{"description":"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).","dflt":1,"editType":"plot","max":1.3,"min":0,"valType":"number"},"width":{"anim":true,"description":"Sets the line width (in px).","dflt":2,"editType":"style","min":0,"valType":"number"}},"marker":{"angle":{"anim":false,"arrayOk":true,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"plot","valType":"angle"},"angleref":{"anim":false,"description":"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.","dflt":"up","editType":"plot","valType":"enumerated","values":["previous","up"]},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"anim":true,"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","gradient":{"color":{"arrayOk":true,"description":"Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","type":{"arrayOk":true,"description":"Sets the type of gradient used to fill the markers","dflt":"none","editType":"calc","valType":"enumerated","values":["radial","horizontal","vertical","none"]},"typesrc":{"description":"Sets the source reference on Chart Studio Cloud for `type`.","editType":"none","valType":"string"}},"line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"anim":true,"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"anim":true,"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"maxdisplayed":{"description":"Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit.","dflt":0,"editType":"plot","min":0,"valType":"number"},"opacity":{"anim":true,"arrayOk":true,"description":"Sets the marker opacity.","editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"anim":true,"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"standoff":{"anim":true,"arrayOk":true,"description":"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.","dflt":0,"editType":"plot","min":0,"valType":"number"},"standoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `standoff`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"style","valType":"enumerated","values":[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"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"offsetgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"orientation":{"description":"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`.","editType":"calc","valType":"enumerated","values":["v","h"]},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stackgaps":{"description":"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.","dflt":"infer zero","editType":"calc","valType":"enumerated","values":["infer zero","interpolate"]},"stackgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the text font.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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. ","dflt":"","editType":"calc","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scatter","uid":{"anim":true,"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"anim":true,"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"x0":{"anim":true,"description":"Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"xperiod0":{"description":"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.","editType":"calc","valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"anim":true,"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"y0":{"anim":true,"description":"Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"yperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the y axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"yperiod0":{"description":"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.","editType":"calc","valType":"any"},"yperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"zorder":{"description":"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`.","dflt":0,"editType":"plot","valType":"integer"}},"categories":["cartesian","svg","symbols","errorBarsOK","showLegend","scatter-like","zoomScale"],"layoutAttributes":{"scattergap":{"description":"Sets the gap (in plot fraction) between scatter points of adjacent location coordinates. Defaults to `bargap`.","editType":"calc","max":1,"min":0,"valType":"number"},"scattermode":{"description":"Determines how scatter points at the same location coordinate are displayed on the graph. With *group*, the scatter points are plotted next to one another centered around the shared location. With *overlay*, the scatter points are plotted over one another, you might need to reduce *opacity* to see multiple scatter points.","dflt":"overlay","editType":"calc","valType":"enumerated","values":["group","overlay"]}},"meta":{"description":"The scatter trace type encompasses line charts, scatter charts, text charts, and bubble charts. The data visualized as scatter point or lines is set in `x` and `y`. Text (appearing either on the chart or on hover only) is via `text`. Bubble charts are achieved by setting `marker.size` and/or `marker.color` to numerical arrays."},"type":"scatter"},"scatter3d":{"animatable":false,"attributes":{"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"error_x":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"calc","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"calc","valType":"color"},"copy_zstyle":{"editType":"calc","valType":"boolean"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"calc","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"calc","min":0,"valType":"number"}},"error_y":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"calc","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"calc","valType":"color"},"copy_zstyle":{"editType":"calc","valType":"boolean"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"calc","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"calc","min":0,"valType":"number"}},"error_z":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"calc","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"calc","valType":"color"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"calc","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"calc","min":0,"valType":"number"}},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"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*.","editType":"calc","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"calc","valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"dash":{"description":"Sets the dash style of the lines.","dflt":"solid","editType":"calc","valType":"enumerated","values":["dash","dashdot","dot","longdash","longdashdot","solid"]},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"width":{"description":"Sets the line width (in px).","dflt":2,"editType":"calc","min":0,"valType":"number"}},"marker":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"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*.","editType":"calc","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"calc","valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","width":{"arrayOk":false,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"calc","min":0,"valType":"number"}},"opacity":{"arrayOk":false,"description":"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.","editType":"calc","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":8,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"Sets the marker symbol type.","dflt":"circle","editType":"calc","valType":"enumerated","values":["circle","circle-open","cross","diamond","diamond-open","square","square-open","x"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.","dflt":"lines+markers","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"projection":{"editType":"calc","role":"object","x":{"editType":"calc","opacity":{"description":"Sets the projection color.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","scale":{"description":"Sets the scale factor determining the size of the projection marker points.","dflt":0.6666666666666666,"editType":"calc","max":10,"min":0,"valType":"number"},"show":{"description":"Sets whether or not projections are shown along the x axis.","dflt":false,"editType":"calc","valType":"boolean"}},"y":{"editType":"calc","opacity":{"description":"Sets the projection color.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","scale":{"description":"Sets the scale factor determining the size of the projection marker points.","dflt":0.6666666666666666,"editType":"calc","max":10,"min":0,"valType":"number"},"show":{"description":"Sets whether or not projections are shown along the y axis.","dflt":false,"editType":"calc","valType":"boolean"}},"z":{"editType":"calc","opacity":{"description":"Sets the projection color.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","scale":{"description":"Sets the scale factor determining the size of the projection marker points.","dflt":0.6666666666666666,"editType":"calc","max":10,"min":0,"valType":"number"},"show":{"description":"Sets whether or not projections are shown along the z axis.","dflt":false,"editType":"calc","valType":"boolean"}}},"scene":{"description":"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.","dflt":"scene","editType":"calc+clearAxisTypes","valType":"subplotid"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"surfaceaxis":{"description":"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.","dflt":-1,"editType":"calc","valType":"enumerated","values":[-1,0,1,2]},"surfacecolor":{"description":"Sets the surface fill color.","editType":"calc","valType":"color"},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"arrayOk":true,"editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","family":{"arrayOk":false,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"top center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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. ","dflt":"","editType":"calc","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scatter3d","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"Sets the z coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"zcalendar":{"description":"Sets the calendar system to use with `z` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"zhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["gl3d","symbols","showLegend","scatter-like"],"meta":{"description":"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`.","hrName":"scatter_3d"},"type":"scatter3d"},"scattercarpet":{"animatable":false,"attributes":{"a":{"description":"Sets the a-axis coordinates.","editType":"calc","valType":"data_array"},"asrc":{"description":"Sets the source reference on Chart Studio Cloud for `a`.","editType":"none","valType":"string"},"b":{"description":"Sets the b-axis coordinates.","editType":"calc","valType":"data_array"},"bsrc":{"description":"Sets the source reference on Chart Studio Cloud for `b`.","editType":"none","valType":"string"},"carpet":{"description":"An identifier for this carpet, so that `scattercarpet` and `contourcarpet` traces can specify a carpet plot on which they lie","editType":"calc","valType":"string"},"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"fill":{"description":"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.","dflt":"none","editType":"calc","valType":"enumerated","values":["none","toself","tonext"]},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"style","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["a","b","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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*.","editType":"style","flags":["points","fills"],"valType":"flaglist"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"backoff":{"arrayOk":true,"description":"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*.","dflt":"auto","editType":"plot","min":0,"valType":"number"},"backoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `backoff`.","editType":"none","valType":"string"},"color":{"description":"Sets the line color.","editType":"style","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"calc","role":"object","shape":{"description":"Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.","dflt":"linear","editType":"plot","valType":"enumerated","values":["linear","spline"]},"smoothing":{"description":"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).","dflt":1,"editType":"plot","max":1.3,"min":0,"valType":"number"},"width":{"description":"Sets the line width (in px).","dflt":2,"editType":"style","min":0,"valType":"number"}},"marker":{"angle":{"arrayOk":true,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"plot","valType":"angle"},"angleref":{"description":"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.","dflt":"up","editType":"plot","valType":"enumerated","values":["previous","up"]},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","gradient":{"color":{"arrayOk":true,"description":"Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","type":{"arrayOk":true,"description":"Sets the type of gradient used to fill the markers","dflt":"none","editType":"calc","valType":"enumerated","values":["radial","horizontal","vertical","none"]},"typesrc":{"description":"Sets the source reference on Chart Studio Cloud for `type`.","editType":"none","valType":"string"}},"line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"maxdisplayed":{"description":"Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit.","dflt":0,"editType":"plot","min":0,"valType":"number"},"opacity":{"arrayOk":true,"description":"Sets the marker opacity.","editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"standoff":{"arrayOk":true,"description":"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.","dflt":0,"editType":"plot","min":0,"valType":"number"},"standoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `standoff`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"style","valType":"enumerated","values":[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"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.","dflt":"markers","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the text font.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scattercarpet","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"zorder":{"description":"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`.","dflt":0,"editType":"plot","valType":"integer"}},"categories":["svg","carpet","symbols","showLegend","carpetDependent","zoomScale"],"meta":{"description":"Plots a scatter trace on either the first carpet axis or the carpet axis with a matching `carpet` attribute.","hrName":"scatter_carpet"},"type":"scattercarpet"},"scattergeo":{"animatable":false,"attributes":{"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"featureidkey":{"description":"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*.","dflt":"id","editType":"calc","valType":"string"},"fill":{"description":"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.","dflt":"none","editType":"calc","valType":"enumerated","values":["none","toself"]},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"calc","valType":"color"},"geo":{"description":"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.","dflt":"geo","editType":"calc","valType":"subplotid"},"geojson":{"description":"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*.","editType":"calc","valType":"any"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":["lon","lat","location","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"lat":{"description":"Sets the latitude coordinates (in degrees North).","editType":"calc","valType":"data_array"},"latsrc":{"description":"Sets the source reference on Chart Studio Cloud for `lat`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"color":{"description":"Sets the line color.","editType":"calc","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"calc","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"calc","role":"object","width":{"description":"Sets the line width (in px).","dflt":2,"editType":"calc","min":0,"valType":"number"}},"locationmode":{"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","values":["ISO-3","USA-states","country names","geojson-id"]},"locations":{"description":"Sets the coordinates via location IDs or names. Coordinates correspond to the centroid of each location given. See `locationmode` for more info.","editType":"calc","valType":"data_array"},"locationssrc":{"description":"Sets the source reference on Chart Studio Cloud for `locations`.","editType":"none","valType":"string"},"lon":{"description":"Sets the longitude coordinates (in degrees East).","editType":"calc","valType":"data_array"},"lonsrc":{"description":"Sets the source reference on Chart Studio Cloud for `lon`.","editType":"none","valType":"string"},"marker":{"angle":{"arrayOk":true,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"calc","valType":"angle"},"angleref":{"description":"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.","dflt":"up","editType":"calc","valType":"enumerated","values":["previous","up","north"]},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"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*.","editType":"calc","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"calc","valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","gradient":{"color":{"arrayOk":true,"description":"Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","type":{"arrayOk":true,"description":"Sets the type of gradient used to fill the markers","dflt":"none","editType":"calc","valType":"enumerated","values":["radial","horizontal","vertical","none"]},"typesrc":{"description":"Sets the source reference on Chart Studio Cloud for `type`.","editType":"none","valType":"string"}},"line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the marker opacity.","editType":"calc","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"standoff":{"arrayOk":true,"description":"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.","dflt":0,"editType":"calc","min":0,"valType":"number"},"standoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `standoff`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"calc","valType":"enumerated","values":[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"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.","dflt":"markers","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"selected":{"editType":"calc","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"calc","valType":"color"},"editType":"calc","opacity":{"description":"Sets the marker opacity of selected points.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"calc","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"calc","valType":"color"},"editType":"calc","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"arrayOk":true,"editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the text font.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"calc","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scattergeo","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"calc","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"calc","valType":"color"},"editType":"calc","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"calc","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"calc","valType":"color"},"editType":"calc","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["geo","symbols","showLegend","scatter-like"],"meta":{"description":"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`.","hrName":"scatter_geo"},"type":"scattergeo"},"scattergl":{"animatable":false,"attributes":{"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dx":{"description":"Sets the x coordinate step. See `x0` for more info.","dflt":1,"editType":"calc","valType":"number"},"dy":{"description":"Sets the y coordinate step. See `y0` for more info.","dflt":1,"editType":"calc","valType":"number"},"error_x":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"calc","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"calc","valType":"color"},"copy_ystyle":{"editType":"calc","valType":"boolean"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"calc","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"calc","min":0,"valType":"number"}},"error_y":{"_deprecated":{"opacity":{"description":"Obsolete. Use the alpha channel in error bar `color` to set the opacity.","editType":"calc","valType":"number"}},"array":{"description":"Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.","editType":"calc","valType":"data_array"},"arrayminus":{"description":"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.","editType":"calc","valType":"data_array"},"arrayminussrc":{"description":"Sets the source reference on Chart Studio Cloud for `arrayminus`.","editType":"none","valType":"string"},"arraysrc":{"description":"Sets the source reference on Chart Studio Cloud for `array`.","editType":"none","valType":"string"},"color":{"description":"Sets the stoke color of the error bars.","editType":"calc","valType":"color"},"editType":"calc","role":"object","symmetric":{"description":"Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.","editType":"calc","valType":"boolean"},"thickness":{"description":"Sets the thickness (in px) of the error bars.","dflt":2,"editType":"calc","min":0,"valType":"number"},"traceref":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"tracerefminus":{"dflt":0,"editType":"calc","min":0,"valType":"integer"},"type":{"description":"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`.","editType":"calc","valType":"enumerated","values":["percent","constant","sqrt","data"]},"value":{"description":"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.","dflt":10,"editType":"calc","min":0,"valType":"number"},"valueminus":{"description":"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","dflt":10,"editType":"calc","min":0,"valType":"number"},"visible":{"description":"Determines whether or not this set of error bars is visible.","editType":"calc","valType":"boolean"},"width":{"description":"Sets the width (in px) of the cross-bar at both ends of the error bars.","editType":"calc","min":0,"valType":"number"}},"fill":{"description":"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.","dflt":"none","editType":"calc","valType":"enumerated","values":["none","tozeroy","tozerox","tonexty","tonextx","toself","tonext"]},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"calc","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"color":{"description":"Sets the line color.","editType":"calc","valType":"color"},"dash":{"description":"Sets the style of the lines.","dflt":"solid","editType":"calc","valType":"enumerated","values":["dash","dashdot","dot","longdash","longdashdot","solid"]},"editType":"calc","role":"object","shape":{"description":"Determines the line shape. The values correspond to step-wise line shapes.","dflt":"linear","editType":"calc","valType":"enumerated","values":["linear","hv","vh","hvh","vhv"]},"width":{"description":"Sets the line width (in px).","dflt":2,"editType":"calc","min":0,"valType":"number"}},"marker":{"angle":{"arrayOk":true,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"calc","valType":"angle"},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"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*.","editType":"calc","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"calc","valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the marker opacity.","editType":"calc","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"calc","valType":"enumerated","values":[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"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace.","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"selected":{"editType":"calc","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"calc","valType":"color"},"editType":"calc","opacity":{"description":"Sets the marker opacity of selected points.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"calc","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"calc","valType":"color"},"editType":"calc","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"arrayOk":true,"editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the text font.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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. ","dflt":"","editType":"calc","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scattergl","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"calc","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"calc","valType":"color"},"editType":"calc","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"calc","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"calc","valType":"color"},"editType":"calc","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"x0":{"description":"Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"xperiod0":{"description":"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.","editType":"calc","valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"y0":{"description":"Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"yperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the y axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"yperiod0":{"description":"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.","editType":"calc","valType":"any"},"yperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"}},"categories":["gl","regl","cartesian","symbols","errorBarsOK","showLegend","scatter-like"],"meta":{"description":"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.","hrName":"scatter_gl"},"type":"scattergl"},"scattermapbox":{"animatable":false,"attributes":{"below":{"description":"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 *''*.","editType":"calc","valType":"string"},"cluster":{"color":{"arrayOk":true,"description":"Sets the color for each cluster step.","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","enabled":{"description":"Determines whether clustering is enabled or disabled.","editType":"calc","valType":"boolean"},"maxzoom":{"description":"Sets the maximum zoom level. At zoom levels equal to or greater than this, points will never be clustered.","dflt":24,"editType":"calc","max":24,"min":0,"valType":"number"},"opacity":{"arrayOk":true,"description":"Sets the marker opacity.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"description":"Sets the size for each cluster step.","dflt":20,"editType":"calc","min":0,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"step":{"arrayOk":true,"description":"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.","dflt":-1,"editType":"calc","min":-1,"valType":"number"},"stepsrc":{"description":"Sets the source reference on Chart Studio Cloud for `step`.","editType":"none","valType":"string"}},"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"fill":{"description":"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.","dflt":"none","editType":"calc","valType":"enumerated","values":["none","toself"]},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"calc","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":["lon","lat","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"lat":{"description":"Sets the latitude coordinates (in degrees North).","editType":"calc","valType":"data_array"},"latsrc":{"description":"Sets the source reference on Chart Studio Cloud for `lat`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"color":{"description":"Sets the line color.","editType":"calc","valType":"color"},"editType":"calc","role":"object","width":{"description":"Sets the line width (in px).","dflt":2,"editType":"calc","min":0,"valType":"number"}},"lon":{"description":"Sets the longitude coordinates (in degrees East).","editType":"calc","valType":"data_array"},"lonsrc":{"description":"Sets the source reference on Chart Studio Cloud for `lon`.","editType":"none","valType":"string"},"marker":{"allowoverlap":{"description":"Flag to draw all symbols, even if they overlap.","dflt":false,"editType":"calc","valType":"boolean"},"angle":{"arrayOk":true,"description":"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.","dflt":"auto","editType":"calc","valType":"number"},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"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*.","editType":"calc","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"calc","valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","opacity":{"arrayOk":true,"description":"Sets the marker opacity.","editType":"calc","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"calc","valType":"string"},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover.","dflt":"markers","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"selected":{"editType":"calc","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"calc","valType":"color"},"editType":"calc","opacity":{"description":"Sets the marker opacity of selected points.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"calc","min":0,"valType":"number"}},"role":"object"},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"subplot":{"description":"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.","dflt":"mapbox","editType":"calc","valType":"subplotid"},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"editType":"calc","valType":"color"},"description":"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*.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","dflt":"Open Sans Regular, Arial Unicode MS Regular","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"textposition":{"arrayOk":false,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"calc","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scattermapbox","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"calc","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"calc","valType":"color"},"editType":"calc","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"calc","min":0,"valType":"number"}},"role":"object"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["mapbox","gl","symbols","showLegend","scatter-like"],"meta":{"description":"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`.","hrName":"scatter_mapbox"},"type":"scattermapbox"},"scatterpolar":{"animatable":false,"attributes":{"cliponaxis":{"description":"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*.","dflt":false,"editType":"plot","valType":"boolean"},"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dr":{"description":"Sets the r coordinate step.","dflt":1,"editType":"calc","valType":"number"},"dtheta":{"description":"Sets the theta coordinate step. By default, the `dtheta` step equals the subplot's period divided by the length of the `r` coordinates.","editType":"calc","valType":"number"},"fill":{"description":"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.","dflt":"none","editType":"calc","valType":"enumerated","values":["none","toself","tonext"]},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"style","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["r","theta","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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*.","editType":"style","flags":["points","fills"],"valType":"flaglist"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"backoff":{"arrayOk":true,"description":"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*.","dflt":"auto","editType":"plot","min":0,"valType":"number"},"backoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `backoff`.","editType":"none","valType":"string"},"color":{"description":"Sets the line color.","editType":"style","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"calc","role":"object","shape":{"description":"Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.","dflt":"linear","editType":"plot","valType":"enumerated","values":["linear","spline"]},"smoothing":{"description":"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).","dflt":1,"editType":"plot","max":1.3,"min":0,"valType":"number"},"width":{"description":"Sets the line width (in px).","dflt":2,"editType":"style","min":0,"valType":"number"}},"marker":{"angle":{"arrayOk":true,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"plot","valType":"angle"},"angleref":{"description":"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.","dflt":"up","editType":"plot","valType":"enumerated","values":["previous","up"]},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","gradient":{"color":{"arrayOk":true,"description":"Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","type":{"arrayOk":true,"description":"Sets the type of gradient used to fill the markers","dflt":"none","editType":"calc","valType":"enumerated","values":["radial","horizontal","vertical","none"]},"typesrc":{"description":"Sets the source reference on Chart Studio Cloud for `type`.","editType":"none","valType":"string"}},"line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"maxdisplayed":{"description":"Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit.","dflt":0,"editType":"plot","min":0,"valType":"number"},"opacity":{"arrayOk":true,"description":"Sets the marker opacity.","editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"standoff":{"arrayOk":true,"description":"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.","dflt":0,"editType":"plot","min":0,"valType":"number"},"standoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `standoff`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"style","valType":"enumerated","values":[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"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"r":{"description":"Sets the radial coordinates","editType":"calc+clearAxisTypes","valType":"data_array"},"r0":{"description":"Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"rsrc":{"description":"Sets the source reference on Chart Studio Cloud for `r`.","editType":"none","valType":"string"},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"subplot":{"description":"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.","dflt":"polar","editType":"calc","valType":"subplotid"},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the text font.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"theta":{"description":"Sets the angular coordinates","editType":"calc+clearAxisTypes","valType":"data_array"},"theta0":{"description":"Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"thetasrc":{"description":"Sets the source reference on Chart Studio Cloud for `theta`.","editType":"none","valType":"string"},"thetaunit":{"description":"Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes.","dflt":"degrees","editType":"calc+clearAxisTypes","valType":"enumerated","values":["radians","degrees","gradians"]},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scatterpolar","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["polar","symbols","showLegend","scatter-like"],"meta":{"description":"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.","hrName":"scatter_polar"},"type":"scatterpolar"},"scatterpolargl":{"animatable":false,"attributes":{"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"dr":{"description":"Sets the r coordinate step.","dflt":1,"editType":"calc","valType":"number"},"dtheta":{"description":"Sets the theta coordinate step. By default, the `dtheta` step equals the subplot's period divided by the length of the `r` coordinates.","editType":"calc","valType":"number"},"fill":{"description":"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.","dflt":"none","editType":"calc","valType":"enumerated","values":["none","tozeroy","tozerox","tonexty","tonextx","toself","tonext"]},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"calc","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["r","theta","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"color":{"description":"Sets the line color.","editType":"calc","valType":"color"},"dash":{"description":"Sets the style of the lines.","dflt":"solid","editType":"calc","valType":"enumerated","values":["dash","dashdot","dot","longdash","longdashdot","solid"]},"editType":"calc","role":"object","width":{"description":"Sets the line width (in px).","dflt":2,"editType":"calc","min":0,"valType":"number"}},"marker":{"angle":{"arrayOk":true,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"calc","valType":"angle"},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"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*.","editType":"calc","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"calc","valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the marker opacity.","editType":"calc","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"calc","valType":"enumerated","values":[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"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"r":{"description":"Sets the radial coordinates","editType":"calc+clearAxisTypes","valType":"data_array"},"r0":{"description":"Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"rsrc":{"description":"Sets the source reference on Chart Studio Cloud for `r`.","editType":"none","valType":"string"},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"subplot":{"description":"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.","dflt":"polar","editType":"calc","valType":"subplotid"},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"arrayOk":true,"editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the text font.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"theta":{"description":"Sets the angular coordinates","editType":"calc+clearAxisTypes","valType":"data_array"},"theta0":{"description":"Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"thetasrc":{"description":"Sets the source reference on Chart Studio Cloud for `theta`.","editType":"none","valType":"string"},"thetaunit":{"description":"Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes.","dflt":"degrees","editType":"calc+clearAxisTypes","valType":"enumerated","values":["radians","degrees","gradians"]},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scatterpolargl","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["gl","regl","polar","symbols","showLegend","scatter-like"],"meta":{"description":"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.","hrName":"scatter_polar_gl"},"type":"scatterpolargl"},"scattersmith":{"animatable":false,"attributes":{"cliponaxis":{"description":"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*.","dflt":false,"editType":"plot","valType":"boolean"},"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"fill":{"description":"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.","dflt":"none","editType":"calc","valType":"enumerated","values":["none","toself","tonext"]},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"style","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["real","imag","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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*.","editType":"style","flags":["points","fills"],"valType":"flaglist"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"imag":{"description":"Sets the imaginary component of the data, in units of normalized impedance such that real=1, imag=0 is the center of the chart.","editType":"calc+clearAxisTypes","valType":"data_array"},"imagsrc":{"description":"Sets the source reference on Chart Studio Cloud for `imag`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"backoff":{"arrayOk":true,"description":"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*.","dflt":"auto","editType":"plot","min":0,"valType":"number"},"backoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `backoff`.","editType":"none","valType":"string"},"color":{"description":"Sets the line color.","editType":"style","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"calc","role":"object","shape":{"description":"Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.","dflt":"linear","editType":"plot","valType":"enumerated","values":["linear","spline"]},"smoothing":{"description":"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).","dflt":1,"editType":"plot","max":1.3,"min":0,"valType":"number"},"width":{"description":"Sets the line width (in px).","dflt":2,"editType":"style","min":0,"valType":"number"}},"marker":{"angle":{"arrayOk":true,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"plot","valType":"angle"},"angleref":{"description":"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.","dflt":"up","editType":"plot","valType":"enumerated","values":["previous","up"]},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","gradient":{"color":{"arrayOk":true,"description":"Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","type":{"arrayOk":true,"description":"Sets the type of gradient used to fill the markers","dflt":"none","editType":"calc","valType":"enumerated","values":["radial","horizontal","vertical","none"]},"typesrc":{"description":"Sets the source reference on Chart Studio Cloud for `type`.","editType":"none","valType":"string"}},"line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"maxdisplayed":{"description":"Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit.","dflt":0,"editType":"plot","min":0,"valType":"number"},"opacity":{"arrayOk":true,"description":"Sets the marker opacity.","editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"standoff":{"arrayOk":true,"description":"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.","dflt":0,"editType":"plot","min":0,"valType":"number"},"standoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `standoff`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"style","valType":"enumerated","values":[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"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"real":{"description":"Sets the real component of the data, in units of normalized impedance such that real=1, imag=0 is the center of the chart.","editType":"calc+clearAxisTypes","valType":"data_array"},"realsrc":{"description":"Sets the source reference on Chart Studio Cloud for `real`.","editType":"none","valType":"string"},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"subplot":{"description":"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.","dflt":"smith","editType":"calc","valType":"subplotid"},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the text font.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scattersmith","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["smith","symbols","showLegend","scatter-like"],"meta":{"description":"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.","hrName":"scatter_smith"},"type":"scattersmith"},"scatterternary":{"animatable":false,"attributes":{"a":{"description":"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\u003ci\u003e.sum`.","editType":"calc","valType":"data_array"},"asrc":{"description":"Sets the source reference on Chart Studio Cloud for `a`.","editType":"none","valType":"string"},"b":{"description":"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\u003ci\u003e.sum`.","editType":"calc","valType":"data_array"},"bsrc":{"description":"Sets the source reference on Chart Studio Cloud for `b`.","editType":"none","valType":"string"},"c":{"description":"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\u003ci\u003e.sum`.","editType":"calc","valType":"data_array"},"cliponaxis":{"description":"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*.","dflt":true,"editType":"plot","valType":"boolean"},"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.","dflt":false,"editType":"calc","valType":"boolean"},"csrc":{"description":"Sets the source reference on Chart Studio Cloud for `c`.","editType":"none","valType":"string"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"fill":{"description":"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.","dflt":"none","editType":"calc","valType":"enumerated","values":["none","toself","tonext"]},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"style","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["a","b","c","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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*.","editType":"style","flags":["points","fills"],"valType":"flaglist"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"backoff":{"arrayOk":true,"description":"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*.","dflt":"auto","editType":"plot","min":0,"valType":"number"},"backoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `backoff`.","editType":"none","valType":"string"},"color":{"description":"Sets the line color.","editType":"style","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"calc","role":"object","shape":{"description":"Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.","dflt":"linear","editType":"plot","valType":"enumerated","values":["linear","spline"]},"smoothing":{"description":"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).","dflt":1,"editType":"plot","max":1.3,"min":0,"valType":"number"},"width":{"description":"Sets the line width (in px).","dflt":2,"editType":"style","min":0,"valType":"number"}},"marker":{"angle":{"arrayOk":true,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"plot","valType":"angle"},"angleref":{"description":"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.","dflt":"up","editType":"plot","valType":"enumerated","values":["previous","up"]},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","gradient":{"color":{"arrayOk":true,"description":"Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","type":{"arrayOk":true,"description":"Sets the type of gradient used to fill the markers","dflt":"none","editType":"calc","valType":"enumerated","values":["radial","horizontal","vertical","none"]},"typesrc":{"description":"Sets the source reference on Chart Studio Cloud for `type`.","editType":"none","valType":"string"}},"line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"maxdisplayed":{"description":"Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit.","dflt":0,"editType":"plot","min":0,"valType":"number"},"opacity":{"arrayOk":true,"description":"Sets the marker opacity.","editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"standoff":{"arrayOk":true,"description":"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.","dflt":0,"editType":"plot","min":0,"valType":"number"},"standoffsrc":{"description":"Sets the source reference on Chart Studio Cloud for `standoff`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"style","valType":"enumerated","values":[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"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"mode":{"description":"Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.","dflt":"markers","editType":"calc","extras":["none"],"flags":["lines","markers","text"],"valType":"flaglist"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of selected points.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"subplot":{"description":"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.","dflt":"ternary","editType":"calc","valType":"subplotid"},"sum":{"description":"The number each triplet should sum to, if only two of `a`, `b`, and `c` are provided. This overrides `ternary\u003ci\u003e.sum` to normalize this specific trace, but does not affect the values displayed on the axes. 0 (or missing) means to use ternary\u003ci\u003e.sum","dflt":0,"editType":"calc","min":0,"valType":"number"},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the text font.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textposition":{"arrayOk":true,"description":"Sets the positions of the `text` elements with respects to the (x,y) coordinates.","dflt":"middle center","editType":"calc","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"scatterternary","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"style","min":0,"valType":"number"}},"role":"object","textfont":{"color":{"description":"Sets the text font color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","role":"object"}},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["ternary","symbols","showLegend","scatter-like"],"meta":{"description":"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.","hrName":"scatter_ternary"},"type":"scatterternary"},"splom":{"animatable":false,"attributes":{"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"diagonal":{"editType":"calc","role":"object","visible":{"description":"Determines whether or not subplots on the diagonal are displayed.","dflt":true,"editType":"calc","valType":"boolean"}},"dimensions":{"items":{"dimension":{"axis":{"editType":"calc+clearAxisTypes","matches":{"description":"Determines whether or not the x \u0026 y axes generated by this dimension match. Equivalent to setting the `matches` axis attribute in the layout with the correct axis id.","dflt":false,"editType":"calc","valType":"boolean"},"role":"object","type":{"description":"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.","editType":"calc+clearAxisTypes","valType":"enumerated","values":["linear","log","date","category"]}},"editType":"calc+clearAxisTypes","label":{"description":"Sets the label corresponding to this splom dimension.","editType":"calc","valType":"string"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"none","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"values":{"description":"Sets the dimension values to be plotted.","editType":"calc+clearAxisTypes","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"},"visible":{"description":"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.","dflt":true,"editType":"calc","valType":"boolean"}}},"role":"object"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"marker":{"angle":{"arrayOk":true,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"plot","valType":"angle"},"anglesrc":{"description":"Sets the source reference on Chart Studio Cloud for `angle`.","editType":"none","valType":"string"},"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"style","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"style","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","line":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"color":{"arrayOk":true,"description":"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.","editType":"calc","valType":"color"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the lines bounding the marker points.","editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"opacity":{"arrayOk":true,"description":"Sets the marker opacity.","editType":"style","max":1,"min":0,"valType":"number"},"opacitysrc":{"description":"Sets the source reference on Chart Studio Cloud for `opacity`.","editType":"none","valType":"string"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"arrayOk":true,"description":"Sets the marker size (in px).","dflt":6,"editType":"markerSize","min":0,"valType":"number"},"sizemin":{"description":"Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.","dflt":0,"editType":"calc","min":0,"valType":"number"},"sizemode":{"description":"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.","dflt":"diameter","editType":"calc","valType":"enumerated","values":["diameter","area"]},"sizeref":{"description":"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`.","dflt":1,"editType":"calc","valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"symbol":{"arrayOk":true,"description":"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.","dflt":"circle","editType":"style","valType":"enumerated","values":[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"]},"symbolsrc":{"description":"Sets the source reference on Chart Studio Cloud for `symbol`.","editType":"none","valType":"string"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"selected":{"editType":"calc","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"calc","valType":"color"},"editType":"calc","opacity":{"description":"Sets the marker opacity of selected points.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"calc","min":0,"valType":"number"}},"role":"object"},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"showlowerhalf":{"description":"Determines whether or not subplots on the lower half from the diagonal are displayed.","dflt":true,"editType":"calc","valType":"boolean"},"showupperhalf":{"description":"Determines whether or not subplots on the upper half from the diagonal are displayed.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"splom","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"calc","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"calc","valType":"color"},"editType":"calc","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"calc","min":0,"valType":"number"}},"role":"object"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"xaxes":{"description":"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.","editType":"calc","freeLength":true,"items":{"editType":"plot","regex":"/^x([2-9]|[1-9][0-9]+)?( domain)?$/","valType":"subplotid"},"valType":"info_array"},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"yaxes":{"description":"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.","editType":"calc","freeLength":true,"items":{"editType":"plot","regex":"/^y([2-9]|[1-9][0-9]+)?( domain)?$/","valType":"subplotid"},"valType":"info_array"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"}},"categories":["gl","regl","cartesian","symbols","showLegend","scatter-like"],"meta":{"description":"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. "},"type":"splom"},"streamtube":{"animatable":false,"attributes":{"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"x+y+z+norm+text+name","editType":"calc","extras":["all","none","skip"],"flags":["x","y","z","u","v","w","norm","divergence","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"lighting":{"ambient":{"description":"Ambient light increases overall color visibility but can wash out the image.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"diffuse":{"description":"Represents the extent that incident rays are reflected in a range of angles.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"editType":"calc","facenormalsepsilon":{"description":"Epsilon for face normals calculation avoids math issues arising from degenerate geometry.","dflt":0.000001,"editType":"calc","max":1,"min":0,"valType":"number"},"fresnel":{"description":"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.","dflt":0.2,"editType":"calc","max":5,"min":0,"valType":"number"},"role":"object","roughness":{"description":"Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.","dflt":0.5,"editType":"calc","max":1,"min":0,"valType":"number"},"specular":{"description":"Represents the level that incident rays are reflected in a single direction, causing shine.","dflt":0.05,"editType":"calc","max":2,"min":0,"valType":"number"},"vertexnormalsepsilon":{"description":"Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.","dflt":1e-12,"editType":"calc","max":1,"min":0,"valType":"number"}},"lightposition":{"editType":"calc","role":"object","x":{"description":"Numeric vector, representing the X coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"y":{"description":"Numeric vector, representing the Y coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"z":{"description":"Numeric vector, representing the Z coordinate for each vertex.","dflt":0,"editType":"calc","max":100000,"min":-100000,"valType":"number"}},"maxdisplayed":{"description":"The maximum number of displayed segments in a streamtube.","dflt":1000,"editType":"calc","min":0,"valType":"integer"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"scene":{"description":"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.","dflt":"scene","editType":"calc+clearAxisTypes","valType":"subplotid"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"style","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"sizeref":{"description":"The scaling factor for the streamtubes. The default is 1, which avoids two max divergence tubes from touching at adjacent starting positions.","dflt":1,"editType":"calc","min":0,"valType":"number"},"starts":{"editType":"calc","role":"object","x":{"description":"Sets the x components of the starting position of the streamtubes","editType":"calc","valType":"data_array"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y components of the starting position of the streamtubes","editType":"calc","valType":"data_array"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"Sets the z components of the starting position of the streamtubes","editType":"calc","valType":"data_array"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"type":"streamtube","u":{"description":"Sets the x components of the vector field.","editType":"calc","valType":"data_array"},"uhoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"usrc":{"description":"Sets the source reference on Chart Studio Cloud for `u`.","editType":"none","valType":"string"},"v":{"description":"Sets the y components of the vector field.","editType":"calc","valType":"data_array"},"vhoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"vsrc":{"description":"Sets the source reference on Chart Studio Cloud for `v`.","editType":"none","valType":"string"},"w":{"description":"Sets the z components of the vector field.","editType":"calc","valType":"data_array"},"whoverformat":{"description":"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.","dflt":"","editType":"none","valType":"string"},"wsrc":{"description":"Sets the source reference on Chart Studio Cloud for `w`.","editType":"none","valType":"string"},"x":{"description":"Sets the x coordinates of the vector field.","editType":"calc+clearAxisTypes","valType":"data_array"},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y coordinates of the vector field.","editType":"calc+clearAxisTypes","valType":"data_array"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"Sets the z coordinates of the vector field.","editType":"calc+clearAxisTypes","valType":"data_array"},"zhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["gl3d","showLegend"],"meta":{"description":"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)."},"type":"streamtube"},"sunburst":{"animatable":true,"attributes":{"branchvalues":{"description":"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.","dflt":"remainder","editType":"calc","valType":"enumerated","values":["remainder","total"]},"count":{"description":"Determines default for `values` when it is not provided, by inferring a 1 for each of the *leaves* and/or *branches*, otherwise 0.","dflt":"leaves","editType":"calc","flags":["branches","leaves"],"valType":"flaglist"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this sunburst trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"editType":"calc","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this sunburst trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this sunburst trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this sunburst trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"label+text+value+name","editType":"none","extras":["all","none","skip"],"flags":["label","text","value","name","current path","percent root","percent entry","percent parent"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"ids":{"anim":true,"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"insidetextfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo` lying inside the sector.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"insidetextorientation":{"description":"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.","dflt":"auto","editType":"plot","valType":"enumerated","values":["horizontal","radial","tangential","auto"]},"labels":{"description":"Sets the labels of each of the sectors.","editType":"calc","valType":"data_array"},"labelssrc":{"description":"Sets the source reference on Chart Studio Cloud for `labels`.","editType":"none","valType":"string"},"leaf":{"editType":"plot","opacity":{"description":"Sets the opacity of the leaves. With colorscale it is defaulted to 1; otherwise it is defaulted to 0.7","editType":"style","max":1,"min":0,"valType":"number"},"role":"object"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"level":{"anim":true,"description":"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`.","editType":"plot","valType":"any"},"marker":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colors":{"description":"Sets the color of each sector of this trace. If not specified, the default trace color set is used to pick the sector colors.","editType":"calc","valType":"data_array"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorssrc":{"description":"Sets the source reference on Chart Studio Cloud for `colors`.","editType":"none","valType":"string"},"editType":"calc","line":{"color":{"arrayOk":true,"description":"Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value.","dflt":null,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the line enclosing each sector.","dflt":1,"editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"pattern":{"bgcolor":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"description":"Sets the pattern within the marker.","editType":"style","fgcolor":{"arrayOk":true,"description":"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`.","editType":"style","valType":"color"},"fgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `fgcolor`.","editType":"none","valType":"string"},"fgopacity":{"description":"Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.","editType":"style","max":1,"min":0,"valType":"number"},"fillmode":{"description":"Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.","dflt":"replace","editType":"style","valType":"enumerated","values":["replace","overlay"]},"role":"object","shape":{"arrayOk":true,"description":"Sets the shape of the pattern fill. By default, no pattern is used for filling the area.","dflt":"","editType":"style","valType":"enumerated","values":["","/","\\","x","-","|","+","."]},"shapesrc":{"description":"Sets the source reference on Chart Studio Cloud for `shape`.","editType":"none","valType":"string"},"size":{"arrayOk":true,"description":"Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.","dflt":8,"editType":"style","min":0,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"solidity":{"arrayOk":true,"description":"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.","dflt":0.3,"editType":"style","max":1,"min":0,"valType":"number"},"soliditysrc":{"description":"Sets the source reference on Chart Studio Cloud for `solidity`.","editType":"none","valType":"string"}},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"Determines whether or not a colorbar is displayed for this trace. Has an effect only if colors is set to a numerical array.","dflt":false,"editType":"calc","valType":"boolean"}},"maxdepth":{"description":"Sets the number of rendered sectors from any given `level`. Set `maxdepth` to *-1* to render all the levels in the hierarchy.","dflt":-1,"editType":"plot","valType":"integer"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"outsidetextfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"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.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"parents":{"description":"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.","editType":"calc","valType":"data_array"},"parentssrc":{"description":"Sets the source reference on Chart Studio Cloud for `parents`.","editType":"none","valType":"string"},"root":{"color":{"description":"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.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"editType":"calc","role":"object"},"rotation":{"description":"Rotates the whole diagram counterclockwise by some angle. By default the first slice starts at 3 o'clock.","dflt":0,"editType":"plot","valType":"angle"},"sort":{"description":"Determines whether or not the sectors are reordered from largest to smallest.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"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.","editType":"plot","valType":"data_array"},"textfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo`.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textinfo":{"description":"Determines which trace information appear on the graph.","editType":"plot","extras":["none"],"flags":["label","text","value","current path","percent root","percent entry","percent parent"],"valType":"flaglist"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"sunburst","uid":{"anim":true,"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"values":{"description":"Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed.","editType":"calc","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":[],"layoutAttributes":{"extendsunburstcolors":{"description":"If `true`, the sunburst slice colors (whether given by `sunburstcolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended.","dflt":true,"editType":"calc","valType":"boolean"},"sunburstcolorway":{"description":"Sets the default sunburst slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendsunburstcolors`.","editType":"calc","valType":"colorlist"}},"meta":{"description":"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*."},"type":"sunburst"},"surface":{"animatable":false,"attributes":{"_deprecated":{"zauto":{"description":"Obsolete. Use `cauto` instead.","editType":"calc"},"zmax":{"description":"Obsolete. Use `cmax` instead.","editType":"calc"},"zmin":{"description":"Obsolete. Use `cmin` instead.","editType":"calc"}},"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":false,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"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*.","editType":"calc","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"calc","valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"connectgaps":{"description":"Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data are filled in.","dflt":false,"editType":"calc","valType":"boolean"},"contours":{"editType":"calc","role":"object","x":{"color":{"description":"Sets the color of the contour lines.","dflt":"#444","editType":"calc","valType":"color"},"editType":"calc","end":{"description":"Sets the end contour level value. Must be more than `contours.start`","dflt":null,"editType":"calc","valType":"number"},"highlight":{"description":"Determines whether or not contour lines about the x dimension are highlighted on hover.","dflt":true,"editType":"calc","valType":"boolean"},"highlightcolor":{"description":"Sets the color of the highlighted contour lines.","dflt":"#444","editType":"calc","valType":"color"},"highlightwidth":{"description":"Sets the width of the highlighted contour lines.","dflt":2,"editType":"calc","max":16,"min":1,"valType":"number"},"project":{"editType":"calc","role":"object","x":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"y":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"z":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"role":"object","show":{"description":"Determines whether or not contour lines about the x dimension are drawn.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"description":"Sets the step between each contour level. Must be positive.","dflt":null,"editType":"calc","min":0,"valType":"number"},"start":{"description":"Sets the starting contour level value. Must be less than `contours.end`","dflt":null,"editType":"calc","valType":"number"},"usecolormap":{"description":"An alternate to *color*. Determines whether or not the contour lines are colored using the trace *colorscale*.","dflt":false,"editType":"calc","valType":"boolean"},"width":{"description":"Sets the width of the contour lines.","dflt":2,"editType":"calc","max":16,"min":1,"valType":"number"}},"y":{"color":{"description":"Sets the color of the contour lines.","dflt":"#444","editType":"calc","valType":"color"},"editType":"calc","end":{"description":"Sets the end contour level value. Must be more than `contours.start`","dflt":null,"editType":"calc","valType":"number"},"highlight":{"description":"Determines whether or not contour lines about the y dimension are highlighted on hover.","dflt":true,"editType":"calc","valType":"boolean"},"highlightcolor":{"description":"Sets the color of the highlighted contour lines.","dflt":"#444","editType":"calc","valType":"color"},"highlightwidth":{"description":"Sets the width of the highlighted contour lines.","dflt":2,"editType":"calc","max":16,"min":1,"valType":"number"},"project":{"editType":"calc","role":"object","x":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"y":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"z":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"role":"object","show":{"description":"Determines whether or not contour lines about the y dimension are drawn.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"description":"Sets the step between each contour level. Must be positive.","dflt":null,"editType":"calc","min":0,"valType":"number"},"start":{"description":"Sets the starting contour level value. Must be less than `contours.end`","dflt":null,"editType":"calc","valType":"number"},"usecolormap":{"description":"An alternate to *color*. Determines whether or not the contour lines are colored using the trace *colorscale*.","dflt":false,"editType":"calc","valType":"boolean"},"width":{"description":"Sets the width of the contour lines.","dflt":2,"editType":"calc","max":16,"min":1,"valType":"number"}},"z":{"color":{"description":"Sets the color of the contour lines.","dflt":"#444","editType":"calc","valType":"color"},"editType":"calc","end":{"description":"Sets the end contour level value. Must be more than `contours.start`","dflt":null,"editType":"calc","valType":"number"},"highlight":{"description":"Determines whether or not contour lines about the z dimension are highlighted on hover.","dflt":true,"editType":"calc","valType":"boolean"},"highlightcolor":{"description":"Sets the color of the highlighted contour lines.","dflt":"#444","editType":"calc","valType":"color"},"highlightwidth":{"description":"Sets the width of the highlighted contour lines.","dflt":2,"editType":"calc","max":16,"min":1,"valType":"number"},"project":{"editType":"calc","role":"object","x":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"y":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"z":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"role":"object","show":{"description":"Determines whether or not contour lines about the z dimension are drawn.","dflt":false,"editType":"calc","valType":"boolean"},"size":{"description":"Sets the step between each contour level. Must be positive.","dflt":null,"editType":"calc","min":0,"valType":"number"},"start":{"description":"Sets the starting contour level value. Must be less than `contours.end`","dflt":null,"editType":"calc","valType":"number"},"usecolormap":{"description":"An alternate to *color*. Determines whether or not the contour lines are colored using the trace *colorscale*.","dflt":false,"editType":"calc","valType":"boolean"},"width":{"description":"Sets the width of the contour lines.","dflt":2,"editType":"calc","max":16,"min":1,"valType":"number"}}},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"hidesurface":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"lighting":{"ambient":{"description":"Ambient light increases overall color visibility but can wash out the image.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"diffuse":{"description":"Represents the extent that incident rays are reflected in a range of angles.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"editType":"calc","fresnel":{"description":"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.","dflt":0.2,"editType":"calc","max":5,"min":0,"valType":"number"},"role":"object","roughness":{"description":"Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.","dflt":0.5,"editType":"calc","max":1,"min":0,"valType":"number"},"specular":{"description":"Represents the level that incident rays are reflected in a single direction, causing shine.","dflt":0.05,"editType":"calc","max":2,"min":0,"valType":"number"}},"lightposition":{"editType":"calc","role":"object","x":{"description":"Numeric vector, representing the X coordinate for each vertex.","dflt":10,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"y":{"description":"Numeric vector, representing the Y coordinate for each vertex.","dflt":10000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"z":{"description":"Numeric vector, representing the Z coordinate for each vertex.","dflt":0,"editType":"calc","max":100000,"min":-100000,"valType":"number"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"opacityscale":{"description":"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'.","editType":"calc","valType":"any"},"reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"scene":{"description":"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.","dflt":"scene","editType":"calc+clearAxisTypes","valType":"subplotid"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"calc","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"surfacecolor":{"description":"Sets the surface color values, used for setting a color scale independent of `z`.","editType":"calc","valType":"data_array"},"surfacecolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `surfacecolor`.","editType":"none","valType":"string"},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"type":"surface","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"xcalendar":{"description":"Sets the calendar system to use with `x` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"xhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"ycalendar":{"description":"Sets the calendar system to use with `y` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"yhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"Sets the z coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"zcalendar":{"description":"Sets the calendar system to use with `z` date data.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"zhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["gl3d","2dMap","showLegend"],"meta":{"description":"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`."},"type":"surface"},"table":{"animatable":false,"attributes":{"cells":{"align":{"arrayOk":true,"description":"Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more \u003cbr\u003e HTML tags) or if an explicit width is set to override the text width.","dflt":"center","editType":"calc","valType":"enumerated","values":["left","center","right"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"editType":"calc","fill":{"color":{"arrayOk":true,"description":"Sets the cell fill color. It accepts either a specific color or an array of colors or a 2D array of colors.","dflt":"white","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object"},"font":{"color":{"arrayOk":true,"editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"format":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"formatsrc":{"description":"Sets the source reference on Chart Studio Cloud for `format`.","editType":"none","valType":"string"},"height":{"description":"The height of cells.","dflt":20,"editType":"calc","valType":"number"},"line":{"color":{"arrayOk":true,"dflt":"grey","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"dflt":1,"editType":"calc","valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"prefix":{"arrayOk":true,"description":"Prefix for cell values.","dflt":null,"editType":"calc","valType":"string"},"prefixsrc":{"description":"Sets the source reference on Chart Studio Cloud for `prefix`.","editType":"none","valType":"string"},"role":"object","suffix":{"arrayOk":true,"description":"Suffix for cell values.","dflt":null,"editType":"calc","valType":"string"},"suffixsrc":{"description":"Sets the source reference on Chart Studio Cloud for `suffix`.","editType":"none","valType":"string"},"values":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"}},"columnorder":{"description":"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.","editType":"calc","valType":"data_array"},"columnordersrc":{"description":"Sets the source reference on Chart Studio Cloud for `columnorder`.","editType":"none","valType":"string"},"columnwidth":{"arrayOk":true,"description":"The width of columns expressed as a ratio. Columns fill the available width in proportion of their specified column widths.","dflt":null,"editType":"calc","valType":"number"},"columnwidthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `columnwidth`.","editType":"none","valType":"string"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this table trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"editType":"calc","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this table trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this table trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this table trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"editType":"calc","header":{"align":{"arrayOk":true,"description":"Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more \u003cbr\u003e HTML tags) or if an explicit width is set to override the text width.","dflt":"center","editType":"calc","valType":"enumerated","values":["left","center","right"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"editType":"calc","fill":{"color":{"arrayOk":true,"description":"Sets the cell fill color. It accepts either a specific color or an array of colors or a 2D array of colors.","dflt":"white","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object"},"font":{"color":{"arrayOk":true,"editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"format":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"formatsrc":{"description":"Sets the source reference on Chart Studio Cloud for `format`.","editType":"none","valType":"string"},"height":{"description":"The height of cells.","dflt":28,"editType":"calc","valType":"number"},"line":{"color":{"arrayOk":true,"dflt":"grey","editType":"calc","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"dflt":1,"editType":"calc","valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"prefix":{"arrayOk":true,"description":"Prefix for cell values.","dflt":null,"editType":"calc","valType":"string"},"prefixsrc":{"description":"Sets the source reference on Chart Studio Cloud for `prefix`.","editType":"none","valType":"string"},"role":"object","suffix":{"arrayOk":true,"description":"Suffix for cell values.","dflt":null,"editType":"calc","valType":"string"},"suffixsrc":{"description":"Sets the source reference on Chart Studio Cloud for `suffix`.","editType":"none","valType":"string"},"values":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"}},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"type":"table","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":["noOpacity"],"meta":{"description":"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."},"type":"table"},"treemap":{"animatable":true,"attributes":{"branchvalues":{"description":"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.","dflt":"remainder","editType":"calc","valType":"enumerated","values":["remainder","total"]},"count":{"description":"Determines default for `values` when it is not provided, by inferring a 1 for each of the *leaves* and/or *branches*, otherwise 0.","dflt":"leaves","editType":"calc","flags":["branches","leaves"],"valType":"flaglist"},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"domain":{"column":{"description":"If there is a layout grid, use the domain for this column in the grid for this treemap trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"editType":"calc","role":"object","row":{"description":"If there is a layout grid, use the domain for this row in the grid for this treemap trace .","dflt":0,"editType":"calc","min":0,"valType":"integer"},"x":{"description":"Sets the horizontal domain of this treemap trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"},"y":{"description":"Sets the vertical domain of this treemap trace (in plot fraction).","dflt":[0,1],"editType":"calc","items":[{"editType":"calc","max":1,"min":0,"valType":"number"},{"editType":"calc","max":1,"min":0,"valType":"number"}],"valType":"info_array"}},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"label+text+value+name","editType":"none","extras":["all","none","skip"],"flags":["label","text","value","name","current path","percent root","percent entry","percent parent"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"ids":{"anim":true,"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"insidetextfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo` lying inside the sector.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"labels":{"description":"Sets the labels of each of the sectors.","editType":"calc","valType":"data_array"},"labelssrc":{"description":"Sets the source reference on Chart Studio Cloud for `labels`.","editType":"none","valType":"string"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"level":{"anim":true,"description":"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`.","editType":"plot","valType":"any"},"marker":{"autocolorscale":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"plot","impliedEdits":{"cauto":false},"valType":"number"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"colorbars","valType":"string"},"titlefont":{"color":{"editType":"colorbars","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"colorbars","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"colorbars","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"colorbars","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"colorbars","exponentformat":{"description":"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.","dflt":"B","editType":"colorbars","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"colorbars","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"colorbars","min":0,"valType":"number"},"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,"editType":"colorbars","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"colorbars","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"colorbars","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"colorbars","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"colorbars","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"colorbars","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"colorbars","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"colorbars","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"colorbars","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"colorbars","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"colorbars","valType":"color"},"tickfont":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets the color bar's tick label font","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"colorbars","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"colorbars","items":[{"editType":"colorbars","valType":"any"},{"editType":"colorbars","valType":"any"}],"valType":"info_array"},"editType":"colorbars","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"colorbars","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"colorbars","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"colorbars","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"colorbars","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"colorbars","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"colorbars","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"colorbars","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"colorbars","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"colorbars","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"colorbars","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"colorbars","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"colorbars","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"colorbars","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"colorbars","min":0,"valType":"number"},"title":{"editType":"colorbars","font":{"color":{"editType":"colorbars","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"colorbars","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"colorbars","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"colorbars","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"colorbars","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"colorbars","valType":"string"}},"x":{"description":"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*.","editType":"colorbars","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"colorbars","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"colorbars","valType":"number"},"yanchor":{"description":"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*.","editType":"colorbars","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"colorbars","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"colorbars","valType":"enumerated","values":["container","paper"]}},"colors":{"description":"Sets the color of each sector of this trace. If not specified, the default trace color set is used to pick the sector colors.","editType":"calc","valType":"data_array"},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"colorssrc":{"description":"Sets the source reference on Chart Studio Cloud for `colors`.","editType":"none","valType":"string"},"cornerradius":{"description":"Sets the maximum rounding of corners (in px).","dflt":0,"editType":"plot","min":0,"valType":"number"},"depthfade":{"description":"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.","editType":"style","valType":"enumerated","values":[true,false,"reversed"]},"editType":"calc","line":{"color":{"arrayOk":true,"description":"Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value.","dflt":null,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"editType":"calc","role":"object","width":{"arrayOk":true,"description":"Sets the width (in px) of the line enclosing each sector.","dflt":1,"editType":"style","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"}},"pad":{"b":{"description":"Sets the padding form the bottom (in px).","editType":"plot","min":0,"valType":"number"},"editType":"calc","l":{"description":"Sets the padding form the left (in px).","editType":"plot","min":0,"valType":"number"},"r":{"description":"Sets the padding form the right (in px).","editType":"plot","min":0,"valType":"number"},"role":"object","t":{"description":"Sets the padding form the top (in px).","editType":"plot","min":0,"valType":"number"}},"pattern":{"bgcolor":{"arrayOk":true,"description":"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.","editType":"style","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"description":"Sets the pattern within the marker.","editType":"style","fgcolor":{"arrayOk":true,"description":"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`.","editType":"style","valType":"color"},"fgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `fgcolor`.","editType":"none","valType":"string"},"fgopacity":{"description":"Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.","editType":"style","max":1,"min":0,"valType":"number"},"fillmode":{"description":"Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.","dflt":"replace","editType":"style","valType":"enumerated","values":["replace","overlay"]},"role":"object","shape":{"arrayOk":true,"description":"Sets the shape of the pattern fill. By default, no pattern is used for filling the area.","dflt":"","editType":"style","valType":"enumerated","values":["","/","\\","x","-","|","+","."]},"shapesrc":{"description":"Sets the source reference on Chart Studio Cloud for `shape`.","editType":"none","valType":"string"},"size":{"arrayOk":true,"description":"Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.","dflt":8,"editType":"style","min":0,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"},"solidity":{"arrayOk":true,"description":"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.","dflt":0.3,"editType":"style","max":1,"min":0,"valType":"number"},"soliditysrc":{"description":"Sets the source reference on Chart Studio Cloud for `solidity`.","editType":"none","valType":"string"}},"reversescale":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"role":"object","showscale":{"description":"Determines whether or not a colorbar is displayed for this trace. Has an effect only if colors is set to a numerical array.","dflt":false,"editType":"calc","valType":"boolean"}},"maxdepth":{"description":"Sets the number of rendered sectors from any given `level`. Set `maxdepth` to *-1* to render all the levels in the hierarchy.","dflt":-1,"editType":"plot","valType":"integer"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"outsidetextfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"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.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"parents":{"description":"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.","editType":"calc","valType":"data_array"},"parentssrc":{"description":"Sets the source reference on Chart Studio Cloud for `parents`.","editType":"none","valType":"string"},"pathbar":{"edgeshape":{"description":"Determines which shape is used for edges between `barpath` labels.","dflt":"\u003e","editType":"plot","valType":"enumerated","values":["\u003e","\u003c","|","/","\\"]},"editType":"calc","role":"object","side":{"description":"Determines on which side of the the treemap the `pathbar` should be presented.","dflt":"top","editType":"plot","valType":"enumerated","values":["top","bottom"]},"textfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used inside `pathbar`.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"thickness":{"description":"Sets the thickness of `pathbar` (in px). If not specified the `pathbar.textfont.size` is used with 3 pixles extra padding on each side.","editType":"plot","min":12,"valType":"number"},"visible":{"description":"Determines if the path bar is drawn i.e. outside the trace `domain` and with one pixel gap.","dflt":true,"editType":"plot","valType":"boolean"}},"root":{"color":{"description":"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.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"editType":"calc","role":"object"},"sort":{"description":"Determines whether or not the sectors are reordered from largest to smallest.","dflt":true,"editType":"calc","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"description":"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.","editType":"plot","valType":"data_array"},"textfont":{"color":{"arrayOk":true,"editType":"plot","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `textinfo`.","editType":"plot","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"plot","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"plot","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textinfo":{"description":"Determines which trace information appear on the graph.","editType":"plot","extras":["none"],"flags":["label","text","value","current path","percent root","percent entry","percent parent"],"valType":"flaglist"},"textposition":{"description":"Sets the positions of the `text` elements.","dflt":"top left","editType":"plot","valType":"enumerated","values":["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"]},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"tiling":{"editType":"calc","flip":{"description":"Determines if the positions obtained from solver are flipped on each axis.","dflt":"","editType":"plot","flags":["x","y"],"valType":"flaglist"},"packing":{"description":"Determines d3 treemap solver. For more info please refer to https://github.com/d3/d3-hierarchy#treemap-tiling","dflt":"squarify","editType":"plot","valType":"enumerated","values":["squarify","binary","dice","slice","slice-dice","dice-slice"]},"pad":{"description":"Sets the inner padding (in px).","dflt":3,"editType":"plot","min":0,"valType":"number"},"role":"object","squarifyratio":{"description":"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.","dflt":1,"editType":"plot","min":1,"valType":"number"}},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"treemap","uid":{"anim":true,"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"values":{"description":"Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed.","editType":"calc","valType":"data_array"},"valuessrc":{"description":"Sets the source reference on Chart Studio Cloud for `values`.","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]}},"categories":[],"layoutAttributes":{"extendtreemapcolors":{"description":"If `true`, the treemap slice colors (whether given by `treemapcolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended.","dflt":true,"editType":"calc","valType":"boolean"},"treemapcolorway":{"description":"Sets the default treemap slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendtreemapcolors`.","editType":"calc","valType":"colorlist"}},"meta":{"description":"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*."},"type":"treemap"},"violin":{"animatable":false,"attributes":{"alignmentgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"bandwidth":{"description":"Sets the bandwidth used to compute the kernel density estimate. By default, the bandwidth is determined by Silverman's rule of thumb.","editType":"calc","min":0,"valType":"number"},"box":{"editType":"plot","fillcolor":{"description":"Sets the inner box plot fill color.","editType":"style","valType":"color"},"line":{"color":{"description":"Sets the inner box plot bounding line color.","editType":"style","valType":"color"},"editType":"style","role":"object","width":{"description":"Sets the inner box plot bounding line width.","editType":"style","min":0,"valType":"number"}},"role":"object","visible":{"description":"Determines if an miniature box plot is drawn inside the violins. ","dflt":false,"editType":"plot","valType":"boolean"},"width":{"description":"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.","dflt":0.25,"editType":"plot","max":1,"min":0,"valType":"number"}},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"fillcolor":{"description":"Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.","editType":"style","valType":"color"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hoveron":{"description":"Do the hover effects highlight individual violins or sample points or the kernel density estimate or any combination of them?","dflt":"violins+points+kde","editType":"style","extras":["all"],"flags":["violins","points","kde"],"valType":"flaglist"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"jitter":{"description":"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.","editType":"calc","max":1,"min":0,"valType":"number"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"line":{"color":{"description":"Sets the color of line bounding the violin(s).","editType":"style","valType":"color"},"editType":"plot","role":"object","width":{"description":"Sets the width (in px) of line bounding the violin(s).","dflt":2,"editType":"style","min":0,"valType":"number"}},"marker":{"angle":{"arrayOk":false,"description":"Sets the marker angle in respect to `angleref`.","dflt":0,"editType":"calc","valType":"angle"},"color":{"arrayOk":false,"description":"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.","editType":"style","valType":"color"},"editType":"plot","line":{"color":{"arrayOk":false,"description":"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.","dflt":"#444","editType":"style","valType":"color"},"editType":"style","outliercolor":{"description":"Sets the border line color of the outlier sample points. Defaults to marker.color","editType":"style","valType":"color"},"outlierwidth":{"description":"Sets the border line width (in px) of the outlier sample points.","dflt":1,"editType":"style","min":0,"valType":"number"},"role":"object","width":{"arrayOk":false,"description":"Sets the width (in px) of the lines bounding the marker points.","dflt":0,"editType":"style","min":0,"valType":"number"}},"opacity":{"arrayOk":false,"description":"Sets the marker opacity.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"outliercolor":{"description":"Sets the color of the outlier sample points.","dflt":"rgba(0, 0, 0, 0)","editType":"style","valType":"color"},"role":"object","size":{"arrayOk":false,"description":"Sets the marker size (in px).","dflt":6,"editType":"calc","min":0,"valType":"number"},"symbol":{"arrayOk":false,"description":"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.","dflt":"circle","editType":"plot","valType":"enumerated","values":[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"]}},"meanline":{"color":{"description":"Sets the mean line color.","editType":"style","valType":"color"},"editType":"plot","role":"object","visible":{"description":"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.","dflt":false,"editType":"plot","valType":"boolean"},"width":{"description":"Sets the mean line width.","editType":"style","min":0,"valType":"number"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"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).","editType":"calc+clearAxisTypes","valType":"string"},"offsetgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"orientation":{"description":"Sets the orientation of the violin(s). If *v* (*h*), the distribution is visualized along the vertical (horizontal).","editType":"calc+clearAxisTypes","valType":"enumerated","values":["v","h"]},"pointpos":{"description":"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.","editType":"calc","max":2,"min":-2,"valType":"number"},"points":{"description":"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*.","editType":"calc","valType":"enumerated","values":["all","outliers","suspectedoutliers",false]},"quartilemethod":{"description":"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.","dflt":"linear","editType":"calc","valType":"enumerated","values":["linear","exclusive","inclusive"]},"scalegroup":{"description":"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","dflt":"","editType":"calc","valType":"string"},"scalemode":{"description":"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.","dflt":"width","editType":"calc","valType":"enumerated","values":["width","count"]},"selected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of selected points.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of selected points.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of selected points.","editType":"style","min":0,"valType":"number"}},"role":"object"},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"side":{"description":"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*.","dflt":"both","editType":"calc","valType":"enumerated","values":["both","positive","negative"]},"span":{"description":"Sets the span in data space for which the density function will be computed. Has an effect only when `spanmode` is set to *manual*.","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"spanmode":{"description":"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.","dflt":"soft","editType":"calc","valType":"enumerated","values":["soft","hard","manual"]},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"violin","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"unselected":{"editType":"style","marker":{"color":{"description":"Sets the marker color of unselected points, applied only when a selection exists.","editType":"style","valType":"color"},"editType":"style","opacity":{"description":"Sets the marker opacity of unselected points, applied only when a selection exists.","editType":"style","max":1,"min":0,"valType":"number"},"role":"object","size":{"description":"Sets the marker size of unselected points, applied only when a selection exists.","editType":"style","min":0,"valType":"number"}},"role":"object"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"width":{"description":"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.","dflt":0,"editType":"calc","min":0,"valType":"number"},"x":{"description":"Sets the x sample data or coordinates. See overview for more info.","editType":"calc+clearAxisTypes","valType":"data_array"},"x0":{"description":"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.","editType":"calc+clearAxisTypes","valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y sample data or coordinates. See overview for more info.","editType":"calc+clearAxisTypes","valType":"data_array"},"y0":{"description":"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.","editType":"calc+clearAxisTypes","valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"zorder":{"description":"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`.","dflt":0,"editType":"plot","valType":"integer"}},"categories":["cartesian","svg","symbols","oriented","box-violin","showLegend","violinLayout","zoomScale"],"layoutAttributes":{"violingap":{"description":"Sets the gap (in plot fraction) between violins of adjacent location coordinates. Has no effect on traces that have *width* set.","dflt":0.3,"editType":"calc","max":1,"min":0,"valType":"number"},"violingroupgap":{"description":"Sets the gap (in plot fraction) between violins of the same location coordinate. Has no effect on traces that have *width* set.","dflt":0.3,"editType":"calc","max":1,"min":0,"valType":"number"},"violinmode":{"description":"Determines how violins at the same location coordinate are displayed on the graph. If *group*, the violins are plotted next to one another centered around the shared location. If *overlay*, the violins are plotted over one another, you might need to set *opacity* to see them multiple violins. Has no effect on traces that have *width* set.","dflt":"overlay","editType":"calc","valType":"enumerated","values":["group","overlay"]}},"meta":{"description":"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."},"type":"violin"},"volume":{"animatable":false,"attributes":{"autocolorscale":{"description":"Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"caps":{"editType":"calc","role":"object","x":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","show":{"description":"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.","dflt":true,"editType":"calc","valType":"boolean"}},"y":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","show":{"description":"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.","dflt":true,"editType":"calc","valType":"boolean"}},"z":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","show":{"description":"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.","dflt":true,"editType":"calc","valType":"boolean"}}},"cauto":{"description":"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.","dflt":true,"editType":"calc","impliedEdits":{},"valType":"boolean"},"cmax":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"cmid":{"description":"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`.","dflt":null,"editType":"calc","impliedEdits":{},"valType":"number"},"cmin":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"cauto":false},"valType":"number"},"coloraxis":{"description":"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.","dflt":null,"editType":"calc","regex":"/^coloraxis([2-9]|[1-9][0-9]+)?$/","valType":"subplotid"},"colorbar":{"_deprecated":{"title":{"description":"Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.","editType":"calc","valType":"string"},"titlefont":{"color":{"editType":"calc","valType":"color"},"description":"Deprecated in favor of color bar's `title.font`.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"size":{"editType":"calc","min":1,"valType":"number"}},"titleside":{"description":"Deprecated in favor of color bar's `title.side`.","dflt":"top","editType":"calc","valType":"enumerated","values":["right","top","bottom"]}},"bgcolor":{"description":"Sets the color of padded area.","dflt":"rgba(0,0,0,0)","editType":"calc","valType":"color"},"bordercolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"borderwidth":{"description":"Sets the width (in px) or the border enclosing this color bar.","dflt":0,"editType":"calc","min":0,"valType":"number"},"dtick":{"description":"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\u003cf\u003e*, 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\u003cn\u003e* 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*","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"editType":"calc","exponentformat":{"description":"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.","dflt":"B","editType":"calc","valType":"enumerated","values":["none","e","E","power","SI","B"]},"labelalias":{"description":"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.","dflt":false,"editType":"calc","valType":"any"},"len":{"description":"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.","dflt":1,"editType":"calc","min":0,"valType":"number"},"lenmode":{"description":"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.","dflt":"fraction","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"minexponent":{"description":"Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.","dflt":3,"editType":"calc","min":0,"valType":"number"},"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,"editType":"calc","min":0,"valType":"integer"},"orientation":{"description":"Sets the orientation of the colorbar.","dflt":"v","editType":"calc","valType":"enumerated","values":["h","v"]},"outlinecolor":{"description":"Sets the axis line color.","dflt":"#444","editType":"calc","valType":"color"},"outlinewidth":{"description":"Sets the width (in px) of the axis line.","dflt":1,"editType":"calc","min":0,"valType":"number"},"role":"object","separatethousands":{"description":"If \"true\", even 4-digit integers are separated","dflt":false,"editType":"calc","valType":"boolean"},"showexponent":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticklabels":{"description":"Determines whether or not the tick labels are drawn.","dflt":true,"editType":"calc","valType":"boolean"},"showtickprefix":{"description":"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.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"showticksuffix":{"description":"Same as `showtickprefix` but for tick suffixes.","dflt":"all","editType":"calc","valType":"enumerated","values":["all","first","last","none"]},"thickness":{"description":"Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.","dflt":30,"editType":"calc","min":0,"valType":"number"},"thicknessmode":{"description":"Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.","dflt":"pixels","editType":"calc","valType":"enumerated","values":["fraction","pixels"]},"tick0":{"description":"Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L\u003cf\u003e* (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.","editType":"calc","impliedEdits":{"tickmode":"linear"},"valType":"any"},"tickangle":{"description":"Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.","dflt":"auto","editType":"calc","valType":"angle"},"tickcolor":{"description":"Sets the tick color.","dflt":"#444","editType":"calc","valType":"color"},"tickfont":{"color":{"editType":"calc","valType":"color"},"description":"Sets the color bar's tick label font","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"tickformat":{"description":"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*","dflt":"","editType":"calc","valType":"string"},"tickformatstops":{"items":{"tickformatstop":{"dtickrange":{"description":"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*","editType":"calc","items":[{"editType":"calc","valType":"any"},{"editType":"calc","valType":"any"}],"valType":"info_array"},"editType":"calc","enabled":{"description":"Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.","dflt":true,"editType":"calc","valType":"boolean"},"name":{"description":"When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.","editType":"calc","valType":"string"},"role":"object","templateitemname":{"description":"Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.","editType":"calc","valType":"string"},"value":{"description":"string - dtickformat for described zoom level, the same as *tickformat*","dflt":"","editType":"calc","valType":"string"}}},"role":"object"},"ticklabeloverflow":{"description":"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*.","editType":"calc","valType":"enumerated","values":["allow","hide past div","hide past domain"]},"ticklabelposition":{"description":"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*.","dflt":"outside","editType":"calc","valType":"enumerated","values":["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"]},"ticklabelstep":{"description":"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*.","dflt":1,"editType":"calc","min":1,"valType":"integer"},"ticklen":{"description":"Sets the tick length (in px).","dflt":5,"editType":"calc","min":0,"valType":"number"},"tickmode":{"description":"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).","editType":"calc","impliedEdits":{},"valType":"enumerated","values":["auto","linear","array"]},"tickprefix":{"description":"Sets a tick label prefix.","dflt":"","editType":"calc","valType":"string"},"ticks":{"description":"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.","dflt":"","editType":"calc","valType":"enumerated","values":["outside","inside",""]},"ticksuffix":{"description":"Sets a tick label suffix.","dflt":"","editType":"calc","valType":"string"},"ticktext":{"description":"Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.","editType":"calc","valType":"data_array"},"ticktextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `ticktext`.","editType":"none","valType":"string"},"tickvals":{"description":"Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.","editType":"calc","valType":"data_array"},"tickvalssrc":{"description":"Sets the source reference on Chart Studio Cloud for `tickvals`.","editType":"none","valType":"string"},"tickwidth":{"description":"Sets the tick width (in px).","dflt":1,"editType":"calc","min":0,"valType":"number"},"title":{"editType":"calc","font":{"color":{"editType":"calc","valType":"color"},"description":"Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.","editType":"calc","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"calc","min":1,"valType":"number"}},"role":"object","side":{"description":"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*. Note that the title's location used to be set by the now deprecated `titleside` attribute.","editType":"calc","valType":"enumerated","values":["right","top","bottom"]},"text":{"description":"Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.","editType":"calc","valType":"string"}},"x":{"description":"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*.","editType":"calc","valType":"number"},"xanchor":{"description":"Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.","editType":"calc","valType":"enumerated","values":["left","center","right"]},"xpad":{"description":"Sets the amount of padding (in px) along the x direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"xref":{"description":"Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]},"y":{"description":"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*.","editType":"calc","valType":"number"},"yanchor":{"description":"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*.","editType":"calc","valType":"enumerated","values":["top","middle","bottom"]},"ypad":{"description":"Sets the amount of padding (in px) along the y direction.","dflt":10,"editType":"calc","min":0,"valType":"number"},"yref":{"description":"Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.","dflt":"paper","editType":"calc","valType":"enumerated","values":["container","paper"]}},"colorscale":{"description":"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.","dflt":null,"editType":"calc","impliedEdits":{"autocolorscale":false},"valType":"colorscale"},"contour":{"color":{"description":"Sets the color of the contour lines.","dflt":"#444","editType":"calc","valType":"color"},"editType":"calc","role":"object","show":{"description":"Sets whether or not dynamic contours are shown on hover","dflt":false,"editType":"calc","valType":"boolean"},"width":{"description":"Sets the width of the contour lines.","dflt":2,"editType":"calc","max":16,"min":1,"valType":"number"}},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"flatshading":{"description":"Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low-poly look via flat reflections.","dflt":true,"editType":"calc","valType":"boolean"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"calc","extras":["all","none","skip"],"flags":["x","y","z","text","name"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"calc","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"Same as `text`.","dflt":"","editType":"calc","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"isomax":{"description":"Sets the maximum boundary for iso-surface plot.","editType":"calc","valType":"number"},"isomin":{"description":"Sets the minimum boundary for iso-surface plot.","editType":"calc","valType":"number"},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"lighting":{"ambient":{"description":"Ambient light increases overall color visibility but can wash out the image.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"diffuse":{"description":"Represents the extent that incident rays are reflected in a range of angles.","dflt":0.8,"editType":"calc","max":1,"min":0,"valType":"number"},"editType":"calc","facenormalsepsilon":{"description":"Epsilon for face normals calculation avoids math issues arising from degenerate geometry.","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"fresnel":{"description":"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.","dflt":0.2,"editType":"calc","max":5,"min":0,"valType":"number"},"role":"object","roughness":{"description":"Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.","dflt":0.5,"editType":"calc","max":1,"min":0,"valType":"number"},"specular":{"description":"Represents the level that incident rays are reflected in a single direction, causing shine.","dflt":0.05,"editType":"calc","max":2,"min":0,"valType":"number"},"vertexnormalsepsilon":{"description":"Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.","dflt":1e-12,"editType":"calc","max":1,"min":0,"valType":"number"}},"lightposition":{"editType":"calc","role":"object","x":{"description":"Numeric vector, representing the X coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"y":{"description":"Numeric vector, representing the Y coordinate for each vertex.","dflt":100000,"editType":"calc","max":100000,"min":-100000,"valType":"number"},"z":{"description":"Numeric vector, representing the Z coordinate for each vertex.","dflt":0,"editType":"calc","max":100000,"min":-100000,"valType":"number"}},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"opacity":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"opacityscale":{"description":"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'.","editType":"calc","valType":"any"},"reversescale":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"},"scene":{"description":"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.","dflt":"scene","editType":"calc+clearAxisTypes","valType":"subplotid"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":false,"editType":"calc","valType":"boolean"},"showscale":{"description":"Determines whether or not a colorbar is displayed for this trace.","dflt":true,"editType":"calc","valType":"boolean"},"slices":{"editType":"calc","role":"object","x":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"locations":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"locationssrc":{"description":"Sets the source reference on Chart Studio Cloud for `locations`.","editType":"none","valType":"string"},"role":"object","show":{"description":"Determines whether or not slice planes about the x dimension are drawn.","dflt":false,"editType":"calc","valType":"boolean"}},"y":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"locations":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"locationssrc":{"description":"Sets the source reference on Chart Studio Cloud for `locations`.","editType":"none","valType":"string"},"role":"object","show":{"description":"Determines whether or not slice planes about the y dimension are drawn.","dflt":false,"editType":"calc","valType":"boolean"}},"z":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"locations":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"locationssrc":{"description":"Sets the source reference on Chart Studio Cloud for `locations`.","editType":"none","valType":"string"},"role":"object","show":{"description":"Determines whether or not slice planes about the z dimension are drawn.","dflt":false,"editType":"calc","valType":"boolean"}}},"spaceframe":{"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"role":"object","show":{"description":"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.","dflt":false,"editType":"calc","valType":"boolean"}},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"surface":{"count":{"description":"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.","dflt":2,"editType":"calc","min":1,"valType":"integer"},"editType":"calc","fill":{"description":"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.","dflt":1,"editType":"calc","max":1,"min":0,"valType":"number"},"pattern":{"description":"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.","dflt":"all","editType":"calc","extras":["all","odd","even"],"flags":["A","B","C","D","E"],"valType":"flaglist"},"role":"object","show":{"description":"Hides/displays surfaces between minimum and maximum iso-values.","dflt":true,"editType":"calc","valType":"boolean"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"type":"volume","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"value":{"description":"Sets the 4th dimension (value) of the vertices.","editType":"calc+clearAxisTypes","valType":"data_array"},"valuehoverformat":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"valuesrc":{"description":"Sets the source reference on Chart Studio Cloud for `value`.","editType":"none","valType":"string"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"x":{"description":"Sets the X coordinates of the vertices on X axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"xhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the Y coordinates of the vertices on Y axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"yhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"z":{"description":"Sets the Z coordinates of the vertices on Z axis.","editType":"calc+clearAxisTypes","valType":"data_array"},"zhoverformat":{"description":"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`.","dflt":"","editType":"calc","valType":"string"},"zsrc":{"description":"Sets the source reference on Chart Studio Cloud for `z`.","editType":"none","valType":"string"}},"categories":["gl3d","showLegend"],"meta":{"description":"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."},"type":"volume"},"waterfall":{"animatable":false,"attributes":{"alignmentgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"base":{"arrayOk":false,"description":"Sets where the bar base is drawn (in position axis units).","dflt":null,"editType":"calc","valType":"number"},"cliponaxis":{"description":"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*.","dflt":true,"editType":"plot","valType":"boolean"},"connector":{"editType":"plot","line":{"color":{"description":"Sets the line color.","dflt":"#444","editType":"style","valType":"color"},"dash":{"description":"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*).","dflt":"solid","editType":"style","valType":"string","values":["solid","dot","dash","longdash","dashdot","longdashdot"]},"editType":"plot","role":"object","width":{"description":"Sets the line width (in px).","dflt":2,"editType":"plot","min":0,"valType":"number"}},"mode":{"description":"Sets the shape of connector lines.","dflt":"between","editType":"plot","valType":"enumerated","values":["spanning","between"]},"role":"object","visible":{"description":"Determines if connector lines are drawn. ","dflt":true,"editType":"plot","valType":"boolean"}},"constraintext":{"description":"Constrain the size of text inside or outside a bar to be no larger than the bar itself.","dflt":"both","editType":"calc","valType":"enumerated","values":["inside","outside","both","none"]},"customdata":{"description":"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","editType":"calc","valType":"data_array"},"customdatasrc":{"description":"Sets the source reference on Chart Studio Cloud for `customdata`.","editType":"none","valType":"string"},"decreasing":{"editType":"style","marker":{"color":{"arrayOk":false,"description":"Sets the marker color of all decreasing values.","editType":"style","valType":"color"},"editType":"style","line":{"color":{"arrayOk":false,"description":"Sets the line color of all decreasing values.","editType":"style","valType":"color"},"editType":"style","role":"object","width":{"arrayOk":false,"description":"Sets the line width of all decreasing values.","dflt":0,"editType":"style","min":0,"valType":"number"}},"role":"object"},"role":"object"},"dx":{"description":"Sets the x coordinate step. See `x0` for more info.","dflt":1,"editType":"calc","valType":"number"},"dy":{"description":"Sets the y coordinate step. See `y0` for more info.","dflt":1,"editType":"calc","valType":"number"},"hoverinfo":{"arrayOk":true,"description":"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.","dflt":"all","editType":"none","extras":["all","none","skip"],"flags":["name","x","y","text","initial","delta","final"],"valType":"flaglist"},"hoverinfosrc":{"description":"Sets the source reference on Chart Studio Cloud for `hoverinfo`.","editType":"none","valType":"string"},"hoverlabel":{"align":{"arrayOk":true,"description":"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","dflt":"auto","editType":"none","valType":"enumerated","values":["left","right","auto"]},"alignsrc":{"description":"Sets the source reference on Chart Studio Cloud for `align`.","editType":"none","valType":"string"},"bgcolor":{"arrayOk":true,"description":"Sets the background color of the hover labels for this trace","editType":"none","valType":"color"},"bgcolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bgcolor`.","editType":"none","valType":"string"},"bordercolor":{"arrayOk":true,"description":"Sets the border color of the hover labels for this trace.","editType":"none","valType":"color"},"bordercolorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `bordercolor`.","editType":"none","valType":"string"},"editType":"none","font":{"color":{"arrayOk":true,"editType":"none","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used in hover labels.","editType":"none","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"none","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"none","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"namelength":{"arrayOk":true,"description":"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 \u003e3 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.","dflt":15,"editType":"none","min":-1,"valType":"integer"},"namelengthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `namelength`.","editType":"none","valType":"string"},"role":"object"},"hovertemplate":{"arrayOk":true,"description":"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 `\u003cextra\u003e` is displayed in the secondary box, for example \"\u003cextra\u003e{fullData.name}\u003c/extra\u003e\". To hide the secondary box completely, use an empty tag `\u003cextra\u003e\u003c/extra\u003e`.","dflt":"","editType":"none","valType":"string"},"hovertemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertemplate`.","editType":"none","valType":"string"},"hovertext":{"arrayOk":true,"description":"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.","dflt":"","editType":"style","valType":"string"},"hovertextsrc":{"description":"Sets the source reference on Chart Studio Cloud for `hovertext`.","editType":"none","valType":"string"},"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.","editType":"calc","valType":"data_array"},"idssrc":{"description":"Sets the source reference on Chart Studio Cloud for `ids`.","editType":"none","valType":"string"},"increasing":{"editType":"style","marker":{"color":{"arrayOk":false,"description":"Sets the marker color of all increasing values.","editType":"style","valType":"color"},"editType":"style","line":{"color":{"arrayOk":false,"description":"Sets the line color of all increasing values.","editType":"style","valType":"color"},"editType":"style","role":"object","width":{"arrayOk":false,"description":"Sets the line width of all increasing values.","dflt":0,"editType":"style","min":0,"valType":"number"}},"role":"object"},"role":"object"},"insidetextanchor":{"description":"Determines if texts are kept at center or start/end points in `textposition` *inside* mode.","dflt":"end","editType":"plot","valType":"enumerated","values":["end","middle","start"]},"insidetextfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `text` lying inside the bar.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"legend":{"description":"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.","dflt":"legend","editType":"style","valType":"subplotid"},"legendgroup":{"description":"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.","dflt":"","editType":"style","valType":"string"},"legendgrouptitle":{"editType":"style","font":{"color":{"editType":"style","valType":"color"},"description":"Sets this legend group's title font.","editType":"style","family":{"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"style","noBlank":true,"strict":true,"valType":"string"},"role":"object","size":{"editType":"style","min":1,"valType":"number"}},"role":"object","text":{"description":"Sets the title of the legend group.","dflt":"","editType":"style","valType":"string"}},"legendrank":{"description":"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.","dflt":1000,"editType":"style","valType":"number"},"legendwidth":{"description":"Sets the width (in px or fraction) of the legend for this trace.","editType":"style","min":0,"valType":"number"},"measure":{"description":"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.","dflt":[],"editType":"calc","valType":"data_array"},"measuresrc":{"description":"Sets the source reference on Chart Studio Cloud for `measure`.","editType":"none","valType":"string"},"meta":{"arrayOk":true,"description":"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.","editType":"plot","valType":"any"},"metasrc":{"description":"Sets the source reference on Chart Studio Cloud for `meta`.","editType":"none","valType":"string"},"name":{"description":"Sets the trace name. The trace name appears as the legend item and on hover.","editType":"style","valType":"string"},"offset":{"arrayOk":true,"description":"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.","dflt":null,"editType":"calc","valType":"number"},"offsetgroup":{"description":"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.","dflt":"","editType":"calc","valType":"string"},"offsetsrc":{"description":"Sets the source reference on Chart Studio Cloud for `offset`.","editType":"none","valType":"string"},"opacity":{"description":"Sets the opacity of the trace.","dflt":1,"editType":"style","max":1,"min":0,"valType":"number"},"orientation":{"description":"Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal).","editType":"calc+clearAxisTypes","valType":"enumerated","values":["v","h"]},"outsidetextfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `text` lying outside the bar.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"selectedpoints":{"description":"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.","editType":"calc","valType":"any"},"showlegend":{"description":"Determines whether or not an item corresponding to this trace is shown in the legend.","dflt":true,"editType":"style","valType":"boolean"},"stream":{"editType":"calc","maxpoints":{"description":"Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.","dflt":500,"editType":"calc","max":10000,"min":0,"valType":"number"},"role":"object","token":{"description":"The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.","editType":"calc","noBlank":true,"strict":true,"valType":"string"}},"text":{"arrayOk":true,"description":"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.","dflt":"","editType":"calc","valType":"string"},"textangle":{"description":"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.","dflt":"auto","editType":"plot","valType":"angle"},"textfont":{"color":{"arrayOk":true,"editType":"style","valType":"color"},"colorsrc":{"description":"Sets the source reference on Chart Studio Cloud for `color`.","editType":"none","valType":"string"},"description":"Sets the font used for `text`.","editType":"calc","family":{"arrayOk":true,"description":"HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"familysrc":{"description":"Sets the source reference on Chart Studio Cloud for `family`.","editType":"none","valType":"string"},"role":"object","size":{"arrayOk":true,"editType":"calc","min":1,"valType":"number"},"sizesrc":{"description":"Sets the source reference on Chart Studio Cloud for `size`.","editType":"none","valType":"string"}},"textinfo":{"arrayOk":false,"description":"Determines which trace information appear on the graph. In the case of having multiple waterfalls, totals are computed separately (per trace).","editType":"plot","extras":["none"],"flags":["label","text","initial","delta","final"],"valType":"flaglist"},"textposition":{"arrayOk":true,"description":"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.","dflt":"auto","editType":"calc","valType":"enumerated","values":["inside","outside","auto","none"]},"textpositionsrc":{"description":"Sets the source reference on Chart Studio Cloud for `textposition`.","editType":"none","valType":"string"},"textsrc":{"description":"Sets the source reference on Chart Studio Cloud for `text`.","editType":"none","valType":"string"},"texttemplate":{"arrayOk":true,"description":"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`.","dflt":"","editType":"plot","valType":"string"},"texttemplatesrc":{"description":"Sets the source reference on Chart Studio Cloud for `texttemplate`.","editType":"none","valType":"string"},"totals":{"editType":"style","marker":{"color":{"arrayOk":false,"description":"Sets the marker color of all intermediate sums and total values.","editType":"style","valType":"color"},"editType":"style","line":{"color":{"arrayOk":false,"description":"Sets the line color of all intermediate sums and total values.","editType":"style","valType":"color"},"editType":"style","role":"object","width":{"arrayOk":false,"description":"Sets the line width of all intermediate sums and total values.","dflt":0,"editType":"style","min":0,"valType":"number"}},"role":"object"},"role":"object"},"transforms":{"items":{"transform":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.","editType":"calc","role":"object"}},"role":"object"},"type":"waterfall","uid":{"description":"Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.","editType":"plot","valType":"string"},"uirevision":{"description":"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.","editType":"none","valType":"any"},"visible":{"description":"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).","dflt":true,"editType":"calc","valType":"enumerated","values":[true,false,"legendonly"]},"width":{"arrayOk":true,"description":"Sets the bar width (in position axis units).","dflt":null,"editType":"calc","min":0,"valType":"number"},"widthsrc":{"description":"Sets the source reference on Chart Studio Cloud for `width`.","editType":"none","valType":"string"},"x":{"description":"Sets the x coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"x0":{"description":"Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"xaxis":{"description":"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.","dflt":"x","editType":"calc+clearAxisTypes","valType":"subplotid"},"xhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"xperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the x axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"xperiod0":{"description":"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.","editType":"calc","valType":"any"},"xperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"xsrc":{"description":"Sets the source reference on Chart Studio Cloud for `x`.","editType":"none","valType":"string"},"y":{"description":"Sets the y coordinates.","editType":"calc+clearAxisTypes","valType":"data_array"},"y0":{"description":"Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.","dflt":0,"editType":"calc+clearAxisTypes","valType":"any"},"yaxis":{"description":"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.","dflt":"y","editType":"calc+clearAxisTypes","valType":"subplotid"},"yhoverformat":{"description":"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`.","dflt":"","editType":"none","valType":"string"},"yperiod":{"description":"Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M\u003cn\u003e* on the y axis. Special values in the form of *M\u003cn\u003e* could be used to declare the number of months. In this case `n` must be a positive integer.","dflt":0,"editType":"calc","valType":"any"},"yperiod0":{"description":"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.","editType":"calc","valType":"any"},"yperiodalignment":{"description":"Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.","dflt":"middle","editType":"calc","valType":"enumerated","values":["start","middle","end"]},"ysrc":{"description":"Sets the source reference on Chart Studio Cloud for `y`.","editType":"none","valType":"string"},"zorder":{"description":"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`.","dflt":0,"editType":"plot","valType":"integer"}},"categories":["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],"layoutAttributes":{"waterfallgap":{"description":"Sets the gap (in plot fraction) between bars of adjacent location coordinates.","editType":"calc","max":1,"min":0,"valType":"number"},"waterfallgroupgap":{"description":"Sets the gap (in plot fraction) between bars of the same location coordinate.","dflt":0,"editType":"calc","max":1,"min":0,"valType":"number"},"waterfallmode":{"description":"Determines how bars at the same location coordinate are displayed on the graph. With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars.","dflt":"group","editType":"calc","valType":"enumerated","values":["group","overlay"]}},"meta":{"description":"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."},"type":"waterfall"}},"transforms":{"aggregate":{"attributes":{"aggregations":{"items":{"aggregation":{"editType":"calc","enabled":{"description":"Determines whether this aggregation function is enabled or disabled.","dflt":true,"editType":"calc","valType":"boolean"},"func":{"description":"Sets the aggregation function. All values from the linked `target`, corresponding to the same value in the `groups` array, are collected and reduced by this function. *count* is simply the number of values in the `groups` array, so does not even require the linked array to exist. *first* (*last*) is just the first (last) linked value. Invalid values are ignored, so for example in *avg* they do not contribute to either the numerator or the denominator. Any data type (numeric, date, category) may be aggregated with any function, even though in certain cases it is unlikely to make sense, for example a sum of dates or average of categories. *median* will return the average of the two central values if there is an even count. *mode* will return the first value to reach the maximum count, in case of a tie. *change* will return the difference between the first and last linked values. *range* will return the difference between the min and max linked values.","dflt":"first","editType":"calc","valType":"enumerated","values":["count","sum","avg","median","mode","rms","stddev","min","max","first","last","change","range"]},"funcmode":{"description":"*stddev* supports two formula variants: *sample* (normalize by N-1) and *population* (normalize by N).","dflt":"sample","editType":"calc","valType":"enumerated","values":["sample","population"]},"role":"object","target":{"description":"A reference to the data array in the parent trace to aggregate. To aggregate by nested variables, use *.* to access them. For example, set `groups` to *marker.color* to aggregate over the marker color array. The referenced array must already exist, unless `func` is *count*, and each array may only be referenced once.","editType":"calc","valType":"string"}}},"role":"object"},"editType":"calc","enabled":{"description":"Determines whether this aggregate transform is enabled or disabled.","dflt":true,"editType":"calc","valType":"boolean"},"groups":{"arrayOk":true,"description":"Sets the grouping target to which the aggregation is applied. Data points with matching group values will be coalesced into one point, using the supplied aggregation functions to reduce data in other data arrays. If a string, `groups` is assumed to be a reference to a data array in the parent trace object. To aggregate by nested variables, use *.* to access them. For example, set `groups` to *marker.color* to aggregate about the marker color array. If an array, `groups` is itself the data array by which we aggregate.","dflt":"x","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"groupssrc":{"description":"Sets the source reference on Chart Studio Cloud for `groups`.","editType":"none","valType":"string"}}},"filter":{"attributes":{"editType":"calc","enabled":{"description":"Determines whether this filter transform is enabled or disabled.","dflt":true,"editType":"calc","valType":"boolean"},"operation":{"description":"Sets the filter operation. *=* keeps items equal to `value` *!=* keeps items not equal to `value` *\u003c* keeps items less than `value` *\u003c=* keeps items less than or equal to `value` *\u003e* keeps items greater than `value` *\u003e=* keeps items greater than or equal to `value` *[]* keeps items inside `value[0]` to `value[1]` including both bounds *()* keeps items inside `value[0]` to `value[1]` excluding both bounds *[)* keeps items inside `value[0]` to `value[1]` including `value[0]` but excluding `value[1] *(]* keeps items inside `value[0]` to `value[1]` excluding `value[0]` but including `value[1] *][* keeps items outside `value[0]` to `value[1]` and equal to both bounds *)(* keeps items outside `value[0]` to `value[1]` *](* keeps items outside `value[0]` to `value[1]` and equal to `value[0]` *)[* keeps items outside `value[0]` to `value[1]` and equal to `value[1]` *{}* keeps items present in a set of values *}{* keeps items not present in a set of values","dflt":"=","editType":"calc","valType":"enumerated","values":["=","!=","\u003c","\u003e=","\u003e","\u003c=","[]","()","[)","(]","][",")(","](",")[","{}","}{"]},"preservegaps":{"description":"Determines whether or not gaps in data arrays produced by the filter operation are preserved. Setting this to *true* might be useful when plotting a line chart with `connectgaps` set to *false*.","dflt":false,"editType":"calc","valType":"boolean"},"target":{"arrayOk":true,"description":"Sets the filter target by which the filter is applied. If a string, `target` is assumed to be a reference to a data array in the parent trace object. To filter about nested variables, use *.* to access them. For example, set `target` to *marker.color* to filter about the marker color array. If an array, `target` is then the data array by which the filter is applied.","dflt":"x","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"targetcalendar":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. Sets the calendar system to use for `target`, if it is an array of dates. If `target` is a string (eg *x*) we use the corresponding trace attribute (eg `xcalendar`) if it exists, even if `targetcalendar` is provided.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]},"targetsrc":{"description":"Sets the source reference on Chart Studio Cloud for `target`.","editType":"none","valType":"string"},"value":{"description":"Sets the value or values by which to filter. Values are expected to be in the same type as the data linked to `target`. When `operation` is set to one of the comparison values (=,!=,\u003c,\u003e=,\u003e,\u003c=) `value` is expected to be a number or a string. When `operation` is set to one of the interval values ([],(),[),(],][,)(,](,)[) `value` is expected to be 2-item array where the first item is the lower bound and the second item is the upper bound. When `operation`, is set to one of the set values ({},}{) `value` is expected to be an array with as many items as the desired set elements.","dflt":0,"editType":"calc","valType":"any"},"valuecalendar":{"description":"WARNING: All transforms are deprecated and may be removed from the API in next major version. Sets the calendar system to use for `value`, if it is a date.","dflt":"gregorian","editType":"calc","valType":"enumerated","values":["chinese","coptic","discworld","ethiopian","gregorian","hebrew","islamic","jalali","julian","mayan","nanakshahi","nepali","persian","taiwan","thai","ummalqura"]}}},"groupby":{"attributes":{"editType":"calc","enabled":{"description":"Determines whether this group-by transform is enabled or disabled.","dflt":true,"editType":"calc","valType":"boolean"},"groups":{"description":"Sets the groups in which the trace data will be split. For example, with `x` set to *[1, 2, 3, 4]* and `groups` set to *['a', 'b', 'a', 'b']*, the groupby transform with split in one trace with `x` [1, 3] and one trace with `x` [2, 4].","dflt":[],"editType":"calc","valType":"data_array"},"groupssrc":{"description":"Sets the source reference on Chart Studio Cloud for `groups`.","editType":"none","valType":"string"},"nameformat":{"description":"Pattern by which grouped traces are named. If only one trace is present, defaults to the group name (`\"%{group}\"`), otherwise defaults to the group name with trace name (`\"%{group} (%{trace})\"`). Available escape sequences are `%{group}`, which inserts the group name, and `%{trace}`, which inserts the trace name. If grouping GDP data by country when more than one trace is present, for example, the default \"%{group} (%{trace})\" would return \"Monaco (GDP per capita)\".","editType":"calc","valType":"string"},"styles":{"items":{"style":{"editType":"calc","role":"object","target":{"description":"The group value which receives these styles.","editType":"calc","valType":"string"},"value":{"_compareAsJSON":true,"description":"Sets each group styles. For example, with `groups` set to *['a', 'b', 'a', 'b']* and `styles` set to *[{target: 'a', value: { marker: { color: 'red' } }}] marker points in group *'a'* will be drawn in red.","dflt":{},"editType":"calc","valType":"any"}}},"role":"object"}}},"sort":{"attributes":{"editType":"calc","enabled":{"description":"Determines whether this sort transform is enabled or disabled.","dflt":true,"editType":"calc","valType":"boolean"},"order":{"description":"Sets the sort transform order.","dflt":"ascending","editType":"calc","valType":"enumerated","values":["ascending","descending"]},"target":{"arrayOk":true,"description":"Sets the target by which the sort transform is applied. If a string, *target* is assumed to be a reference to a data array in the parent trace object. To sort about nested variables, use *.* to access them. For example, set `target` to *marker.size* to sort about the marker size array. If an array, *target* is then the data array by which the sort transform is applied.","dflt":"x","editType":"calc","noBlank":true,"strict":true,"valType":"string"},"targetsrc":{"description":"Sets the source reference on Chart Studio Cloud for `target`.","editType":"none","valType":"string"}}}}}} \ No newline at end of file